Week 1: overzicht computersysteem-organisatie 2IC20: Computersystemen Week 1: overzicht computersysteem-organisatie
De “architectuur” van een computer Centrale verwerkingseenheid (CPU ofwel “de processor”) Besturings- eenheid Aritmetisch logische eenheid I/O apparaten Registers Hoofd- geheugen Schijf Printer De “bus”
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
Het “datapad” Registers en ALU “Hulpregisters” wel in hardware niet in programma Absolute kern van computer bepaalt snelheid bepaalt “kracht”
De “fetch-decode-execute” cyclus Instructie afhandeling verdelen in stapjes: Haal instructie uit geheugen (plaats: PC) in IR Laat PC naar volgende instructie wijzen Bepaal type instructie: register/register of register/geheugen (Bereken plaats van gegevens in geheugen) (Haal gegevens uit geheugen in hulpregister) Voer eigenlijke bewerking uit (Schrijf resultaat naar geheugen) Terug naar stap 1. voor volgende instructie
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!
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
Verschillende indelingen mogelijk Al deze geheugens bevatten 96 bits! Wat is nu de beste?
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
Volgorde van bytes in een woord Hoogste adres aan rechter uiteinde: big endian Laagste adres aan rechter uiteinde: little endian
Meer dan een geheugen mogelijk Hogere snelheid door meer geheugens tegelijk te kunnen lezen en schrijven (Basis) “Harvard” architectuur: Programma- geheugen CPU Gegevens- geheugen “Modified Harvard” architectuur: constante gegevens in programmageheugen
De “practicumprocessor” gaat verder: Siemens SAB-C504 chip “Externe” variabele gegevens (64 kilobyte) 8 bits CPU “Special Function Registers” (128 byte) In- en uitvoer 256 BITS direct te adresseren (2 x 128) Programma + constante gegevens (64 kilobyte) “Interne” variabele gegevens (256 byte)
Koppeling met “de buitenwereld” Flexibiliteit door uitwisselbaarheid
“Devices” en “controllers” Nog meer flexibiliteit door functionele splitsing: Buiten de “kast” Binnen de “kast” Uitwisselbare onderdelen (min of meer) vaste onderdelen “Devices” “Interface”
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
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
Moderne PC splitst nog verder... Dit hoort NIET bij de stof !
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