De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(1): Microarchitectuur.

Verwante presentaties


Presentatie over: "1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(1): Microarchitectuur."— Transcript van de presentatie:

1 1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(1): Microarchitectuur niveau ALU en datapad

2 1/1/ / faculty of Electrical Engineering eindhoven university of technology Het datapad van de CPU: de kern In veel computers de plaats waar ALLE berekeningen plaatsvinden ! –“Co-processoren” kunnen wel sneller rekenen maar zijn gespecialiseerd in bepaald “genre” –Grafische 3D kaart kan geen wordprocessor draaien ! Afweging: simpel & langzaam of complex & snel –Houden het vandaag overzichtelijk –Dus redelijk simpel… –Laten wel wat truukjes zien om te versnellen

3 1/1/ / faculty of Electrical Engineering eindhoven university of technology B A C Som Carry FA Carry in (CI) AB A+B BB A De arithmetisch/logische eenheid (1) Hardware voor één bit valt mee (voorbeeld !)... Carry uit (CO) decode r selA selB F0 F1 Uitgang A B ENB ENA INVA “Bit slice”

4 1/1/ / faculty of Electrical Engineering eindhoven university of technology N, V, Z... COCI De arithmetisch/logische eenheid (2) Deze “bit slices” koppelen via carry in/uit Besturing via F0, F1, ENA, ENB en INVA Tests: onder meer Negative, oVerflow en Zero ALU AB Uitgang ENA, ENB INVA F0, F1 De “broek”

5 1/1/ / faculty of Electrical Engineering eindhoven university of technology Standaard tests op ALU resultaten Carry out:direct uit MSB bit slice Auxiliary carry:carry uit bit slice voor bit 3 Negatief (“Sign”):resultaat bit van MSB bit slice Zero:logische NOR van alle resultaat bits oVerflow:twee methoden (met zelfde resultaat) –(“Sign A” = “Sign B”) AND (“Sign A”  “Sign result”) –“Carry uit MSB” XOR “Carry uit van (MSB - 1)” Pariteit:logische XOR van alle resultaat bits MSB = Meest Significante (“linkse”) Bit

6 1/1/ / faculty of Electrical Engineering eindhoven university of technology De (voorbeeld) ALU functies Vijf stuuringangen en CI: 2 6 = 64 functies ? –In principe wel, maar niet allemaal nuttig… Waarden doorgeven en constanten genereren: A, B, 0 (nul), 1 (één), -1 (min één) Reken functies:A+B, A+B+1, B-A, B-A-1, 0-A (NEG), A+1 (INC), B+1, B-1 (DEC) Logische functies: A AND B, A OR B, NOT A, NOT B Géén XOR of schuif/roteer operaties 

7 1/1/ / faculty of Electrical Engineering eindhoven university of technology Een goedkoop datapad Alle registers met EEN uitgang naar centrale (“B”) bus Met de benodigde “laad” en “output enable” signalen ! ALU MAR MDR PC IR ACCU HULP A B- bus C- bus Data geheuge n Programma geheugen MAR: Memory Address Register MDR: Memory Data Register PC: Program Counter IR: Instruction Register B

8 1/1/ / faculty of Electrical Engineering eindhoven university of technology Spelregels voor het datapad Alle data-overdrachten op dezelfde manier –Van register, via bussen en combinatorische logica (waaronder ALU en tri-state buffers) naar register lezen uit geheugen is hier combinatorisch ! Alle registers aan systeemklok –Meerdere registers kunnen gelijktijdig waarde laden –Kunnen ook waarden uitwisselen (“exchange”) Maximaal één overdracht per bus per klok

9 1/1/ / faculty of Electrical Engineering eindhoven university of technology Afhandeling van “ ADD A,(MAR) ” B ALU MAR MDR PC IR ACCU HULP A Data geheuge n Programma geheugen Klok 1: Instructie ophalen PC verhogen (ALU: B+1) Klok 2: Data geheugen lezen HULP  ACCU (ALU: B) Klok 3: ACCU  HULP + MDR (ALU: A+B) Nu weten we pas, welke instructie het is!

10 1/1/ / faculty of Electrical Engineering eindhoven university of technology Timing van het datapad: PC + 1 klok Register / flip-flop uitgangen stabiel PC waarde stabielB-bus PC + 1 stabiel C-bus Vertraging klok  flip-flop uitgang Vertraging besturing en tri-state buffer Vertraging ALU ingang B  bus- C Minimale tijd FF D ingangen stabiel voor klok (“setup time”) Tijd over: klok kan sneller ! FF Q’s

11 1/1/ / faculty of Electrical Engineering eindhoven university of technology Timing van het datapad: opmerkingen De minimale klokperiode: net lang genoeg om langzaamste signaal op tijd stabiel te laten worden voor D ingangen FF’s –Klokperiode is constant voor alle cycli ! –Langzaamste signaal dat ooit voor kan komen bepaald de klokperiode: “kritisch pad” Vertraging logische poorten is geen constante –Fabricage, voedingsspanning en temperatuur Boek: beide klok flanken gebruiken = SMERIG

12 1/1/ / faculty of Electrical Engineering eindhoven university of technology Het opvoeren van een processor Hoeveelheid werk gedaan per seconde: hoeveelheid werk gedaan in één klok MAAL het aantal klokken uitgevoerd per seconde Aantal klokken per seconde opvoeren mogelijk –Maar kortere poortvertraging niet altijd mogelijk ! –Enige andere optie: kritisch pad korter maken –Minder combinatorische logica achter elkaar zetten… –Dus minder complexe operaties per klok mogelijk… –Complexe operatie verdelen over meerdere klokken !

13 1/1/ / faculty of Electrical Engineering eindhoven university of technology Hoeveelheid werk per klok opvoeren (1) Efficienter werken ALU MAR MDR PC IR ACCU A Data geheuge n Programma geheugen B B- bus A- bus C- bus Minder klokken nodig Kost hardware: meer tri-state buffers, complexere besturing en meer bedrading ! Extra A-bus: operaties tussen twee registers zonder eerst “HULP” te laden

14 1/1/ / faculty of Electrical Engineering eindhoven university of technology Hoeveelheid werk per klok opvoeren (2) Meer tegelijk doen B ALU MAR MDR PC IR ACCU HULP A Data geheuge n Programma geheugen + 1 Eigen “+ 1” voor PC: verhogen van PC zonder gebruik van ALU Ophalen van volgende instructie tijdens laatste klok van huidige instructie Kost hardware: extra adder, complexere besturing “Prefetchen ”

15 1/1/ / faculty of Electrical Engineering eindhoven university of technology Hoeveelheid werk per klok opvoeren (3) Fetch-decode-execute door aparte hardware modulen parallel laten uitvoeren –Modulen als “emmertjesbrigade” koppelen: pipeline –Per klok een instructie ophalen mogelijk wordt in opeenvolgende klokken uitgevoerd Meer instructies tegelijk ophalen: superscalair –Meer pipelines werken parallel aan elkaar –Instructievolgorde veranderen (“Out-Of-Order”) om op elkaar wachtende instructies te scheiden Wel in boek, niet bij stof !


Download ppt "1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(1): Microarchitectuur."

Verwante presentaties


Ads door Google