Kontrollbutik - Control store

Ett styrlager är den del av en CPU: s styrenhet som lagrar CPU: s mikroprogram . Det är vanligtvis tillgängligt med en mikrosekvensanordning . En kontrollbutiksimplementering vars innehåll inte kan ändras kallas ett Read Only Memory (ROM) eller Read Only Storage (ROS); en vars innehåll kan ändras kallas Writable Control Store (WCS).

Genomförande

Tidig användning

Tidiga kontrollbutiker implementerades som en diod-array som nås via adressavkodare, en form av skrivskyddat minne. Denna tradition går tillbaka till programtidsmatrisenMIT-virvelvinden , som först beskrevs 1947. Moderna VLSI- processorer använder istället matriser för fälteffekttransistorer för att bygga ROM- och/eller PLA- strukturer som används för att styra processorn såväl som dess interna sequencer i en mikrokodad implementering. IBM System/360 använde en mängd olika tekniker: CCROS ( kortkondensator skrivskyddad lagring) på modell 30 , TROS (transformator skrivskyddad lagring) på modell 40 och BCROS (balanserad kondensator skrivskyddad lagring) på modeller 50 , 65 och 67 .

Skrivbara butiker

Vissa datorer byggdes med "skrivbar mikrokod"-istället för att lagra mikrokoden i ROM eller hårddisklogik lagrades mikrokoden i ett RAM-minne som kallas en skrivbar kontrollbutik eller WCS . En sådan dator kallas ibland Writable Instruction Set Computer eller WISC . Många av dessa maskiner var experimentella laboratorieprototyper, till exempel WISC CPU/16 och RTX 32P.

De ursprungliga System/360- modellerna hade skrivskyddad styrlager, men senare laddade System/360, System/370 och efterföljande modeller delar eller alla deras mikroprogram från disketter eller annan DASD till en skrivbar kontrollbutik bestående av ultrahög hastighet slumpmässigt -åtkomst till läs-skriv-minne . System/370-arkitekturen inkluderade en anläggning som heter Initial-Microprogram Load ( IML eller IMPL ) som kan åberopas från konsolen, som en del av Power On Reset ( POR ) eller från en annan processor i ett tätt kopplat multiprocessorkomplex . Detta tillät IBM att enkelt reparera mikroprogrammeringsfel i fältet. Även när majoriteten av kontrollbutiken är lagrad på ROM, säljer datorleverantörer ofta skrivbar kontrollbutik som tillval, så att kunderna kan anpassa maskinens mikroprogram. Andra leverantörer, t.ex. IBM, använder WCS för att köra mikrokod för emulatorfunktioner och hårdvarudiagnostik.

Andra kommersiella maskiner som använde skrivbar mikrokod inkluderar Burroughs Small Systems (1970- och 1980-talet), Xerox-processorerna i deras Lisp-maskiner och Xerox Star- arbetsstationer, DEC VAX 8800 ("Nautilus") -familjen och Symbolics L- och G-maskiner (1980 -talet). Vissa DEC PDP-10- maskiner lagrade sin mikrokod i SRAM-chips (cirka 80 bitar breda x 2 Kwords), som vanligtvis laddades vid påslagning via någon annan front-end-CPU. Många fler maskiner som erbjuds användarprogrammerbara skrivbar styrminnen som ett alternativ (inklusive HP 2100 , Dec PDP-11/60 och Varian Data Machines V-70-serien minidatorer ). Den Mentec M11 och Mentec M1 lagras dess mikrokod i SRAM chips, lastat på power-on genom en annan CPU. Den Data General Eclipse MV / 8000 ( "Eagle") hade en SRAM skrivbar styrminne, lastat på power-on genom en annan CPU.

WCS erbjöd flera fördelar, inklusive enkelheten att korrigera mikroprogrammet och, för vissa hårdvarugenerationer, snabbare åtkomst än ROM -skivor kan ge. Användarprogrammerbar WCS tillät användaren att optimera maskinen för specifika ändamål.

Vissa CPU -konstruktioner kompilerar instruktionsuppsättningen till ett skrivbart RAM -minne eller FLASH inuti CPU: n (t.ex. Rekursiv -processorn och Imsys Cjip ) eller en FPGA ( omkonfigurerbar dator ).

Flera Intel -processorer i x86 -arkitekturfamiljen har skrivbar mikrokod, med början med Pentium Pro 1995. Detta har gjort att buggar i Intel Core 2 -mikrokoden och Intel Xeon -mikrokoden kan fixas i programvara, snarare än att hela chippet måste bytas ut. Sådana korrigeringar kan installeras av Linux, FreeBSD , Microsoft Windows eller moderkortets BIOS.

Timing, låsning och undvikande av tävlingsförhållanden

Kontrolllagret har vanligtvis ett register på sina utgångar. Utgångarna som går tillbaka till sequencern för att bestämma nästa adress måste gå igenom något slags register för att förhindra skapandet av ett tävlingsvillkor . I de flesta utföranden går alla andra bitar också genom ett register. Detta beror på att maskinen fungerar snabbare om utförandet av nästa mikroinstruktion försenas med en cykel. Detta register kallas ett pipeline -register. Mycket ofta är utförandet av nästa mikroinstruktion beroende av resultatet av den aktuella mikroinstruktionen, som inte kommer att vara stabil förrän slutet av den aktuella mikrocykeln. Det kan ses att alla utgångar från styrlagret går in i ett enda register. Historiskt sett var det möjligt att köpa EPROM med dessa registerbitar på samma chip.

Den klocksignal bestämning av klockfrekvensen , vilket är cykeltiden av systemet, klockar primärt detta register.

Referenser