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