6/3/2015© Mats Brorsson1 Hur mycket snabbare...... blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört.

Slides:



Advertisements
Liknande presentationer
IT för personligt arbete F5
Advertisements

EDA 480 – Maskinorienterad Programmering
Dator.
Simulering av MIPS32 4K med TLB och CACHE Andrei Krougliak Simon Olsson Luleå tekniska universitet 2005.
Hardware OS Data, User settings Applications IT utmaningar Beroenden mellan PC komponenter hämmar flexibiliteten Vad förändras Beroenden bryts med hjälp.
En avancerad miniräknare
Flynns taxonomi ● Single Instruction, Single Data (SISD) – en instruktion i taget opererar på ett värde i taget ● Single Instruction, Multiple Data (SIMD)
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Datorarkitekturer och operativsystem
Sökning och sortering Linda Mannila
Persondatorer Datorns internminne (Kapitel 6)
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
Kurslitteraturen består av 11 kapitel som var och en belyser olika delar av automatiseringstekniken. De utgör fristående delar men har en gemensam röd.
William Sandqvist System Management functions S Burd, Systems Architecture ISBN Figure 11-2 CPU Management Memory Management.
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
©annax1 PC-teknik Minnen. 2 MINNEN Segmenterat minne 16 bits segmentregister + 32 bits offset = 64k*4Gbyte = 512Tb obs! Ofta används inte alla 16 bitarna.
23 August 2014 IS1200 Datorteknik vt09, föreläsning 10, (E och I mfl)1 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory.
Adressöversättning zRepetition av virtuellt minne zTLB - cacheminne för sidtabellinformation zVirtuellt eller fysiskt adresserat cacheminne zTricket -
Tumregel z10 procent av minnet används 90 procent av tiden.
Skrivning i cacheminnen zTräff zMiss zSkrivbuffert.
Adressöversättning Repetition av virtuellt minne
Programmeringsteknik K och Media
Föreläsning 5 Python: argument från kommando-tolken
Distribuerade filsystem
DAV B04 - Databasteknik Indexering (kap 14).
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 9: Virtuellt minne.
Pekare och speciell programstruktur i inbyggda system
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Föreläsning 5 måndag 5e november 2007 Datorsystem 1 och Datorarkitektur 1 Föreläsning 5 måndag 5e november 2007 Datorsystem 1 och Datorarkitektur 1.
Tabeller.
Vektorer (klassen Vector) Sortering
1 Pass 2 Allmän IT Hårdvara Hårdvara Hårdvara = Maskinvara Hårdvara är ett samlingsnamn för olika fysiska tillbehör till en dator. T. ex. Systemenhet.
Bios = Basic Input/Output System
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( ) Innehåll: -Producent – konsument problemet -Förmedling av fildeskriptorer.
Prestanda ● Vad påverkar datorprestanda ● Hur mäter man datorprestanda ● Räkna klockcykler - ett sätt att analysera ● Amdahls lag - gräns för förbättringar.
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
31 March 2015IS1200 Datorteknik, förel 101 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory Access 3. Byte-code i JAVA.
William Sandqvist Övning 8 Minnessystem Lokalitet Cacheminnen William Sandqvist
1 386 Från s bits adressbuss –=>4GB minne kan adresseras 32 bits databuss max klockfrekvens: 40MHz Protected mode –virtuellt minne –segmentering.
Cacheminnen: skrivning ● Träff ● Skrivbuffert ● Miss.
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
Emulatorkonstruktion Schema Inledning Andra metoder Mina metoder Demonstration av min C64-emulator Sammanfattning och frågor.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 9: Implementering av underprogram Aktiveringsposter Exekveringsstacken Implementera dynamisk räckvidd.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( ) Innehåll: - Förening av dataströmmar -Blockerande I/O multiplexering -Icke blockerande.
22 April 2015IS1200 Datorteknik, föreläsning 11 IS1200 Datorteknik Föreläsning 1 Introduktion.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
Föreläsning 1 Introduktion till kursen. Algoritmer
12 June G1518, Föreäsningl 8, vt07 (E/I/CL)1 2G1518 Datorteknik Föreläsning 8 Cache Memory vt 2007 (period 3-4) för E, I och CLMDA.
Avkodning av minnen (och I/O)
14 July 2015 IS1200/2G1518 Datorteknik, föreläsning 2, ht2007 (D2)1 IS1200 Datorteknik Föreläsning 2 Vi bygger en processor Kursboken, valda delar av kapitel.
16 July 2015 IS1500 Datorteknik och komponeneter, föreläsning DC-F2 1 IS1500 Datorteknik och komponenter Föreläsning DC F2 Kretsar med återkoppling Minnen.
Denna föreläsning zVad kursen handlar om zKursupplägg, litteratur, bra att veta zPrestanda - ämnet för dagen.
4 August 2015 IS1200 Datorteknik föreläsning CE - F91 IS1200 Datorteknik Övning 10.
Kundundersökning juli 2010 Operatör: Destination Gotland Trafikslag: Färja Sträcka: Visby - Nynäshamn.
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
William Sandqvist KIA’s fabrik i Slovenien En bil i minuten lämnar bandet – tar det en minut att bygga en bil? Nej för KIA's fabrik utanför.
Datorteknik Lektionsmål: – Datorns delar – ESD Kursmål: – Datorsystems uppbyggnad, komponenter och kringutrustningar. – ESD-säker hantering av mikroprocessorer.
Webbanmälan till högskolestudier HT 2017
Så här anmäler du dig till högskolan VT18
Bygga dator: CPU och minne
Så här anmäler du dig till högskolan HT18
Grundläggande datavetenskap, 4p
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Presentationens avskrift:

