Përmbajtje:

Dizajni i një kontrolluesi të thjeshtë të cache në VHDL: 4 hapa
Dizajni i një kontrolluesi të thjeshtë të cache në VHDL: 4 hapa

Video: Dizajni i një kontrolluesi të thjeshtë të cache në VHDL: 4 hapa

Video: Dizajni i një kontrolluesi të thjeshtë të cache në VHDL: 4 hapa
Video: Как сделать перосъемную машину своими руками 2024, Nëntor
Anonim
Dizajni i një kontrolluesi të thjeshtë të cache në VHDL
Dizajni i një kontrolluesi të thjeshtë të cache në VHDL

Unë po e shkruaj këtë gjë të udhëzueshme, sepse e pashë pak të vështirë të merrja një kod referimi VHDL për të mësuar dhe filluar hartimin e një kontrolluesi të cache. Kështu që unë krijova një kontrollues të cache vetë nga e para dhe e testova me sukses në FPGA. Unë kam paraqitur një kontrollues të thjeshtë të drejtpërdrejtë të cache-it të hartuar, si dhe kam modeluar një sistem të tërë të procesorit-kujtesës për të testuar kontrolluesin e cache-it. Shpresoj që ju djema ta gjeni këtë të udhëzueshëm të dobishëm si një referencë për të hartuar kontrolluesit tuaj të cache.

Hapi 1: Specifikimet

Specifikimet
Specifikimet

Këto janë specifikimet kryesore të Cache Controller që do të hartojmë:

  • Hartuar drejtpërdrejt. (shkoni në këtë lidhje nëse kërkoni Kontrollues të Cache të Hartuar Asociativ)
  • Single-Banked, Blocking Cache.
  • Politika e shkrimit përmes hiteve të shkrimit.
  • Pa-Shkruani alokoni ose Shkruani Rreth Politikës për Shkruaj gabimet.
  • Pa Shkruaj Tampon ose optimizime të tjera.
  • Grupi i etiketave është i inkorporuar.

Përveç kësaj, ne do të hartojmë një Memory Cache dhe një Sistem Kryesor të Kujtesës gjithashtu.

Specifikimet e paracaktuara (të konfigurueshme) të Cache Memory:

  • 256 Bytes Cache me një bankë të vetme.
  • 16 Cache Lines, secila Cache Line (Bllok) = 16 Bajt.

Karakteristikat e kujtesës kryesore:

  • Kujtesë Sinkron Leximi/Shkrimi.
  • Memorie e ndërlidhur me shumë banka - katër banka kujtese.
  • Madhësia e secilës bankë = 1 kB secila. Prandaj, madhësia totale = 4 kB.
  • Memoria e adresueshme e Word (4 Bytes) me autobus adresa 10-bit.
  • Gjerësi Bande më e Lartë për Lexim. Lexoni Gjerësinë e të Dhënave = 16 Bajt në një cikël të orës.
  • Shkruani Gjerësinë e të Dhënave = 4 Bajt.

SH NOTNIM: kontrolloni udhëzuesin tim më të ri nëse jeni duke kërkuar për dizajnin e kontrolluesit të cache asociativ me 4 drejtime

Hapi 2: Pamja RTL e të gjithë sistemit

Pamja RTL e të gjithë sistemit
Pamja RTL e të gjithë sistemit

Paraqitja e plotë RTL e Modulit të Lartë është treguar në Figurë (duke përjashtuar procesorin). Karakteristikat e paracaktuara për autobusët janë:

  • Të gjitha autobusët e të dhënave janë autobusë 32-bit.
  • Bus Bus Adresa = Bus 32-bit (Por vetëm 10 bit janë të adresueshëm këtu nga Memoria).
  • Blloku i të dhënave = 128 bit (Autobus me gjerësi brezi për lexim).
  • Të gjithë përbërësit drejtohen nga e njëjta orë.

Hapi 3: Testimi i Mjedisit

Moduli Kryesor u testua duke përdorur një Test Bench, i cili thjesht modelon një Procesor pa tubacione (Sepse dizajnimi i një procesori të tërë nuk është aspak i lehtë !!). Pankina e Testimit gjeneron kërkesa për të lexuar/shkruar të dhëna në kujtesë shpesh. Kjo tallet me udhëzimet tipike "Load" dhe "Store", të zakonshme në të gjitha programet e ekzekutuara nga një procesor. Rezultatet e testit verifikuan me sukses funksionalitetin e Cache Controller. Më poshtë janë statistikat e testimit të vëzhguara:

  • Të gjitha sinjalet Lexo/Shkruaj Miss dhe Hit u krijuan në mënyrë korrekte.
  • Të gjitha operacionet e leximit/shkrimit të të dhënave ishin të suksesshme.
  • Nuk u zbuluan probleme të mospërputhjes/mospërputhjes së të dhënave.
  • Dizajni u verifikua me sukses për një Maxm. Frekuenca e orës së funksionimit = 110 MHz në bordin Xilinx Virtex-4 ML-403 (i gjithë sistemi), 195 MHz vetëm për Cache Controller.
  • RAM -et e bllokut u konkluduan për Kujtesën Kryesore. Të gjitha vargjet e tjera u zbatuan në LUT.

Hapi 4: Skedarët e bashkangjitur

Skedarët e mëposhtëm janë bashkangjitur këtu me këtë blog:

  • . Skedarët VHD të Cache Controller, Cache Data Array, Main Memory System.
  • Stol provë.
  • Dokumentacioni mbi Cache Controller.

Shënime:

  • Kaloni nëpër dokumentacionin për të kuptuar plotësisht specifikimet e Cache Controller të paraqitur këtu.
  • Çdo ndryshim në kod ka varësi nga modulet e tjerë. Pra, ndryshimet duhet të bëhen me maturi. Kushtojini vëmendje të gjitha komenteve dhe titujve që kam dhënë.
  • Nëse për ndonjë arsye, RAM -et e Bllokut nuk konkludohen për Kujtesën Kryesore, Zvogëloni madhësinë e kujtesës, e ndjekur nga ndryshimet në gjerësinë e autobusit të adresave nëpër skedarë etj. Kështu që e njëjta memorie mund të zbatohet ose në LUT ose RAM të shpërndarë. Kjo do të kursejë kohën dhe burimet e drejtimit. Ose, Shkoni te dokumentacioni specifik FPGA dhe gjeni kodin e përputhshëm për Block RAM dhe modifikoni kodin në përputhje me rrethanat, dhe përdorni të njëjtat specifikime të gjerësisë së autobusit të adresave. E njëjta teknikë për Altera FPGA.

Recommended: