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 EIT OGO-1.2 addendum (1): Het ontwerpen van processoren.

Verwante presentaties


Presentatie over: "1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur EIT OGO-1.2 addendum (1): Het ontwerpen van processoren."— Transcript van de presentatie:

1 1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur EIT OGO-1.2 addendum (1): Het ontwerpen van processoren

2 1/1/ / faculty of Electrical Engineering eindhoven university of technology Extra materiaal voor OGO 1.2 project •Een processor ontwerpen, hoe doe je dat ? –Van ISA naar hardware architectuur: stappenplan –Geen processor hetzelfde: ‘architectuur stijlen’ •Alles uit de kast met ‘IDaSS’ –Geheugens –Timing –Hints & tips

3 1/1/ / faculty of Electrical Engineering eindhoven university of technology Wat was ook alweer een ‘ISA’ •Processor beschrijving voor de ‘gebruikers’ •Informatie voor het schrijven van programma’s –Waar gegevens, instructies en controle info zitten •‘Geheugenruimten’, registers en ‘vlaggen’: aantal woorden en bits, adressering, overlap, gebruik –Interacties met de ‘buitenwereld’ •Toegang tot I/O hardware, gebruik van interrupts –De eigenlijke instructie-set –Beperkingen en ‘zij-effecten’ van instructies •Liever niet, maar kunnen ontstaan in hardware ontwerp…

4 1/1/ / faculty of Electrical Engineering eindhoven university of technology Het doel: werkende ‘hardware’ •Een beschrijving van de processor ‘architectuur’ – ‘Zichtbare’ delen van ISA moeten aanwezig zijn •Opslag in RAM/ROM/registers/vlaggen •Basisoperaties in (combinatorische) logische circuits •Interfaces met de buitenwereld – Extra componenten om dit werkend te krijgen •Communicatiekanalen tussen ISA componenten •Extra registers/geheugens voor tijdelijke opslag •Instructiedecodering en (sequentiële) besturing •Balans vinden tussen complexiteit en snelheid

5 1/1/ / faculty of Electrical Engineering eindhoven university of technology Stappen in het processor-ontwerp (1) 0:Leg eisenpakket voor processor vast –Marktonderzoek: klanten bepalen wat moet kunnen –Functionele eisen van deelsysteem (‘System On a Chip’) 1:Ontwerp een ISA (vele cycli hierin!) 1.1:Leg ‘zichtbare’ geheugenruimten, registers, vlaggen en interfaces vast 1.2:Definieer ‘abstracte’ instructies als operaties op in 1.1 vastgelegde elementen 1.3:Wijs bitpatronen toe aan ‘abstracte’ instructies Dit hoeven wij hier niet meer te doen !

6 1/1/ / faculty of Electrical Engineering eindhoven university of technology Stappen in het processor-ontwerp (2) 2:Ontwerp de hardware architectuur 2.1:Creëer de in de ISA vastgelegde opslag- en operationele (rekenkundig/logische) delen 2.2:Voeg registers/geheugens voor tijdelijke opslag toe (niet in ISA!) 2.3:Verbind dit alles met elkaar zodat alle sub- operaties kunnen worden uitgevoerd 2.4:Ontwerp een besturing die alle sub- operaties selecteert en aanstuurt Dit is de theorie…

7 1/1/ / faculty of Electrical Engineering eindhoven university of technology Stap 1: analyseer de ISA - opslag •Geheugenruimten –‘Echt geheugen’ (RAM, ROM) of iets anders (‘SFR’s) –Op welke manieren te adresseren (is er overlap ?) •Geeft aan welke logica nodig is voor adresberekeningen –Adresdecodering nodig bij meer dingen in één bereik •Adres-afhankelijke afhandeling in besturing doen ! •Registers (die volgens ISA niet in geheugen zitten) –Meer dan één met identiek gebruik: ‘register file’ RAM ? •Vlaggen samenpakken in registers –Koppel aan logica die vlaggen zet (ook lezen/schrijven)

8 1/1/ / faculty of Electrical Engineering eindhoven university of technology Stap 2: analyseer de ISA - basisoperaties •Hiervoor instructies in stukken hakken –Bijvoorbeeld bij PUSH en CALL: ‘SP := SP + 1’ –Verschillende bit-breedtes = verschillende basisop’s –Vlagveranderingen zijn ook basis-ops –Adresberekeningen en lees/schrijf acties: ditto •Voor snelheid: welke basis-ops kunnen tegelijk ? –Indien nooit tegelijk: combineren kan kosten sparen •Groepeer basis-ops op ‘plaats van uitvoering’ –In ALU, ‘adresgenerator’ of gekoppeld aan registers Voorlopig! Vormt basis voor de IDaSS ‘operators’

9 1/1/ / faculty of Electrical Engineering eindhoven university of technology Stap 3: de niet-ISA registers toevoegen •Vrij standaard: instructie register(s) –Eerste opgehaalde deel vasthouden voor decodering –Volgende delen eventueel in aparte registers •Extra registers voor verbetering timing –Bijv. bij trage geheugens op adres, in- en/of uitgangen Na het kiezen van een ‘architectuur-stijl’: •Extra registers die hier standaard voor nodig zijn –Bijv. het ‘HULP’ register van de 2-bus architectuur Eén register kan méér dan één doel dienen !

10 1/1/ / faculty of Electrical Engineering eindhoven university of technology Stap 4: schets een voorlopig data- pad Hiervoor moet architectuur-stijl gekozen zijn ! •Alle onderdelen met elkaar verbinden –Alle basisoperaties moeten kunnen worden uitgevoerd –Indien nodig in meerdere klokslagen (hulpregisters !) –Probeer groepering basis-op’s uit stap 2 aan te houden •Pas na controle de schetsen uitwerken in IDaSS –Rond registers: mux-operators en losse TS-buffers –Dure operaties in aparte operators (bijv. ‘+’ bij ALU) –Deelsystemen in sub-schema’s voor beter overzicht

11 1/1/ / faculty of Electrical Engineering eindhoven university of technology Stap 5: toevoegen van de besturing •Meestal één enkele state controller (FSM) –Ophalen eerste deel van instructie steeds hetzelfde –Daarna afhankelijk van instructie afhandelen Verdeel het werk binnen de groep, elkaar controleren ! •Tijdens dit werk het data-pad verder invullen –Invullen van functies binnen operator blokken ‘Versie-beheer’ nodig: veranderingen doorgeven & integreren ! •‘Control inputs’ voor toestand-loze lokale besturing –Bijv. bij adresdecodering van ‘SFR’s buiten de processor

12 1/1/ / faculty of Electrical Engineering eindhoven university of technology Het is en blijft groepswerk… •Analyse van ISA (stappen 1 & 2): kleine groepen –Elkaars resultaten vergelijken en unificeren •Bouwen datapad (stappen 3 & 4): gezamelijk –Groepsdiscussie om tot schetsontwerp te komen –Deelsystemen in IDaSS ‘kloppen’: kleine groepen Na harde afspraken over de koppeling ! •Invullen besturing (stap 5): kleine groepen –Verdeel de instructieset (unaire/binaire/sprongen) Controleer onderling en wijs versiebeheerdeer aan !

13 1/1/ / faculty of Electrical Engineering eindhoven university of technology ‘Architectuur-stijlen’ •Vele methoden om een processor te bouwen •Steeds balans vinden complexiteit - snelheid –In principe: snelheid kost complexiteit Snelheid bereiken door dingen tegelijk te doen –Complexiteit kost geld (onderdelen en ontwerptijd) –Te complex: kloksnelheid stort in elkaar ! •In de loop der tijd standaard methoden ontstaan –Herkenbare ‘architectuur-stijlen’ –Soms mengvormen voor delen van het datapad

14 1/1/ / faculty of Electrical Engineering eindhoven university of technology ‘N-bus’ architecturen (meestal N = 1..3) •‘Simpele datapad’ is 2-bus systeem •Met extra ‘A-bus’ is een 3-bus systeem •IDaSS voorbeeld up8048n.des is een 1-bus systeem Niet botweg alles aan alle bussen knopen ! ALU MAR MDR PC IR ACCU HULP A B- bus C- bus Data geheuge n Programma geheugen B Meer bussen niet altijd sneller Minder bussen niet altijd goedkoper Deel-datapaden voor verschillende bit-breedtes (bijv. data/adressen)

15 1/1/ / faculty of Electrical Engineering eindhoven university of technology ‘Bestemmings-multiplexer’ systemen •N-bus systemen gebruiken (veel) TS-buffers –Die zijn traag en soms niet toegestaan binnen chip –Oplossing: vervang TS-buffers en bus door multiplexer –Is geen functionele verandering in architectuur ! •Een ‘bestemmings-mux’ systeem gaat verder Ingangen van bouwblokken worden d.m.v. multiplexers gekoppeld aan mogelijke bronnen –In IDaSS: operator blokken (evt. met lokale operaties) –Kan meer dingen tegelijk doen: geeft snellere processor ! Is wel minder overzichtelijk…

16 1/1/ / faculty of Electrical Engineering eindhoven university of technology stage 3 Execute stage 2 Decode stage 1 Fetch ‘Pijplijn’ architecturen •Afhandeling instructies in onafhankelijke stadia (Engels: ‘stages’) opdelen en parallel uitvoeren + 1 ALU Progr. geheugen PC Data registers s1s2 I1 S1 S2 I2 D I3 stage 4 Write d Geen centrale besturing… Eén klok per instructie: zéér snel ! Maar dit is extreem vereenvoudigd ! Zie pipeline.des voor echt voorbeeld Alleen voor gevorderden


Download ppt "1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur EIT OGO-1.2 addendum (1): Het ontwerpen van processoren."

Verwante presentaties


Ads door Google