(۱۹ تیر ۱۳۹۵ ۱۱:۳۰ ق.ظ)irpersian20 نوشته شده توسط: با درود
دوستان من این مباحث اصلا راستش نمیدانم و تازه کارم.
The L2 cache is on the same processor chip and uses the same die as the CPU, however, it is still not part of the core of the CPU.
این منظور چیه؟ کش L1 درون خود سی پی یو هست. بعد این میگه L2 درون چیپ پردازنده هست و درون خود هسته نیست درسته؟
یعنی برای هر هسته ما کش L1 مجزا داریم ؟ اگر ۴ هسته داریم. ۴ تا کش L1 داریم؟
الان تمامی کشها و هستهها، روی "یک چیپِ واحد" هستند؛ اما اینکه کدوم کشها داخل هسته باشند و کدوم روی چیپِ پردازنده، بستگی به پیادهسازی داره. دقت شود که تمامی هستهها و کشها روی چیپ پردازنده هستند، و نه روی چیپهای دیگه و نه بر روی برد اصلی (motherboard).
هر هستهی پردازنده، کشِ L1 خودش رو داره که شامل دو بخش کش داده و کش دستورالعمل هست. این کش داخل هر هستهی پردازنده قرار داره، در نتیجهی به تعدد هستهها کشِ L1 خواهیم داشت.
البته استثنا هم داریم. پردازندههای سری بولدوزر AMD دارای کش L1 مشترک برای دستورالعملها هست (همان پردازندهای که با رنگ سبز در پست قبلی مشخص شده هست). به ازای هر هسته، ۱۶ کیلوبایت کش L1 داده و به ازای هر ماژول (دو هسته)، ۶۴ کیلوبایت کش L1 دستورالعمل اختصاص پیدا کرده.
بر خلاف کش L1 که به ازای هر هسته یک کش داریم (به جز معدودی استثنا)، هر هسته میتونه کش L2 مختص به خودش داشته باشه، یا اینکه یک کش L2 بین چند هسته به اشتراک گذاشته بشه. در اغلب پردازندههای دو هستهای AMD هر هسته یک کش L2 داشت ولی پردازندههای دو هستهای اینتل (core 2 duo) کش L2 مشترک داشتند که هر کدوم معایب و مزایای خودشون رو دارن که به application هم بستگی داره. در پردازندههای بیش از دو هستهای (چهار، شش، یا هشت) اغلب کش L2 برای هر هسته جدا هست (به اشتراک نمیذارند) اما همیشه هم اینطور نیست و در همین پردازندهی بولدوزر AMD، کش L2 برای هر ماژول (شامل دو هسته) مشترک هست.
کش L3 اما مشترک هست تا بتونه حافظهی مشترک فراهم کنه.