ХОНХ

Энэ мэдээг чамаас өмнө уншсан хүмүүс бий.
Шинэ нийтлэлүүдийг хүлээн авахын тулд бүртгүүлээрэй.
Имэйл
Нэр
Овог
Та Хонхыг хэрхэн уншихыг хүсч байна вэ?
Спам байхгүй

Мэдээлэл боловсруулах үүрэгтэй процессор, түүнчлэн түүнийг хадгалах үүрэгтэй санамсаргүй хандалтын санах ой (RAM эсвэл RAM) гэх мэт компьютерийн элементүүдийг бүх хэрэглэгчид сайн мэддэг. Гэхдээ процессорын кэш санах ой (Cache CPU), өөрөөр хэлбэл процессорын RAM (хэт RAM гэж нэрлэгддэг) байдаг гэдгийг хүн бүр мэддэггүй байх.

Компьютерийн дизайнеруудыг процессорын хувьд тусгай санах ой ашиглахад хүргэсэн шалтгаан юу вэ? Компьютерийн RAM-ын багтаамж хангалттай биш гэж үү?

Үнэн хэрэгтээ, удаан хугацааны туршид хувийн компьютерууд ямар ч кэш санах ойгүй ажилладаг байв. Гэхдээ та бүхний мэдэж байгаагаар процессор нь хувийн компьютер дээрх хамгийн хурдан төхөөрөмж бөгөөд CPU-ийн шинэ үе болгонд түүний хурд нэмэгдэж байна. Одоогоор түүний хурд секундэд хэдэн тэрбум үйлдлээр хэмжигдэж байна. Үүний зэрэгцээ, стандарт RAM нь хувьслын явцад гүйцэтгэлээ мэдэгдэхүйц нэмэгдүүлээгүй.

Ерөнхийдөө хоёр үндсэн санах ойн чип технологи байдаг - статик санах ой ба динамик санах ой. Тэдний дизайны нарийн ширийнийг судлахгүйгээр бид зөвхөн статик санах ой нь динамик санах ойноос ялгаатай нь нөхөн сэргээх шаардлагагүй гэж хэлэх болно; Түүнчлэн статик санах ой нь нэг бит мэдээлэлд 4-8 транзистор ашигладаг бол динамик санах ойд 1-2 транзистор ашигладаг. Үүний дагуу динамик санах ой нь статик санах ойноос хамаагүй хямд боловч нэгэн зэрэг удаан байдаг. Одоогоор RAM чипийг динамик санах ойн үндсэн дээр үйлдвэрлэж байна.

Процессор ба RAM-ийн хурдны харьцааны ойролцоо хувьсал:

Тиймээс хэрэв процессор нь RAM-аас байнга мэдээлэл авдаг бол удаан динамик санах ойг хүлээх хэрэгтэй бөгөөд энэ нь үргэлж идэвхгүй байх болно. Үүнтэй ижил тохиолдолд статик санах ойг RAM болгон ашигласан бол компьютерийн өртөг хэд дахин өсөх болно.

Тийм ч учраас боломжийн буулт хийсэн. RAM-ийн ихэнх хэсэг нь динамик хэвээр байсан бол процессор нь статик санах ойн чип дээр суурилсан өөрийн хурдан кэш санах ойтой болсон. Түүний эзлэхүүн харьцангуй бага - жишээлбэл, хоёр дахь түвшний кэшийн хэмжээ хэдхэн мегабайт байна. Гэсэн хэдий ч анхны IBM PC компьютеруудын RAM нь 1 МБ-аас бага байсныг санах нь зүйтэй.

Нэмж дурдахад RAM-д байрладаг өөр өөр програмууд процессорыг өөр өөрөөр ачаалдаг, үүний үр дүнд бусадтай харьцуулахад нэн тэргүүний боловсруулалт шаарддаг маш олон өгөгдөл байдаг нь кэшийн технологийг нэвтрүүлэх нь зүйтэй болов уу.

Кэшийн түүх

Хатуухан хэлэхэд кэш санах ойг хувийн компьютерт шилжүүлэхээс өмнө хэдэн арван жилийн турш супер компьютерт амжилттай ашиглагдаж байсан.

Анх удаа i80386 процессор дээр суурилсан компьютер дээр ердөө 16 КБ-ын кэш санах ой гарч ирэв. Өнөөдөр орчин үеийн процессорууд эхнийхээс (хамгийн бага хэмжээтэй хамгийн хурдан кэш - ихэвчлэн 128 KB) гурав дахь (хамгийн удаан хэмжээтэй кэш нь хэдэн арван МБ хүртэл) хүртэл янз бүрийн түвшний кэш ашигладаг.

Эхлээд процессорын гадаад кэш нь тусдаа чип дээр байрладаг байв. Гэвч цаг хугацаа өнгөрөхөд энэ нь кэш болон процессорын хооронд байрлах автобусыг саатуулж, мэдээлэл солилцоог удаашруулсан. Орчин үеийн микропроцессоруудад кэш санах ойн эхний болон хоёрдугаар түвшний аль аль нь процессорын цөмд байрладаг.

Удаан хугацааны туршид процессорууд зөвхөн хоёр кэшийн түвшинтэй байсан ч Intel Itanium CPU нь бүх процессорын цөмд нийтлэг байдаг гурав дахь түвшний кэштэй анхных байсан. Дөрвөн түвшний кэш бүхий процессоруудын хөгжүүлэлт бас бий.

Кэшийн архитектур ба зарчим

Өнөө үед кэш санах ойн зохион байгуулалтын хоёр үндсэн төрлийг мэддэг бөгөөд энэ нь кибернетикийн салбарын анхны онолын хөгжил болох Принстон, Харвардын архитектураас үүдэлтэй юм. Принстоны архитектур нь өгөгдөл, тушаалуудыг хадгалах нэг санах ойн орон зайг илэрхийлдэг бол Харвардын архитектур нь тусдаа байдаг. Ихэнх x86 хувийн компьютерийн процессорууд нь тусдаа төрлийн кэш санах ойг ашигладаг. Нэмж дурдахад, үйлдлийн системийн виртуал санах ойн хаягийг физик санах ойн хаяг руу хөрвүүлэх ажлыг хурдасгах зорилготой ассоциатив орчуулгын буфер гэж нэрлэгддэг гуравдахь төрлийн кэш санах ой нь орчин үеийн процессоруудад гарч ирэв.

Кэш санах ой болон процессорын харилцан үйлчлэлийн хялбаршуулсан диаграммыг дараах байдлаар дүрсэлж болно. Нэгдүгээрт, процессор нь хамгийн хурдан эхний түвшний кэш, дараа нь хоёрдугаар түвшний кэш гэх мэт процессорт шаардлагатай мэдээлэл байгаа эсэхийг шалгадаг. Хэрэв шаардлагатай мэдээлэл нь кэшийн ямар ч түвшинд олдоогүй бол тэд үүнийг алдаа эсвэл кэш алдсан гэж нэрлэдэг. Хэрэв кэшэд ямар ч мэдээлэл байхгүй бол процессор үүнийг RAM эсвэл бүр гадаад санах ойноос (хатуу дискнээс) авах ёстой.

Процессор санах ойн мэдээллийг хайх дараалал:

Процессор мэдээллийг ингэж хайдаг

Кэш санах ойн ажиллагааг хянахын тулд процессорын тооцоолох нэгжүүд, түүнчлэн RAM-тай харилцан үйлчлэлцэхийн тулд тусгай хянагч байдаг.

Процессорын цөм, кэш ба RAM-ийн харилцан үйлчлэлийг зохион байгуулах схем:

Кэш хянагч нь процессор, RAM болон кэш санах ойн хоорондох гол холбоос юм

Өгөгдлийн кэш нь олон технологи, математикийн алгоритмуудыг ашигладаг нарийн төвөгтэй процесс гэдгийг тэмдэглэх нь зүйтэй. Кэш бичихэд ашигладаг үндсэн ойлголтуудын дунд кэш бичих аргууд болон кэшийн нэгдлийн архитектур орно.

Кэш бичих аргууд

Кэш санах ойд мэдээлэл бичих хоёр үндсэн арга байдаг:

  1. Буцааж бичих арга - өгөгдлийг эхлээд кэш рүү, дараа нь тодорхой нөхцөл байдал үүссэн тохиолдолд RAM-д бичдэг.
  2. Write-through арга - өгөгдлийг RAM болон кэш рүү нэгэн зэрэг бичдэг.

Кэшийн нэгдлийн архитектур

Кэшийн холболтын архитектур нь RAM-аас өгөгдлийг кэш рүү буулгах аргыг тодорхойлдог. Холбооны архитектурыг кэшлэх үндсэн сонголтууд нь:

  1. Шууд зурагласан кэш - кэшийн тодорхой хэсэг нь RAM-ийн тодорхой хэсгийг хариуцдаг
  2. Бүрэн ассоциатив кэш - кэшийн аль ч хэсэг нь RAM-ийн аль ч хэсэгтэй холбоотой байж болно
  3. Холимог кэш (багц-холбоо)

Янз бүрийн кэшийн түвшин нь ихэвчлэн кэшийн өөр өөр архитектурыг ашиглаж болно. Шууд зурагласан RAM кэш нь хамгийн хурдан кэш хийх сонголт тул энэ архитектурыг ихэвчлэн том кэшүүдэд ашигладаг. Хариуд нь бүрэн ассоциатив кэш нь кэшийн алдаа багатай байдаг (алддаг).

Дүгнэлт

Энэ нийтлэлд та кэш санах ой, кэш санах ойн архитектур, кэшийн аргуудын тухай ойлголттой танилцаж, орчин үеийн компьютерийн гүйцэтгэлд хэрхэн нөлөөлдөг талаар олж мэдсэн. Кэш санах ой байгаа нь процессорын ажиллагааг ихээхэн оновчтой болгож, сул зогсолтын хугацааг багасгаж, улмаар бүхэл системийн гүйцэтгэлийг нэмэгдүүлэх боломжтой.

Процессорын гүйцэтгэлийг нэмэгдүүлэх чухал хүчин зүйлүүдийн нэг бол кэш санах ой, эс тэгвээс түүний хэмжээ, хандалтын хурд, түвшин хоорондын хуваарилалт юм.

Хэсэг хугацааны турш бараг бүх процессорууд ийм төрлийн санах ойгоор тоноглогдсон бөгөөд энэ нь түүний ашиг тустай болохыг дахин нотолж байна. Энэ нийтлэлд бид кэш санах ойн бүтэц, түвшин, практик зорилгын талаар ярих болно, энэ нь маш чухал юм. процессорын шинж чанар.

Кэш санах ой гэж юу вэ, түүний бүтэц

Кэш санах ой нь процессороос хамгийн их ханддаг өгөгдлийг түр хадгалахад ашигладаг хэт хурдан санах ой юм. Энэ төрлийн санах ойг бид ингэж товч тайлбарлаж болно.

Кэш санах ой нь эргээд транзисторуудаас бүрддэг флип-флопууд дээр бүтээгдсэн байдаг. Бүлэг транзистор нь конденсаторыг бүрдүүлдэг конденсаторуудаас хамаагүй их зай эзэлнэ RAM. Энэ нь үйлдвэрлэлд олон бэрхшээл, түүнчлэн эзлэхүүний хязгаарлалтыг дагуулдаг. Тийм ч учраас кэш санах ой нь маш үнэтэй санах ой юм, гэхдээ бага хэмжээний эзэлхүүнтэй. Гэхдээ энэ бүтцээс ийм санах ойн гол давуу тал болох хурд гарч ирдэг. Flip-flops нь нөхөн сэргээх шаардлагагүй бөгөөд угсарсан хаалганы саатал бага байдаг тул флип-флопыг нэг төлөвөөс нөгөөд шилжүүлэх хугацаа маш хурдан явагддаг. Энэ нь кэш санах ойг орчин үеийн процессоруудтай ижил давтамжтайгаар ажиллуулах боломжийг олгодог.

Мөн чухал хүчин зүйл бол кэш санах ойг байрлуулах явдал юм. Энэ нь процессорын чип дээр байрладаг бөгөөд энэ нь нэвтрэх хугацааг эрс багасгадаг. Өмнө нь зарим түвшний кэш санах ой нь процессорын чипийн гадна талд, эх хавтангийн хаа нэгтээ тусгай SRAM чип дээр байрладаг байв. Одоо бараг бүх процессорууд процессорын чип дээр байрлах кэш санах ойтой.


Процессорын кэш юунд ашиглагддаг вэ?

Дээр дурдсанчлан кэш санах ойн гол зорилго нь процессорын байнга ашигладаг өгөгдлийг хадгалах явдал юм. Кэш нь жижиг хэмжээтэй ч (ойролцоогоор 4-16 МБ) өгөгдөл ачаалах буфер юм. орчин үеийн процессорууд, энэ нь ямар ч програмын гүйцэтгэлийн мэдэгдэхүйц өсөлтийг өгдөг.

Кэш санах ойн хэрэгцээг илүү сайн ойлгохын тулд компьютерийн санах ойг оффис шиг зохион байгуулна гэж төсөөлье. RAM нь нягтлан бодогчид их хэмжээний өгөгдөл (өөрөөр хэлбэл хавтас) авахын тулд үе үе ханддаг хавтас бүхий кабинет байх болно. Мөн хүснэгт нь кэш санах ой байх болно.

Нягтлан бодогчийн ширээн дээр нэг цагийн турш хэд хэдэн удаа дурдсан элементүүд байдаг. Жишээлбэл, эдгээр нь утасны дугаар, баримт бичгийн зарим жишээ байж болно. Эдгээр төрлийн мэдээлэл нь шууд ширээн дээр байрладаг бөгөөд энэ нь эргээд тэдгээрт хандах хурдыг нэмэгдүүлдэг.

Үүнтэй адилаар тэдгээр том өгөгдлийн блокуудаас (хавтас) өгөгдлийг хурдан ашиглахын тулд хүснэгтэд, жишээлбэл, баримт бичигт нэмж болно. Энэ баримт бичиг шаардлагагүй болсон үед түүнийг шүүгээнд (RAM-д) буцааж байрлуулж, хүснэгтийг (кэш санах ой) цэвэрлэж, дараагийн хугацаанд хэрэглэгдэх шинэ баримт бичгүүдэд энэ хүснэгтийг чөлөөлнө.

Мөн кэш санах ойтой бол дахин хандах боломжтой өгөгдөл байгаа бол RAM-аас энэ өгөгдлийг кэш санах ойд ачаална. Ихэнх тохиолдолд энэ нь одоогийн өгөгдлийн дараа хамгийн их ашиглагдах боломжтой өгөгдлийг хамт ачаалах замаар тохиолддог. Өөрөөр хэлбэл, "дараа нь" юу ашиглах талаар таамаглал байдаг. Эдгээр нь үйл ажиллагааны нарийн төвөгтэй зарчим юм.

Процессорын кэшийн түвшин

Орчин үеийн процессорууд нь кэшээр тоноглогдсон байдаг бөгөөд энэ нь ихэвчлэн 2 эсвэл 3 түвшнээс бүрддэг. Мэдээжийн хэрэг, үл хамаарах зүйлүүд байдаг, гэхдээ энэ нь ихэвчлэн тохиолддог.

Ерөнхийдөө дараах түвшин байж болно: L1 (эхний түвшин), L2 (хоёр дахь түвшин), L3 (гурав дахь түвшин). Одоо тус бүрийн талаар бага зэрэг дэлгэрэнгүй:

Эхний түвшний кэш (L1)– процессорын цөмтэй шууд ажилладаг хамгийн хурдан кэш санах ойн түвшин, энэхүү нягт харилцан үйлчлэлийн ачаар энэ түвшин нь хамгийн богино хандалтын хугацаатай бөгөөд процессортой ойр давтамжтайгаар ажилладаг. Энэ нь процессор болон хоёр дахь түвшний кэшийн хоорондох буфер юм.

Бид өндөр хүчин чадалтай Intel Core i7-3770K процессорын хэмжээг авч үзэх болно. Энэ процессор нь 4x32 KB L1 кэш 4 x 32 KB = 128 KB-аар тоноглогдсон. (нэг цөмд 32 KB)

Хоёр дахь түвшний кэш (L2)- хоёр дахь түвшин нь эхнийхээсээ илүү том хэмжээтэй боловч үр дүнд нь "хурдны шинж чанар" багатай байдаг. Үүний дагуу энэ нь L1 ба L3 түвшний хооронд буфер болдог. Хэрэв бид Core i7-3770 K жишээг дахин харвал L2 кэш санах ойн хэмжээ 4x256 KB = 1 MB байна.

3-р түвшний кэш (L3)Гурав дахь түвшин нь өмнөх хоёроос удаан байна. Гэхдээ энэ нь RAM-аас хамаагүй хурдан хэвээр байна. i7-3770K дээрх L3 кэшийн хэмжээ 8 МБ байна. Хэрэв өмнөх хоёр түвшнийг цөм тус бүр хуваалцсан бол энэ түвшин нь бүх процессорт нийтлэг байдаг. Үзүүлэлт нь нэлээд хатуу боловч хэт өндөр биш юм. Жишээлбэл, i7-3960X гэх мэт Extreme цуврал процессоруудын хувьд энэ нь 15 MB, зарим шинэ Xeon процессоруудын хувьд 20 гаруй байдаг.

90-ээд оны сүүлээс хойшхи бүх процессорууд дотоод кэш санах ойтой (эсвэл зүгээр л кэштэй). Кэш нь процессороор шууд боловсруулсан заавар, өгөгдлийг дамжуулах өндөр хурдны санах ой юм.

Орчин үеийн процессорууд нь хоёр түвшний кэш санах ойтой байдаг - эхний (L1) ба хоёр дахь (L2). Процессор нь L1 кэшийн агуулгаар арай хурдан байдаг бол L2 кэш нь ихэвчлэн арай том байдаг. Кэш санах ойд хүлээх төлөвгүйгээр ханддаг, i.e. 1-р түвшний кэш (чип дээрх кэш) процессорын хурдаар ажилладаг.

Энэ нь хэрэв процессорт шаардлагатай өгөгдөл нь кэшэд байгаа бол боловсруулалтын саатал гарахгүй гэсэн үг юм. Үгүй бол процессор нь үндсэн санах ойноос өгөгдлийг татах ёстой бөгөөд энэ нь системийн ажиллагааг ихээхэн бууруулдаг.

Хоёр түвшний кэш санах ойн ажиллах зарчмыг чанарын хувьд ойлгохын тулд өдөр тутмын нөхцөл байдлыг жишээ болгон авч үзье.

Та кафед өдөр бүр, нэгэн зэрэг өдрийн хоол идэхээр ирдэг бөгөөд үргэлж нэг ширээнд суудаг. Үргэлж гурван төрлийн стандарт багц захиалаарай.

Зөөгч гал тогоо руу гүйж, тогооч тэднийг тавиур дээр тавиад дараа нь тэд таны захиалгыг авчирна. Гурав дахь өдөр нь зөөгч дахин гал тогоо руу гүйхгүйн тулд товлосон цагтаа тавиур дээр бэлэн халуун үдийн хоол идэн тантай уулзах болно.

Та захиалгаа хүлээх шаардлагагүй бөгөөд маш их цаг хэмнэх болно. Таны аяга таваг бүхий тавиур бол эхний түвшний кэш юм. Гэхдээ дөрөв дэх өдөр та гэнэт өөр хоол нэмэхийг хүсч байна, амттан гэж хэлээрэй.

Хэдийгээр таны захиалга бүхий тавиур таныг товлосон цагт хүлээж байсан ч зөөгч амттан авахаар гал тогоо руу гүйх шаардлагатай байв.

Тавдугаарт - дахин гурван зүйлийн цэс. Зургаа дахь нь - дахин амттан, гэхдээ өмнөхөөсөө өөр. Зөөгч таны ямар амттан захиалахаа мэдэхгүй (мөн юу ч захиалах эсэхээ ч мэдэхгүй) дараагийн алхамаа хийхээр шийдэв: таны ширээний хажууд хэд хэдэн төрлийн амттан бүхий шүүгээ тавьдаг.

Хэрэв та хүслээ илэрхийлбэл бүх зүйл бэлэн байна, гал тогоо руу гүйх шаардлагагүй. Амттаны шүүгээ нь хоёр дахь түвшний кэш юм.

Процессорын гүйцэтгэл нь L1 кэш (16-аас 128 КБ) ба L2 (64 КБ-аас 512 КБ, Pentium III Heop болон AMD Opteron-д 4 МБ хүртэл) хэмжээнээс ихээхэн хамаардаг.

Intel Pentium III процессорууд болон түүн дээр суурилсан Celeron процессорууд нь 32 KB L1 кэштэй. Intel Pentium 4, мөн түүн дээр суурилсан Celeron, Cheop хувилбарууд нь ердөө 20 КБ багтаамжтай. AMD Duron, Athlon (XP/MP орно) болон Opteron процессорууд, түүнчлэн VIA SZ нь 128 KB L1 кэштэй.

Орчин үеийн хоёр цөмт процессорууд нь цөм тус бүрийн хувьд эхний түвшний кэштэй байдаг тул кэшийн тайлбараас заримдаа 128x2 тоог харж болно. Энэ нь процессорын цөм бүр 128 KB L1 кэштэй гэсэн үг.

L1 кэшийн хэмжээ нь ихэнх нийтлэг ажлуудад (оффисын програмууд, тоглоомууд, ихэнх серверийн програмууд гэх мэт) өндөр гүйцэтгэлийг олж авахад чухал ач холбогдолтой. Үүний үр нөлөө нь урсгалтай тооцоололд (жишээлбэл, видео боловсруулах) онцгой хүчтэй байдаг.

Энэ нь Pentium 4 нь хамгийн түгээмэл хэрэглээний хувьд харьцангуй үр дүнгүй байгаагийн нэг шалтгаан юм (хэдийгээр үүнийг өндөр цагийн хурдаар нөхдөг). L1 кэш нь үргэлж дотоод процессорын давтамж дээр ажилладаг (процессорын цөмтэй мэдээлэл солилцдог).

Үүний эсрэгээр, өөр өөр процессорын загвар дахь L2 кэш нь өөр өөр давтамжтай ажилладаг (мөн үүний дагуу гүйцэтгэл). Intel Pentium II-ээс эхлэн олон процессорууд процессорын дотоод давтамжийн хагаст ажилладаг L2 кэш ашигладаг байсан.

Энэхүү шийдлийг хуучирсан Intel Pentium III процессорууд (550 МГц хүртэл) болон хуучирсан AMD Athlon (тэдгээрийн заримд нь дотоод L2 кэш нь процессорын цөмийн давтамжийн гуравны нэг дээр ажилладаг) ашигласан. L2 кэшийн хэмжээ нь процессороос хамаарч өөр өөр байдаг.

Хуучин болон зарим шинэ Intel Pentium III процессоруудад L2 кэшийн хэмжээ 512 KB, бусад Pentium III процессоруудад 256 KB байна. Pentium III дээр суурилсан Intel Celeron процессор нь 128 ба 256 KB L2 кэштэй байсан бол Pentium 4 дээр суурилсан процессор нь ердөө 128 КБ хэмжээтэй байсан. Intel Pentium 4-ийн Xeon хувилбарын янз бүрийн хувилбарууд нь 4 MB хүртэлх L2 кэштэй.

Шинэ Pentium 4 процессорууд (зарим цуврал нь 2000 МГц давтамжтай, бүгд илүү өндөр давтамжтай) 512 KB L2 кэштэй, Pentium 4-ийн үлдсэн хэсэг нь 256 КБ хэмжээтэй. Xeop процессорууд (Pentium 4 дээр суурилсан) нь 256 эсвэл 512 KB L2 кэштэй.

Нэмж дурдахад тэд гурав дахь түвшний L3 кэштэй. Нэгдсэн L3 кэш нь хурдан системийн автобустай хослуулан системийн санах ойтой өндөр хурдны өгөгдөл солилцох сувгийг бүрдүүлдэг.

Дүрмээр бол зөвхөн серверийн шийдлүүдийн процессорууд эсвэл "ширээний" процессоруудын тусгай загварууд L3 кэш санах ойгоор тоноглогдсон байдаг. Жишээлбэл, Xeon DP, Itanium 2, Xeon MP зэрэг процессорын шугамууд нь L3 кэш санах ойтой.

AMD Duron процессор нь 128 KB L1 кэш, 64 KB L2 кэштэй. Athlon процессорууд (хамгийн эртнийхээс бусад), Athlon MP болон ихэнх Athlon XP хувилбарууд нь 128 KB L1 кэш ба 256 KB L2 кэштэй, хамгийн сүүлийн үеийн Athlon XP (2500+, 2800+, 3000+ ба түүнээс дээш) нь 512 КБ L2-тэй. кэш. AMD Opteron нь 1 MB L2 кэштэй.

Intel Pentium D, Intel Pentium M, Intel Core 2 Duo процессоруудын хамгийн сүүлийн үеийн загварууд нь 6 MB L2 кэштэй, Core 2 Quad - 12 MB L2 кэштэй.

Энэ номыг бичиж байх үеийн хамгийн сүүлийн үеийн Intel Core i7 процессор нь 4 цөм тус бүрд 64 КБ L1 кэш санах ой, цөм тус бүрт 256 КБ L2 санах ойтой. Эхний болон хоёр дахь түвшний кэшээс гадна процессор нь бүх цөмд нийтлэг байдаг гурав дахь түвшний кэштэй бөгөөд 8 МБ-тай тэнцэнэ.

Ижил загварын хувьд өөр өөр L2 кэш хэмжээтэй (эсвэл Intel Xeon MP - L3-ийн хувьд) процессоруудын хувьд энэ хэмжээг худалдах үед зааж өгөх ёстой (мэдээжийн хэрэг процессорын үнэ үүнээс хамаарна). Хэрэв процессорыг "хайрцагтай" багцаар (In-Box хүргэлт) зардаг бол кэш санах ойн хэмжээг ихэвчлэн заадаг.

Хэрэглэгчийн ердийн ажлуудын хувьд (тоглоомуудыг оруулаад) L2 кэшийн хурд нь хэмжээнээс илүү чухал байдаг; серверийн даалгаврын хувьд эсрэгээр эзлэхүүн нь илүү чухал юм. Хамгийн бүтээмжтэй серверүүд, ялангуяа их хэмжээний RAM (хэдэн гигабайт) бүхий серверүүд нь L2 кэшийн хамгийн дээд хэмжээ, хамгийн дээд хурдыг шаарддаг.

Pentium III процессоруудын Cheop хувилбарууд нь эдгээр параметрүүдээр давж гарахгүй хэвээр байна. (Xeon MP процессор нь процессорын өөрөө болон санах ойн автобусны цагийн давтамж өндөр байдаг тул Pentium III Xeon-ээс серверийн ажилд илүү бүтээмжтэй хэвээр байна.) Дээрхээс бид дүгнэж байна: кэш санах ой нь хоорондын харилцан үйлчлэлийг сайжруулдаг. хурдан процессор, илүү удаан RAM, мөн өгөгдөл боловсруулах явцад үүсэх хүлээх хугацааг багасгах боломжийг олгодог. Процессорын чип дээр байрлах L2 кэш нь үүнд шийдвэрлэх үүрэг гүйцэтгэдэг.

Ихэнх орчин үеийн ширээний компьютеруудын чипүүд нь дөрвөн цөмтэй байдаг ч чип үйлдвэрлэгчид зургаан цөм рүү шилжих төлөвлөгөөгөө аль хэдийн зарласан бөгөөд 16 цөмт процессорууд өнөөг хүртэл өндөр зэрэглэлийн серверүүдийн хувьд тийм ч ховор биш хэвээр байна.

Цөм их байх тусам бүх цөмд нэгэн зэрэг ажиллахын зэрэгцээ санах ойг хуваарилах асуудал нэмэгддэг. Цөмийн тоо нэмэгдэхийн хэрээр өгөгдөл боловсруулах явцад цөмийг удирдахад зарцуулагдах хугацааг багасгах нь улам бүр ашигтай болж байна - учир нь өгөгдөл солилцох хурд нь процессорын хурд болон санах ойд өгөгдөл боловсруулах хурдаас хоцорч байна. Та хэн нэгний хурдан кэш рүү биечлэн хандах боломжтой эсвэл өөрийн удаашруулсан санах ойд хандах боломжтой боловч өгөгдөл дамжуулах цагийг хэмнээрэй. Програмын хүссэн санах ойн хэмжээ нь төрөл бүрийн кэш санах ойн хэмжээтэй тодорхой тохирохгүй байгаа тул даалгавар нь төвөгтэй байдаг.

Бие махбодийн хувьд зөвхөн маш хязгаарлагдмал хэмжээний санах ойг процессортой аль болох ойрхон байрлуулж болно - процессорын L1 кэш, эзлэхүүн нь маш бага юм. Массачусетсийн Технологийн хүрээлэнгийн Компьютерийн шинжлэх ухаан, хиймэл оюун ухааны лабораторийн судлаач Даниел Санчес, По-Ан Цай, Натан Бекманн нар компьютерт програмын уян хатан шатлалыг бодит цагийн горимд тохируулахын тулд санах ойн янз бүрийн төрлийг тохируулахыг заажээ. Jenga нэртэй шинэ систем нь санах ойд програмын хандалтын хэмжээ, давтамжид дүн шинжилгээ хийж, 3 төрлийн процессорын кэш тус бүрийн хүчийг дахин хуваарилж, үр ашиг, эрчим хүчний хэмнэлтийг нэмэгдүүлэх боломжийг олгодог.


Эхлэхийн тулд судлаачид нэг цөмт процессорын програм дээр ажиллахдаа статик ба динамик санах ойг хослуулахдаа гүйцэтгэлийн өсөлтийг туршиж үзсэн бөгөөд аль хослолыг ашиглах нь илүү дээр бол үндсэн шатлалыг олж авсан. 2 төрлийн санах ойноос эсвэл нэгээс. Хоёр параметрийг үнэлэв: дохионы саатал (хоцролт) болон програм бүрийн ажиллах үеийн эрчим хүчний зарцуулалт. Програмын 40 орчим хувь нь санах ойн төрлүүдийн хослолоор муу ажиллаж эхэлсэн, үлдсэн хэсэг нь илүү сайн болсон. Аль програм нь холимог гүйцэтгэлд "таалагддаг", аль нь санах ойн хэмжээ таалагддаг болохыг тэмдэглэж аваад судлаачид Jenga системийг бүтээжээ.

Тэд 36 цөмтэй виртуал компьютер дээр 4 төрлийн программыг бараг туршиж үзсэн. Туршилт хийсэн програмууд:

  • omnet - Objective Modular Network Testbed, C симуляцийн номын сан, сүлжээний симуляцийн хэрэгслийн платформ (зураг дээрх цэнхэр)
  • mcf - Мета контентын хүрээ (улаан өнгө)
  • astar - виртуал бодит байдлыг харуулах програм хангамж (ногоон)
  • bzip2 - архивлагч (ягаан өнгө)


Зурагт программ бүрийн өгөгдөл хаана, хэрхэн боловсруулагдсаныг харуулав. Үсгүүд нь програм бүр хаана ажиллаж байгааг (дөрвөлжин тутамд нэг), өнгө нь түүний өгөгдөл хаана байрлаж байгааг, сүүдэр нь байгаа үед виртуал шатлалын хоёр дахь түвшинг заадаг.

Кэшийн түвшин

CPU-ийн кэш нь хэд хэдэн түвшинд хуваагддаг. Бүх нийтийн процессоруудын хувьд - 3 хүртэл. Хамгийн хурдан санах ой нь процессортой нэг чип дээр байрладаг тул эхний түвшний кэш - L1-кэш юм. Зааврын кэш болон өгөгдлийн кэшээс бүрдэнэ. L1 кэшгүй зарим процессор ажиллах боломжгүй. L1 кэш нь процессорын давтамж дээр ажилладаг бөгөөд цагийн мөчлөг бүрт хандах боломжтой. Унших/бичих олон үйлдлийг зэрэг гүйцэтгэх боломжтой байдаг. Эзлэхүүн нь ихэвчлэн бага байдаг - 128 КБ-аас ихгүй байна.

Хоёрдахь түвшний кэш L2 нь L1 кэштэй харьцдаг. Энэ нь хоёр дахь хамгийн хурдан юм. Энэ нь ихэвчлэн L1 шиг чип дээр эсвэл процессорын хайрцаг зэрэг цөмтэй ойрхон байрладаг. Хуучин процессоруудад эх хавтан дээрх чипүүдийн багц. L2 кэшийн хэмжээ 128 КБ-аас 12 МБ хүртэл. Орчин үеийн олон цөмт процессоруудад нэг чип дээр байрладаг хоёр дахь түвшний кэш нь тусдаа санах ой юм - нийт кэшийн хэмжээ 8 МБ, цөм тус бүр нь 2 МБ эзэлдэг. Ихэвчлэн үндсэн чип дээр байрлах L2 кэшийн хоцролт нь 8-аас 20 цөм цагийн мөчлөгтэй байдаг. Хязгаарлагдмал санах ойн бүсэд, тухайлбал DBMS гэх мэт олон тооны хандалттай холбоотой ажлуудыг бүрэн ашиглах нь бүтээмжийг арав дахин нэмэгдүүлдэг.

L3 кэш нь ихэвчлэн илүү том байдаг, гэхдээ L2 кэшээс арай удаан байдаг (L2 ба L3 хоорондох автобус L1 ба L2 хоорондох автобуснаас нарийхан байдагтай холбоотой). L3 нь ихэвчлэн CPU-ийн цөмөөс тусдаа байрладаг боловч том хэмжээтэй байж болно - 32 МБ-аас дээш. L3 кэш нь өмнөх кэшүүдээс удаан боловч RAM-аас хурдан байдаг. Олон процессорын системд энэ нь түгээмэл хэрэглэгддэг. Гурав дахь түвшний кэшийг ашиглах нь маш нарийн хүрээний даалгавруудад зөвтгөгддөг бөгөөд гүйцэтгэлийн өсөлтийг хангаад зогсохгүй, эсрэгээр системийн гүйцэтгэлийн ерөнхий бууралтад хүргэж болзошгүй юм.

Хоёр ба гурав дахь түвшний кэшийг идэвхгүй болгох нь өгөгдлийн хэмжээ кэшийн хэмжээнээс бага байх үед математикийн асуудлуудад хамгийн ашигтай байдаг. Энэ тохиолдолд та бүх өгөгдлийг L1 кэш рүү нэг дор ачаалж, дараа нь боловсруулж болно.


Женга нь мэдээллийн солилцоог багасгахын тулд нөөцийн хязгаарлалт, хэрэглээний үйлдлийг харгалзан OS түвшинд виртуал шатлалыг үе үе дахин тохируулдаг. Дахин тохируулга бүр дөрвөн алхамаас бүрдэнэ.

Jenga нь зөвхөн том нэг хурдтай санах ойд дуртай эсвэл холимог кэшийн хурдад дуртай программуудыг илгээж байгаагаас хамаараад зогсохгүй санах ойн эсүүдийн боловсруулагдаж буй өгөгдөлд ойртохоос хамааран өгөгдлийг түгээдэг. Програм нь анхдагчаар эсвэл шатлалын дагуу ямар төрлийн кэш шаарддагаас үл хамааран. Хамгийн гол нь дохионы саатал, эрчим хүчний хэрэглээг багасгах явдал юм. Програмд ​​хичнээн төрлийн санах ой "дуртай" байгаагаас хамааран Женга виртуал шатлал бүрийн хоцролтыг нэг эсвэл хоёр түвшинд загварчилдаг. Хоёр түвшний шатлал нь гадаргууг, нэг түвшний шатлал нь муруй үүсгэдэг. Jenga дараа нь VL1-ийн хэмжээсүүдийн хамгийн бага саатлыг төлөвлөхөд хоёр муруй үүсдэг. Эцэст нь Женга эдгээр муруйг ашиглан хамгийн сайн шатлалыг (жишээ нь VL1 хэмжээ) сонгоход ашигладаг.

