Kontrolbutik - Control store

Et kontrollager er den del af en CPUs styreenhed, der gemmer CPU'ens mikroprogram . Det er normalt tilgængeligt af en microsequencer . En implementering af kontrollagre, hvis indhold ikke kan ændres, kaldes en skrivebeskyttet hukommelse (ROM) eller skrivebeskyttet lagring (ROS); en hvis indhold kan ændres, er kendt som en Writable Control Store (WCS).

Implementering

Tidlig brug

Tidlige kontrolbutikker blev implementeret som en diode-array, der er tilgængelig via adressedekodere, en form for skrivebeskyttet hukommelse. Denne tradition går tilbage til programmets timing-matrixMIT-hvirvelvinden , først beskrevet i 1947. Moderne VLSI- processorer bruger i stedet matricer af felteffekt-transistorer til at bygge ROM- og/eller PLA- strukturer, der bruges til at styre processoren såvel som dens interne sequencer i en mikrokodet implementering. IBM System/360 anvendte en række forskellige teknikker: CCROS ( kortkondensator -skrivebeskyttet lagring) på model 30 , TROS (transformator-skrivebeskyttet lagring) på model 40 og BCROS (afbalanceret kondensator-skrivebeskyttet opbevaring) på modeller 50 , 65 og 67 .

Skrivbare butikker

Nogle computere blev bygget ved hjælp af "skrivbar mikrokode"-i stedet for at gemme mikrokoden i ROM eller hard-wired logik, blev mikrokoden gemt i et RAM kaldet en skrivbar kontrolbutik eller WCS . En sådan computer kaldes undertiden en Writable Instruction Set Computer eller WISC . Mange af disse maskiner var eksperimentelle laboratorieprototyper, såsom WISC CPU/16 og RTX 32P.

De originale System/360- modeller havde skrivebeskyttet kontrollager, men senere indlæste System/360, System/370 og efterfølgende modeller en del eller alle deres mikroprogrammer fra disketter eller anden DASD i en skrivbar kontrolbutik bestående af ultrahøj hastighed tilfældige -adgang til læse-skrive-hukommelse . System/370-arkitekturen inkluderede en facilitet kaldet Initial-Microprogram Load ( IML eller IMPL ), der kunne påberåbes fra konsollen, som en del af Power On Reset ( POR ) eller fra en anden processor i et tæt koblet multiprocessorkompleks . Dette tillod IBM let at reparere mikroprogrammeringsfejl i feltet. Selv når størstedelen af ​​kontrolbutikken er gemt i ROM, ville computerleverandører ofte sælge skrivbar kontrolbutik som en mulighed, så kunderne kunne tilpasse maskinens mikroprogram. Andre leverandører, f.eks. IBM, bruger WCS til at køre mikrokode til emulatorfunktioner og hardwarediagnostik.

Andre kommercielle maskiner, der brugte skrivbar mikrokode, omfatter Burroughs Small Systems (1970'erne og 1980'erne), Xerox-processorer i deres Lisp-maskiner og Xerox Star- arbejdsstationer, DEC VAX 8800 ("Nautilus") -familien og Symbolics L- og G-maskiner (1980'erne). Nogle DEC PDP-10- maskiner lagrede deres mikrokode i SRAM-chips (ca. 80 bits brede x 2 Kwords), som typisk blev indlæst ved opstart via en anden front-end CPU. Mange flere maskiner tilbød brugerprogrammerbare skrivbare kontrolforretninger som en mulighed (herunder minicomputere fra HP 2100 , DEC PDP-11/60 og Varian Data Machines V-70-serien ). Den MENTEC M11 og MENTEC M1 lagret sin mikrokode i SRAM chips, fyldt på power-on gennem en anden CPU. Det Data General Eclipse MV / 8000 ( "Eagle") havde en SRAM skrivbar kontrol butik, læsset på power-on gennem en anden CPU.

WCS tilbød flere fordele, herunder let at lappe mikroprogrammet og, for visse hardwaregenerationer, hurtigere adgang end ROM'er kunne give. Brugerprogrammerbar WCS tillod brugeren at optimere maskinen til specifikke formål.

Nogle CPU -designs kompilerer instruktionssættet til en skrivbar RAM eller FLASH inde i CPU'en (f.eks. Rekursiv -processoren og Imsys Cjip ) eller en FPGA ( rekonfigurerbar computing ).

Flere Intel -CPU'er i x86 -arkitekturfamilien har skrivbar mikrokode, startende med Pentium Pro i 1995. Dette har gjort det muligt at rette fejl i Intel Core 2 -mikrokoden og Intel Xeon -mikrokoden i software, frem for at kræve, at hele chippen udskiftes. Sådanne rettelser kan installeres af Linux, FreeBSD , Microsoft Windows eller bundkortets BIOS.

Timing, låsning og undgåelse af en løbstilstand

Kontrolbutikken har normalt et register over sine output. De output, der går tilbage til sequencer for at bestemme den næste adresse, skal gå igennem en slags register for at forhindre oprettelse af en race -tilstand . I de fleste designs går alle de andre bits også gennem et register. Dette skyldes, at maskinen vil fungere hurtigere, hvis udførelsen af ​​den næste mikroinstruktion er forsinket med en cyklus. Dette register er kendt som et pipeline -register. Meget ofte er udførelsen af ​​den næste mikroinstruktion afhængig af resultatet af den aktuelle mikroinstruktion, som ikke vil være stabil før slutningen af ​​den aktuelle mikrocyklus. Det kan ses, at på begge måder går alle output fra kontrollageret ind i et stort register. Historisk set var det tidligere muligt at købe EPROM'er med disse registerbit på den samme chip.

Det kloksignal bestemmelse af klokfrekvensen , som er cyklustiden for systemet, ure primært dette register.

Referencer