1 / 15

5 JJ2 0: Computerarchitectuur 2M200: Inleiding Computersystemen

5 JJ2 0: Computerarchitectuur 2M200: Inleiding Computersystemen. Sessie 5 (1) : Microarchitectuur niveau ALU en datapad. Het datapad van de CPU: de kern. In veel computers de plaats waar ALLE berekeningen plaatsvinden !

rocio
Télécharger la présentation

5 JJ2 0: Computerarchitectuur 2M200: Inleiding Computersystemen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5JJ20: Computerarchitectuur2M200: Inleiding Computersystemen Sessie 5(1):Microarchitectuur niveauALU en datapad

  2. 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. INVA A•B A ENA Uitgang A+B A F0 ENB 0 selA B B 1 decoder B 2 F1 3 selB A Som B FA Carry in (CI) C Carry Carry uit (CO) De arithmetisch/logische eenheid (1) • Hardware voor één bit valt mee (voorbeeld !)... “Bit slice”

  4. A B De “broek” F0, F1 ENA, ENB N, V, Z... ALU INVA CI CO Uitgang 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

  5. 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. De (voorbeeld) ALU functies • Vijf stuuringangen en CI: 26 = 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. B-bus Datageheugen MAR MDR Programmageheugen PC IR ACCU HULP MAR: Memory Address Register C-bus A B MDR: Memory Data Register PC: Program Counter ALU IR: Instruction Register Een goedkoop datapad • Alle registers metEEN uitgang naarcentrale (“B”) bus • Met de benodigde“laad” en “outputenable” signalen !

  8. Spelregels voor het datapad • Alle data-overdrachten op dezelfde manier • Van register, via bussen en combinatorische logica(waaronder ALU en tri-state buffers) naar registerlezen 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. Klok 1: Datageheugen MAR Instructie ophalen MDR Programmageheugen PC IR Klok 2: ACCU Data geheugen lezen HULP A B Klok 3: ACCU  HULP + MDR ALU (ALU: A+B) Afhandeling van “ADD A,(MAR)” PC verhogen (ALU: B+1) Nu weten we pas,welke instructie het is! HULP  ACCU (ALU: B)

  10. Minimale tijd FF D ingangenstabiel voor klok (“setup time”) Vertraging klok flip-flop uitgang klok FF Q’s B-bus C-bus Vertraging besturingen tri-state buffer Vertraging ALUingang B  bus-C Tijd over:klok kan sneller ! Timing van het datapad: PC + 1 Register / flip-flop uitgangen stabiel PC waarde stabiel PC + 1 stabiel

  11. 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. Het opvoeren van een processor • Hoeveelheid werk gedaan per seconde:hoeveelheid werk gedaan in één klok MAALhet 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. A-bus B-bus Datageheugen MAR MDR Programmageheugen PC IR ACCU A B ALU C-bus Hoeveelheid werk per klok opvoeren (1) • Efficienter werken Extra A-bus:operaties tussen twee registers zonder eerst “HULP” te laden Minder klokken nodig Kost hardware:meer tri-state buffers,complexere besturingen meer bedrading !

  14. Datageheugen MAR MDR + 1 PC Programmageheugen IR ACCU HULP A B ALU Hoeveelheid werk per klok opvoeren (2) • Meer tegelijk doen Eigen “+ 1” voor PC:verhogen van PC zonder gebruik van ALU Ophalen van volgende instructie tijdens laatste klok van huidige instructie “Prefetchen” Kost hardware:extra adder,complexere besturing

  15. 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 !

More Related