Digitale en analoge technieken



Vergelijkbare documenten
informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

computerarchitectuur antwoorden

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

De computer als processor

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

In te vullen tabellen.

Windows Basis - Herman Van den Borre 1

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

computerarchitectuur F. Vonk versie

Hoofdstuk 7. Computerarchitectuur

ROM, het Read Only Memory, dat bestaat uit: - BIOS - CMOS RAM, het Random Acces Memory, ook wel het werkgeheugen genoemd.

Hoofdstuk 2. De Von Neumann-architectuur

Digitale technieken Microprocessoren

De samenvatting van hoofdstuk 3 van enigma

Wat is een busverbinding?

7,3. Samenvatting door een scholier 1961 woorden 16 januari keer beoordeeld. Informatica Informatica actief

Les 11: systeemarchitectuur virtuele machines

Uitwerking oefententamen Computerarchitectuur December 2016

Hardware Beginners. Processoren. Door Theo De Paepe

11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector.

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

slides2.pdf April 12,

Geheugenbeheer. ICT Infrastructuren 2 december 2013

De Arduino-microcontroller in de motorvoertuigentechniek (2)

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

Computerarchitectuur. H&P App. C. Pipelining

Computerarchitectuur. App. B. Review of Memory Hierarchy

ICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen

Hardware. De computer bestaat uit :

Computerarchitectuur en Netwerken. Computerarchitectuur

Voorblad: T2 ALA1 Taakklasse 2 ALA 1: installeren ALA 1. Corné Tintel MB13B

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

Flex_Rooster WERKBOEK. INTRODUCTIE iseries. Dit werkboek is eigendom van ICS opleidingen en mag niet worden meegenomen.

Harde schijven hebben tegenwoordig zelfs een capaciteit van 4 tot 15 gigabyte. Een gigabyte is 1024 megabyte.

Computertechniek vorige examens

Inleiding microcontrollers. Week 1 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/

Tentamen Computersystemen

Les B-03 Technologie: de werking van de processor

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN

Informatica gaat net zo min over computers als astronomie gaat over telescopen. (Edsger W. Dijkstra)

RAM en CPU. Mute ( 1 september

hardware F. Vonk versie

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

-Een stukje geschiedenis van de PC (personal computer)

Hoe werkt een rekenmachine?

Friesland College Leeuwarden

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/

Hoe werkt een computer precies?

1 Dataopslag 1.1 RAID

Halfgeleider geheugens:

Packard Bell Chop D10. Zubin Mathoera & Maarten van Mensvoort

2 Algemene opbouw van een computersysteem

Mediawijsheid wat zit er in mijn computer?

Het gebruik van snel flashgeheugen is dus aan te raden. Er zijn ook flashgeheugens met een logo om aan te geven dat het geschikt is voor ReadyBoost.

SOCS: Oefeningen Hoofdstuk 2

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

18 Embedded systemen 1

Samenvatting Computer Architectuur

scc = b) CD AB

1 computers (hardware)

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?

Computerarchitectuur. H&P Ch 2. Memory Hierarchy Design

Hardware vs. software. Computersystemen. Computersysteem. Computerconfiguratie. Computerconfiguratie. Computerconfiguratie

Hardware-software Co-design

4 Geheugens 71 4 GEHEUGENS. Waarin je versteld zal staan over het grote aantal verschillende geheugens waarover een computer beschikt.

De Arduino-microcontroller in de motorvoertuigentechniek (4)

Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/

Appendix A Productspecificaties PRODUCTSPECIFICATIES

COMMUNICATIE EN COMPUTER- VAARDIGHEDEN IN DE CHEMIE

Verslag: Computer. Naam: Tyrone Ste Luce. Klas: M4B

Jen Kegels, Eveline De Wilde, Inge Platteaux, Tamara Van Marcke. Hardware. De computer in een oogopslag. 1 / 11 Cursusontwikkeling

Opdracht 1 Integrated Circuit

Microcontrollers Labo

Laptop Folder. De prijzen die in deze folder staan vermeld zijn incl. Btw en startklaar geleverd en excl. arbeid en voorrijkosten op locatie.

Didactische computer Siemens

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading

STAGEDAG SAM DIEPSTRATEN

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012

Transcriptie:

Digitale en analoge technieken Peter Slaets February 14, 2006 Peter Slaets () Digitale en analoge technieken February 14, 2006 1 / 33

Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen 4 Input/Output Peter Slaets () Digitale en analoge technieken February 14, 2006 2 / 33

Inleiding Basis: CPU + bus CPU: besturingseenheid, ALU, registers (programma teller, instructieregister,... ) Peter Slaets () Digitale en analoge technieken February 14, 2006 3 / 33

Inleiding Basis: CPU + bus CPU: besturingseenheid, ALU, registers (programma teller, instructieregister,... ) Peter Slaets () Digitale en analoge technieken February 14, 2006 3 / 33

Organisatie Basis: Von Neumann-CPU datapad = registers, ALU, bussen datapadcyclus via register-geheugeninstructies of register-register instructies Peter Slaets () Digitale en analoge technieken February 14, 2006 4 / 33

Organisatie Basis: Von Neumann-CPU datapad = registers, ALU, bussen datapadcyclus via register-geheugeninstructies of register-register instructies Peter Slaets () Digitale en analoge technieken February 14, 2006 4 / 33

Organisatie Basis: Von Neumann-CPU datapad = registers, ALU, bussen datapadcyclus via register-geheugeninstructies of register-register instructies Peter Slaets () Digitale en analoge technieken February 14, 2006 4 / 33

Uitvoeren van een instructie 1 haal volgende instructie uit instructiegeheugen (register) 2 verander programmateller 3 bepaal type opgehaalde instructie 4 bepaal positie nodige woorden in register + haal woord binnen (extern) 5 voer instructie uit 6 herhaal voor volgende instructie Peter Slaets () Digitale en analoge technieken February 14, 2006 5 / 33

Uitvoeren van een instructie 1 haal volgende instructie uit instructiegeheugen (register) 2 verander programmateller 3 bepaal type opgehaalde instructie 4 bepaal positie nodige woorden in register + haal woord binnen (extern) 5 voer instructie uit 6 herhaal voor volgende instructie Peter Slaets () Digitale en analoge technieken February 14, 2006 5 / 33

Uitvoeren van een instructie 1 haal volgende instructie uit instructiegeheugen (register) 2 verander programmateller 3 bepaal type opgehaalde instructie 4 bepaal positie nodige woorden in register + haal woord binnen (extern) 5 voer instructie uit 6 herhaal voor volgende instructie Peter Slaets () Digitale en analoge technieken February 14, 2006 5 / 33

Uitvoeren van een instructie 1 haal volgende instructie uit instructiegeheugen (register) 2 verander programmateller 3 bepaal type opgehaalde instructie 4 bepaal positie nodige woorden in register + haal woord binnen (extern) 5 voer instructie uit 6 herhaal voor volgende instructie Peter Slaets () Digitale en analoge technieken February 14, 2006 5 / 33

Uitvoeren van een instructie 1 haal volgende instructie uit instructiegeheugen (register) 2 verander programmateller 3 bepaal type opgehaalde instructie 4 bepaal positie nodige woorden in register + haal woord binnen (extern) 5 voer instructie uit 6 herhaal voor volgende instructie Peter Slaets () Digitale en analoge technieken February 14, 2006 5 / 33

Uitvoeren van een instructie 1 haal volgende instructie uit instructiegeheugen (register) 2 verander programmateller 3 bepaal type opgehaalde instructie 4 bepaal positie nodige woorden in register + haal woord binnen (extern) 5 voer instructie uit 6 herhaal voor volgende instructie Peter Slaets () Digitale en analoge technieken February 14, 2006 5 / 33

Uitvoeren van een instructie: interpeter vs. vertaler (compiler) interpreter vertaalt code (Jave) lijn per lijn naar een andere taal (assembler) en voert deze code lijn per lijn uit hardware (duur, maar snel) door software vervangen!!! foute instructies corrigeren nieuwe instructies toevoegen efficienter testen en documenteren Voorbeeld: vertaal assembler naar digitaal niveau = microcode in ROM compiler vertaalt heel de code ineens en heeft geen vertaalstap meer nodig tijdens het uitvoeren Peter Slaets () Digitale en analoge technieken February 14, 2006 6 / 33

Uitvoeren van een instructie: interpeter vs. vertaler (compiler) interpreter vertaalt code (Jave) lijn per lijn naar een andere taal (assembler) en voert deze code lijn per lijn uit hardware (duur, maar snel) door software vervangen!!! foute instructies corrigeren nieuwe instructies toevoegen efficienter testen en documenteren Voorbeeld: vertaal assembler naar digitaal niveau = microcode in ROM compiler vertaalt heel de code ineens en heeft geen vertaalstap meer nodig tijdens het uitvoeren Peter Slaets () Digitale en analoge technieken February 14, 2006 6 / 33

Uitvoeren van een instructie: interpeter vs. vertaler (compiler) interpreter vertaalt code (Jave) lijn per lijn naar een andere taal (assembler) en voert deze code lijn per lijn uit hardware (duur, maar snel) door software vervangen!!! foute instructies corrigeren nieuwe instructies toevoegen efficienter testen en documenteren Voorbeeld: vertaal assembler naar digitaal niveau = microcode in ROM compiler vertaalt heel de code ineens en heeft geen vertaalstap meer nodig tijdens het uitvoeren Peter Slaets () Digitale en analoge technieken February 14, 2006 6 / 33

Uitvoeren van een instructie: interpeter vs. vertaler (compiler) interpreter vertaalt code (Jave) lijn per lijn naar een andere taal (assembler) en voert deze code lijn per lijn uit hardware (duur, maar snel) door software vervangen!!! foute instructies corrigeren nieuwe instructies toevoegen efficienter testen en documenteren Voorbeeld: vertaal assembler naar digitaal niveau = microcode in ROM compiler vertaalt heel de code ineens en heeft geen vertaalstap meer nodig tijdens het uitvoeren Peter Slaets () Digitale en analoge technieken February 14, 2006 6 / 33

Uitvoeren van een instructie: interpeter vs. vertaler (compiler) interpreter vertaalt code (Jave) lijn per lijn naar een andere taal (assembler) en voert deze code lijn per lijn uit hardware (duur, maar snel) door software vervangen!!! foute instructies corrigeren nieuwe instructies toevoegen efficienter testen en documenteren Voorbeeld: vertaal assembler naar digitaal niveau = microcode in ROM compiler vertaalt heel de code ineens en heeft geen vertaalstap meer nodig tijdens het uitvoeren Peter Slaets () Digitale en analoge technieken February 14, 2006 6 / 33

Uitvoeren van een instructie: interpeter vs. vertaler (compiler) interpreter vertaalt code (Jave) lijn per lijn naar een andere taal (assembler) en voert deze code lijn per lijn uit hardware (duur, maar snel) door software vervangen!!! foute instructies corrigeren nieuwe instructies toevoegen efficienter testen en documenteren Voorbeeld: vertaal assembler naar digitaal niveau = microcode in ROM compiler vertaalt heel de code ineens en heeft geen vertaalstap meer nodig tijdens het uitvoeren Peter Slaets () Digitale en analoge technieken February 14, 2006 6 / 33

Uitvoeren van een instructie: interpeter vs. vertaler (compiler) interpreter vertaalt code (Jave) lijn per lijn naar een andere taal (assembler) en voert deze code lijn per lijn uit hardware (duur, maar snel) door software vervangen!!! foute instructies corrigeren nieuwe instructies toevoegen efficienter testen en documenteren Voorbeeld: vertaal assembler naar digitaal niveau = microcode in ROM compiler vertaalt heel de code ineens en heeft geen vertaalstap meer nodig tijdens het uitvoeren Peter Slaets () Digitale en analoge technieken February 14, 2006 6 / 33

RISC vs. CISC RISC=Reduced Instruction Set Computer eenvoudige, supersnelle CPU met decodering in hardware. Kent weinig bevelen! Een bevel per klokcyclus! CISC=Complex Instruction Set Computer Kent heel veel bevelen, waardoor de decodering in software (microcode) moet gebeuren, dus trager! Besluit: Een RISC CPU moet wel meerdere bevelen uitvoeren om het equivalent van 1 CISC bevel te realiseren. Toch beter dan CISC. Peter Slaets () Digitale en analoge technieken February 14, 2006 7 / 33

RISC vs. CISC RISC=Reduced Instruction Set Computer eenvoudige, supersnelle CPU met decodering in hardware. Kent weinig bevelen! Een bevel per klokcyclus! CISC=Complex Instruction Set Computer Kent heel veel bevelen, waardoor de decodering in software (microcode) moet gebeuren, dus trager! Besluit: Een RISC CPU moet wel meerdere bevelen uitvoeren om het equivalent van 1 CISC bevel te realiseren. Toch beter dan CISC. Peter Slaets () Digitale en analoge technieken February 14, 2006 7 / 33

RISC vs. CISC RISC=Reduced Instruction Set Computer eenvoudige, supersnelle CPU met decodering in hardware. Kent weinig bevelen! Een bevel per klokcyclus! CISC=Complex Instruction Set Computer Kent heel veel bevelen, waardoor de decodering in software (microcode) moet gebeuren, dus trager! Besluit: Een RISC CPU moet wel meerdere bevelen uitvoeren om het equivalent van 1 CISC bevel te realiseren. Toch beter dan CISC. Peter Slaets () Digitale en analoge technieken February 14, 2006 7 / 33

Vuistregels RISC standaard voor general purpose CPU s Zoveel mogelijk instructies rechtstreeks in hardware uitvoeren Zoveel mogelijk instucties per seconden starten (MIPS) door parallellisme LOAD en STORE hebben toegang tot geheugen want kan lang duren andere instructies tegelijkertijd uitvoeren Voldoende register voorzien want geheugen is traag!!! Peter Slaets () Digitale en analoge technieken February 14, 2006 8 / 33

Vuistregels RISC standaard voor general purpose CPU s Zoveel mogelijk instructies rechtstreeks in hardware uitvoeren Zoveel mogelijk instucties per seconden starten (MIPS) door parallellisme LOAD en STORE hebben toegang tot geheugen want kan lang duren andere instructies tegelijkertijd uitvoeren Voldoende register voorzien want geheugen is traag!!! Peter Slaets () Digitale en analoge technieken February 14, 2006 8 / 33

Vuistregels RISC standaard voor general purpose CPU s Zoveel mogelijk instructies rechtstreeks in hardware uitvoeren Zoveel mogelijk instucties per seconden starten (MIPS) door parallellisme LOAD en STORE hebben toegang tot geheugen want kan lang duren andere instructies tegelijkertijd uitvoeren Voldoende register voorzien want geheugen is traag!!! Peter Slaets () Digitale en analoge technieken February 14, 2006 8 / 33

Vuistregels RISC standaard voor general purpose CPU s Zoveel mogelijk instructies rechtstreeks in hardware uitvoeren Zoveel mogelijk instucties per seconden starten (MIPS) door parallellisme LOAD en STORE hebben toegang tot geheugen want kan lang duren andere instructies tegelijkertijd uitvoeren Voldoende register voorzien want geheugen is traag!!! Peter Slaets () Digitale en analoge technieken February 14, 2006 8 / 33

Vuistregels RISC standaard voor general purpose CPU s Zoveel mogelijk instructies rechtstreeks in hardware uitvoeren Zoveel mogelijk instucties per seconden starten (MIPS) door parallellisme LOAD en STORE hebben toegang tot geheugen want kan lang duren andere instructies tegelijkertijd uitvoeren Voldoende register voorzien want geheugen is traag!!! Peter Slaets () Digitale en analoge technieken February 14, 2006 8 / 33

Parallellisme Doel? chips sneller maken Hoe? Kloksnelheid verhogen = begrensd Parallelisme: op instructiesetniveau en processorniveau Peter Slaets () Digitale en analoge technieken February 14, 2006 9 / 33

Parallellisme Doel? chips sneller maken Hoe? Kloksnelheid verhogen = begrensd Parallelisme: op instructiesetniveau en processorniveau Peter Slaets () Digitale en analoge technieken February 14, 2006 9 / 33

Parallellisme Doel? chips sneller maken Hoe? Kloksnelheid verhogen = begrensd Parallelisme: op instructiesetniveau en processorniveau Peter Slaets () Digitale en analoge technieken February 14, 2006 9 / 33

Parallellisme Doel? chips sneller maken Hoe? Kloksnelheid verhogen = begrensd Parallelisme: op instructiesetniveau en processorniveau Peter Slaets () Digitale en analoge technieken February 14, 2006 9 / 33

Parallellisme op instructieniveau: pipelining Probleem? instructies uit geheugen halen kost tijd! Oplossing: op voorhand eruit halen via prefetch-buffer Gevolg: uitvoeren opgeslitst in 2 delen = ophalen en invoering Pipelining = uitvoeren opsplitsen in 5 stadia Trade-off van wachttijd (nt) vs.processorbandbreedte (MIPS) Peter Slaets () Digitale en analoge technieken February 14, 2006 10 / 33

Parallellisme op instructieniveau: pipelining Probleem? instructies uit geheugen halen kost tijd! Oplossing: op voorhand eruit halen via prefetch-buffer Gevolg: uitvoeren opgeslitst in 2 delen = ophalen en invoering Pipelining = uitvoeren opsplitsen in 5 stadia Trade-off van wachttijd (nt) vs.processorbandbreedte (MIPS) Peter Slaets () Digitale en analoge technieken February 14, 2006 10 / 33

Parallellisme op instructieniveau: pipelining Probleem? instructies uit geheugen halen kost tijd! Oplossing: op voorhand eruit halen via prefetch-buffer Gevolg: uitvoeren opgeslitst in 2 delen = ophalen en invoering Pipelining = uitvoeren opsplitsen in 5 stadia Trade-off van wachttijd (nt) vs.processorbandbreedte (MIPS) Peter Slaets () Digitale en analoge technieken February 14, 2006 10 / 33

Parallellisme op instructieniveau: pipelining Probleem? instructies uit geheugen halen kost tijd! Oplossing: op voorhand eruit halen via prefetch-buffer Gevolg: uitvoeren opgeslitst in 2 delen = ophalen en invoering Pipelining = uitvoeren opsplitsen in 5 stadia Trade-off van wachttijd (nt) vs.processorbandbreedte (MIPS) Peter Slaets () Digitale en analoge technieken February 14, 2006 10 / 33

Parallellisme op instructieniveau: pipelining Probleem? instructies uit geheugen halen kost tijd! Oplossing: op voorhand eruit halen via prefetch-buffer Gevolg: uitvoeren opgeslitst in 2 delen = ophalen en invoering Pipelining = uitvoeren opsplitsen in 5 stadia Trade-off van wachttijd (nt) vs.processorbandbreedte (MIPS) Peter Slaets () Digitale en analoge technieken February 14, 2006 10 / 33

Parallellisme op instructieniveau: superscalair Twee pipelines Mogen niet in conflict geraken over (registers, afhankelijkheid,... ) Detectie conficten via compiler of hardware Intel 80486 1 pipeline, Pentium 2 pipelines (u en v) Peter Slaets () Digitale en analoge technieken February 14, 2006 11 / 33

Parallellisme op instructieniveau: superscalair Twee pipelines Mogen niet in conflict geraken over (registers, afhankelijkheid,... ) Detectie conficten via compiler of hardware Intel 80486 1 pipeline, Pentium 2 pipelines (u en v) Peter Slaets () Digitale en analoge technieken February 14, 2006 11 / 33

Parallellisme op instructieniveau: superscalair Twee pipelines Mogen niet in conflict geraken over (registers, afhankelijkheid,... ) Detectie conficten via compiler of hardware Intel 80486 1 pipeline, Pentium 2 pipelines (u en v) Peter Slaets () Digitale en analoge technieken February 14, 2006 11 / 33

Parallellisme op instructieniveau: superscalair Twee pipelines Mogen niet in conflict geraken over (registers, afhankelijkheid,... ) Detectie conficten via compiler of hardware Intel 80486 1 pipeline, Pentium 2 pipelines (u en v) Peter Slaets () Digitale en analoge technieken February 14, 2006 11 / 33

Parallellisme op instructieniveau: superscalair Een pipelines maar meerdere functionale eenheden (pentium II) doorgeeffrequentie veel hoger dan uitvoerfrequentie Peter Slaets () Digitale en analoge technieken February 14, 2006 12 / 33

Parallellisme op instructieniveau: superscalair Een pipelines maar meerdere functionale eenheden (pentium II) doorgeeffrequentie veel hoger dan uitvoerfrequentie Peter Slaets () Digitale en analoge technieken February 14, 2006 12 / 33

Parallellisme op processorniveau: array en vector Parallellisme op instructieniveau geeft factor 5-10 winst Parallellisme op processorniveau geeft factor 50-100 winst Arraycomputers (SIMD =Single Instruction-stream Multiple Data-stream, pentium 4) en vectorprocessor (pipelining van ALU) Peter Slaets () Digitale en analoge technieken February 14, 2006 13 / 33

Parallellisme op processorniveau: array en vector Parallellisme op instructieniveau geeft factor 5-10 winst Parallellisme op processorniveau geeft factor 50-100 winst Arraycomputers (SIMD =Single Instruction-stream Multiple Data-stream, pentium 4) en vectorprocessor (pipelining van ALU) Peter Slaets () Digitale en analoge technieken February 14, 2006 13 / 33

Parallellisme op processorniveau: array en vector Parallellisme op instructieniveau geeft factor 5-10 winst Parallellisme op processorniveau geeft factor 50-100 winst Arraycomputers (SIMD =Single Instruction-stream Multiple Data-stream, pentium 4) en vectorprocessor (pipelining van ALU) Peter Slaets () Digitale en analoge technieken February 14, 2006 13 / 33

Parallellisme op processorniveau: multiprocessor meerdere CPU s en een gemeenschappelijk geheugen meerdere CPU s met lokaal geheugen en een gemeenschappelijk geheugen = tightly coupled Peter Slaets () Digitale en analoge technieken February 14, 2006 14 / 33

Parallellisme op processorniveau: multiprocessor meerdere CPU s en een gemeenschappelijk geheugen meerdere CPU s met lokaal geheugen en een gemeenschappelijk geheugen = tightly coupled Peter Slaets () Digitale en analoge technieken February 14, 2006 14 / 33

Parallellisme op processorniveau: multicomputer multiprocessor moeilijk voor 256 door verbinding met gemeenschappelijk geheugen multicomputer geen gemeenschappelijk geheugen = loosely coupled Peter Slaets () Digitale en analoge technieken February 14, 2006 15 / 33

