Нээлттэй
Хаах

Аль кэш нь хоёр хэсэгт хуваагддаг. Процессорын кэш нь юу гэсэн үг вэ, L1, L2, L3-ийн ялгаа нь юу вэ. Савлах, задлах

Ихэнх орчин үеийн ширээний компьютеруудын чипүүд нь дөрвөн цөмтэй байдаг ч чип үйлдвэрлэгчид зургаан цөм рүү шилжих төлөвлөгөөгөө аль хэдийн зарласан бөгөөд 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 бөгөөд системд хамгийн их ханддаг мэдээллийг хадгалахад зориулагдсан.

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

Эзлэхүүн гэж юу вэ, энэ нь юу нөлөөлдөг вэ?

Буферийн эзэлхүүн онцгой анхаарал хандуулах ёстой. Ихэнхдээ HDD нь 8, 16, 32, 64 MB кэшээр тоноглогдсон байдаг. Том хэмжээтэй файлуудыг хуулах үед 8-16 МБ-ын хооронд гүйцэтгэлийн хувьд мэдэгдэхүйц ялгаа гарах боловч 16-32-ийн хооронд энэ нь бага мэдэгдэхүйц юм. Хэрэв та 32-оос 64-ийн хооронд сонговол бараг байхгүй болно. Буфер нь ихэвчлэн их ачаалалтай байдаг гэдгийг ойлгох шаардлагатай бөгөөд энэ тохиолдолд том байх тусмаа сайн.

Орчин үеийн хатуу дискүүд нь 32 эсвэл 64 МБ багтаамжтай байдаг ба түүнээс бага нь өнөөдөр хаанаас ч олдохгүй. Энгийн хэрэглэгчийн хувьд эхний болон хоёр дахь утга нь хангалттай байх болно. Үүнээс гадна системд суулгасан кэшийн хэмжээ нь гүйцэтгэлд нөлөөлдөг. Энэ нь хатуу дискний гүйцэтгэлийг нэмэгдүүлдэг, ялангуяа хангалттай RAM-тай.

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

Зорилго

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

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

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

Гол давуу талууд

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

Буферийн функц нь хатуу дискийг илүү үр дүнтэй, хурдан ажиллуулах боломжийг олгодог тул үүнийг бүрэн хурдасгуур гэж нэрлэж болно. Гэвч өнөөдөр технологийн хурдацтай хөгжлийг дагаад өмнөх ач холбогдлоо алдаж байна. Энэ нь ихэнх орчин үеийн загварууд нь 32 ба 64 MB хэмжээтэй байдаг бөгөөд энэ нь хөтөчийн хэвийн үйл ажиллагаанд хангалттай байдаг. Дээр дурдсанчлан, зардлын зөрүү нь үр ашгийн зөрүүтэй тохирч байгаа тохиолдолд л зөрүүг илүү төлж болно.

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

Одоогийн кэшийн хэмжээг хэрхэн олж мэдэх вэ

Таны хийх ёстой зүйл бол үнэгүй програмыг татаж аваад суулгах явдал юм HDTune. Эхлүүлсний дараа "Мэдээлэл" хэсэгт очоод цонхны доод хэсэгт шаардлагатай бүх параметрүүдийг харах болно.


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

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

L1 кэшийн хэмжээ (8-аас 128 KB хүртэл)
1-р түвшний кэшийн хэмжээ.
1-р түвшний кэш нь процессорын цөм дээр шууд байрладаг өндөр хурдны санах ойн блок юм.
RAM-аас гаргаж авсан өгөгдлийг түүнд хуулж авдаг.

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

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

L2 кэшийн хэмжээ (128-аас 12288 KB хүртэл)
2-р түвшний кэшийн хэмжээ.
L2 кэш нь L1 кэштэй ижил үүрэг гүйцэтгэдэг өндөр хурдны санах ойн блок юм ("L1 кэшийн багтаамж" -ыг үзнэ үү), гэхдээ хурд багатай, илүү их багтаамжтай.

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

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

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

Жишээлбэл, Intel Pentium 4 Extreme Edition, Xeon DP, Itanium 2, Xeon MP болон бусад процессорууд гурав дахь түвшний кэш санах ойтой.

Twin BiCS FLASH - 3D флаш санах ойн шинэ технологи

2019 оны 12-р сарын 11-ний өдөр IEEE олон улсын цахим төхөөрөмжүүдийн уулзалт (IEDM) дээр TOKYO-Kioxia корпораци 3D флаш санах ойн технологи болох Twin BiCS FLASH-ийг зарлалаа.

AMD Radeon Software Adrenalin Edition 2020 драйвер 19.12.2 WHQL (Нэмсэн)

12-р сарын 10-нд AMD нь мега драйвер Radeon Software Adrenalin 2020 Edition 19.12.2 WHQL-ийг танилцууллаа.

Windows 10 хуримтлагдсан шинэчлэлт 1909 KB4530684

2019 оны 12-р сарын 10-нд Microsoft x86, x64 (amd64), ARM64 болон x64-д ​​суурилсан Windows Server 2019 (1909) процессорууд дээр 2019 оны 11-р сарын 10-ны Шинэчлэлт (хувилбар 1909)-д зориулсан KB4530684 (Build 18363.535) хуримтлагдсан шинэчлэлтийг гаргасан.

NVIDIA тоглоомд бэлэн GeForce 441.66 WHQL драйвер

NVIDIA GeForce Game Ready 441.66 WHQL драйвер нь MechWarrior 5: Mercenaries болон Detroit: Become Human-ийн дэмжлэгийг агуулдаг бөгөөд MSI MAG251RX болон ViewSonic XG270 дэлгэцийн G-SYNC дэмжлэгийг нэмдэг.

AMD процессоруудад L3 кэш хэр чухал вэ?

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

Наад зах нь онолын хувьд. Саяхан AMD Athlon II X4 процессорыг зарлалаа, энэ нь L3 кэшгүй Phenom II X4 загвар бөгөөд энэ нь тийм ч шаардлагагүй гэдгийг харуулж байна. Бид кэш нь гүйцэтгэлд хэрхэн нөлөөлж байгааг шалгахын тулд хоёр процессорыг (L3 кэштэй болон кэшгүй) шууд харьцуулахаар шийдсэн.

Зураг дээр дарж томруулна уу.

Кэш хэрхэн ажилладаг вэ?

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

Оносон, алдсан

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

Кэш оруулах, онцгой байдал, уялдаа холбоо

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

Хэд хэдэн кэш түвшний өгөгдлийг зөвхөн, өөрөөр хэлбэл илүүдэлгүйгээр хадгалах боломжтой. Дараа нь та кэшийн хоёр өөр шатлалд ижил өгөгдлийн мөрийг олохгүй. Эсвэл кэшүүд бүхэлдээ ажиллах боломжтой, өөрөөр хэлбэл кэшийн доод түвшинд дээд кэшийн түвшинд (процессорын цөмд ойр) байгаа өгөгдлийг агуулна. AMD Phenom нь онцгой L3 кэш ашигладаг бол Intel нь багтаамжтай кэш стратегийг баримталдаг. Тохиромжтой протоколууд нь янз бүрийн цөм, кэш түвшин, тэр ч байтугай процессоруудын мэдээллийн бүрэн бүтэн байдал, шинэлэг байдлыг баталгаажуулдаг.

Кэшийн хэмжээ

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

Нийгэмлэг

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

Энд зарим жишээг дурдъя: Core i5 болон i7 нь өгөгдлийн хувьд 8 талын холбоо бүхий 32 KB L1 кэш, зааврын хувьд 4 талын холбоо бүхий 32 КБ L1 кэш ашигладаг. Intel нь зааварчилгааг хурдан гаргаж, L1 өгөгдлийн кэшийг хамгийн их цохилтын хурдтай байлгахыг хүсч байгаа нь ойлгомжтой. Intel процессорууд дээрх L2 кэш нь 8 талт холболттой бөгөөд Intel L3 кэш нь илүү ухаалаг байдаг, учир нь энэ нь цохилтыг нэмэгдүүлэхийн тулд 16 талын холбоог хэрэгжүүлдэг.

Гэсэн хэдий ч AMD нь хоцролтыг багасгахын тулд 2 талын ассоциатив L1 кэш ашигладаг Phenom II X4 процессоруудтай өөр стратеги баримталж байна. Боломжит алдагдлыг нөхөхийн тулд кэшийн багтаамжийг хоёр дахин нэмэгдүүлсэн: өгөгдлийн хувьд 64 KB, зааварчилгааны хувьд 64 KB. L2 кэш нь Intel-ийн дизайн шиг 8 замтай холбоотой боловч AMD-н L3 кэш нь 48 замтай холбоотой ажилладаг. Гэхдээ нэг кэшийн архитектурыг нөгөөгөөсөө сонгох шийдвэрийг CPU-ийн бүтцийг бүхэлд нь авч үзэхгүйгээр үнэлэх боломжгүй юм. Туршилтын үр дүн практик ач холбогдолтой байх нь мэдээжийн хэрэг бөгөөд бидний зорилго бол энэ бүхэл бүтэн цогц олон түвшний кэшийн бүтцийг бодитоор шалгах явдал байв.

Орчин үеийн процессор бүр процессорын заавар, өгөгдлийг хадгалдаг тусгай кэштэй бөгөөд бараг агшин зуур ашиглахад бэлэн байдаг. Энэ түвшинг ихэвчлэн Level 1 эсвэл L1 кэш гэж нэрлэдэг бөгөөд анх 486DX процессоруудад нэвтрүүлсэн. Саяхан AMD процессорууд нь нэг цөмд 64 KB L1 кэш (өгөгдөл болон зааварчилгааны хувьд) стандарт болсон ба Intel процессорууд нэг цөмд 32 KB L1 кэш ашигладаг (мөн өгөгдөл, зааварчилгааны хувьд)

L1 кэш нь анх 486DX процессорууд дээр гарч ирсэн бөгөөд үүний дараа энэ нь орчин үеийн бүх CPU-ийн салшгүй шинж чанар болсон.

Хоёрдахь түвшний кэш (L2) нь Pentium III-ийг гаргасны дараа бүх процессорууд дээр гарч ирсэн боловч түүний сав баглаа боодол дээрх анхны хэрэглээ нь Pentium Pro процессор дээр байсан (гэхдээ чип дээр биш). Орчин үеийн процессорууд нь чип дээрх 6 МБ хүртэлх L2 кэшээр тоноглогдсон. Дүрмээр бол энэ эзлэхүүн нь жишээлбэл, Intel Core 2 Duo процессорын хоёр цөмд хуваагддаг. Ердийн L2 тохиргоо нь цөм бүрт 512 KB буюу 1 MB кэшээр хангадаг. Жижиг L2 кэштэй процессорууд нь үнийн доод түвшинд байх хандлагатай байдаг. Доорх нь L2 кэшийн эхэн үеийн хэрэгжилтийн диаграмм юм.

Pentium Pro нь процессорын савлагаанд L2 кэштэй байсан. Pentium III болон Athlon-ийн дараагийн үеийнхэнд L2 кэшийг тусдаа SRAM чипүүдээр дамжуулан хэрэгжүүлсэн бөгөөд энэ нь тухайн үед маш түгээмэл байсан (1998, 1999).

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


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


Анх удаа L2 кэшийг Core 2 Duo процессор дээрх хоёр тооцоолох цөм хооронд хуваалцаж эхэлсэн. AMD цаашаа явж, анхны дөрвөлсөн цөмт Phenom-оо эхнээс нь бүтээсэн бөгөөд Intel анхны дөрвөлсөн цөмт процессордоо зардлаа бууруулахын тулд дахин хос өлгүүр, энэ удаад хоёр хоёр цөмт Core 2-ыг ашигласан.

Гурав дахь түвшний кэш нь Alpha 21165 (96 KB, 1995 онд гарсан процессорууд) эсвэл IBM Power 4 (256 KB, 2001) процессорын эхэн үеэс бий болсон. Гэсэн хэдий ч x86-д суурилсан архитектурт L3 кэш нь Intel Itanium 2, Pentium 4 Extreme (Gallatin, 2003 онд хоёулаа процессорууд) болон Xeon MP (2006) загваруудад анх гарч ирсэн.

Орчин үеийн архитектурууд L3 кэшийг олон цөмт процессоруудад цөм хоорондын өгөгдөл дамжуулахад том, хуваалцсан буфер болгон ашигладаг хэдий ч анхны хэрэгжүүлэлтүүд нь кэшийн шатлалын өөр түвшинг хангаж өгсөн. Үүнийг ассоциацийн өндөр n зэрэглэл онцолж байна. Хэд хэдэн цөм нь үндсэн RAM-д хандах хандалтыг маш удаан ашиглаж байгаа нөхцөл байдалд орохын оронд кэшээс бага зэрэг удаан өгөгдөл хайх нь дээр. AMD нь анх дурдсан Phenom шугамтай ширээний процессор дээр L3 кэшийг нэвтрүүлсэн. 65 нм Phenom X4 нь 2 МБ хуваалцсан L3 кэштэй бөгөөд орчин үеийн 45 нм Phenom II X4 нь аль хэдийн 6 МБ хуваалцсан L3 кэштэй. Intel Core i7 болон i5 процессорууд нь 8 MB L3 кэш ашигладаг.

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


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

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

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

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

Кэш санах ой нь эргээд транзисторуудаас бүрддэг флип-флопууд дээр бүтээгдсэн байдаг. Бүлэг транзистор нь 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 КБ ба түүнээс дээш кэштэй байх болно, олон програмуудад эрэлт хэрэгцээтэй байна. Хэрэв танд хурдан 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 хүртэлх хувийг ашиглах боломжтой. Нэгдүгээрт, энэ нь эцсийн өртөгт нөлөөлж, хоёрдугаарт, эрчим хүчний хэрэглээ, дулааны алдагдал нэмэгдэж байгаа нь бүтээмжийг хэдэн хувиар нэмэгдүүлсэнтэй харьцуулах аргагүй юм.