6/3/2015© Mats Brorsson1 Hur mycket snabbare blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört med en 1,4 GHz Duron?... blir det med 256 Mbyte RAM-minne jämfört med 128 Mbyte RAM-minne?... blir det med 50 ns accesstid till DRAM jämfört med 70 ns?

6/3/2015© Mats Brorsson2 Föreläsning 7 Datorteknik ak Minnen DRAM och SRAM Minneshierarkier Cacheminnen

6/3/2015© Mats Brorsson3 SRAM — DRAM SRAM-cellen är snabb och kan hålla data utan behov av uppdatering DRAM-cellen är mindre och billigare men långsam och behöver uppdatering SRAM-cell (princip)DRAM-cell

6/3/2015© Mats Brorsson4 Avkodning av adresser DRAM innehåller fler minnesceller vilket leder till långsammare avkodare R a d a v k o d a r e Kolumnavkodare 512   4 cellmatris Inbuffer D i f f. - f ö r s t ä r k a r e A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 A 0 A 1 0 A 1 1 A 1 2 A 1 3 A 1 4 A 1 5 A 1 6 A 1 7 I/O CE WE OE 2048  cellmatris Kolumnavkodare Drivare/förstärkare R a d a d r e s s K o l u m n a d r e s s Adress Data buffert RD/WR Klock- och uppdateringskretsar RAS CAS R a d a v k o d a r e Data SRAM DRAM

6/3/2015© Mats Brorsson5 Minnesteknologier Snabba minnen är dyra! Billiga minnen är långsamma! Hur kan vi skapa det dyra (och snabba) minnets prestanda till det långsamma minnets kostnad?

6/3/2015© Mats Brorsson6 Referenslokalitet Tidslokalitet – De minnesceller som nyss använts kommer med stor sannolikhet snart användas igen. Rumslokalitet – De minnesceller som ligger nära de som nyss använts kommer med stor sannolikhet att användas även de.

6/3/2015© Mats Brorsson7 Minneshierarki Ett sätt att utnyttja referenslokalitet Nivå M 1 –M 2 sköts av ett cache-minne Nivå M 2 kallas ofta huvudminne Nivå M 2 –M 3 kallas virtuellt minne CPU M1M1 M2M2 M3M3 SRAM DRAM Disk 1CPUn försöker accessa minnet på adress A. Om A finns i M 1 utförs minnesreferensen. 2Annars överförs ett block minne (B 1 ) innehållande A från M 2 till M 1. Referens utförs i M 1. 3Om adress A ej heller finns i M 2 hämtas ett block (B 2, B 2 > B 1 ) innehållande A från M 3 till M 2. Återgå till punkt 2. B2B2 B1B1

6/3/2015© Mats Brorsson8 Prestandaaspekter Två nivåers minneshierarki: M 1 – M 2 Kostnad: Träffsannolikhet (hit ratio): Medelaccesstid: S: storlek på minnet c: kostnad per bit N: Totala antalet minnesreferenser N 1 : Antalet minnesreferenser som kan göras i M 1 t 1 : Accesstid i M 1 t miss :Tidsåtgång vid miss i M 1

6/3/2015© Mats Brorsson9 Minneshierarkier – problem Antag en 2-nivåers hierarki, M 1 och M 2 Fyra frågor: 1.Var i M1 kan ett block placeras? (block placement) 2.Hur hittar man ett givet block i M 1 ? (block identification) 3.Om M1 är fullt, vilket block ska då bytas ut för att ge plats åt ett nytt block? (block replacement) 4. Vad händer vid skrivningar? (write policy)

6/3/2015© Mats Brorsson10 Cache – adressavbildning Enklaste exemplet: direkt adressavbildning Minne 4 block cache med direkt adressavbildning Adress A B C D E F Cache Index En cache med k block avbildar block i i minnet på block i mod k i cacheminnet.

6/3/2015© Mats Brorsson11 Adressetikett (tag) och index Ex: 0x03Exempel: 0x50 0x50 Index N -1 : 2 N Byte cache Direkt adressavbildning Byte 0 Byte 1 Byte 2 Byte 3 Byte 2 N -1 0N31 : Adressetikett (tag) Adressetiketten lagras som en del av cacheminnets tillstånd “Valid”-bit : 32 bitars adress 2 N byte i cacheminnet, blockstorlek 1 byte Index är de N minst signifikanta bitarna i adressen

6/3/2015© Mats Brorsson12 Exempel på cacheaccess Access Start M [00001] (miss) TagDataV Access Misshantering: Läs Data Skriv Tag & Sätt V M [01010] 000M [00001] Läs Data Skriv Tag & Set V M [00001] 010M [01010] Access (Träff) 000M [00001] 010M [01010]Access (Träff) Tråkig nödvändighet: Det blir många missar vid starten Kallmissar

6/3/2015© Mats Brorsson13 Större cacheblock tagvalid =? & Träff/Miss? Data tagindex block offset block 0 block 1 block 2 block 3 block 4 block 5 block 6 block 7 Byte Cache med 64 byte Blockstorlek 8 byte

6/3/2015© Mats Brorsson14 Alternativa adressavbildningar Hög grad av associativitet ger större frihet vid placering av block Låg grad av associativitet ger färre block att söka för att avgöra om blocket finns i cachen eller ej

6/3/2015© Mats Brorsson15 Organisationen hos en cache med fullt associativ adressavbildning word 0word 1word 2word n-1tagvalid... =? & Hit/Miss? Data tag block offset =? & &  1 block 0 block 1 block b-1

6/3/2015© Mats Brorsson16 Organisationen hos en cache med mängdassociativ adressavbildning word 0word 1word 2word n-1tagvalid =? & Hit/Miss? Data tagindex block offset block 0 block 1 block b-1 block b-2 =? & mängd 0 mängd b/2-1

6/3/2015© Mats Brorsson17 Vad händer vid en skrivning? Antag att blocket finns i cacheminnet: 1.Write through – Skrivningen utförs i både cacheminnet och huvudminnet 2.Write back – Skrivningen utförs endast i cacheminnet, blocket måste skrivas tillbaka till huvudminnet vid blockutbyte Två sätt att hantera missar vid skrivning: 1.”Allocate on write” – Blocket läses in i cacheminnet 2.”No allocate on write” – Blocket läses inte in i cacheminnet, men huvudminnet uppdateras

6/3/2015© Mats Brorsson18 Blockstorlekens effekt på prestanda Större block utnyttjar rumslokaliteten men tar lång tid att hämta vid miss och fyller cachen snabbt. Mindre block utnyttjar tidslokaliteten men man hämtar inte så mycket varje gång.

6/3/2015© Mats Brorsson19 Variationer på DRAM FPM, EDO Utnyttjar det faktum att minnesaccesser inte är slump- mässiga En rad i DRAM- matrisen läses in i ett register SDRAM Har ett synkront gränssnitt till processorn (max 800 Mbyte/s) Rambus En ny busstandard för DRAM (max 1,6 Gbyte/s)

6/3/2015© Mats Brorsson20 Minnen: Sammanfattning SRAM och DRAM SRAM används för cacheminnen DRAM används för huvudminne Minneshierarkier Cacheminnen Var i cachen kan ett block placeras? Hur hittar man ett givet block i cachen? Om cachen är full, vilket block ska då bytas ut för att ge plats åt ett nytt block? Vad händer vid skrivningar?