Женга хэрэглэх нь мэдэгдэхүйц нөлөө үзүүлсэн. Виртуал 36 цөмт чип нь 30 хувиар хурдан ажиллаж, 85 хувиар бага эрчим хүч зарцуулж эхэлсэн. Мэдээжийн хэрэг, одоогийн байдлаар Jenga бол зүгээр л ажиллаж байгаа компьютерийн загварчлал бөгөөд энэ кэшийн бодит жишээг харах хүртэл, чип үйлдвэрлэгчид технологид дуртай бол үүнийг ашиглахаас өмнө хэсэг хугацаа шаардагдах болно.

Ердийн 36 цөмийн машины тохиргоо

  • Процессорууд. 36 цөм, x86-64 ISA, 2.4 GHz, Silvermont шиг OOO: 8B өргөн
    ifetch; 512 × 10 бит BHSR + 1024 × 2 бит PHT, 2 талын код тайлах/асуудал/нэр өөрчлөх/коммит, 32 оролттой IQ ба ROB, 10 оролт LQ, 16 оролт SQ бүхий 2 түвшний bpred; 371 pJ / заавар, 163 мВт / үндсэн статик хүч
  • L1 кэш. 32 KB, 8 чиглэлтэй багц, хуваах өгөгдөл болон зааврын кэш,
    3 мөчлөгийн хоцролт; 15/33 pJ нэг цохилт/алдсан
  • Prefetchers үйлчилгээ. 16-оролтын урсгалыг урьдчилан татагчийг загварчилж, баталгаажуулсан
    Нехалем
  • L2 кэш. Нэг цөмд 128 KB хувийн, 8 замтай багц-холбоотой, багтаасан, 6 циклийн хоцролт; 46/93 pJ нэг цохилт/алдсан
  • Тохиромжтой горим. Jenga-д зориулсан 16 зам, 6 мөчлөгийн хоцрогдолтой лавлах банкууд; бусад хүмүүст зориулсан кэш доторх L3 сангууд
  • Дэлхийн NoC. 6 × 6 торон, 128 битийн флит ба холбоосууд, X-Y чиглүүлэлт, 2 мөчлөгт дамжуулах чиглүүлэгч, 1 циклийн холбоос; Нэг чиглүүлэгч/холбоосын гүйлгээнд 63/71 пЖ, 12/4мВт чиглүүлэгч/холбох статик хүч
  • Статик санах ой нь SRAM-г блоклодог. 18 MB, хавтан бүрт нэг 512 KB банк, 4 талын 52 нэр дэвшигч zcache, 9 мөчлөгт банкны хоцролт, Vantage хуваалт; 240/500 pJ нэг цохилт/алдалт, 28 мВт/банк статик хүч
  • Олон давхаргат овоолсон DRAM. 1152MB, 4 хавтан тутамд нэг 128MB агуулах, MAP-I DDR3-3200 (1600MHz) бүхий хайлш, 128 битийн автобус, 16 зэрэглэл, 8 банк/ранк, 2 КБ эгнээний буфер; 4.4/6.2 нЖ нэг цохилт/алдалт, 88 мВт/ваулт статик хүч
  • Үндсэн санах ой. 4 DDR3-1600 суваг, 64 битийн автобус, 2 зэрэглэл / суваг, 8 банк / зэрэглэл, 8 КБ эгнээний буфер; 20 нЖ / хандалт, 4W статик хүч
  • DRAM цаг хугацаа. tCAS=8, tRCD=8, tRTP=4, tRAS=24, tRP=8, tRRD=4, tWTR=4, tWR=8, tFAW=18 (tCK дахь бүх цаг хугацаа; давхарласан DRAM нь үндсэн санах ойн хувьд tCK-ийн хагасыг агуулна. )

Процессорын гүйцэтгэлийг нэмэгдүүлэх чухал хүчин зүйлүүдийн нэг бол кэш санах ой, эс тэгвээс түүний хэмжээ, хандалтын хурд, түвшин хоорондын хуваарилалт юм.

Хэсэг хугацааны турш бараг бүх процессорууд ийм төрлийн санах ойгоор тоноглогдсон бөгөөд энэ нь түүний ашиг тустай болохыг дахин нотолж байна. Энэ нийтлэлд бид процессорын маш чухал шинж чанар болох кэш санах ойн бүтэц, түвшин, практик зорилгын талаар ярих болно.

Кэш санах ой гэж юу вэ, түүний бүтэц

Кэш санах ой нь процессороос хамгийн их ханддаг өгөгдлийг түр хадгалахад ашигладаг хэт хурдан санах ой юм. Энэ төрлийн санах ойг бид ингэж товч тайлбарлаж болно.

Кэш санах ой нь эргээд транзисторуудаас бүрддэг флип-флопууд дээр бүтээгдсэн байдаг. Бүлэг транзистор нь RAM-ийг бүрдүүлдэг ижил конденсаторуудаас хамаагүй их зай эзэлнэ. Энэ нь үйлдвэрлэлд олон бэрхшээл, түүнчлэн эзлэхүүний хязгаарлалтыг дагуулдаг. Тийм ч учраас кэш санах ой нь маш үнэтэй санах ой юм, гэхдээ бага хэмжээний эзэлхүүнтэй. Гэхдээ энэ бүтцээс ийм санах ойн гол давуу тал болох хурд гарч ирдэг. Flip-flops нь нөхөн сэргээх шаардлагагүй бөгөөд угсарсан хаалганы саатал бага байдаг тул флип-флопыг нэг төлөвөөс нөгөөд шилжүүлэх хугацаа маш хурдан явагддаг. Энэ нь кэш санах ойг орчин үеийн процессоруудтай ижил давтамжтайгаар ажиллуулах боломжийг олгодог.

Мөн чухал хүчин зүйл бол кэш санах ойг байрлуулах явдал юм. Энэ нь процессорын чип дээр байрладаг бөгөөд энэ нь нэвтрэх хугацааг эрс багасгадаг. Өмнө нь зарим түвшний кэш санах ой нь процессорын чипийн гадна талд, эх хавтангийн хаа нэгтээ тусгай SRAM чип дээр байрладаг байв. Одоо бараг бүх процессорууд процессорын чип дээр байрлах кэш санах ойтой.

Процессорын кэш юунд ашиглагддаг вэ?

Дээр дурдсанчлан кэш санах ойн гол зорилго нь процессорын байнга ашигладаг өгөгдлийг хадгалах явдал юм. Кэш нь өгөгдлийг ачаалах буфер бөгөөд орчин үеийн процессоруудад жижиг хэмжээтэй (ойролцоогоор 4-16 МБ) хэдий ч ямар ч програмын гүйцэтгэлийг мэдэгдэхүйц нэмэгдүүлэх боломжийг олгодог.

Кэш санах ойн хэрэгцээг илүү сайн ойлгохын тулд компьютерийн санах ойг оффис шиг зохион байгуулна гэж төсөөлье. RAM нь нягтлан бодогчид их хэмжээний өгөгдөл (өөрөөр хэлбэл хавтас) авахын тулд үе үе ханддаг хавтас бүхий кабинет байх болно. Мөн хүснэгт нь кэш санах ой байх болно.

Нягтлан бодогчийн ширээн дээр нэг цагийн турш хэд хэдэн удаа дурдсан элементүүд байдаг. Жишээлбэл, эдгээр нь утасны дугаар, баримт бичгийн зарим жишээ байж болно. Эдгээр төрлийн мэдээлэл нь шууд ширээн дээр байрладаг бөгөөд энэ нь эргээд тэдгээрт хандах хурдыг нэмэгдүүлдэг.

Үүнтэй адилаар тэдгээр том өгөгдлийн блокуудаас (хавтас) өгөгдлийг хурдан ашиглахын тулд хүснэгтэд, жишээлбэл, баримт бичигт нэмж болно. Энэ баримт бичиг шаардлагагүй болсон үед түүнийг шүүгээнд (RAM-д) буцааж байрлуулж, хүснэгтийг (кэш санах ой) цэвэрлэж, дараагийн хугацаанд хэрэглэгдэх шинэ баримт бичгүүдэд энэ хүснэгтийг чөлөөлнө.

Мөн кэш санах ойтой бол дахин хандах боломжтой өгөгдөл байгаа бол RAM-аас энэ өгөгдлийг кэш санах ойд ачаална. Ихэнх тохиолдолд энэ нь одоогийн өгөгдлийн дараа хамгийн их ашиглагдах боломжтой өгөгдлийг хамт ачаалах замаар тохиолддог. Өөрөөр хэлбэл, "дараа нь" юу ашиглах талаар таамаглал байдаг. Эдгээр нь үйл ажиллагааны нарийн төвөгтэй зарчим юм.

Процессорын кэшийн түвшин

Орчин үеийн процессорууд нь кэшээр тоноглогдсон байдаг бөгөөд энэ нь ихэвчлэн 2 эсвэл 3 түвшнээс бүрддэг. Мэдээжийн хэрэг, үл хамаарах зүйлүүд байдаг, гэхдээ энэ нь ихэвчлэн тохиолддог.

