Мазмуну:

VHDLде Жөнөкөй Төрт Жактуу Ассоциативдүү Кэш Контроллеринин Дизайны: 4 Кадам
VHDLде Жөнөкөй Төрт Жактуу Ассоциативдүү Кэш Контроллеринин Дизайны: 4 Кадам

Video: VHDLде Жөнөкөй Төрт Жактуу Ассоциативдүү Кэш Контроллеринин Дизайны: 4 Кадам

Video: VHDLде Жөнөкөй Төрт Жактуу Ассоциативдүү Кэш Контроллеринин Дизайны: 4 Кадам
Video: Создание простой схемы счетчика с использованием микроконтроллера PIC с программированием на языке C. 2024, Ноябрь
Anonim
VHDLдеги жөнөкөй төрт тараптуу ассоциативдүү кэш контроллеринин дизайны
VHDLдеги жөнөкөй төрт тараптуу ассоциативдүү кэш контроллеринин дизайны

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

1 -кадам: өзгөчөлүктөр

Мүнөздөмөлөр
Мүнөздөмөлөр

Бул жерде көрсөтүлгөн кэш контроллеринин өзгөчөлүктөрү аркылуу тез караңыз:

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

Кэш эс тутуму жана негизги эс тутум үчүн демейки мүнөздөмөлөр мурунку көрсөтмөлөрүм менен бирдей. Сураныч, аларга кайрылыңыз.

2 -кадам: Бүт системанын RTL көрүнүшү

Бүт системанын RTL көрүнүшү
Бүт системанын RTL көрүнүшү

Top модулунун толук RTL өкүлчүлүгү сүрөттө көрсөтүлгөн (процессорду кошпогондо). Автобустар үчүн демейки мүнөздөмөлөр:

  • Бардык маалыматтар автобустары 32 биттик автобустар.
  • Дарек Bus = 32-биттик автобус (Бирок бул жерде эстутум аркылуу 10 бит гана даректелген).
  • Маалыматтар блогу = 128 бит (Окуу үчүн кенен өткөрүү жөндөмдүү автобус).
  • Бардык компоненттер бир эле саат менен башкарылат.

3 -кадам: Тесттин жыйынтыгы

Top Module, биз акыркы нускоодо болгондой эле, түтүксүз процессорду моделдеген Test Benchтин жардамы менен сыналган. Test Bench эс тутумуна маалыматтарды окуу/жазуу өтүнүчтөрүн тез -тез жаратат. Бул процессор тарабынан аткарылган бардык программаларда кездешкен "Load" жана "Store" көрсөтмөлөрүн шылдыңдайт.

Тесттин жыйынтыгы кэш контроллеринин иштөөсүн ийгиликтүү текшерди. Төмөндө байкалган тест статистикасы:

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

4 -кадам: Тиркелген файлдар

Бул блог менен бул жерде төмөнкү файлдар тиркелет:

  • . VHD файлдары Cache Controller, Cache Data Array, Main Memory System.
  • Test Bench.
  • Кэш контроллери боюнча документтер.

Эскертүүлөр:

  • Бул жерде көрсөтүлгөн кэш контроллеринин өзгөчөлүктөрүн толук түшүнүү үчүн документтерди караңыз.
  • Коддогу бардык өзгөртүүлөр башка модулдарга көз каранды. Ошентип, өзгөртүүлөр акылдуулук менен жасалышы керек.
  • Мен берген бардык комментарийлерге жана аталыштарга көңүл буруңуз.
  • Эгерде кандайдыр бир себептерден улам, Блок ОЗУнун эс тутуму боюнча жыйынтык чыгарылбаса, эс тутумдун көлөмүн КИЧИРТҮҮ, андан кийин файлдар боюнча дарек шинасынын туурасын өзгөртүү жана башкалар. Ошентип, ошол эле эстутум LUTs же Distributed RAM боюнча ишке ашырылышы мүмкүн. Бул маршруттун убактысын жана ресурстарын үнөмдөйт. Же болбосо, конкреттүү FPGA документациясына барыңыз жана Блок RAM үчүн ылайыктуу кодду таап, ошого жараша кодду түзөтүңүз жана ошол эле дарек шинасынын туурасынын өзгөчөлүктөрүн колдонуңуз. Altera FPGAлар үчүн бирдей техника.

Сунушталууда: