Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdRaphaël Coppens Laatst gewijzigd meer dan 10 jaar geleden
1
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(2): Microarchitectuur niveau geheugen en besturing
2
1/1/ / faculty of Electrical Engineering eindhoven university of technology Aansturing van geheugen(s) Zeker niet zo eenvoudig als het lijkt ! Timing van bus geregeld door besturing –Opwekken van Read en Write signalen –Handshake afhandelen / “wait” klokken inlassen Verschillende adres-bronnen: multiplexer nodig –Adresberekeningen in ALU(extra klokslagen !) –Of in separate adres-ALU(extra hardware !) Verschillende data-bronnen en bestemmingen –Distributie naar bestemmingen: extra “laad” signalen MAR MDR PC IR
3
1/1/ / faculty of Electrical Engineering eindhoven university of technology Adressering: meer cellen per woord Externe adresbus adresseert geheugenwoorden –Bij meer cellen per woord: adres omrekenen woordadres = celadres DIV (aantal cellen per woord) –Hoofdreden om 2 N cellen per woord te kiezen woordadres = celadres N bits naar rechts geschoven MUX Byte adres A0/A1 32 bit woord Geadresseerd byte 32 bit woord Te schrijven byte DEMUX Byte adres A0/A1 WR 0..3 WR N = 2
4
1/1/ / faculty of Electrical Engineering eindhoven university of technology (Adres)berekeningen Optellen, maar niet altijd met gelijk aantal bits –Bijv. 16 bits adresregister + 8 bits constante “offset” 1: tel alleen bits op van kortste woord –“In page”:6789h + 90h (67h),(89h+90h)=6719h 2: rek kortste woord op met extra nullen –“Unsigned”:6789h + 90h 6789h+0090h=6819h 3: rek kortste woord op met eigen teken-bit –“Signed”:6729h + 90h 6729h+FF90h=66B9h –“Tekenextensie” ofwel “sign extension”
5
1/1/ / faculty of Electrical Engineering eindhoven university of technology De besturing van een datapad (1) Veel dingen te besturen –Tri-state outputs –“Laad” signalen –ALU functie –Geheugen(s) Paar dingen te testen –Waarde IR: instructie ! –ALU status (vlaggen) –Geheugen handshake(s) B ALU MAR MDR PC IR ACCU HULP A B- bus Data geheuge n Progr. geheugen C- bus
6
1/1/ / faculty of Electrical Engineering eindhoven university of technology De besturing van een datapad (2) B ALU MAR MDR PC IR ACCU HULP A B- bus C- bus Data geheuge n Progr. geheugen MAR:Laad_C, En_B MDR:Laad_C, Laad_data, En_B, En_data PC:Laad_C, En_B IR:Laad_progr, En_B ACCU:Laad_C, En_B HULP:Laad_C Data geheugen: RD, WR Besturing (En_.. = tri-state “aan”) 5 “En_B” signalen decoderen uit 3 bits ! ALU:F0, F1, ENA, ENB, INVA, CI Programma geheugen: RD Totaal inclusief geheugen: 20 bits voor besturing Data geheuge n Progr. geheugen
7
1/1/ / faculty of Electrical Engineering eindhoven university of technology De spelregels van de besturing Besturingssignalen gedurende één klok geldig Liefst zo vroeg mogelijk na klok stabiel –Geeft datapad meer tijd zich in te stellen –Signalen uit FF’s afleiden met weinig poorten –Proberen besturing uit het kritieke pad te houden ! Besturingssignalen per klok verschillend –Besturing heeft geheugen nodig: “toestand” –Overgang tussen toestanden afhankelijk van tests –Besturingssignalen (soms) ook afhankelijk van tests
8
1/1/ / faculty of Electrical Engineering eindhoven university of technology Combinatorische Logica Toestandregister (flip-flops) Klok Schakeltechniek oplossing: Mealy FSM Toestanden namen geven die passen bij functie –“Fetch” state haalt instructie op –“Decode” decodeert IR en kan eerste klok van uitvoering doen –Andere toestanden kunnen zich specialiseren in één bewerking… Handig IR intact te houden –Dan kan iedere toestand steeds (bits van) IR testen... Nieuwe toestand Huidige toestand Besturings- signalen Test ingangen
9
1/1/ / faculty of Electrical Engineering eindhoven university of technology Oppassen met Mealy FSM’s Kans op (ongewenste) combinatorische lussen –Van testwaarde afgeleid besturingssignaal mag die testwaarde nooit veranderen in het datapad ! Kans op zeer lange kritieke paden –Voorbeeld: “Decrement and Jump on Not Zero” FSM: decod e State IR DP: decr. Teller FSM: test State Zero DP: adres PC
10
1/1/ / faculty of Electrical Engineering eindhoven university of technology Oplossing in boek: “microprogramma” In principe een Moore Finite State Machine –Besturingssignalen alleen van toestand afhankelijk ! Toestanden genummerd: volgorde ligt vast –Toestandregister uitgevoerd als teller –Eén test per klok mogelijk, met conditioneel laden van het toestandregister (= “sprong” in programma !) –Decoderen van instructie is speciale sprong in boek: opcode in toestandregister laden (grof !) Microprogrammabesturingen soms erg complex met subroutines, afgetelde lussen...
11
1/1/ / faculty of Electrical Engineering eindhoven university of technology Schema -programma besturing + 1 MUX -programma geheugen Stuur- signalen Startadres ROM/PLA IR Stuur- logica MUX Tests Spron g adres -PC Klok -adres
12
1/1/ / faculty of Electrical Engineering eindhoven university of technology De practicumprocessor architectuur ? ? ? ? Systeem op een chip !
13
1/1/ / faculty of Electrical Engineering eindhoven university of technology Intel ® confidential Registers in “core”: A, B, PSW, SP, DPTR, PSW Alle andere registers (R0..R7) in on-chip RAM –Moeten dus als RAM gelezen en geschreven worden –Indirecte adressering (@R0/@R1): 2 maal RAM ! Maar kost geen extra tijd ?! Timing erg rigide: instructie in N x 12 klokken –Twee bytes uit programmageheugen in 12 klokken –Interne timing ook in vast stramien –Waarschijnlijk microprogramma (Intel standaard...) Speculaties over de C500 processor
14
1/1/ / faculty of Electrical Engineering eindhoven university of technology Voor diegenen, die meer willen weten... Architecturen met registers, ALU’s, FSM’s: ontwerpen met “Register Transfer Language” Dit kan met het “Interactive Design and Simulation System” http://www.ics.ele.tue.nl/ ~averschu/idass.html
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.