Ерөнхийдөө дараах түвшин байж болно: L1 (эхний түвшин), L2 (хоёр дахь түвшин), L3 (гурав дахь түвшин). Одоо тус бүрийн талаар бага зэрэг дэлгэрэнгүй:

Эхний түвшний кэш (L1) нь процессорын цөмтэй шууд ажилладаг хамгийн хурдан кэш санах ой юм.Ийм нягт харилцан үйлчлэлийн ачаар энэ түвшин нь хамгийн богино хандалтын хугацаатай бөгөөд процессортой ойр давтамжтайгаар ажилладаг. Энэ нь процессор болон хоёр дахь түвшний кэшийн хоорондох буфер юм.

Бид өндөр хүчин чадалтай Intel Core i7-3770K процессорын хэмжээг авч үзэх болно. Энэ процессор нь 4x32 KB L1 кэш 4 x 32 KB = 128 KB-аар тоноглогдсон. (нэг цөмд 32 KB)

Хоёрдахь түвшний кэш (L2) - хоёр дахь түвшин нь эхнийхээсээ том боловч үр дүнд нь "хурдны шинж чанар" бага байна. Үүний дагуу энэ нь L1 ба L3 түвшний хооронд буфер болдог. Хэрэв бид Core i7-3770 K жишээг дахин харвал L2 кэш санах ойн хэмжээ 4x256 KB = 1 MB байна.

Гурав дахь түвшний кэш (L3) - гурав дахь түвшин нь өмнөх хоёроос удаан байна. Гэхдээ энэ нь RAM-аас хамаагүй хурдан хэвээр байна. i7-3770K дээрх L3 кэшийн хэмжээ 8 МБ байна. Хэрэв өмнөх хоёр түвшнийг цөм тус бүр хуваалцсан бол энэ түвшин нь бүх процессорт нийтлэг байдаг. Үзүүлэлт нь нэлээд хатуу боловч хэт өндөр биш юм. Жишээлбэл, i7-3960X гэх мэт Extreme цуврал процессоруудын хувьд энэ нь 15 MB, зарим шинэ Xeon процессоруудын хувьд 20 гаруй байдаг.

we-it.net

Кэшийг юунд ашигладаг, хэр их хэрэгтэй вэ?

Бид бэлэн мөнгөний тухай биш, харин процессорын кэш санах ой болон бусад зүйлийн талаар ярьж байна. Худалдаачид кэш санах ойн багтаамжийг, ялангуяа төв процессор болон хатуу дискний кэшийг ашиглан өөр нэг арилжааны фетиш хийсэн (видео картууд ч гэсэн үүнийг олж чадаагүй байна). Тэгэхээр 1MB L2 кэштэй XXX процессор, 2МБ кэштэй яг адилхан XYZ процессор байна. Аль нь дээр вэ гэж таамаглаж байна уу? Аа - тэр даруй битгий хий!

Кэш санах ой нь дараа нь хойшлуулах боломжтой болон/эсвэл шаардлагатай зүйлсийг хадгалдаг буфер юм. Процессор ажил хийж байгаа бөгөөд завсрын өгөгдлийг хаа нэг газар хадгалах шаардлагатай нөхцөл байдал үүсдэг. За, мэдээжийн хэрэг кэшэд! - Эцсийн эцэст энэ нь RAM-аас хамаагүй хурдан юм, учир нь ... Энэ нь өөрөө процессор дотор байдаг бөгөөд ихэвчлэн ижил давтамжтайгаар ажилладаг. Тэгээд хэсэг хугацааны дараа тэр энэ өгөгдлийг буцааж загасчилж, дахин боловсруулах болно. Товчоор хэлбэл, туузан дамжуулагч дээрх төмс ялгагчтай адил төмс (лууван)-аас өөр зүйл тааралдах болгондоо түүнийг хайрцаг руу шиддэг. Тэгээд дүүрмэгц тэр босоод дараагийн өрөөнд аваачна. Энэ мөчид конвейер зогсонги байдалд байгаа бөгөөд сул зогсолт ажиглагдаж байна. Хайрцагны эзэлхүүн нь энэ аналоги дахь кэш юм. Хэр их хэрэгтэй вэ - 1 МБ эсвэл 12? Хэрэв түүний эзэлхүүн бага бол арилгахад хэт их цаг зарцуулах шаардлагатай бөгөөд энэ нь энгийн байх болно, гэхдээ тодорхой эзэлхүүний дараа үүнийг нэмэгдүүлэх нь юу ч өгөхгүй. Яахав, ангилагч нь 1000 кг луувангийн хайрцагтай байх болно, гэхдээ түүнд бүхэл бүтэн ээлжийн хугацаанд тийм их зүйл байхгүй бөгөөд энэ нь түүнийг 2 дахин хурдан болгохгүй! Өөр нэг нарийн зүйл бий - том кэш нь нэгдүгээрт, түүнд хандах саатал нэмэгдэхэд хүргэдэг бөгөөд үүний зэрэгцээ алдаа гарах магадлал нэмэгддэг, жишээлбэл, overclock хийх үед - хоёрдугаарт. (Энэ тохиолдолд та процессорын тогтвортой байдал/тогтворгүй байдлыг ХЭРХЭН тодорхойлох талаар уншиж, түүний кэшэд алдаа гарч байгааг олж мэдэх ба L1 болон L2-г эндээс шалгах боломжтой.) Гуравдугаарт, кэш нь чипний талбайг хангалттай хэмжээгээр идэж, процессорын хэлхээний транзисторын төсөв. Хатуу дискний кэш санах ойд мөн адил хамаарна. Хэрэв процессорын бүтэц хүчтэй бол 1024 KB ба түүнээс дээш кэштэй байх болно, олон програмуудад эрэлт хэрэгцээтэй байх болно. Хэрэв танд хурдан HDD байгаа бол 16MB эсвэл бүр 32MB тохиромжтой. Гэхдээ 8MB хэмжээтэй байсан ч шаардлагатай 7200-ийн оронд 5900-ийн хурдтай ногоон хувилбар (Green WD) гэж нэрлэгддэг обудтай бол ямар ч 64MB кэш үүнийг илүү хурдан болгохгүй. Дараа нь Intel болон AMD процессорууд энэ кэшийг өөр өөрөөр ашигладаг (ерөнхийдөө, AMD нь илүү үр дүнтэй байдаг ба тэдгээрийн процессорууд нь ихэвчлэн жижиг утгуудаар тухтай байдаг). Нэмж дурдахад, Intel нь дундын кэштэй боловч AMD үүнийг цөм тус бүрд тус тусад нь агуулдаг. AMD процессоруудын хамгийн хурдан L1 кэш нь өгөгдөл болон зааварчилгааны хувьд 64 KB бөгөөд энэ нь Intel-ээс хоёр дахин их юм. Гурав дахь түвшний L3 кэш нь ихэвчлэн AMD Phenom II 1055T X6 Socket AM3 2.8GHz эсвэл өрсөлдөгч Intel Core i7-980X зэрэг шилдэг процессоруудад байдаг. Юуны өмнө тоглоомууд их хэмжээний кэш хадгалах дуртай. Мөн олон мэргэжлийн програмууд кэшэд дургүй байдаг (харна уу. Рендер, видео засварлах, мэргэжлийн програмуудад зориулсан компьютер). Бүр тодруулбал, хамгийн их шаардлага тавьдаг хүмүүс түүнд ерөнхийдөө хайхрамжгүй ханддаг. Гэхдээ таны хийх ёсгүй зүйл бол кэшийн хэмжээгээр процессор сонгох явдал юм. Хуучин Pentium 4 нь 3 ГГц-ээс дээш давтамжтай 2 МБ кэштэй байсан бөгөөд түүний гүйцэтгэлийг 2 ГГц орчим давтамжтай хямд хоёр цөмт Celeron E1***-тай харьцуулж үзээрэй. Тэр өвгөнөөс ямар ч чулуу үлдээхгүй. Илүү хамааралтай жишээ бол өндөр давтамжийн хоёр цөмт E8600 нь бараг 200 долларын үнэтэй (6MB кэштэй холбоотой бололтой) болон Athlon II X4-620 2.6GHz, ердөө 2MB юм. Энэ нь Атлоныг өрсөлдөгчөө нядлахад саад болохгүй.

Графикаас харахад ямар ч кэш нь нарийн төвөгтэй програмууд эсвэл процессор шаардсан тоглоомуудын нэмэлт цөмүүдийг орлож чадахгүй. 2МБ кэштэй (улаан) Athlon нь 6МБ кэштэй Cor2Duo-г арай бага давтамжтай, бараг тал үнээр нь ялна. Түүнчлэн, олон хүмүүс кэш нь видео картанд байдаг гэдгийг мартдаг, учир нь ерөнхийдөө тэд процессортой байдаг. Саяхны жишээ бол GTX460 видео карт бөгөөд тэд зөвхөн автобус болон санах ойн багтаамжийг (худалдан авагч тааварлах болно) төдийгүй шэйдер кэшийг 512Кб-аас 384Кб хүртэл (худалдан авагч тааж мэдэхгүй) хийж чаддаг. ). Мөн энэ нь бүтээмжид сөрөг нөлөө үзүүлэх болно. Гүйцэтгэл нь кэшийн хэмжээнээс хамааралтай болохыг олж мэдэх нь бас сонирхолтой байх болно. Ижил процессорын жишээн дээр кэшийн хэмжээ ихсэх тусам хэр хурдан өсөж байгааг авч үзье. Таны мэдэж байгаагаар E6***, E4*** ба E2*** цувралын процессорууд нь зөвхөн кэшийн хэмжээгээрээ ялгаатай байдаг (тус бүр нь 4, 2 ба 1 МБ). 2400 МГц-ийн ижил давтамжтайгаар ажиллах нь дараах үр дүнг харуулж байна.

Таны харж байгаагаар үр дүн нь тийм ч их ялгаатай биш юм. Би илүү ихийг хэлэх болно - хэрэв 6МБ багтаамжтай процессор оролцсон бол үр дүн нь арай илүү нэмэгдэх байсан, учир нь процессорууд ханасан байна. Гэхдээ 512Kb-тэй загваруудын хувьд уналт мэдэгдэхүйц байх болно. Өөрөөр хэлбэл, тоглоомд ч гэсэн 2MB хангалттай. Дүгнэж хэлэхэд, бид дараах дүгнэлтийг хийж болно: бусад бүх зүйл аль хэдийн маш их байгаа тохиолдолд кэш сайн байдаг. Хатуу дискний хурдыг эсвэл процессорын цөмийн тоог кэшийн хэмжээнд ижил үнээр өөрчлөх нь гэнэн бөгөөд тэнэг хэрэг, учир нь хамгийн багтаамжтай ангилах хайрцаг ч өөр ангилагчийг орлохгүй. Гэхдээ сайн жишээнүүд бас байдаг.. Жишээ нь, Pentium Dual-Core нь 65 нм процессын анхны хувилбарт хоёр цөмд (E2160 цуврал ба үүнтэй төстэй) 1МБ кэштэй байсан бол E5200 цувралын 45 нм-ийн дараагийн хувилбарт 2МБ хэвээр байгаа бөгөөд бусад бүх зүйл тэнцүү байна ( хамгийн чухал нь - PRICE). Мэдээжийн хэрэг та сүүлийнхийг сонгох хэрэгтэй.

compua.com.ua

Кэш гэж юу вэ, яагаад хэрэгтэй вэ, яаж ажилладаг вэ?

Компьютерийн хамгийн бохир газар юу вэ? Та үүнийг сагс гэж бодож байна уу? Хэрэглэгчийн хавтаснууд? Хөргөлтийн систем? Та буруу таамагласан! Хамгийн бохир газар бол кэш юм! Эцсийн эцэст та үүнийг байнга цэвэрлэж байх ёстой!

Үнэн хэрэгтээ компьютер дээр маш олон кэш байдаг бөгөөд тэдгээр нь хог хаягдал биш, харин тоног төхөөрөмж, хэрэглээний хурдасгуур болдог. Тэд "системийн хогийн сав" гэсэн нэр хүндийг хаанаас авсан бэ? Кэш гэж юу болох, энэ нь юу болох, хэрхэн ажилладаг, яагаад үүнийг үе үе цэвэрлэж байх ёстойг олж мэдье.

Кэш буюу кэш санах ой нь байнга ашиглагддаг өгөгдлийн тусгай хадгалалт бөгөөд RAM эсвэл бусад хадгалах сангаас хэдэн арав, зуу, мянга дахин хурдан ханддаг.

Програмууд (вэб хөтөч, аудио болон видео тоглуулагч, өгөгдлийн сангийн засварлагч гэх мэт), үйлдлийн системийн бүрэлдэхүүн хэсэг (өнгөц зургийн кэш, DNS кэш) болон техник хангамж (CPU кэш L1-L3, график фреймбуфер) нь өөрийн кэш санах ойтой. чип, хадгалах буфер) . Энэ нь янз бүрийн аргаар хэрэгждэг - програм хангамж, техник хангамжид.

  • Програмын кэш нь зүгээр л зураг, цэс, скрипт, мультимедиа контент болон зочилсон сайтуудын бусад контентыг ачаалах тусдаа хавтас эсвэл файл юм. Таныг вэб хуудсыг дахин нээхэд хөтөч хамгийн түрүүнд энэ хавтас руу ордог. Дотоод санах ойн зарим контентыг пейжинг хийх нь ачааллыг хурдасгаж, сүлжээний урсгалыг бууруулдаг.

  • Хадгалах төхөөрөмжид (ялангуяа хатуу диск) кэш нь электроникийн самбар дээр байрладаг 1-256 Mb багтаамжтай тусдаа RAM чип юм. Энэ нь соронзон давхаргаас уншсан, RAM-д ачаалагдаагүй мэдээлэл, мөн үйлдлийн системээс ихэвчлэн шаарддаг өгөгдлийг хүлээн авдаг.

  • Орчин үеийн төв процессор нь нэг чип дээр техник хангамжийн модуль хэлбэрээр байрладаг кэш санах ойн 2-3 үндсэн түвшний (мөн хэт санамсаргүй хандалтын санах ой) агуулдаг. Хамгийн хурдан бөгөөд хамгийн жижиг хэмжээтэй (32-64 Kb) нь кэшийн түвшин 1 (L1) бөгөөд процессортой ижил давтамжтайгаар ажилладаг. L2 нь хурд, багтаамжийн хувьд дундаж байр суурийг эзэлдэг (128 Кб-аас 12 Мб хүртэл). L3 нь хамгийн удаан бөгөөд хамгийн их хэмжээтэй (40 Mb хүртэл) бөгөөд зарим загварт байдаггүй. L3-ийн хурд нь зөвхөн ах дүү нартайгаа харьцуулахад бага боловч хамгийн бүтээмжтэй RAM-аас хэдэн зуун дахин хурдан юм.

Процессорын флаш санах ой нь RAM болон машины кодын заавраас шахагдсан байнга ашиглагддаг өгөгдлийг хадгалахад ашиглагддаг. Илүү их байх тусам процессор хурдан болно.

Өнөөдөр гурван түвшний кэш хийх нь хязгаар байхаа больсон. Сэнди гүүрний архитектур бий болсноор Intel бүтээгдэхүүндээ нэмэлт кэш L0 (шифрлэгдсэн бичил зааврыг хадгалах зориулалттай) нэвтрүүлсэн. Мөн хамгийн өндөр хүчин чадалтай CPU нь тусдаа чип хэлбэрээр хийгдсэн дөрөв дэх түвшний кэштэй байдаг.

Схемийн хувьд L0-L3 кэш түвшний харилцан үйлчлэл нь иймэрхүү харагдаж байна (Intel Xeon-ийн жишээг ашиглан):

Энэ бүхэн хэрхэн ажилладаг талаар хүний ​​хэлээр

Кэш санах ой хэрхэн ажилладагийг ойлгохын тулд ширээн дээр ажиллаж буй хүнийг төсөөлье. Түүний байнга ашигладаг хавтас, баримт бичиг нь ширээн дээр байдаг (кэш санах ойд). Тэдэнд хандахын тулд гараа сунгахад л хангалттай.

Түүнд бага хэрэгцээтэй цааснууд ойролцоо тавиур дээр (RAM-д) хадгалагддаг. Тэднийг авахын тулд та босоод хэдэн метр алхах хэрэгтэй. Мөн тухайн хүний ​​одоогоор ажиллахгүй байгаа зүйл нь архивлагдсан (хатуу диск дээр бичигдсэн).

Хүснэгт хэдий чинээ өргөн байх тусам түүнд илүү олон баримт бичиг багтах бөгөөд энэ нь ажилтан илүү их хэмжээний мэдээлэлд хурдан нэвтрэх боломжтой болно гэсэн үг юм (кэшийн багтаамж их байх тусам програм эсвэл төхөөрөмж онолын хувьд хурдан ажилладаг).

Заримдаа тэр алдаа гаргадаг - тэр буруу мэдээлэл агуулсан цаасыг ширээн дээрээ хадгалж, ажилдаа ашигладаг. Үүний үр дүнд түүний ажлын чанар буурдаг (кэшийн алдаа нь програм, техник хангамжийн доголдолд хүргэдэг). Нөхцөл байдлыг засахын тулд ажилтан алдаатай бичиг баримтыг хаяж, зөвийг нь оронд нь байрлуулах ёстой (кэш санах ойг цэвэрлэх).

Хүснэгт нь хязгаарлагдмал талбайтай (кэш санах ой нь хязгаарлагдмал багтаамжтай). Заримдаа үүнийг жишээлбэл, хоёр дахь хүснэгтийг зөөх замаар өргөжүүлж болно, заримдаа үүнийг хийх боломжгүй (хэрэв ийм боломжийг програмаар хангасан бол кэшийн хэмжээг нэмэгдүүлэх боломжтой; техник хангамжид хэрэгждэг тул техник хангамжийн кэшийг өөрчлөх боломжгүй) .

