تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 4 1234 آخرآخر
نمايش نتايج 1 به 10 از 33

نام تاپيک: وظیفه کش در Cpu چیست؟

  1. #1
    آخر فروم باز sinaset's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    گچساران
    پست ها
    2,240

    پيش فرض وظیفه کش در Cpu چیست؟

    سلام دوستان
    یک سوالی برایم پیش اومد که وظیفه کش در Cpu چیست؟
    چه کار رو انجام می ده می شه به صورت فنی بگیید
    ممنون می شم..

  2. 2 کاربر از sinaset بخاطر این مطلب مفید تشکر کرده اند


  3. #2
    داره خودمونی میشه smfr's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    119

    پيش فرض

    كش cpu يه حافظه با ظرفيت محدود ولي باسرعت بسيار بالاست كه درون cpu قرار دارد.
    cpu براي پردازش ديتاهايي كه از رم دريافت مي كنه نياز به اطلاعتي در مورد اونها داره. پردازنده مياد اين اطلاعات يا احيانا خود dataهارو كه قرار براي مدت مشخصي پردازش بشن رو از رم به حافظه موقتي خودش (cash) انتقال ميده و جون سرعت اين حافظه به مراتب از رم سريع تره تو سرعت پردازش خيلي تاثير داره.
    cpuها بسته به مدلشون معمولا چند رديف cash دارن كه L1 ، L2 و L3 نام گذاري ميشن.
    سي پي يو هاي اينتل core2duo كه در حال حاضر تو بازار موجوده فقط L1 , L2 دارن وليnehalem از L3 هم بهره ميبره.
    در Core2douها L1 با حافظه 128 يا 256Kb به هر هسته اختصاص داده ميشه ولي L2 با حافظه بالاتري مثلا 6MB بين تمام هسته ها به اشتراك گذاشته ميشه.

    ببخشيد اگه نتونستم خوب توضيح بدم!

  4. 14 کاربر از smfr بخاطر این مطلب مفید تشکر کرده اند


  5. #3
    آخر فروم باز
    تاريخ عضويت
    Aug 2008
    محل سكونت
    Tehran
    پست ها
    2,419

    پيش فرض

    اصلا انگار این مطلب منتظره تا من بیام توضیحش بدم من که خدایه این مزخرفات.

    البته مبحث Cache مبحث خیلی پیچیده‌ای در CPU هست ولی کاری که انجام میده خیلی ساده هست.

    ببین CPU اطلاعت رو از رم و هارد تامین میکنه درسته ولی یه مشکلی وجود داره این وسط فکر کنید Ram یه تامین کننده اطلاعات باشه و CPU یک مصرف کننده اطلاعات مسئله‌ای که وجو داره اینه که CPU ها میتونن خیلی بیشتر از اون چیزی که رم برای اونها تامین میکنه مصرف کنن و این یه مشکل بزرگ ایجاد میکنه چون با هر افزایش سرعت کلاک CPU، سیکل های زمانیه CPU از رم و باس کوتاه تر میشه برای همین CPU بعضاً باید تعداد زیادی سیکل زمانی الکی بگذرونه تا رم بتونه درخواستی که CPU ارجاع داده رو انجام بده و اطلاعات بفرسته حالا با هر افزایش کلاکی همینطور رم از CPU عقب میفته و کاملا یه گپ سرعت این وسط به وجو میاد که اصلا جالب نیست.
    اینو معمولا با مثال ساده و قابل فهم برای همه کارگاه نجاری و مخزن الوار تشریح میکنن فکر کن CPU یک نجاریه و Ram هم مخزن الواره حالا فکر کن این مخزن الوار همینطور از نجاری دور تر و دورتر بشه، زمان بیشتری طول میکشه تا الوار به نجاری برسه یه راه اینه که بیای از کامیون‌های بزرگ‌تر و بیشتر استفاده کنی با این حال بازم مشکلی که وجود داره اینه که بازم یه گپ زمانی بین وقتی که نجاری سفارش الوار رو میده تا وقتی بخواد سفارشش به الواری برسه طول میشه.
    خوب یه راه دیگه‌ای که وجود داره اینه که بیایم یه انبار کوچیکتر الوار بقل همین کارگاه نجاری درست کنیم و آخرین درخواست‌هایی که نجاری فرستاده رو داخل این انبار الوار داشته باشیم؛ این انبار رو میتونیم به کش تشبیه کنیم بدون شک یه انبار کوچیک و نزدیک خیلی میتونه کار ساز باشه و سریع میتونی درخواست الوار رو از داخلش برداری تا زمانی که نوع الواری که میخوای دیگه در داخل انبار کوچیک موجود نباشه اونقت مجبوری به انبار بزرگه که فاصله زیادی هم از کارگاه داره بری و این خیلی بده چون باید کارگاه رو هوا همین طور بمونه تا کامیون ها برن و الوار ها رو بیارن.

    این انبار کوچیک رو میتونی کش L1 در نظر بگیری یه حافظه بسیار سریع و البته گرون قیمت (از نظر ساخت نسبت به Ram) که در خوده CPU هم قرار داره و به سرعت CPU میتونه اطلاعات لازم رو از توش بگیره.

    ولی خیلی وقتا اطلاعاتی که میخوای داخل کش L1 موجود نیست و باید بری از Ram بیگری، این اطلاعات رو اصطلاحا بهش Cache Miss میگن و خوب برای گرفتن اطلاعات از رم تاخیر و لتنسی مجددی وجود داره که قابل توجه هم هست.
    خوب میان چیکار میکنن، دوباره میگن ما بازم کش اضافه کنیم، البته میشه بجایه اینکار کش L1 رو بزرگتر کرد ولی این کار صرفه اقتصادی نداره و هزینه زیادی داره در مثال کارگاه نجاری میشه گفت هزینه اجاره یا خرید انباری در شهر نزدیک به کارگاه بسیار زیاده ولی میشه در فاصله دورتر و حتی خارج شهر انبار دیگه ای با هزینه کمتر فراهم کرد که همون کش L2 هست، کش L2 در اصل همون اطلاعات داخل کش L1 رو داره به اضافه یسری اطلاعات اضافی کلا این حافظه‌ها با هم رابطه سلسله مراتبی دارن و ... خوب تاخیر و زمان دسترسی بیشتری نسبت به L1 داره ولی در عوض بزرگتره.


    این تا اینجا اگر حسش بود بقیشم بعدا میگم ولی اصل مطلب همین بود.
    Last edited by milky way; 05-10-2009 at 01:12.


  6. #4
    آخر فروم باز sinaset's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    گچساران
    پست ها
    2,240

    پيش فرض

    سلام دوستان
    خیلی خیلی ممنون
    بحث خیلی خوب بود
    ادامه می دیم
    خوب نتیجه می گیریم که که کش رابط ببین سی پی یو و رم است
    و اطلاعات رو ببین این دوتا رد و بدل می کنه
    حالا چندتا سوال پیش میاید
    اول این که چه اطلاعاتی رو رد و بدل می کنه ( ایا منظور شما این که کلیه اطلاعات رو ببین هم رد و بدل می کنند)
    و اگر کلیه اطلاعات رو رد و بدل می کنند پس سی پی یو اینجا چه کار است ؟
    البته من یه بوی ها بردم
    من فکر کنم به خاطره این که
    اول کش اطلاعات ببین رم و سی پی یو رو ردل و بدل می کنه و دوم سی پی یو عمله محاسباتی رو انجام می ده ..

    اگر می شه خودتون توضیحات تکمیلی رو بفرمایید ممنون می شم ..

  7. #5
    آخر فروم باز
    تاريخ عضويت
    Aug 2008
    محل سكونت
    Tehran
    پست ها
    2,419

    پيش فرض

    سلام دوستان
    خیلی خیلی ممنون
    بحث خیلی خوب بود
    ادامه می دیم
    خوب نتیجه می گیریم که که کش رابط ببین سی پی یو و رم است
    و اطلاعات رو ببین این دوتا رد و بدل می کنه
    حالا چندتا سوال پیش میاید
    اول این که چه اطلاعاتی رو رد و بدل می کنه ( ایا منظور شما این که کلیه اطلاعات رو ببین هم رد و بدل می کنند)
    و اگر کلیه اطلاعات رو رد و بدل می کنند پس سی پی یو اینجا چه کار است ؟
    البته من یه بوی ها بردم
    من فکر کنم به خاطره این که
    اول کش اطلاعات ببین رم و سی پی یو رو ردل و بدل می کنه و دوم سی پی یو عمله محاسباتی رو انجام می ده ..

    اگر می شه خودتون توضیحات تکمیلی رو بفرمایید ممنون می شم ..
    پست منو دقیقتر بخونی متوجه میشی CPU هم کارش محاسبست .

  8. این کاربر از milky way بخاطر این مطلب مفید تشکر کرده است


  9. #6
    آخر فروم باز sinaset's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    گچساران
    پست ها
    2,240

    پيش فرض

    پست منو دقیقتر بخونی متوجه میشی CPU هم کارش محاسبست .
    سلام دوست من

    می شه به صورت فنی بگیید خودتون
    که اطلاعات ببین رم و سی پی یو چطوری رد و بدل می شه ایا به وسیله کش هست یا خود رم یا سی پی یو

    و
    بعد
    L1
    L2
    L3
    سرعتاشون چنده
    و سوال بعدی L1 گیرونتر از l2 , l3 هست؟
    و l2 گیرونتر از l3
    می شه یک توضیحی بفرمایید

  10. 2 کاربر از sinaset بخاطر این مطلب مفید تشکر کرده اند


  11. #7
    آخر فروم باز sinaset's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    گچساران
    پست ها
    2,240

    پيش فرض

    سلام دوست من

    می شه به صورت فنی بگیید خودتون
    که اطلاعات ببین رم و سی پی یو چطوری رد و بدل می شه ایا به وسیله کش هست یا خود رم یا سی پی یو

    و
    بعد
    L1
    L2
    L3
    سرعتاشون چنده
    و سوال بعدی L1 گیرونتر از l2 , l3 هست؟
    و l2 گیرونتر از l3
    می شه یک توضیحی بفرمایید
    سلام دوستان
    کسی پیدا نشود پاسخ بده
    با تشکر..

  12. #8
    آخر فروم باز
    تاريخ عضويت
    Aug 2008
    محل سكونت
    Tehran
    پست ها
    2,419

    پيش فرض

    سلام دوست من

    می شه به صورت فنی بگیید خودتون
    که اطلاعات ببین رم و سی پی یو چطوری رد و بدل می شه ایا به وسیله کش هست یا خود رم یا سی پی یو

    و
    بعد
    L1
    L2
    L3
    سرعتاشون چنده
    و سوال بعدی L1 گیرونتر از l2 , l3 هست؟
    و l2 گیرونتر از l3
    می شه یک توضیحی بفرمایید
    بازم من باید جواب بدم مثل اینکه من که خدایه این مزخرفات .
    من مسائل رو خیلی ساده شده میگم چون اگر بخواین خیلی دقیق واردش بشین خیلی مسائل سخت و پیچیده هست و از دانش منم خارج خیلی چیزارو هم یادم نمیاد اگر خیلی از این چیزها خوشت میاد برو VLSI بخون یا فوق، معماری کامپیوتر، همش از همین چیزاست ولی خوب خیلی علمی‌تر و دقیق‌تر و البته کلی مزخرفات دیگه.
    کلا در مینبورد چه اینتل چه AMD این باس‌ها هستن که اطلاعات گنده رو منتقل میکنن، اینو تو ذهنتون داشته باشن تا ادامه رو بگم.
    تو اینتل (و معماری‌های قدیمی‌تره AMD و کلا معماری‌های قدیمتر) اطلاعات از CPU توسط FSB به NorthBridge مینبورد میره در NorthBridge مموری کنترلر وجود داره (البته در معماری های اینتل تا الان) بعد از طریق Bus مموری به NorthBridge، اطلاعات به مموری میره همین اتفاق برعکسشم میفته یعنی دو طرفست؛ یک BUS دیگه هم وجود داره از NorthBridge که به کارت گرافیک میره و یه باس داخلی هم وجود از NorthBridge به SouthBridge و ... در اصل تو معماری اینتل چه اطلاعات مموری و چه I/O از طریق FSB منتقل میشه و حتما میدونی که FSB رابطه مستقیم با فرکانس CPU داره در اصل فرکانس CPU از ضرب FSB در یه مضربی که همون Multi باشه بدست میاد که FSB هم رابطه مستقیمی با Bus رم داره؛ قبلا‌ها این Bus رم باید با FSB پردازنده یکی یا متناسب میبود ولی الان دیگه میتونه متناسب هم نباشه یعنی مثلا تناسب 3/4 داشته باشه این نوع سیستم‌ها رو نا هماهنگ یا غیر‌هم زمان میگن.

    ولی تو معماری AMD یک Bus مستقیم به Memory متصل هست چون مموری کنترلر در AMD در داخل CPU هست و دیگه برای دسترسی به مموری نیازی به مراجعه به NorthBridge نیست و یه Bus دیگه به NorthBridge متصله که اون باس رو HyperTransport میگن (که در اصل یک تکنولوژِی است که توسط یه کنسرسیوم ساخته شده برای دسترسی سریع و نقطه به نقطه بین اجزا در کامپیوتر هاست که البته مربوط به AMD نمیشه فقط در اصل یه تکنولوژِی هست که توسط خیلی شرکت ها استفاده میشه و استفاده های زیادی داره که حالا بحث در موردش زیاده) در اصل HyperTransport تو معماری AMD کار نقل انتقالات I/O رو بعهده داره که ورژنهای مختلفی هم داره تا 3.1 مثل اینکه داره که هر کدوم سرعت بهتر شده و...

    اینکه چرا در اینتل مموری کنترلر رویه CPU نیست (که البته اینتلم دیگه از Nehalem مموری کنترل رو اورده داخل) و در NorthBridge ولی در AMD هست، دلایلی داره. خوب مموری کنترلر در NorthBridge باعث تاخیر دسترسی به مموری میشه، که در معماری AMD خیلی خیلی کمتره این تاخیر. ولی از دلایل مموری کنترلر خارجی اینه که خوب وقتی مموری کنترلر داخل CPU باشه اگر مموری با تکنولوژی جدیدتر و سریعتر بیاد شما باید معماری CPU رو تغییراتی بدی ولی اگر رو مینبورد باشه شما فقط NorthBridge رو تو مینبورد تغییر میدی این یه دلیلش هست (برای همینه که AMD هر زمان نوع مموری جدیدی مثل DDR3 میاد دهنش صاف میشه و باید تقریباً یه معماری جدید بده). یه دلیل دیگش اینه که اینتل مقدار زیادی کش تو CPU میزاره که نیاز به مموری کنترل داخلی رو کم میکنه و دلیل دیگش که شاید مهمترین دلیل باشه محدودیت تکنولوژیکی بوده گذاشتن مموری کنترلر تو CPU با تکنولوژی های ساخت CPU امروزی (دیروزی در اصل) مثلا 65 نانومتر یا 95 باعث بزرگتر شدن CPU میشد و این یعنی استفاده از سیلیکن بیشتر و تولید کمتر CPU که جالب نیست ولی خوب الان با تکنولوژِی 45 نانومتری مثل اینکه اینتل تونسته این مشکل رو هم رفع کنه برای همین تصمیم داره مموری کنترل از نوع DDR3 رو تو پردازندهای Nehalem بزاره.

    این سوال اولتون تا جایی که حسش بود سعی کردم خیلی کلی و کامل باشه سوال دومتون رو هم بعد حسش بیاد جواب میدم فقط اینو بگم کش از حافظه‌هایی نوع Static Ram ساخته میشن که سلولها در Static Ram از 6 ترانزیستور ساخته شدن در حالی که تو Dram (رم‌های معمولی) 2 تا هست (البته اینو شک دارم دقیقا یادم نیست الان)؛ که اینجوری یعنی شما اگر بخواین 4 کیلوبایت اطلاعات داشته باشین 4*1024*6*8 تا ترانزیستور نیاز دارین و یه تعدادی هم برای گیت های لاجیک میخواین تازه، که همین قیمت تموم شده این نوع رم‌ها رو زیاد میکنه. اینم یادم رفت اضافه کنم که، Static Ram ها خاصیتی که دارن اینه که مثل Dram ها Refresh نمیشن.
    Last edited by milky way; 05-10-2009 at 01:23.

  13. 11 کاربر از milky way بخاطر این مطلب مفید تشکر کرده اند


  14. #9
    داره خودمونی میشه Amir312's Avatar
    تاريخ عضويت
    Oct 2008
    پست ها
    67

    پيش فرض

    این سوال واقعا پیچیدست و البته اقای " [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] " خوب جواب دادند ( واقعا حوصله کرده اینها را نوشته ، من حوصلش را نکردم !!!) ولی خیلی ساده میشه گفت که cpu اطلاعات را بسته به این که چه اهمیتی داشته باشند تقسیم بندی میکنه ، البته سی پی یو که نه بلکه برنامه نویسی یک برنامه خاص با استفاده از فایل های سیستم عامل با سخت افزار ارتباط برقرار میکنه و بر این اساس میتونه پردازش خودش را انجام بده ، در کل از کند ترین به سریع ترین حافظه میشه رده بندی زیر را داشت :
    هارد دیسک ( Page file)
    رم
    کش l3
    کش L2
    کش L1
    البته به نظرم این موضوع اومد که بعضی از نرم افزار ها بسیاری از اعمال محاسباتی را به صورتی انجام میدهند که نیاز به کش بالا هست و البته بعضی از نرم افزار ها نیاز به رم بالا تری دارند ، مثل یک نرم افزار واحد مثل مایا ، در حالت رندر نیاز به رم بالایی داره ولی در حالت کار و ساخت تصویر کش بالا تاثیر بالایی در کارکرد اون ایجاد میکنه و دلیل اون محاسبات ریاضی زیادی که در این حالت پیش میاد ولی در حالت رندر چون محاسبات انجام شده و نیاز به ساخت تصاویر میره و ابته هر تصویر ابتدا در رم ساخته میشه و بعد به هارد دیسک انتقال پیدا میکنه پس کش به اندازه محیط کاری مفید نیست ،
    در معماری های قدیمی ، نرم افزار باید منتظر پر شدن کش و خالی شدن ان در یک سیکل داده میموند و این برای سی پی یو مثل 3.2 2m باعث میشد که حتی در نرم افزار های کوچیک این پردازنده که در زمان خودش خیلی قوی بود کند عمل کنه ولی در حال حاضر پردازنده میتونه با اختصاص کش مورد نیاز هر برنامه سرعت اجرای اون برنامه را بالا ببره و البته یا باقی کش را خاموش کنه ( برای هدر نرفتن انرژی ) و یا با اختصاص به برنامه های دیگه انجام کارهای مختلف را به راحتی امکان پذیر کنه ، در آخر باید بگم موضوع واقعا پیچیدست و اطلاعات ما هم ناقص!!!

  15. 2 کاربر از Amir312 بخاطر این مطلب مفید تشکر کرده اند


  16. #10
    داره خودمونی میشه mmsm's Avatar
    تاريخ عضويت
    Oct 2006
    محل سكونت
    esfahan
    پست ها
    26

    پيش فرض

    یه سوال فنی کش در سرعت رندر گرفتن از کارها در تری دی مکس و مایا و ... تاثیر داره ؟

  17. این کاربر از mmsm بخاطر این مطلب مفید تشکر کرده است


صفحه 1 از 4 1234 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •