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

Slides:



Advertisements
Verwante presentaties
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Advertisements

LRP FONDSEN /ABONNEMENTEN/REKENINGEN release 2.1 Koos Willemse.
Hoe werkt een rekenmachine?
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(2): Instructietypen.
Software Architectuur Over de samenhang der dingen = Over de connecties tussen componenten Over de afhankelijkheden tussen modules Over de belangen van.
Hardware (1) SGDB Informatica.
Processor & Toetsenbord
Par. 3.1 Computers zijn overal
1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding.
Hardware (1) NSG Informatica.
Jerry van den Heuvel Pim van der Lee
Week 1: overzicht computersysteem-organisatie
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 4(2): Digitale.
Par. 3.3 Het geheugen.
Hardware (2) SGDB Informatica.
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 2(1): Inleiding InstructieSetArchitectuur.
bewerkingen in programmeeromgevingen
Auteursomgeving voor Digitale Componenten
Week 6: Invoer / uitvoer “devices” adresdecodering
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Instructieformaten adressering assembleertalen (zelfstudie.
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 2(2): Instructieformaten adressering assembleertalen.
Week 2: Microarchitectuur niveau ALU en datapad
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 6: Practicumprocessor invoer en uitvoer.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Computerarchitectuur
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
C programma int main(){ } Compilatie met devc++ in file main.c Gecompileerd programma in file FirstProgram.exe Mov R1, 120 Mov R2, 160 ADD R1, R2.
Laplace transformatie
De processor.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(1): Instructietypen (1)
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 1(2): overzicht.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 6(1): Invoer.
Geheugenbeheer ICT Infrastructuren hoofdstukken 7 en 8.1.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Hoe werkt een rekenmachine?
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
1/1/ /e/e eindhoven university of technology OGO 1.2 project Startbijeenkomst Een microprocessor… …om warm voor te lopen.
Operating Systems Informatica.
Presentatie door: Martijn Schmid, Kathinka Veldkamp en Nynke Zwart
Processor & Toetsenbord
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau klokken en geheugens.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (1)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Inleiding InstructieSetArchitectuur (ISA) datatypen.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (2)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau: “systeem-architectuur” cpu-chips.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
Processen in kaart brengen om ze vervolgens te verbeteren.
Processor Hart van de computer.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 9(1): Virtual.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(2): Microarchitectuur.
Docentendag Intelligente Systemen dr.ir. Michael Franssen Faculteit Wiskunde & Informatica Software Engineering & Technology.
De dag van het solliciteren Blok 1
Inhoud Analyse van sequentiële netwerken Sequentiële bouwblokken
Inwerken Niveau 4 Kerntaak 1 PM Blz. 73.
Business Intelligence
Besturingssysteem Vaak wordt de Engelse term gebruikt: Operating System ( OS ) Plaats van het OS in een computersysteem: Hardware Applicatie Operating.
Code compressie in Embedded Systems Onno Kievit ET4074 Kwantitatieve aspecten van computer architectuur.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Door de bomen het bos weer zien Henk Post Bedrijfsanalist ISZF November 2005.
Programmeren. Wat is programmeren? Het schrijven van opdrachten voor de processor De processor “spreekt” machinetaal:
Operating Systems Informatica.
Parallel Rekenen Prefix Sum
Gevorderde EV3 PROGRAMMEER LES
3 Hardware 3.1 De processor en intern geheugen
Hoofdstuk 3 - Computersystemen
Netwerken & Internet 3.
Transcript van de presentatie:

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

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

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…

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

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 !

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…

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)

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’

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 !

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

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

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 !

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

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)

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…

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