Regisztrációs fájl

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. október 22-én felülvizsgált verziótól ; az ellenőrzéshez 1 szerkesztés szükséges .

Regiszterfájl ( regiszterfájl ) - egy mikroprocesszor - egység (CPU), amely a processzorregiszterek megvalósítását tartalmazza . A VLSI -ben használt modern regiszterfájlok jellemzően gyors SRAM statikus memória többportos tömbjeként valósulnak meg . Az ilyen SRAM-tömböket az olvasási és írási portok egyértelmű elkülönítése különbözteti meg, míg a klasszikus többportos SRAM általában lehetővé teszi az olvasást és az írást bármely porton keresztül.

Kapcsolat az építészettel

A mikroprocesszoros utasításkészlet (architektúra) szinte mindig meghatároz egy regiszterkészletet, amely adatokat tárol a chip funkcionális egységei általi feldolgozás céljából. A legegyszerűbb processzorokban ezek az architekturális regiszterek egyenként vannak leképezve egy fizikai regiszterfájlba. A bonyolultabb CPU -k regiszter átnevezést használnak, ami lehetővé teszi a hardver és az architektúra regiszterek közötti leképezés dinamikus megváltoztatását futás közben.

Megvalósítás

Hagyományosan a regiszterfájlt függőlegesen olvasott tárolócellák tömbjeként valósítják meg. A szavak vízszintes sorokba (szósorokba) helyezkednek el, és olvasáskor a cellák a függőleges bitsoroknak (bitsoroknak) adják meg értéküket. Alul ezek a vezetékek olyan erősítőkhöz vannak csatlakoztatva, amelyek az átviteli csillapított cellajeleket teljes amplitúdójú Boole-jelekké alakítják. A bal oldalon vannak a dekódolók, amelyek aktiválják a rendezett regiszternek vagy regisztereknek megfelelő karakterláncot. A nagy regiszterfájlokat néha több tükrözött és elforgatott egyszerűbb regiszterfájl mozaikjaként szervezik.

A regiszterfájlok portonként egy szósort, szóbitenként egy bitsort tartalmaznak minden olvasási porthoz, és két bitsort szóbitenként minden írási porthoz. Ezenkívül minden cellának rendelkeznie kell V dd tápbemenettel és V ss földeléssel . Ezért a portok számának növekedésével a huzalozáshoz szükséges terület négyzetesen, a tranzisztorok által elfoglalt terület pedig lineárisan növekszik. Egy bizonyos ponton a terület vagy a késleltetés szempontjából optimálisabb lehet, ha több regiszterfájl duplikált információkat tartalmaz, és mindegyikben az olvasási portok fele, mint egy nagy regiszterfájl az összes olvasási porttal egyszerre.

Például a MIPS R8000 mikroprocesszor integer ALU-jában található regiszterfájl , amely 9 olvasási porttal, 4 írási porttal rendelkezik, 32 64 bites regisztert tartalmaz, és 0,7 mikronos gyártási folyamaton van megvalósítva , olyan méretű, hogy jól látható szabad szemmel akár körülbelül 30 cm távolságból is .

Dekóder

Array

Alap bitcella-elrendezés:

Tehát minden olvasási porthoz cellánként egy további tranzisztor, az írási porthoz 4 tranzisztor szükséges.

Mikroarchitektúra

A regiszterfájlok számos megvalósításában nincs különösebb védelem azokkal szemben, amikor egyszerre több írási portról akarnak ugyanabba a cellába írni. Ehelyett az utasítás-ütemező hardvernek biztosítania kell, hogy minden óraciklusban legfeljebb egy utasítás írjon egyetlen helyre. Ha több utasítást tervezünk, amelyek egy cellába írnak, akkor ezek közül csak az egyiknél legyen bekapcsolva az „írási engedélyezés” sor (írási engedély).

Egy pár egymásra épülő inverternek némi időbe telik, amíg stabilizálódik az írási művelet megkezdése után, ami alatt a cellából történő olvasás vagy tovább tart, vagy visszaadja a szemetet. Ezért sok implementáció bevezeti a bypass multiplexereket, amelyek az írott adatokat közvetlenül az olvasási portokra hurkolhatják, amikor az írás és az olvasás ugyanabba a regiszterbe történik. Ezek az áthurkolt multiplexerek gyakran csak egy részét képezik egy bonyolultabb bypass-hálózatnak, amely közvetlenül továbbítja az eredményeket a különböző processzor funkcionális egységek között, anélkül, hogy megvárná, hogy azokat a regiszterekbe írják (vagyis ha egy adott ciklusban egy FU-nak olyan adatra van szüksége, mint pl. bemenet, amely az előző ciklusban egy másik FU kimenete volt, átvihetők a bypass-on keresztül, és nem írás és olvasás útján a regiszterfájlba, ami több ciklust igényelhet.Az olvasás bypass-okról, míg a regiszterbe írás egyszerre történik az első FU működésével).

Jegyzetek

Linkek

Lásd még