Агуулгын хүснэгт:

VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар: 4 алхам
VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар: 4 алхам

Видео: VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар: 4 алхам

Видео: VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар: 4 алхам
Видео: "Намайг аваад үлдээч 2" уран сайхны киноны албан ёсны трайлер хүлээн авна уу! 2024, Арваннэгдүгээр
Anonim
VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар
VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар

Миний өмнөх зааварчилгаанд бид энгийн шууд зураглалтай кэш хянагчийг хэрхэн яаж бүтээхийг харсан. Энэ удаад бид нэг алхам урагшилж байна. Бид дөрвөн талын энгийн ассоциатив кэш хянагчийн загварыг гаргах болно. Давуу тал? Алдагдал багатай боловч гүйцэтгэлийн өртөг нь өмнөх блог шиг бид кэш хянагчаа шалгахын тулд бүхэл бүтэн процессор, үндсэн санах ой, кэш орчныг зохион бүтээж, дуурайх болно. Залуус та үүнийг ирээдүйд өөрийн кэш хянагчийг боловсруулж, үзэл баримтлалыг ойлгоход хэрэгтэй лавлагаа гэж найдаж байна. Процессорын загвар (туршилтын вандан) болон санах ойн үндсэн систем нь миний өмнөх блогтой яг ижилхэн байгаа тул би үүнийг дахин тайлбарлахгүй. Энэ талаархи дэлгэрэнгүй мэдээллийг өмнөх зааварчилгаанаас үзнэ үү.

Алхам 1: Техникийн үзүүлэлтүүд

Үзүүлэлтүүд
Үзүүлэлтүүд

Энд танилцуулсан кэш хянагчийн техникийн үзүүлэлтүүдийг хурдан харна уу.

  • Дөрвөн талын холболттой кэш хянагч (хэрэв шууд зурагдсан кэш хянагч хайж байгаа бол энэ линк рүү орно уу).
  • Нэг банктай, кэшийг хаах.
  • Бичсэн хитүүдийн талаархи бичих бодлого.
  • Бичих алдааны талаархи эргэн тойронд бичих бодлого.
  • Tree Pseudo-LRU (pLRU) солих бодлого.
  • Хянагчийн дотор байгаа массивыг тэмдэглэ.
  • Тохируулж болох параметрүүд.

Кэш санах ой ба үндсэн санах ойн стандарт үзүүлэлтүүд нь миний өмнөх заавартай ижил байна. Тэдэнд хандана уу.

Алхам 2: Бүх системийн RTL харагдац

Бүх системийн RTL харагдац
Бүх системийн RTL харагдац

Топ модулийн RTL -ийн бүрэн дүрслэлийг Зураг дээр үзүүлэв (процессороос бусад). Автобусны стандарт үзүүлэлтүүд нь:

  • Бүх өгөгдлийн автобус нь 32 битийн автобус юм.
  • Хаягийн автобус = 32 битийн автобус (Гэхдээ энд зөвхөн 10 битийг санах ойд хандах боломжтой).
  • Өгөгдлийн блок = 128 бит (унших өргөн зурвасын өргөн).
  • Бүх бүрэлдэхүүн хэсгүүдийг нэг цаг удирддаг.

Алхам 3: Туршилтын үр дүн

Шилдэг модулийг туршилтын вандан ашиглан туршиж үзсэн бөгөөд энэ нь бидний сүүлчийн зааварчилгааны дагуу хий дамжуулах хоолойгүй процессорыг загварчилсан болно. Туршилтын вандан нь санах ойд өгөгдөл унших/бичих хүсэлтийг байнга гаргадаг. Энэ нь процессор гүйцэтгэдэг бүх програмд түгээмэл байдаг "Ачаалах" ба "Хадгалах" зааврыг дооглодог.

Туршилтын үр дүн нь кэш хянагчийн ажиллагааг амжилттай баталгаажуулав. Туршилтын статистикийг доор харуулав.

  • Алдагдах, бичих бүх унших/бичих дохиог зөв үүсгэсэн.
  • Өгөгдөл унших/бичих бүх үйлдлүүд дөрвөн аргаар амжилттай болсон.
  • pLRU алгоритм нь кэшийн мөрийг солиход амжилттай баталгаажсан болно.
  • Мэдээллийн нийцгүй байдал/нийцэхгүй байдлын асуудал илрээгүй.
  • Дизайн нь Maxm -ийн цаг хугацааг амжилттай баталгаажуулсан. Ажиллах цагийн давтамж = Xilinx Virtex-4 ML-403 ТУЗ-д 100 МГц (бүхэл систем), зөвхөн кэш хянагчийн хувьд 110 МГц.
  • Блок RAM -ийг үндсэн санах ойд зориулж гаргасан. Бусад бүх массивыг LUT дээр хэрэгжүүлсэн.

Алхам 4: Хавсаргасан файлууд

Дараах файлуудыг энэ блогт хавсаргав.

  • Cache Controller, Cache Data Array, Main Memory System -ийн. VHD файлууд.
  • Туршилтын вандан.
  • Кэш хянагчийн талаархи баримт бичиг.

Тэмдэглэл:

  • Энд танилцуулсан кэш хянагчийн техникийн үзүүлэлтүүдийг бүрэн ойлгохын тулд баримт бичгийг үзнэ үү.
  • Кодын аливаа өөрчлөлт нь бусад модулиудаас хамааралтай байдаг. Тиймээс өөрчлөлтийг ухаалгаар хийх ёстой.
  • Миний өгсөн бүх тайлбар, толгой хэсэгт анхаарлаа хандуулаарай.
  • Хэрэв ямар нэг шалтгаанаар Блок RAM -ийг үндсэн санах ойд тооцдоггүй бол санах ойн хэмжээг багасгаж, файлуудын хаягийн автобусны өргөнийг өөрчлөх гэх мэт. Ижил санах ойг LUTs эсвэл Distributed RAM дээр хэрэгжүүлэх боломжтой болно. Энэ нь чиглүүлэлтийн цаг хугацаа, нөөцийг хэмнэх болно. Эсвэл, FPGA -ийн тодорхой баримт бичиг рүү очоод, RAM -ийг блоклоход тохирох кодыг олоод кодоо тохируулаад хаягийн автобусны өргөний үзүүлэлтийг ашиглана уу. Altera FPGA -ийн хувьд ижил техник.

Зөвлөмж болгож буй: