1/ eindhoven university of technology 2IC20: Computersystemen Week 1: overzicht computersysteem-organisatie faculty of Computer Science 1/ eindhoven university of technology De “architectuur” van een computer Besturingseenheid Aritmetisch logische eenheid Centrale verwerkingseenheid (CPU ofwel “de processor”) I/O apparaten Registers Hoofdgeheugen Schijf Printer De “bus” faculty of Computer Science 2 1/ eindhoven university of technology De “Central Processing Unit” (CPU) De besturingseenheid regelt alles instructies ophalen, decoderen en (laten) uitvoeren: de “fetch-decode-execute” cyclus De aritmetisch logische eenheid (ALU) voert berekeningen en logische functies uit De registers zijn snel (en klein) geheugen “programmateller” (PC) wijst instructies aan “instructieregister” (IR) bevat opgehaalde instructie algemene/speciale registers voor tussenresultaten faculty of Computer Science 3 1/ eindhoven university of technology Het “datapad” Registers en ALU “Hulpregisters” wel in hardware niet in programma Absolute kern van computer bepaalt snelheid bepaalt “kracht” faculty of Computer Science 4 1/ eindhoven university of technology De “fetch-decode-execute” cyclus Instructie afhandeling verdelen in stapjes: 1. Haal instructie uit geheugen (plaats: PC) in IR 2. Laat PC naar volgende instructie wijzen 3. Bepaal type instructie: register/register of register/geheugen 4. (Bereken plaats van gegevens in geheugen) 5. (Haal gegevens uit geheugen in hulpregister) 6. Voer eigenlijke bewerking uit 7. (Schrijf resultaat naar geheugen) 8. Terug naar stap 1. voor volgende instructie faculty of Computer Science 5 1/ eindhoven university of technology Meer dan één manier om FDE te doen De hardware van de besturing bevat programma Dit micro-programma “interpreteert” instructies Instructie-set makkelijk uit te breiden/verbeteren Gigantisch complexe instructie-sets mogelijk Directe uitvoering ook mogelijk Instructieregister stuurt vrijwel alle operaties aan Instructie-set moet (relatief) eenvoudig zijn Besturing kan met “Finite State Machine” (o.i.d.) Allerlei combinaties zijn mogelijk! faculty of Computer Science 6 1/ eindhoven university of technology Het “geheugen” (Engels: “Memory”) bevat programma’s en gegevens Basiseenheid van opslag: ‘Bit’ (0 of 1) Decimale getallen (0..9) op te slaan met 4 bits Inefficient: 4 bits kunnen 16 waarden opslaan! Rekenen met decimale getallen niet meer standaard Geheugen opgedeeld in “cellen” (of “plaatsen”) Iedere cel een vast aantal bits: 2(aantal bits in cel) waarden Iedere cel een eigen nummer (“adres” genoemd), 0..(aantal cellen - 1) Adres is meestal binair getal: 2(adres bits) cellen faculty of Computer Science 7 1/ eindhoven university of technology Verschillende indelingen mogelijk Al deze geheugens bevatten 96 bits! Wat is nu de beste? faculty of Computer Science 8 1/ eindhoven university of technology Verdere indelingen van geheugens Aantal bits in cel (nu) meestal macht van twee 23 (8) is meest geliefde aantal bits/cel: “byte” Geheugen adresseerbaar per byte cel Cellen worden gegroepeerd in “woorden” bijv. 2, 4 of 8 bytes per woord = 16, 32 of 64 bits Met woorden lezen/schrijven van geheugen: sneller Met woorden rekenen in CPU: nauwkeuriger/sneller faculty of Computer Science 9 1/ eindhoven university of technology Volgorde van bytes in een woord Hoogste adres aan rechter uiteinde: big endian Laagste adres aan rechter uiteinde: little endian faculty of Computer Science 10 1/ eindhoven university of technology Meer dan een geheugen mogelijk Hogere snelheid door meer geheugens tegelijk te kunnen lezen en schrijven (Basis) “Harvard” architectuur: Programmageheugen CPU Gegevensgeheugen “Modified Harvard” architectuur: constante gegevens in programmageheugen faculty of Computer Science 11 1/ eindhoven university of technology De “practicumprocessor” gaat verder: “Externe” variabele gegevens (64 kilobyte) “Special Function Registers” (128 byte) 8 bits CPU Programma + constante gegevens (64 kilobyte) “Interne” variabele gegevens (256 byte) In- en uitvoer 256 BITS direct te adresseren (2 x 128) Siemens SAB-C504 chip faculty of Computer Science 12 1/ eindhoven university of technology Koppeling met “de buitenwereld” Flexibiliteit door uitwisselbaarheid faculty of Computer Science 13 1/ eindhoven university of technology “Devices” en “controllers” Nog meer flexibiliteit door functionele splitsing: Uitwisselbare onderdelen “Devices” Buiten de “kast” Binnen de “kast” “Interface” (min of meer) vaste onderdelen faculty of Computer Science 14 1/ eindhoven university of technology Invoer/uitvoer terminologie “Device” is fysiek “ding” in buitenwereld “Buitenwereld” = buiten CPU en geheugen (Floppy) disk is “achtergrondgeheugen” “Controller” koppelt device aan CPU Elektrische aanpassing en (“intelligente”) besturing “Interface” is afspraak voor koppeling Fysiek (stekker!), elektrisch en functioneel Gestandaardiseerd voor uitwisselbaarheid faculty of Computer Science 15 1/ eindhoven university of technology Controller “intelligentie” in gradaties Dom: niet veel meer dan elektrische aanpassing Buitenwereld afgebeeld op geheugenwoorden Beter: automatisch doorgeven activiteit Lopend programma onderbroken met “interrupt” Best: zelfstandige afhandeling van opdrachten Controller kan zelf in geheugen lezen en schrijven: “Direct Memory Access” “Arbiter” nodig voor regeling toegang tot geheugen Na opdracht afhandling één interrupt faculty of Computer Science 16 1/ eindhoven university of technology Moderne PC splitst nog verder... Dit hoort NIET bij de stof ! faculty of Computer Science 17 1/ eindhoven university of technology Ter afsluiting IDaSS Practicum begint in week 2: Haal IDaSS programma op! http://www.win.tue.nl/~michaelf/2IC20 Bekijk “short-form manual” Assembly Practicum begint in week 5 Haal practicumhandleiding en programmatuur op! Bestudeer hoofdstukken 1 en 2 uit handleiding Installeer programmatuur De “looplicht” demo doen mag, maar hoeft niet… Zelfstudie niet vergeten! hoofdstuk 1 en hoofdstuk 2 t/m sectie 2.4.1 faculty of Computer Science 18