Мазмұны:

VHDL-де кэшті ассоциативті кэш-контроллердің төрт жолды жиынтығының дизайны: 4 қадам
VHDL-де кэшті ассоциативті кэш-контроллердің төрт жолды жиынтығының дизайны: 4 қадам

Бейне: VHDL-де кэшті ассоциативті кэш-контроллердің төрт жолды жиынтығының дизайны: 4 қадам

Бейне: VHDL-де кэшті ассоциативті кэш-контроллердің төрт жолды жиынтығының дизайны: 4 қадам
Бейне: Конвейер процессора 2024, Маусым
Anonim
VHDL-де қарапайым төрт жақты жиынтық ассоциативті кэш контроллерінің дизайны
VHDL-де қарапайым төрт жақты жиынтық ассоциативті кэш контроллерінің дизайны

Бұрынғы нұсқаулықта біз кэшті басқаратын қарапайым карта контроллерін қалай жасау керектігін көрдік. Бұл жолы біз бір қадам алға жылжып отырмыз. Біз қарапайым төрт жолды ассоциативті кэш контроллерін жасаймыз. Артықшылығы? Өткізу жылдамдығы аз, бірақ өнімділікке байланысты. Менің алдыңғы блогым сияқты, біз кэш контроллерін тексеру үшін бүкіл процессорды, негізгі жад пен кэш ортасын жобалайтын боламыз. Болашақта бұл түсініктерді түсінуге және жеке кэш контроллерлерін жасауға пайдалы сілтеме деп ойлаймын деп үміттенемін. Процессордың моделі (тестілік үстел) мен негізгі жады жүйесі менің алдыңғы блогыммен бірдей болғандықтан, мен оларды енді түсіндірмеймін. Бұл туралы толық ақпарат алу үшін алдыңғы нұсқаулыққа жүгініңіз.

1 -қадам: Техникалық сипаттамалар

Ерекшеліктер
Ерекшеліктер

Мұнда ұсынылған кэш контроллерінің сипаттамаларын жылдам қарау:

  • Төрт жақты ассоциативті кэш контроллері (егер тікелей картографиялық кэш контроллерін іздесеңіз, осы сілтемеге өтіңіз).
  • Бір банкті, кэшті блоктау.
  • Жазу хиттері бойынша жазу саясаты.
  • Жазуды жіберіп алу туралы жазу саясаты.
  • Tree Pseudo-LRU (pLRU) ауыстыру саясаты.
  • Контроллер ішіндегі массивті белгілеңіз.
  • Конфигурацияланатын параметрлер.

Кэш жады мен негізгі жад бойынша әдепкі сипаттамалар менің алдыңғы нұсқаулықтармен бірдей. Оларға сілтеме жасаңыз.

2 -қадам: бүкіл жүйенің RTL көрінісі

Бүкіл жүйенің RTL көрінісі
Бүкіл жүйенің RTL көрінісі

Жоғарғы модульдің толық RTL ұсынуы суретте көрсетілген (процессорды қоспағанда). Автобустардың стандартты сипаттамалары:

  • Барлық деректер шиналары-32 биттік шиналар.
  • Адрестік шина = 32 биттік шина (бірақ мұнда тек 10 бит жады арқылы адрестеледі).
  • Деректер блогы = 128 бит (оқуға арналған кең жолақты ені).
  • Барлық компоненттер бір сағатпен басқарылады.

3 -қадам: тест нәтижелері

Жоғарғы модуль біз соңғы нұсқаулықтағыдай құбырсыз процессорды модельдейтін сынақ үстелінің көмегімен сыналды. Сынақ тақтасы жадқа деректерді оқу/жазу сұрауларын жиі жасайды. Бұл процессормен орындалатын барлық бағдарламаларда кездесетін «Load» және «Store» әдеттегі нұсқауларын мазақ етеді.

Сынақ нәтижелері кэш контроллерінің жұмысын сәтті тексерді. Төменде байқалған сынақ статистикасы берілген:

  • Барлық оқу/жазу жіберу және жіберу сигналдары дұрыс жасалған.
  • Деректерді оқу/жазу операцияларының барлығы төрт жолмен сәтті болды.
  • pLRU алгоритмі кэш жолдарын ауыстыру үшін сәтті тексерілді.
  • Деректердің сәйкес келмеуі/сәйкессіздік проблемалары анықталмады.
  • Дизайн Maxm үшін сәтті тексерілді. Жұмыс жиілігінің жиілігі = Xilinx Virtex-4 ML-403 тақтасында 100 МГц (бүкіл жүйе), тек кэш контроллері үшін 110 МГц.
  • Негізгі жады үшін блок -оперативті жады шығарылды. Барлық басқа массивтер LUT -те орындалды.

4 -қадам: Қосылған файлдар

Бұл блогта келесі файлдар тіркелген:

  • . VHD файлдар кэш контроллері, кэш деректер жиыны, негізгі жад жүйесі.
  • Сынақ орындығы.
  • Кэш контроллері туралы құжаттама.

Ескертулер:

  • Мұнда ұсынылған кэш контроллерінің сипаттамаларын толық түсіну үшін құжаттаманы қараңыз.
  • Кодтағы кез келген өзгерістер басқа модульдерге тәуелді. Сондықтан, өзгерістер ақылға қонымды түрде жасалуы керек.
  • Мен берген барлық түсініктемелер мен тақырыптарға назар аударыңыз.
  • Егер қандай да бір себептермен Жедел жадты блоктау негізгі жады үшін жасалмаса, жад көлемін кішірейтіңіз, содан кейін файлдар бойынша адрестік шиналар енінің өзгеруі және т.б. Сол жадты LUT немесе таратылған жедел жадыға енгізуге болады. Бұл бағыттау уақыты мен ресурстарды үнемдеуге мүмкіндік береді. Немесе нақты FPGA құжаттамасына өтіңіз және Block RAM үшін сәйкес келетін кодты табыңыз және сәйкесінше кодты өңдеңіз және сол мекенжай шинасының ені сипаттамаларын қолданыңыз. Altera FPGA үшін бірдей әдіс.

Ұсынылған: