11.4 serial communication 11.5 modes of transfer 11-6 priority interrupt 11-7 direct memory access 11-8 I/O processors 12-1 Memory

Like dokumenter
Forelesning Instruksjonstyper Kap 5.5

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Oppsummering av digitalteknikkdelen

SIE 4005, 2/10 (2. Forelesn.)

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O)

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

Hvorfor lære om maskinvare*?

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

TDT4258 Eksamen vår 2013

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Dagens tema. Flere teknikker for å øke hastigheten

Oppgave 8.1 fra COD2e

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

Hukommelseshierarki. 16/3 cache /3 virtuell hukommelse in 147, våren 1999 hukommelseshierarki 1

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Hovedkort, brikkesett og busser

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

SIE 4005, 8/10 (3. Forelesn.)

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur

Datamaskinens oppbygning og virkemåte

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

Kjenn din PC (Windows 7)

Internminnet. Håkon Tolsby Håkon Tolsby

Memory Access) Figure: DMA kommuniserer med disk-controlleren og sørger for at det OS ønsker blir kopiert mellom harddisken og internminnet.

IN1020. Datamaskinarkitektur

Datamaskinens oppbygning

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

Clock speed 3.20GHz Bus Speed 800MHz L2 Cache 4MB 2 Cores Ikke Hyperthreading 64 BIT

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

SIE 4005, 9/10 (4. Forelesn.)

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Internminnet. Håkon Tolsby Håkon Tolsby

Forelesning 9. Registre, tellere og minne

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning 5. Diverse komponenter/større system

Oppsummering digital-teknikk, teknikk, INF2270

INF2270 I/O. Omid Mirmotahari Omid Mirmotahari 1

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Introduksjon til kurset og dets innhold

I J. D: Lese/skrivelampe E: Spor: SMC, SM-RAM F: Spor: CF I, CF II, MD G: Spor: SD, Mini SD, MMC, RS-MMC

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

IN1020. Minnehierarki

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

Scheduling og prosesshåndtering

INF1400 Kap4rest Kombinatorisk Logikk

Intel Core i7. Omid Mirmotahari 4

Kjenn din PC Marie Bjørn 2014

Into da BIOS<3. Bak Skallet

Laboppgave. Sondre Gulichsen, Li Lisan Linder. 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki Hukommelseshierarki-2 1

Innhold. Innledning til Input/Output. Ulike typer Input/Output. Input/Output internt i datamaskinen. Input/Output mellom datamaskiner

2. Hvor mye Internminne har den? Svar: 2GB

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

ytelsen til hukommelseshierarkier

INF1400 Kap 0 Digitalteknikk

Hvorfor lære om maskinvaren*?

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070

Bits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse

Eksterne enheter Brukerhåndbok

Forelesning Hurtigbuffer Kap 4.5

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache Hukommelseshierarki-1 1

Marine Propulsion Control Systems 9000 Series Processor Feilsøking

Setup programmet brukes til å endre konfigurasjonen av BIOS og til å vise resultatene fra

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

En harddisk består av et lite antall plater av et magnetisk materiale.

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad

Eksterne enheter. Brukerhåndbok

Generell informasjon

dynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program

Maskinvaredelen av INF 103: oversikt og innhold (1)

Dagens temaer. Praktisk anvendelse: Satellittkommunikasjon. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten

Transkript:

SIE 4005, 29/10 11.4 serial communication 11.5 modes of transfer 11-6 priority interrupt 11-7 direct memory access 11-8 I/O processors 12-1 Memory Serial communication (11-4, s 587) Parallell overføring er potensielt raskere en seriell, men krever n separate overføringsveier for et n-bits ord, og blir som regel dyrere siden n i stedet for 1 overføringsvei kreves. Datamaskiner og terminaler som er langt unna hverandre kan kommunisere via analoge telefonlinjer ved for eksempel bruk av MODEM (modulator / demodulator), som omformer digitale signaler til audio signaler som kan transporteres via telefonlinjen, og tilbake til digitale igjen. Overføring mellom to pkt: Simplex -en vei, halv duplex - begge veier men en i gangen, full duplex - begge veier samtidig. Ved synkron transmisjon deler to enheter felles klokkesignal, og bit overføres kontinuerlig på dette klokkesignalets frekvens. Ved lang-distanse seriell kommunikasjon drives sender og mottaker av adskilte klokker med samme frekvens. Synkroniseringssignal sendes med visse mellomrom for å holde de to klokkesignalene synkrone. Asynchronous transmission (fig. 11-8, s. 588) Ved for eksempel kommunikasjon mellom datamaskiner vha modem, over en telefonlinje, kan hvert tegn bestående av 8 bit overføres asynkront mellom et start bit og et stop bit. Når ingen ting sendes holdes linjen på 1, og transmisjonen detekteres ved at start bitet, som alltid er 0, detekteres ved overgangen fra 1 til 0. Ved hjelp av en klokke undersøker mottakeren overføringslinjen ved passende tidspunkt for å finne bit-verdiene, da den kjenner overføringsraten. Stop bit detekteres når linjen går over til 1 igjen, etter en tid som minimum er den som kreves for å sende 1 (evt 2) bit (pluss de 8 bitene). Baud rate: maks. antall skift per sekund for signalet som overføres A packet-based Serial I/O Bus (kap. 11-4, s. 590) Eksterne I/O sammenkoplinger er typisk dedikerte, noe som ofte krever at datamaskinen må åpnes opp for montering av skreddersydd elektronikk og konnektorer som er tilpasset den spesielle I/O standarden. Ofte vil det være ønskelig i stedet å kunne kople flere enheter til en kabel, gjerne i en trestruktur. Dette kan oppnås ved å benytte pakke-basert seriell I/O. Her tillates mange ulike eksterne I/O devicer å benytte en delt kommunikasjonsstruktur som er koplet til datamaskinen med bare en eller to konnektorer. (eksempel i fig. 11-10, s. 591) Universal serial bus (fig 11-10, s. 591) Universal Serial Bus (11-4, s 591) Hubs, devices, compound devices Enhub kan ha USB devicer eller andre hub er tilkoplet. En hub inneholder et USB interface for for kontroll og status håndtering og en repeater for overføring av informasjon gjennom hub en. Datamaskinen inneholder en USB controller og root hub. Når en hub er kombinert med device, som i fig. 11-10 (eks keyboard) kalles det for en compound device. Bortsett fra disse inneholder en USB device bare en USB port for å tjene egen funksjon.

Non-Return to Zero Inverted Data Representation (fig. 11-11, s. 592) USB Packet format (fig 11-12, s. 593) Fire ledninger i USB kabler; jord, power, D+ og D- Power ledning leverer strøm til (for eksempel) tastatur, slik at det ikke behøver egen strømforsyning. D+ - D- > 200 mv : 1, D- - D+ > 200 mv: 0. NRZI: 0 : transisjon mellom de to logiske verdiene. 1: stabil 0 eller 1. Maksimalt 6 1 ere i data på rad, slik at 0 settes inn for hver 7. 1 er. Slike bitstuffed 0 ere fjernes når NRZI konverteres til vanlige data. USB pakkeformater (kap. 11-4, s. 592-594) Output transaction : Output packet etterfulgt av data packet og handshake packet. Førstnevnte kommer fra USB kontrolleren i datamaskinen og forteller device n at den skal motta data. Handshake packet er en kvittering fra device på at feilfri overføring skjedde. SYNC; synkronisering av klokke i mottaker. PID; Packet Identifier. PakkeTYPE identifiseres. 4 inverterte bit for feilsjekk. CRC; Cyclic Redundancy Check; kontrollsum som beregnes som funksjon av alle bit i en pakke og legges i denne. Dersom mottaker beregner CRC på mottatt pakke og kommer til samme kontrollsum (sjekksum) er det meget høy sannsynlighet for at pakken er riktig overført. EOP; End Of Packet Output packet har 7 bit addresse for device som skal motta meldingen og 4 bit som koder for hvilken port som skal motta etterfølgende Data packet. Handshake packet. PID 01001011: Acknowledge ingen detekterte feil. Andre; No Acknowledge Mottakerikkeklar.Stall InngrepvhaSWer nødvendig for å gjenopprette funksjonalitet. Vesentlige mengder SW benyttes for kontroll av Universal Serial Bus (USB). Modes of transfer (kap. 11-5, s. 594) Binær informasjon mottatt fra ekstern device lagres vanligvis i minne for senere bruk, mens informasjon fra datamaskinen til ekstern device har opphav i minnet. Dataoverføringer til og fra periferienheter kan håndteres på følgende fire måter: 1) Program styrt. CPU må kjøre program med I/O instruksjoner og sjekke ofte nok, slik at data ikke mistes. 2) Avbrudds-initiert. Når I/O enhetens grensesnitt kan gi avbrudd kun når det er behov kan CPU-tid spares i forhold til eks 1). (Kap. 11-6) 3) Direct Memory Access (DMA) overføring. Ved overføring til/fra hurtige enheter kan det ofte være ønskelig å avlaste CPU ved utvidelse av syst. Med enhet for DMA overføring. (kap. 11-7) 4) Overføring vha I/O prosessor. I større systemer med mye I/O kan ytelse forbedres ved å benytte en eller flere I/O prosessorer. Den kan utføre egne program og styres normalt av CPU. (kap. 11-8) Fig. 11-13 s. 596 og Fig 11-14 s. 597 Program-styrt overføring (kap. 11-5, s. 595-596) En byte overføres i gangen, og når denne er tilgjengelig plasserer I/O dev. den på bussen og enabler Ready. Interface setter flag til 1. Når flag = 1 leser CPU data fra data register, ogflagsettes deretter til 0. (Se skjema s. 596) I/O dev. sender ikke ny byte før Acknowledge er disablet av interface. Flytskjema for program i fig. 11-14, s. 597. Programstyrt overføring benyttes kun i systemer der I/O device må overvåkes kontinuerlig. Ineffektivt. Om Lesing av statusreg. og sjekking av flag kan skje i løpet av 100 ns, mens I/O device kanskje sender med gjennomsnittlig rate på 100 byte/s, vil CPU sjekke flag gjennomsnittlig 100 000 ganger mellom hver overføring, i stedet for å gjøre nyttigere arbeid.

Interrupt-initiert overføring (kap. 11-5, s. 596-598) Interface informerer CPU når det er klart for dataoverføring, og i stedet for at CPU sjekker flag (Se evt. fig. 11-13.) får den avbrudd som resultat av at flag settes. CPU lagrer returaddresse fra PC på stakk eller i et register, og starter utførelse av servicerutine som utfører aktuell I/O overføring. Metode for valg av hoppaddresse for avbruddsrutine kan gjøres vha vektorisert interrupt eller ikkevektorisert interrupt. Vektorisert interrupt: Kilden for avbrudd gir hoppaddresse. Ikke-vektorisert interrupt: Det er en egen addresse for avbruddet. Priority interrupt (kap. 11-6, s. 598-601) Et interrupt prioriteringssystem bestemmer rekkefølgen ulike interruptkilder skal få når samtidige interrupt oppstår. Systemet kan også bestemme hvilke interrupt forespørsler som skal få avbryte mens et annet interrupt allerede betjenes. I/O devicer med høy overføringshastighet (eks magnetisk disk) prioriteres gjerne over langsomme devicer som for eksempel tastatur. Et prioriteringssystem kan lages i software eller hardware. SW polling: ikke-vektorisert, Dvs egen addresse for avbruddet. Avbruddsrutine sjekker mulige kilder etter tur, der rekkefølge gir prioriteringen. Dette er en relativt langsom løsning, spesielt dersom mange interrupts skulle oppstå. HW prioriteringssystem. Hver interrupt kilde har sin egen interrupt vektor addresse for aksess av egen servicerutine direkte. Dette er raskere enn SW løsning. HW prioritetsfunksjon kan ha seriell ( Daisy chain, s. 599-600) eller parallell sammenkopling av interrupt linjer (s. 600-601). Daisy Chain (Fig 11-15, s. 599, Fig 11-16, s. 600) Dersom Interrupt request går høy (= 1 ) går interrupt linjen til CPU høy via ORfunksjonen. CPU responderer vedåsetteinterrupt acknowledge =1.PI( Priority In ) hos device 0 mottar dette signalet. Dersom device 0 ønsker interrupt blokkerer det acknowledge signalet fra neste device ved å sette 0 på PO ( Priority Out ), og setter inn sin egen interrupt vector address (VAD) på databussen for at CPU skal benytte denne. Devicemed0påsinPI inngang sette 0 på sin PO utgang for å blokkere acknowledge signalet for eventuelle Devicer med lavere prioritet. Daisy Chain gir høyeste prioritet til device som mottar Interrupt acknowledge signalet fra CPU. Jo lengre en device er fra denne posisjonen, jo lavere er dennes prioritet. Parallell priority Hardware (Fig 11-17, s. 601) Bit settes separat av interrupt signal fra hver aktuell device (4 i fig. 11-17), og prioritet er gitt av rekkefølge i interrupt registeret. Maskeregisteret kan programmeres til å disable interr. når et med høyere prioritet betjenes, evt tillate device med høyere prioritet interrupt mens et interrupt tilhørende device, med lavere prioritet, allerede har servicerutine under utførelse. Priority Encoder: Eks: Om D3 inngangen er 1, er utgangen A 1 A 0 =11 uansett hva de andre inngangene er, da D3 har høyest pri. (Se evt. fig 3-6) V=1 om en eller flere av D-inng. Er høye. Utgangen fra Priority encoder benyttes i en del av vektor addressen til interrupt kilden (Vektoraddresse gir egen servicerutine direkte, som vanlig ved HW impl. Som denne og Daisy chain.) Direct Memory Access (DMA) (Kap. 11-7, s. 602) DMA kontroller (Kap. 11-7, s. 603) Ved dataoverføring til/fra hurtige enheter (eks disk) er det ofte ønskelig å avlaste CPU ved å utvide systemet med en DMA enhet. DMA tar over bussene (CPU berøves adgang midlertidig) og overvåker overføringer mellom I/O device og memory. DMA enhet startes opp av CPU. DMA kan sende Bus request, og CPU gir siden DMA kontroll over bussen ved å sette Bus granted høy (Dette er skissert i fig. 11-18, som illustrerer en av mange ulike metoder for å gi DMA buss-tilgang.) Hele blokker av ord i minnet, eller ned til ett ord av gangen i en enkeltoverføring.

DMA kontroller (kap. 11-7, fig. 11-19, s. 603) DMA kontroller trenger de vanlige kretsene for ett interface (s. 581, 583) for å kommunisere med CPU og I/O dev. pluss noen ekstra reg. og addresselinjer. Data overføring kan gjøres direkte mellom device og minne under kontroll av DMA. Flere detaljer s. 603-604. CPU initialiserer DMA ved å sende følgende informasjon via databussen: 1) Startaddressen til blokken i minnet der data er tilgjengelig (for lesing) eller skal lagres (for skriving). 2) word count, som er antall ord i minneblokken. 3) Kontrollbit som spesifiserer overføringsmodi, som read eller write. 4) Kontroll bit som starter DMA transfer. Startaddr. Lagres i addresse registeret, word count i eget register, og kontrollbit i kontrollregisteret. DMA transfer in a computer system, fig. 11-20, s. 605. I/O processors (kap. 11-8, s. 606) An Input-Output Processor (IOP) may be classified as a processor with direct memory access capability that communicates with I/O devices. Dette er et alternativ til at hvert interface kommuniserer direkte med CPU. I større systemer med mye IO kan forbedret ytelse oppnås ved å benytte en eller flere IO-pros. CPU avlastes. Til forskjell fra DMA kontroller som i større grad styres av CPU kan I/O prosessor(er) gjøre fetch og execute av egne instruksjoner pluss andre oppgaver som aritmetiske og logiske operasjoner, branching med mer. Typisk bruk som i figur 11-21 og 11-22. I/O prosessorer (kap. 11-8, s. 606-809) CPU initierer vanligvis I/O program, og IOP opererer deretter uavhengig av CPU og fortsetter å overføre data mellom eksterne devicer og minne. IOP strukturer ord fra ulike kilder og pakker de inniforeksempel32bitsordføroverføringtil minne. Data samles i IOP med device bit rate, mens CPU jobber med egne ting. Kommunikasjon mellom IOP og devicer likner programkontrollert overføring, mens kommunikajon med minne likner DMA metode. Kommunikasjon mellom CPU og IOP varierer, men i de fleste system har CPU overordnet kontroll med IOP. CPU IOP kommunikasjon, fig. 11-22, s. 608 CPU IOP kommunikasjon (fig. 11-22, s. 608) (Forenklet) IOP setter status ord i minne for at CPU skal sjekke, og gir beskejder som eks IOP overload condition, device busy with other transfer, device ready for transfer. Basert på dette bestemmer CPU seg for hva den skal gjøre. Hvis OK startes IO transfer ved at instr. Sendes. Minne addressen mottatt med denne instruksjonen fortelelr IOP hvor den skal starte. Når CPU interruptes (7-->8) svarer den ved å benytte instruksjonforålesestatusfraiop. IOP legger dermed status report i en bestemt memory lokasjon. Status ord indikerer om overføringen ble komplettert eller om feil oppstod under overføringen.

11-9 Chapter Summary, s. 609 Diverse I/O devicer er introduserte, med spesiell vekt på 1) keyboard, 2) hard disk og 3) skjerm. Periferienheter løser problemer med ulikheter mellom CPU og minne og hver enkelt enhet, som signalkonvertering, synkronisering, ulike koder og format, og ulike operasjonsmodi. I/O buss og I/O interface for tilkopling til ulike devicer ble diskutert. Strobing og handshaking. Seriell vs asynkron kommunikasjon eksempler. Pakke-basert seriell I/O buss - Universal Serial Bus. På slutten av kapitlet ble det gjennomgått 4 ulike metoder å foreta dataoverføringer mellom CPU og I/O: 1) program-kontrollert. 2) Interrupt initiert, inkl. daisy chain og parallell priority hardware. Som prioriterer blant ulike avbruddskilder. 3) Direct Memory Access 4) Bruk av I/O prosessor. 12-1 Memory Hierarchy Generelt er minnesystem bestanddeler mindre og raskere jo nærmere CPU en befinner seg i hierarkiet. Ulike deler av minnehierarki: raskt og kostbart vs langsomt og billig. (register, hurtigbuffer, hovedminne, hard disk, ( )) For at hierarkiet skal kunne utnyttes mest mulig effektivt må en stor andel av CPU instruksjoner og operand fetch kunne kunne foregå fra cache (=hurtigbuffer) uten at langsommere deler av det hierarkiske minnesystemet må aksesseres. Fetch fra hard disk tar lang tid, og typisk vil det føre til interrupt av CPU mens en hel blokk hentes inn fra HD. Det er ønskelig med en situasjon der gjennomsnittlig fetch time er tett ned mot tiden det tar å aksessere cache, samtidig som CPU ser et addresserom vesentlig større enn det som finnes i hovedminnet. 12-1 Memory Hierarchy - regneeksempler Forutsetninger: Det antas at minnet kan oppfattes som delt i to, med en halvdel for instruksjoner, og en for data, og at hver halvdel har en aksesstid på 5 ns. Målet er 2 x 2 GB minne, hvert med 5 ns aksesstid, til en fornuftig pris. Eks. 1: Om DRAM fra 96 benyttes, til $ 20/Byte og med 80 ns aksesstid: Pris på to 2-GB minneenheter: $ 81920. Eks. 2: Siden forutsettes at 2 cache minner benyttes og at dette tillater en instr. og en operand å bli hentet ( fetch et ), eventuelt en instruksjon hentet og en lagret ( stored ) i løpet av en klokkesyklus. Cache antas å kunne operere med sammenliknbar hastighet med CPU. % 12-1 Memory Hierarchy - regneeksempler Det antas (ikke urealistisk i følge M&K) at mesteparten av minneaksessene tar 5 ns. Dersom de siste 5 % tar 80 ns blir gjennomsnittlig aksesstid (0.95 x 5ns + 0.05 x 80 ns) =8.75 ns. Målet med at de fleste minneaksessene skal ta 5 ns er nådd, men fremdeles er problemet med det dyre DRAM minnet der. Dersom hierarkiet utvides med harddisk (HD), og det stadig forutsettes at 95 % av aksessene er kun til cache, 4.999995 % er til hovedminne og resten til hard disk, som har aksesstid 16 ms, blir gjennomsnittlig aksesstid (0.95 x 5 ns + 0.04999995 x 80ns + 0.00000005 x 1.6x10 7 ns)=9.55 ns. I 95 % av tilfellene tar minneaksess 5 ns, mens gjennomsnittet har økt relativt ubetydelig etter innføring av HD. Men prisen: Anta cache fordyrer med $ 100, 32 MB Dram til $ 20/Mbyte og 4 GB HD til $ 800: 1540 $ totalt, mindre enn 2 % av pris uten cache og HD. Tilsynelatende hurtig, stort minne, har ved hjelp av hierarkisk minne blitt oppnådd til en akseptabel pris.