Ширээний багтаамжаас илүү олон баримт бичигт хандах хандалтыг хурдасгах өөр нэг арга бол туслах ажилтанд тавиур дээрээс бичиг баримт өгөх явдал юм (үйлдлийн систем нь ашиглагдаагүй RAM-ийн заримыг төхөөрөмжийн өгөгдлийг кэш болгоход хуваарилах боломжтой). Гэхдээ энэ нь тэднийг ширээн дээрээс авахаас удаан хэвээр байна.

Баримт бичгүүд нь одоо байгаа ажилтай холбоотой байх ёстой. Үүнийг ажилтан өөрөө хянах ёстой. Та бүх зүйлийг тогтмол эмх цэгцтэй болгох хэрэгтэй (хэрэглээгүй өгөгдлийг кэш санах ойноос устгах нь үүнийг ашигладаг програмын мөрөн дээр унадаг; зарим програмууд кэшийг автоматаар цэвэрлэх функцтэй байдаг).

Хэрэв ажилтан ажлын байран дахь дэг журам сахиулах, бичиг баримтаа шинэчилж байхаа мартсан бол тэрээр өөрөө ширээ цэвэрлэх хуваарийг зурж, үүнийг сануулах боломжтой. Хамгийн сүүлчийн арга бол үүнийг туслахдаа даатга (хэрэв кэш санах ойноос хамааралтай програм удааширсан эсвэл ихэвчлэн хамааралгүй өгөгдлийг татаж авдаг бол кэш цэвэрлэх хэрэгслийг хуваарийн дагуу ашиглах эсвэл энэ ажиллагааг хэдэн өдөр тутамд гараар хийх).

Бид үнэндээ хаа сайгүй "кэшлэх функц"-тэй тааралддаг. Үүнд ирээдүйд хэрэглэх хүнсний бүтээгдэхүүн худалдаж авах, хажуугаар нь хийх янз бүрийн үйлдлүүд зэрэг багтана. Үндсэндээ энэ нь биднийг шаардлагагүй үймээн самуун, шаардлагагүй хөдөлгөөнөөс аварч, амьдралыг маань цэгцэлж, ажлыг хөнгөвчлөх бүх зүйл юм. Компьютер ч мөн адил хийдэг. Товчхондоо хэрэв кэш байхгүй байсан бол хэдэн зуу, мянга дахин удаан ажиллах байсан. Тэгээд бид үүнд дургүй байх болов уу.

f1comp.ru

Кэш, кэш, бэлэн мөнгө - санах ой. Кэш санах ойг юунд ашигладаг вэ? Кэшийн хэмжээ болон хурдны гүйцэтгэлд үзүүлэх нөлөө.

Кэш - санах ой (кэш, бэлэн мөнгө, буфер - англи хэл) - дижитал төхөөрөмжид өндөр хурдны санах ой болгон ашигладаг. Кэш санах ойг хатуу диск, процессор, видео карт, сүлжээний карт, CD хөтчүүд болон бусад олон төхөөрөмжөөс олж болно.

Кэшийн үйл ажиллагааны зарчим, архитектур нь маш өөр байж болно.

Жишээлбэл, кэш нь ердийн санах ойн үүрэг гүйцэтгэдэг. Төхөөрөмж нь өгөгдлийг боловсруулж, өндөр хурдны буферт шилжүүлдэг бөгөөд хянагч нь өгөгдлийг интерфэйс рүү дамжуулдаг. Ийм кэш нь алдаанаас урьдчилан сэргийлэх, техник хангамжийн өгөгдлийг бүрэн бүтэн эсэхийг шалгах, эсвэл төхөөрөмжөөс ирсэн дохиог интерфэйсэд ойлгомжтой дохио болгон кодлоход сааталгүйгээр зориулагдсан болно. Энэ системийг жишээлбэл CD/DVD хөтчүүдэд ашигладаг.

Өөр нэг тохиолдолд кэш нь байнга ашиглагддаг кодыг хадгалахад үйлчилдэг бөгөөд ингэснээр өгөгдөл боловсруулалтыг хурдасгадаг. Өөрөөр хэлбэл, төхөөрөмж нь өгөгдлийг тооцоолох эсвэл дахин хайх шаардлагагүй бөгөөд энэ нь кэшээс уншихаас хамаагүй удаан үргэлжлэх болно. Энэ тохиолдолд кэшийн хэмжээ, хурд нь маш чухал үүрэг гүйцэтгэдэг.


Энэ архитектур нь ихэвчлэн хатуу диск, SSD хөтчүүд болон төв процессорууд (CPU) дээр байдаг.

Төхөөрөмжүүд ажиллаж байх үед тусгай программ хангамж эсвэл диспетчерийн программуудыг кэш рүү ачаалж болох бөгөөд энэ нь ROM (зөвхөн уншигдах санах ой)-тэй илүү удаан ажиллах болно.

Ихэнх орчин үеийн төхөөрөмжүүд нь санах ойн санах ой болон байнга ашиглагддаг кодыг хадгалах боломжтой холимог төрлийн кэш ашигладаг.

Процессор болон видео чипүүдийн кэшийн хувьд хэд хэдэн чухал функцууд байдаг.

Гүйцэтгэх нэгжүүдийг нэгтгэх. Төв процессорууд болон видео процессорууд нь ихэвчлэн цөмийн хооронд хурдан хуваалцсан кэш ашигладаг. Үүний дагуу, хэрэв нэг цөм нь мэдээллийг боловсруулсан бөгөөд энэ нь кэшэд байгаа бөгөөд ижил үйлдэл хийх эсвэл энэ өгөгдөлтэй ажиллах тушаалыг хүлээн авбал өгөгдлийг процессор дахин боловсруулахгүй, харин програмаас авна. цаашдын боловсруулалтад зориулсан кэш. Бусад өгөгдлийг боловсруулахын тулд цөмийг буулгах болно. Энэ нь ижил төстэй боловч нарийн төвөгтэй тооцооллын гүйцэтгэлийг ихээхэн нэмэгдүүлдэг, ялангуяа кэш нь том бөгөөд хурдан байвал.

Хуваалцсан кэш нь удаан RAM-ыг алгасаж цөмүүдтэй шууд ажиллах боломжийг олгодог.

Зааварт зориулсан кэш. Заавар болон бусад үйлдлүүдэд зориулсан хуваалцсан, маш хурдан L1 кэш эсвэл тэдгээрт зориулагдсан кэш байдаг. Процессорт олон заавар хадгалагдах тусам зааврын кэш их байх болно. Энэ нь санах ойн хоцролтыг багасгаж, зааврын блок бараг бие даан ажиллах боломжийг олгодог.Дүүрсэн үед заавар блок үе үе сул ажиллаж эхэлдэг бөгөөд энэ нь тооцооллын хурдыг удаашруулдаг.

Бусад функцууд болон онцлогууд.

Төв процессоруудад (төв боловсруулах нэгжүүд) техник хангамжийн алдааны залруулга (ECC) ашигладаг нь анхаарал татаж байна, учир нь кэш дэх жижиг алдаа нь энэ өгөгдлийг цаашид боловсруулах явцад нэг тасралтгүй алдаа гарахад хүргэдэг.

CPU болон GPU-д кэшийн шатлал байдаг бөгөөд энэ нь бие даасан цөм болон ерөнхий өгөгдлийг салгах боломжийг олгодог. Хоёрдахь түвшний кэшээс бараг бүх өгөгдлийг гурав дахь, ерөнхий түвшинд хуулсан хэвээр байгаа боловч үргэлж биш юм. Эхний кэш түвшин нь хамгийн хурдан бөгөөд дараагийнх бүр нь илүү удаан боловч илүү том хэмжээтэй байдаг.

Процессорын хувьд гурваас цөөн тооны кэшийн түвшин хэвийн гэж тооцогддог. Энэ нь хурд, кэшийн хэмжээ, дулаан ялгаруулалтыг тэнцвэржүүлэх боломжийг олгодог. Видео процессоруудад хоёроос дээш кэшийн түвшинг олоход хэцүү байдаг.

Кэшийн хэмжээ, гүйцэтгэлд үзүүлэх нөлөө болон бусад шинж чанарууд.

Мэдээжийн хэрэг, кэш том байх тусам илүү их өгөгдлийг хадгалж, боловсруулж чаддаг боловч энд ноцтой асуудал байна.

Том кэш гэдэг нь транзисторын том төсөв гэсэн үг. Сервер боловсруулах нэгжид (CPU) кэш нь транзисторын төсвийн 80 хүртэлх хувийг ашиглах боломжтой. Нэгдүгээрт, энэ нь эцсийн өртөгт нөлөөлж, хоёрдугаарт, эрчим хүчний хэрэглээ, дулааны зарцуулалт нэмэгдэж, бүтээмж хэд хэдэн хувиар нэмэгдсэнтэй харьцуулшгүй юм.



ХОНХ

Энэ мэдээг чамаас өмнө уншсан хүмүүс бий.
Шинэ нийтлэлүүдийг хүлээн авахын тулд бүртгүүлээрэй.
Имэйл
Нэр
Овог
Та Хонхыг хэрхэн уншихыг хүсч байна вэ?
Спам байхгүй