Parallellisme op processorniveau: multicomputer multiprocessor moeilijk voor 256 door verbinding met gemeenschappelijk geheugen multicomputer geen gemeenschappelijk geheugen = loosely coupled Peter Slaets () Digitale en analoge technieken February 14, 2006 15 / 33

Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen 4 Input/Output Peter Slaets () Digitale en analoge technieken February 14, 2006 16 / 33

bits-geheugenadres elementaire eenheid van geheugen is bit 0/1 eenvoudige detectie 6V vs. 1V geheugen bestaat uit cellen (locaties) en wordt verwezen via het adres 3 methode om 96 bits te organiseren: adres + bits/cel 1 byte = 8 bits Peter Slaets () Digitale en analoge technieken February 14, 2006 17 / 33

bits-geheugenadres elementaire eenheid van geheugen is bit 0/1 eenvoudige detectie 6V vs. 1V geheugen bestaat uit cellen (locaties) en wordt verwezen via het adres 3 methode om 96 bits te organiseren: adres + bits/cel 1 byte = 8 bits Peter Slaets () Digitale en analoge technieken February 14, 2006 17 / 33

bits-geheugenadres elementaire eenheid van geheugen is bit 0/1 eenvoudige detectie 6V vs. 1V geheugen bestaat uit cellen (locaties) en wordt verwezen via het adres 3 methode om 96 bits te organiseren: adres + bits/cel 1 byte = 8 bits Peter Slaets () Digitale en analoge technieken February 14, 2006 17 / 33

bits-geheugenadres elementaire eenheid van geheugen is bit 0/1 eenvoudige detectie 6V vs. 1V geheugen bestaat uit cellen (locaties) en wordt verwezen via het adres 3 methode om 96 bits te organiseren: adres + bits/cel 1 byte = 8 bits Peter Slaets () Digitale en analoge technieken February 14, 2006 17 / 33

bits-geheugenadres elementaire eenheid van geheugen is bit 0/1 eenvoudige detectie 6V vs. 1V geheugen bestaat uit cellen (locaties) en wordt verwezen via het adres 3 methode om 96 bits te organiseren: adres + bits/cel 1 byte = 8 bits Peter Slaets () Digitale en analoge technieken February 14, 2006 17 / 33

Volgorde van de bytes big endian= nummering begint aan de meest significante kant per byte little endian= nummering begint aan de minst significante kant per byte Peter Slaets () Digitale en analoge technieken February 14, 2006 18 / 33

Volgorde van de bytes big endian= nummering begint aan de meest significante kant per byte little endian= nummering begint aan de minst significante kant per byte Peter Slaets () Digitale en analoge technieken February 14, 2006 18 / 33

Foutcorrigerende codes controlebits toevoegen: databits+controlebits Bijvoorbeeld: pariteitsbit Peter Slaets () Digitale en analoge technieken February 14, 2006 19 / 33

Foutcorrigerende codes controlebits toevoegen: databits+controlebits Bijvoorbeeld: pariteitsbit Peter Slaets () Digitale en analoge technieken February 14, 2006 19 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugen CPU altijd sneller dan geheugens: meerdere CPU-cycli voor aanvragen geheugenwoord Hoe oplossen? READ-aanvraag starten wanneer ze worden aangetroffen (hardware wachten op data) Compiler geen code laten genereren die woord leest voordat het binnen is (software wacht op data) Alle geheugen op CPU-chip zetten ( via bus is traag), maar te duur + groot Een klein, snel geheugen (CACHE) en een groot langzaam geheugen Hoe werkt cache geheugen? meest gebruikte geheugenwoorden in cache bewaren CPU kijkt eerste in cache lokaliteitsbeginsel = woorde en enkele buren naar cache halen Peter Slaets () Digitale en analoge technieken February 14, 2006 20 / 33

Cachegeheugens geheugenblokken bepaalt door cacheregels grootte van de de cache/cacheregel: 16 KB via 1024x16 bytes of 2048X8bytes instructies en data in zelfde cache? het aantal cache: primair (op CPU)+secundair(buiten chip)+... Peter Slaets () Digitale en analoge technieken February 14, 2006 21 / 33

Cachegeheugens geheugenblokken bepaalt door cacheregels grootte van de de cache/cacheregel: 16 KB via 1024x16 bytes of 2048X8bytes instructies en data in zelfde cache? het aantal cache: primair (op CPU)+secundair(buiten chip)+... Peter Slaets () Digitale en analoge technieken February 14, 2006 21 / 33

Cachegeheugens geheugenblokken bepaalt door cacheregels grootte van de de cache/cacheregel: 16 KB via 1024x16 bytes of 2048X8bytes instructies en data in zelfde cache? het aantal cache: primair (op CPU)+secundair(buiten chip)+... Peter Slaets () Digitale en analoge technieken February 14, 2006 21 / 33

Cachegeheugens geheugenblokken bepaalt door cacheregels grootte van de de cache/cacheregel: 16 KB via 1024x16 bytes of 2048X8bytes instructies en data in zelfde cache? het aantal cache: primair (op CPU)+secundair(buiten chip)+... Peter Slaets () Digitale en analoge technieken February 14, 2006 21 / 33

Geheugenpackages en types tot 90 aparte geheugenchips van 1Kbits tot 1MBits Nu een groep chips 8-16 stuks (32-64MB): SIMM (Single Inline Memory Module) 32 bits/klolkcylcus en DIMM (Dual Inline Memoryr Module) 64 bits/klokcylcus Peter Slaets () Digitale en analoge technieken February 14, 2006 22 / 33

Geheugenpackages en types tot 90 aparte geheugenchips van 1Kbits tot 1MBits Nu een groep chips 8-16 stuks (32-64MB): SIMM (Single Inline Memory Module) 32 bits/klolkcylcus en DIMM (Dual Inline Memoryr Module) 64 bits/klokcylcus Peter Slaets () Digitale en analoge technieken February 14, 2006 22 / 33

Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen 4 Input/Output Peter Slaets () Digitale en analoge technieken February 14, 2006 23 / 33

Geheugenhierarchie toegangstijd vergroot naar beneden: 1-3 nsec - 5-15nsec - 20-40 nsec - 10 msec - 1-3 sec opslagcapaciteit neemt toe: 128bytes - Mbytes - 500-1000 Mbytes - 10-100 Gbytes prijs per bit daalt naar beneden Peter Slaets () Digitale en analoge technieken February 14, 2006 24 / 33

Geheugenhierarchie toegangstijd vergroot naar beneden: 1-3 nsec - 5-15nsec - 20-40 nsec - 10 msec - 1-3 sec opslagcapaciteit neemt toe: 128bytes - Mbytes - 500-1000 Mbytes - 10-100 Gbytes prijs per bit daalt naar beneden Peter Slaets () Digitale en analoge technieken February 14, 2006 24 / 33

Geheugenhierarchie toegangstijd vergroot naar beneden: 1-3 nsec - 5-15nsec - 20-40 nsec - 10 msec - 1-3 sec opslagcapaciteit neemt toe: 128bytes - Mbytes - 500-1000 Mbytes - 10-100 Gbytes prijs per bit daalt naar beneden Peter Slaets () Digitale en analoge technieken February 14, 2006 24 / 33

Magneetschijf harde schijf opslagcapaciteit neemt toe: 128bytes - Mbytes - 500-1000 Mbytes - 10-100 Gbytes prijs per bit daalt naar beneden Peter Slaets () Digitale en analoge technieken February 14, 2006 25 / 33

Magneetschijf harde schijf opslagcapaciteit neemt toe: 128bytes - Mbytes - 500-1000 Mbytes - 10-100 Gbytes prijs per bit daalt naar beneden Peter Slaets () Digitale en analoge technieken February 14, 2006 25 / 33

Magneetschijf harde schijf opslagcapaciteit neemt toe: 128bytes - Mbytes - 500-1000 Mbytes - 10-100 Gbytes prijs per bit daalt naar beneden Peter Slaets () Digitale en analoge technieken February 14, 2006 25 / 33

IDE/EIDE/ATA-schijven Wat? vroeger werd de beweging van de arm, het lezen gedaan door een externe controller, nu op het moederbord aanwezig IDE/EIDE/ATA goedkoop, standaard voor PC Peter Slaets () Digitale en analoge technieken February 14, 2006 26 / 33

IDE/EIDE/ATA-schijven Wat? vroeger werd de beweging van de arm, het lezen gedaan door een externe controller, nu op het moederbord aanwezig IDE/EIDE/ATA goedkoop, standaard voor PC Peter Slaets () Digitale en analoge technieken February 14, 2006 26 / 33

SCSI-schijven Wat? verschilt niet van ATA qua organisatie van het geheugen, wel qua interface SCSI duurder, sneller en standaard voor UNIX-workstations, Macintoch en duurdere intel PC s (servers) meer dan interface, ook bus + controller + 7 apparaten Peter Slaets () Digitale en analoge technieken February 14, 2006 27 / 33

SCSI-schijven Wat? verschilt niet van ATA qua organisatie van het geheugen, wel qua interface SCSI duurder, sneller en standaard voor UNIX-workstations, Macintoch en duurdere intel PC s (servers) meer dan interface, ook bus + controller + 7 apparaten Peter Slaets () Digitale en analoge technieken February 14, 2006 27 / 33

SCSI-schijven Wat? verschilt niet van ATA qua organisatie van het geheugen, wel qua interface SCSI duurder, sneller en standaard voor UNIX-workstations, Macintoch en duurdere intel PC s (servers) meer dan interface, ook bus + controller + 7 apparaten Peter Slaets () Digitale en analoge technieken February 14, 2006 27 / 33

CD-roms/recordable/Rewritable/DVD De gekende geheugens!!! 650Mb - 4,7 tot 17 Gb Peter Slaets () Digitale en analoge technieken February 14, 2006 28 / 33

CD-roms/recordable/Rewritable/DVD De gekende geheugens!!! 650Mb - 4,7 tot 17 Gb Peter Slaets () Digitale en analoge technieken February 14, 2006 28 / 33

Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen 4 Input/Output Peter Slaets () Digitale en analoge technieken February 14, 2006 29 / 33

Buses moederbord: CPU+DIMM+hulpchips+bus met randconnectoren van I/O-kaarten oudere PC s hebben een tweede bus (ISA-bus) Peter Slaets () Digitale en analoge technieken February 14, 2006 30 / 33

Buses moederbord: CPU+DIMM+hulpchips+bus met randconnectoren van I/O-kaarten oudere PC s hebben een tweede bus (ISA-bus) Peter Slaets () Digitale en analoge technieken February 14, 2006 30 / 33

Buses de logische structuur van een eenvoudige PC Controller + I/O apparaat Speciaal: DMA (Direct Memory Access) data lezen rechtstreeks van het apparaat naar het geheugen zonder de CPU te belasten Speciaal: busarbiter bepaalt wie mag sturen op de bus Speciaal: cycle stealing = I/O-apparaat krijgt bus toegang onmiddelijk dus steelt van de rest Peter Slaets () Digitale en analoge technieken February 14, 2006 31 / 33

Buses de logische structuur van een eenvoudige PC Controller + I/O apparaat Speciaal: DMA (Direct Memory Access) data lezen rechtstreeks van het apparaat naar het geheugen zonder de CPU te belasten Speciaal: busarbiter bepaalt wie mag sturen op de bus Speciaal: cycle stealing = I/O-apparaat krijgt bus toegang onmiddelijk dus steelt van de rest Peter Slaets () Digitale en analoge technieken February 14, 2006 31 / 33

Buses de logische structuur van een eenvoudige PC Controller + I/O apparaat Speciaal: DMA (Direct Memory Access) data lezen rechtstreeks van het apparaat naar het geheugen zonder de CPU te belasten Speciaal: busarbiter bepaalt wie mag sturen op de bus Speciaal: cycle stealing = I/O-apparaat krijgt bus toegang onmiddelijk dus steelt van de rest Peter Slaets () Digitale en analoge technieken February 14, 2006 31 / 33

Buses de logische structuur van een eenvoudige PC Controller + I/O apparaat Speciaal: DMA (Direct Memory Access) data lezen rechtstreeks van het apparaat naar het geheugen zonder de CPU te belasten Speciaal: busarbiter bepaalt wie mag sturen op de bus Speciaal: cycle stealing = I/O-apparaat krijgt bus toegang onmiddelijk dus steelt van de rest Peter Slaets () Digitale en analoge technieken February 14, 2006 31 / 33

Buses de logische structuur van een eenvoudige PC Controller + I/O apparaat Speciaal: DMA (Direct Memory Access) data lezen rechtstreeks van het apparaat naar het geheugen zonder de CPU te belasten Speciaal: busarbiter bepaalt wie mag sturen op de bus Speciaal: cycle stealing = I/O-apparaat krijgt bus toegang onmiddelijk dus steelt van de rest Peter Slaets () Digitale en analoge technieken February 14, 2006 31 / 33

Buses PCI-bus gebruikt in veel configuraties, ISA-bus kunnen bijgevoegd worden Peter Slaets () Digitale en analoge technieken February 14, 2006 32 / 33

Overige I/O Terminals: toetsenord+crt-monitors+platte beeldscherm+muizen+printers Telecommmunicatieapparatuur: modems+digitale+digitale camera+... Peter Slaets () Digitale en analoge technieken February 14, 2006 33 / 33

Overige I/O Terminals: toetsenord+crt-monitors+platte beeldscherm+muizen+printers Telecommmunicatieapparatuur: modems+digitale+digitale camera+... Peter Slaets () Digitale en analoge technieken February 14, 2006 33 / 33