TSEA28 Datorteknik Y (och U)

Storlek: px
Starta visningen från sidan:

Download "TSEA28 Datorteknik Y (och U)"

Transkript

1 TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvi, ISY TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Dagens föreläsning Latens/genomrömning Minneyper Läsminne (ROM) Läs och skriv minnen (RAM) Cache Princip Exempel

2 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Praktiska kommentarer Laboration 5 kommer jueras (anvisningarna skrivs om) Laboration 4 tips Sorteringsalgoritm använder A > B i flödesschemat Exemplet på inruktion är BGE motsvarande A B Sorteringävlingen deadline: Tisdag /5 kl :59. Jag ska kunna ladda design, ändra värden i PM adress E-FF, trycka på regs=, nolläll klockcykler, och sedan Kont. Sia maskinkodsinruktionen ska vara HALT från :a delen av labben. TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Praktiska kommentarer, forts. Vad säger flaggor vid subtraktion A-B? Subtraktion implementeras som A+(-B), dvs vänd tecken på B och lägg ihop. -B fås genom att vända alla bitar i B och lägga till i LSB (minnessiffra till höger) Z: om subtraktionen gav noll som svar, dvs A=B C: om subtraktionen gav carry ut, gäller positiva heltal N: differensen är negativ (om differensen kan representeras) O: spill (overflow) när svaret beräknades (för -komplemental) Exempel (an 4-bitars tal => talområde -8 till +7), A-B = A+(-B) 6-4= 4-6=- -4-6=- 4-(-6)= -8-7=-5 7-(-8)=5 OBS: 5-bitar = -= = -4= = -6= 7= -7= 8= -8= C= C= C= C= C= C= = -= N= N= N= N= N= N= 5= -5= O= O= O= O= O= O= Notera O=N respektive O<>N

3 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Enkel RISC-baserad ruktur Enkelt exempel från kursboken (avsnitt 7.) PC, regierfil och minne klockade Chapter 7 Handout från TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exekveringid i exemplet Klockfrekvens begränsas av länga väg från regier till näa regier Inruktion LDR D,(S,#L) ; Läs minnescell som (S) +L pekar på t cycle = t pc + t Imem + t RF + t ALU + t Dmem + t MPLX + t RF Chapter 7 Handout från

4 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Pipelining: olika delar av flera inruktionener körs samtidigt Flera inruktionen hanteras parallellt Hämta inruktion, Läs operand,beräkna (ALU-operation), Minnesaccess, Skriv till regierfil Implementeras med klockade regier mellan de olika enheterna Figuren lite missvisande: från väner tidigare inruktioner, från höger senare inruktioner Chapter 7 Handout från TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Pipelining är en möjlig lösning Pipelining tillåter högre klockfrekvens Ökar maximalt antal operationer per sekund Minskar INTE tid för en enskild operation att slutföras Databeroende mellan operationer begränsar hur användbar ökning av klockfrekvens är Villkorliga hopp behöver flaggorna satta innan hopp kan göras Behöver NOP (No-operations) läggas till mellan compare och villkorligt hopp? Tillåter flaggorna att beräknas innan villkorliga hoppet avgör om hopp ska tas

5 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Begrepp: latens, genomrömning Latens: Hur lång tid det tar att få utföra en komplett inruktion Genomrömning: Hur många inruktioner per sekund som kan utföras /Genomrömning = hur ofta en ny inruktion artas För pipelining: Latens > /Genomrömning latens /genomrömning Chapter 7 Handout från TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Problem med högre klockfrekvenser Alla delar i datorn är inte lika snabba Regier skickar fort ut värden på bussen ALU går olika fort beroende på operation Shift, AND, OR etc. går fort Add/sub går långsammare Multiplikation ännu långsammare Minnen är långsamma Större minnen långsammare än mindre Fysisk gräns: ljusets haighet GHz motsvarar ps/klockcykel = cm (vakum!) Långsammare på chip pga material

6 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Minnen (program och datamminne) Utvecklingen av läshaighet för minne går långsammare än för processorn Ca 5% bättre processorpreanda per år Ca % bättre minnespreanda per år Större och örre skillnad, processorn måe ofta vänta på minnet Olika haighet och pris för olika minnen Finns många typer TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Minnesegenskaper Många olika egenskaper intressanta Processorns användning av minnesceller Kan värde skrivas in i minnesceller (read-only) Latens för läsning och skrivning Genomrömningshaighet för läsning och skrivning Finns värdena kvar efter att römmen slagits av (flyktiga) Tekniska/ekonomiska begränsningar Pris per bit i minnet Storlek på minnet Speciell hantering för att behålla värdet (dynamiska)

7 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Minnesegenskaper läs/skriv Enbart läsning (ROM, Read Only Memory) Processorn kan bara läsa, inte skriva till minnet Maskprogrammerade ROM Programmeras vid tillverkning, billigt i ora volymer PROM: Programmable Read Only Memory Skrivning kan göras gång, ofta i speciell programmeringsutruning EPROM: Eraseable Programmable Read Only Memory Minnet kan raderas i speciell utruning (T ex UV) och programmeras om EEPROM: Electrically Eraseable Programmable Read Only Memory Minnet kan raderas cell för cell eller block elektriskt, eventuellt utan speciell utruning FLASH: Speciell typ av EEPROM Kan inte radera enaka celler, utan ora block (kbyte eller Mbyte) raderas per gång. Långsamma att skriva. TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Minnesegenskaper läs/skriv, forts. Läs och skriv (RAM, Random Access Memory) Processorn kan skriva och läsa till varje cell i minnet Beroende på teknik kan värdet i minnet försvinna om man inte läser värdet inom viss tid SRAM: Statiskt RAM, värdet ligger kvar så länge römmen är på DRAM: Dynamiskt RAM, värdet försvinner om inte det läses och skrivs tillbaks inom viss tid (- ms mellan varje läsning) Bygger på lagring av laddning i en kondensator som sakta laddas ur Jämför skriva i sanden på en rand med vågor. Texten blir til slut oläslig om den inte skrivs om med jämna mellanrum SRAM mycket dyrare per minnescell och snabbare än DRAM

8 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Minnesegenskaper flyktigt/icke flyktigt Flyktigt minne, förlorar informationen vid spänningsbortfall (engelsk term: volatile) Måe initieras/fyllas när römmen slås på (t ex SRAM, DRAM) Icke-flyktiga minnen, behåller värde även om römförsörjning tas bort T ex: ROM, EPROM, FLASH Måe finnas icke-flyktigt minne i en dator Annars vet maskinen inte vad som ska göras när römmen slås på BIOS, bootsekvens, etc. Brukar vara av ROM typ FLASH vanligt (tillåter uppdatering av bootsekvens etc.) TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Andra typer av minne På gång? Intel D Xpoint Snabbt, icke-flyktigt, kompakt? Lagring av information som magnetisk egenskap Hårddisk, magnetiska media (dock inte som program och dataminne) Ferromagnetiska minnen (FE-RAM), icke-flyktigt utan behov att raderas Seriella minnen: lång väntan på :a värdet, sedan ganska snabbt näa värde i samma sekvens (gammal teknik) Bubbelminnen (magnetiska öar skiftas runt i en enhet) Kvicksilverminnen (ljudvågor skickas genom kvicksilverränna) Kassettband, tape

9 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Sammanfattande minneshierarki (data och programminne) RAM Läs och skrivbara, Flyktiga, snabba, ganska dyra SRAM snabba, dyra DRAM långsammare, mer komplicerad, billigare ROM Enda läsning, icke-flyktiga, snabba, varierande pris FLASH är snabba, ganska billiga, och omprogrammerbara Sekundärminnen Hårddiskar (mekaniska, SSD), flash-minnen Tape, molntjäner TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Snabbare minnesaccess Använd ett litet snabbt minne (cacheminne) Ungefär lika snabbt som reen av processorn Slipper vänta på läsning/skrivning till lilla minnet När cacheminnet fullt/saknar data skickas data till/från långsammare billigare minne (primärminnet). Behöver inte spara mellanvärden Skriver enda slutresultatet till primärminnet Gör inte så mycket om primärminnets latens or Jfr program på en hårddisk Processor Cache- Minne Primär- Minne

10 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Uppdatering av cacheminnet Kan hanteras manuellt/programmeringsmässigt Görs mha operativsyem när det gäller hårddisk primärminne primärminnet fungerar som cacheminne för hårddisk Vill automatisera kopiering Processor anger adress att läsa eller skriva (liten snabbt minne) svarar med data om kopia från långsamma minnet finns i cacheminnet Långsamma minnet läses om data inte finns i cacheminnet, kopia sparas i cacheminnet t behöver komma ihåg vilken adress i primärminnet varje minnescell är en kopia av Processor Cache- Minne Primär- Minne TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- ts funktion Vanliga program har lokalitet Programmet läser och skriver data i vissa delar av minnet De delar av minnet som inte används behöver inte kopieras till cacheminnet Samma adresser läses ofta flera gånger Dela upp primärminnet i små block (cachelines) Hantera blocket som en enhet Läs alla eller skriv alla värden i ett block Block överlappar aldrig varandra Block artar på adress i primärminnet med alla bytepositionsbitar i adressen = $5 $5 $5 $4 $5678 $abcd $beef $beef $beef $ $ $ Adress från processor 4.. t Byteposition i cacheline

11 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- ts ruktur Multipla cachelinjer (cachelines) Innehåller kopia av block från primärminnet Varje cachelinje i cacheminnet beår av (kopia av primärminnet) Vanlig orlek 6 eller bytes (8 eller 56 bit per cacheline) Märkarea () anger adressen till kopians orginal i primärminnet Statusbitar (). Giltigt innehåll i, ändrad data etc. $5 $5 $5 $4 $5678 $abcd $beef $beef $beef $ $ $ Adress från processor 4.. t Byteposition i cacheline TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Exempel på fördel med datacache Enkelt exempel med 68 Program: Summera tal #5,d $5,a d d (a)+,d d,d #,d An minnesaccess till primärminne tar 5 klockcykler An t läses på klockcykel Inruktionerna ligger redan i t $5 $5 $5 Hela programmet läses in till cacheminnet när :a inruktionen ska artas $4 $5678 $abcd $beef $beef $beef $ $ $

12 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Exempel utan datacache Räkna samman antal klockcykler som krävs för alla inruktioner #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d. Normal inruktion klockcykel Sammanlagt: klockcykel. Normal inruktion klockcykel Sammanlagt: klockcykler. Normal inruktion klockcykel Sammanlagt: klockcykler TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exempel utan datacache, forts. Räkna samman antal klockcykler som krävs för alla inruktioner (eg 4 till 6) #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d 4. Normal inruktion klockcykel Sammanlagt: 4 klockcykler 5. Läsning i primärminnet Address $5 5 klockcykler Sammanlagt: 54 klockcykler 6. Normal inruktion klockcykel Sammanlagt: 55 klockcykler

13 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exempel utan datacache, forts. Räkna samman antal klockcykler som krävs för alla inruktioner (eg 7 till 9) #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d 7. Normal inruktion klockcykel Sammanlagt: 56 klockcykler 8. Normal inruktion klockcykel Sammanlagt: 57 klockcykler 9. Läsning i primärminnet Address $5 5 klockcykler Sammanlagt: 7 klockcykler TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exempel utan datacache, totalt Fortsätt med alla 5 additionerna Totalt 4+5*4 inruktioner utförs 4 inruktioner Varje inruktion tar klockcykel att hämta om ingen dataminnesaccess Totalt 5 dataminnesläsningar Dessa inruktioner tar 5 klockcykler var Totalt antal klockcykler (utan cache för data) #5,d $5,a d d (a)+,d d,d #,d 4*+5(*+*5) = 654 klockcykler

14 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exempel med datacache Anande om cacheegenskaper Cacheline 6 bytes lång Cache är 496 bytes or 496/6 = 56 cachelines i cacheminnet Fullt associativt Vilken address som hel kan ligga i varje cacheline Address från processorn bitar lång Tag måe vara -4 = 8 bitar atus Adress från processor 4.. #5,d $5,a d d (a)+,d d,d #,d Byteposition i tom $ $ $ $ tom $ $ $ $ tom $ $ $ $ tom $ $ $ $ TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exempel med datacache, forts. Räkna samman antal klockcykler som krävs för alla inruktioner (eg - precis som förra gången) #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d. Normal inruktion klockcykel Sammanlagt: klockcykel. Normal inruktion klockcykel Sammanlagt: klockcykler. Normal inruktion klockcykel Sammanlagt: klockcykler

15 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exempel med datacache, forts. Räkna samman antal klockcykler som krävs för alla inruktioner (eg 4-5) #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d 4. Normal inruktion klockcykel Sammanlagt: 4 klockcykler 5. Läsning i primärminnet Finns den i cacheminnet? TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Exempel med datacache, forts. Läsning address $5 Finns inte i cacheminnet Kräver läsning av primärminnet, 5 klockcykler Kopia läggs i cache (inklusive efterföljande 5 byte) Tag är address minus bitar som erar i n 4 sia bitarna väljer byte i atus valid $5 $4 $5678 $abcd tom $ $ $ $ tom $ $ $ $ tom $ $ $ $ $5 $5 $5 $4 $5678 $abcd $beef $beef $beef $ $ $ #5,d $5,a d d (a)+,d d,d #,d 5. Cachemiss, 5 klockcykler Sammanlagt: 54 klockcykler

16 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Exempel med datacache, forts. #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d #5,d $5,a d d (a)+,d d,d #,d 6. Normal inruktion klockcykel Sammanlagt: 55 klockcykler 7. Normal inruktion klockcykel Sammanlagt: 56 klockcykler atus 8. Normal inruktion klockcykel Sammanlagt: 57 klockcykler valid $5 $4 $5678 $abcd tom $ $ $ $ tom $ $ $ $ tom $ $ $ $ TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Exempel med datacache, forts. Läsning address $5 Finns i cacheminnet ( matchar adressens -del) Kräver ingen läsning av primärminnet Konad: klockcykel 4 läga bitarna i adressen väljer byte i cacheline () atus valid $5 $4 $5678 $abcd tom $ $ $ $ tom $ $ $ $ tom $ $ $ $ $5 $5 $5 $4 $5678 $abcd $beef $beef $beef $ $ $ #5,d $5,a d d (a)+,d d,d #,d 9. Cacheträff klockcykel Sammanlagt: 58 klockcykler

17 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Exempel med datacache, forts. Cacheträffar fås för addresser $54 - $5E Kräver ingen läsning av primärminnet Sammanlagt 4*+*5+7*+8* = 85 klockcykler Ny cachemiss för läsning av adress $5 Läs 6 bytes med art från adress $5 till rad i cache Uppdatera till address (borträknat 4 LSB-bitar) Tar 5 klockcykler atus valid $5 $4 $5678 $abcd tom $ $ $ $ tom $ $ $ $ tom $ $ $ $ $5 $5 $5 $4 $5678 $abcd $beef $beef $beef $ $ $ #5,d $5,a d d (a)+,d d,d #,d 7. Cachemiss 5 klockcykler Sammanlagt: 5 klockcykler TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Exempel med datacache, totalt Efter 4 inruktioner (samma som tidigare) 7 cachemissar (7*6 = byte = 56 ord) Sammanlagt 4*+5**+(5-7)*+7*5 = 547 klockcykler Jämför utan cache: 654 klockcykler Cache ger 5 gånger snabbare exekvering! #5,d $5,a d d (a)+,d d,d #,d

18 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Viktig kommentar ang. ordlängder I exemplet råkar bytepositionen i cacheline vara 4 bitar lång Stämmer bra med antal bitar i en hexadecimal siffra Valt för att lättare se hur och minnesadress hänger ihop Kan vara andra värden! Ex: 5 bitar byteposition ( byte/cacheline) Tänk binär representation! $54 = Adressen $54 delas då upp: Tag: = = $8 Byteposition: = $4 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel Summera värden två vektorer placerade på address $5 och $6, placera svar i vektor på address $6 Vektorlängd: 5, elementorlek ord ( byte) Ungefärligt program lea a,$5 lea a,$6 d (a,d.w),d ; erad addr a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff tom tom tom tom 4 tom

19 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel, forts. Föra minnesåtkom, cachemiss på adress $5 Ladda in adress $5 till föra lediga cacheline ( ) Läs 6 byte till Sätt till adress förutom de sia 4 bitarna (a,d.w),d ; erad address a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd tom tom tom 4 tom TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel, forts. Andra minnesåtkom, cachemiss på adress $6 cachemissar totalt Ladda in adress $6 till föra lediga cacheline ( ) Läs 6 byte till Sätt till adress förutom de sia 4 bitarna (a,d.w),d ; erad address a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd valid $6 $4 $ $ tom tom 4 tom

20 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel, forts. Tredje minnesåtkom, skrivning på adress $6 Ingen cachemiss (uppdatera inte primärminnet) cachemissar totalt Spara nya datat till motsvarande plats i cacheminnet Värdet i d = 4+4=5555, indikera ändrat värde i cacheline (dirty) Index, :a ordet i n (byte och ) (a,d.w),d ; erad address a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd dirty $6 $5555 $ $ tom tom 4 tom TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel, forts. Fjärde minnesåtkom, läsning på adress $5 Cacheträff, data finns i cache, :a ordet cachemissar totalt Femte minnesåtkom, läsning på adress $6 Cacheträff, data finns i cache, :a ordet cachemissar totalt (a,d.w),d ; erad address a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd dirty $6 $5555 $ $ tom tom 4 tom

21 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel, forts. Sjätte minnesåtkom, skrivning på adress $6 Cacheträff, data skrivs till, :e ordet cachemissar totalt Inga cachemissar för adresser till och med $5e respektive $6e cachemissar totalt (a,d.w),d ; erad address a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd dirty $6 $5555 $6789 $abce tom tom 4 tom TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel, forts. 4:e minnesåtkomen, Cachemiss på adress $5 cachemissar totalt Ladda in adress $5 till föra lediga cacheline ( ) Läs 6 byte till Sätt till adress förutom de sia 4 bitarna (a,d.w),d ; erad address a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd dirty $6 $5555 $6789 $abce valid $5 $beef $beef $beef tom 4 tom

22 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Mer komplicerat exempel, forts. Fortsätter tills alla 5 ord läs från adress $5-$564 respektive $6-$664 Totalt 4 cachemissar Alla skrivningar hamnar i cache Vid någon senare tidpunkt töms cacheline och skrivs till primärminnet T ex pga full cache eller speciell signal från processorn (a,d.w),d ; erad address a+d (a,d.w),d ; adress a+d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd dirty $6 $5555 $6789 $abce valid $5 $beef $beef $beef dirty $6 $cfef $beef $bef 4 valid $5 $ $ $ TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Fullt associativ cacheruktur Fördel Enkel att använda (och förå?) Alla cachelines kan placeras var som hel i cacheminnet Nackdel Dyr Använder hela cacheminnet Varje cacheline innehåller jämförelsehårdvara för att jämföra och adressens -del Tag är lång (antal bitar i adress 4 i exemplet ovan) Långsam Resultat från alla jämförelser ska samlas ihop innan beslut om cache-hit eller cachemiss Adress från processor 4.. Byteposition i cacheline

23 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Direktaddresserad cache Varje cacheline från minnet kan bara placeras på en plats i cache Cache < Minne => flera olika minnesadresser placeras på samma plats i cache Del av adressen används för att beämma till cache Reen adressen sparas i för att ange vilken minnesline som finns i cache Enda en jämförelse per minnesaccess: Addressens höga bitar jämfört med lagrad Enklare implementera, kan använda vanliga minnen Adress från processor Byteposition i cacheline jämförare för hela cache iället för jämförare för varje cacheline TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Direktaddresserad cache, exempel Samma uppgift som tidigare bitar adress bitar indikerar vilket minnesblock data kommer ifrån 8 bitar för att välja cacheline i cacheminnet 4 MB minne, 6 byte/cacheline => 56 cacheline 4 bitar ering inom n i varje cacheline 6 byte per cacheline () (a,d.w),d (a,d.w),d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff tom tom tom tom 4 tom

24 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Direktaddresserad cache, exempel Minnesåtkom, cachemiss på adress $5. Enda får lagra data från adress $5 (bitar i adress = ) Läs 6 byte från adress $5, sätt till reen av bitarna i adress (bit till ) (a,d.w),d (a,d.w),d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd tom tom tom 4 tom TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Direktaddresserad cache, exempel Minnesåtkom, läsning på adress $6. Enda får lagra data från adress $6 (bitar i adress = ) Adress har = $6, cacheminne har = $5 => cachemiss! Måe ersätta innehåll i cacheline Läs 6 byte från adress $5, sätt till reen av bitarna i adress (bit till ) Totalt cachemissar (a,d.w),d (a,d.w),d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $6 $4 $ $ tom tom tom 4 tom

25 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Direktaddresserad cache, exempel Minnesåtkom, skrivning på adress $6. Adress har = $6, cacheminne har = $6 => cacheträff Markera data ändrat (dirty) Totalt cachemissar (a,d.w),d (a,d.w),d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff dirty $6 $5555 $ $ tom tom tom 4 tom TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Direktaddresserad cache, exempel Minnesåtkom 4, läsning på adress $5. Adress har = $5, cacheminne har = $6 => cachemiss! Behöver ersätta innehåll på i cache Dirty flaggan satt, skriv för data till primärminne (alla 6 byte) Totalt cachemissar (a,d.w),d (a,d.w),d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $5 $4 $5678 $abcd tom tom tom 4 tom

26 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Direktaddresserad cache, exempel Minnesåtkom 5, läsning på adress $6. Adress har = $6, cacheminne har = $5 => cachemiss! Totalt 4 cachemissar Varje läsning ger cachemiss i detta exempel Totalt cachemissar kommer ske Kunde lös om annan adress använts för en av vektorerna T ex $54 inället för $5 (a,d.w),d (a,d.w),d add.w d,d d,(a,d.w) add #,d cmp #5,d atus $5 $5 $5 $6 $6 $6 $4 $5678 $abcd $beef $beef $beef $ $ $ $4 $ $ $ $ $5 $fff $ffff $ffff valid $6 $5555 $ $ tom tom tom 4 tom TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Gruppassociativ cache en kompromiss Låt varje adress i primärminnet kunna placeras på flera ällen i cache Exempel I en fyrvägsassociativ cache kan en viss adress i primärminnet placeras i en av fyra cachelines I princip 4 direktadresserade cache placerade bredvid varandra, kräver 4 jämförelser per åtkom i cache I exemplet ovan skulle öka i längd Adress från processor bitar till, 6 bitar för till cacheline, 4 bitar för byteposition i cacheline Byteposition i cacheline

27 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Skrivning till cache, alternativ Writeback Skrivningar sker bara till cache Flagga indikerar om data måe skrivas till primärminne när cacheline töms Writethrough Skrivningar går alltid till primärminnet Kopia av värdet lagras också i cache Enklare att implementera, mindre effektivt TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Val av cacheline att ersätta, alternativ LRU Lea recently used Håll reda på vilken cacheline som inte använts på länge Dyrt att hålla reda på vilken som sena använts Random Slumpmässigt val. Billigare, dock örre risk ta fel Round-Robin/FIFO etc. Kaa ut den cacheline som varit i cachen läng, oberoende om den använts nyligen

28 TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Val av cache parametrar Associativitet Vanligen till 8 idag Stör vin när man går från direktmappad till -vägs associativ cache Högre associativitet betalar sig dåligt Vanligt ha separat data och inruktionscache Kallad nivå cache Multipla nivåer av cache möjliga T ex AMD multiprocessorer: Nivå, nivå, nivå cache innan primärminnet nås TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi Problem orsakade av cache Data från I/O Läsning av t ex atussignaler får inte lagras i cache (missar ändringar från externa signaler) Cache-koherens Om primärminnet kan skrivas från flera enheter (Multiprocessor) måe allas cache få reda på ändringen Notering: variabler i C gande med volatile kommer inte undan problemet med cache-koherens Behöver få hårdvara och/eller mjukvara hantera tömning av cache i vissa fall

29

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvist 8-4-6 TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Praktiska kommentarer Laboration 4 tips Sorteringsalgoritm använder A > B i flödesschemat

Läs mer

Föreläsningsanteckningar 5. Cacheminnen

Föreläsningsanteckningar 5. Cacheminnen Föreläsningsanteckningar 5. Cacheminnen Olle Seger 2012 Anders Nilsson 2016 1 Inledning Bakgrunden till att cacheminnen behövs för nästan alla datorer är enkel. Vi kan kallt räkna med att processorn är

Läs mer

Mer datorarkitektur. En titt I datorn Minnen

Mer datorarkitektur. En titt I datorn Minnen Mer datorarkitektur En titt I datorn Minnen von Neumann-modellen von Neumann-modellen CPU (Central Processing Unit) Styrenhet hämtar programinstruktioner ALU (Arithmetic and Logical Unit) utför beräkningar

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning Latens/genomströmning Pipelining Laboration tips Sorteringsalgoritm använder A > B i flödesschemat Exemplet

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning RISC Mer information om hur arkitekturen fungerar Begränsningar Lab extra tillfälle för redovisning

Läs mer

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen den 17 mars 2016 Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 17 mars 2016 Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki Minneshierarki, minnestyper och teknologier Minneshierarki Ideally one would desire an indefinitely large memory capacity such that any particular word would be immediately available. We are forced to

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

Läs mer

Jämförelse av skrivtekniker till cacheminne

Jämförelse av skrivtekniker till cacheminne Jämförelse av skrivtekniker till cacheminne 1 Innehåll 1. Sammanfattning 2. Inledning 3. Diskussion 4. Referenslista 1. Sammanfattning En rapport innehållande jämförelser av olika skrivtekniker till minnen

Läs mer

Digitalteknik och Datorarkitektur 5hp

Digitalteknik och Datorarkitektur 5hp Digitalteknik och Datorarkitektur 5hp Minnes-hierarkier och Cache 12 maj 2008 karl.marklund@it.uu.se issa saker använder vi ofta Dessa saker vill vi ha nära till hands Storleken har betydelse Litet är

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 13 Kent Palmkvist, ISY Dagens föreläsning Fortsättning cache Mer cacheexempel Bussar Enkla delade bussar, PCI Snabbare crossbar, PCI-express ARM AXI-buss DMA Intro

Läs mer

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Lunds Universitet LTH Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen

Läs mer

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943 Datorhistorik Föreläsning 3 Datorhistorik Datorns uppbyggnad, komponenter Processor, primärminne, sekundärminne Minneshierarkier Inbyggda system, stora datorer I think there is a world market for maybe

Läs mer

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering Fö 2: Minnen Introduktion, Klassificiering Primärminne Sekundärminne Minneshiearki Cache-minne Introduktion Primärminnet används för att lagra program och data som är aktuella att använda. Sekundärminnet

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-05-31 Lokal Kåra, T1, T2, U1, U15 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal

Läs mer

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU. Digitala System: Datorteknik Minnets komponenter ERIK LARSSON Enhet för indata CPU Enhet för utdata Sekundärminne Programexekvering Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program i

Läs mer

Minnet från processorns sida Datorteknik

Minnet från processorns sida Datorteknik Minnet från processorns sida Datorteknik ERIK LARSSON Processorn ger kommandon/instruktioner med en adress och förväntar sig data. Exempel: READ(ADR) -> DATA Fysisk adress Logisk adress READ 00001000 READ

Läs mer

Exempeltentamen Datorteknik, EIT070,

Exempeltentamen Datorteknik, EIT070, Lunds Universitet LTH Exempeltentamen Datorteknik, EIT070, Skrivtid: xx.00-xx.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng För betyg

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 13, Kent Palmkvist 2019-04-11 3 TSEA28 Datorteknik Y (och U) Föreläsning 13 Kent Palmkvist, ISY Praktiska kommentarer Sorteringsuppgiften: Glöm inte testa mer

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-10-20 Lokal TERE, TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

Datorteknik Y - Föreläsning 13

Datorteknik Y - Föreläsning 13 Datorteknik Y - Föreläsning 13 Andreas Ehliar 2014-04-08 Olika typer av minnen ROM (Read-only Memory) RWM (Read-Write Memory) Kallas väldigt ofta för RAM (För Random Access Memory Ej skrivbara minnen ROM

Läs mer

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är

Läs mer

Datorarkitekturer med Operativsystem

Datorarkitekturer med Operativsystem Lunds Tekniska Högskola Campus Helsingborg Datorarkitekturer med Operativsystem EDT621 Rapport Cacheminneshantering för ARM3-processorer 7 december 2015 Pierre Aupeix dat11pau@student.lu.se 1 Abstract

Läs mer

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Sammanfattning När processorns klockhastighet ökar medför det en ökning av instruktioner vilket såklart ökar

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)

Läs mer

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn. 1 2 En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn. Instruk=onerna =ll programmet som exekveras finns

Läs mer

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-06-02 Lokal G35, TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor

Läs mer

MESI i Intel Core 2 Duo

MESI i Intel Core 2 Duo MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den

Läs mer

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden.

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden. 1 F9: Minne Minneskonfiguration Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden 1 Minnen Minneskapslar kommer i olika storlekar, antal adresspinnar

Läs mer

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata Sekundärminne

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) 2 4 Dagens föreläsning TSEA28 Datorteknik Y (och U) Föreläsning 13 Kent Palmkvist, ISY 3 Praktiska kommentarer Laboration 5 kommer justeras (anvisningarna skrivs om) Grundidé och bakgrundsmaterial samma!

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

Läs mer

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

Minnen. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 4

Minnen. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 4 Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Minnen Slideset 4 Agenda Halvledarminnen

Läs mer

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal

Läs mer

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-10-26 Lokal TER1, TER3 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

6. Minnen. Associativt minne

6. Minnen. Associativt minne 6. Minnen Repetition cache-minnen, BPT Minnen allmänt ROM, RAM, DRAM, SDRAM, DDR MMU - Memory management Minnen NEXYS3 Block RAM, distributed RAM, DDR3 Associativt minne A= adress till PM/CM CL = cachelinens

Läs mer

Föreläsning 5 1 CPI Sammanfattning pipelining Cacheminnen

Föreläsning 5 1 CPI Sammanfattning pipelining Cacheminnen Föreläsning 5 1 CPI Sammanfattning pipelining Cacheminnen associativt minne som cache associativt minne som BPT direkt-mappad cache flervägscache (2,4) I/D-cache pmem 4 1 Så här långt är pipelining enkelt!

Läs mer

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3 Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Datorarkitektur Slideset 3 Agenda Datorns

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 13 Kent Palmkvist, ISY Dagens föreläsning Fortsättning cache 2 Laboration 5 har justerats (nya anvisningar) Grundidé och bakgrundsmaterial

Läs mer

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Laborationer Gå bara på tillfällen där du är anmäld. Moment svarar mot 1.5hp, dvs 40 timmar arbete Schemalagd tid: 4*2 (lektioner)+4*4(laborationer)=20 timmar Material: Finns på

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-08-15 Lokal TER4 Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15. Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa

Läs mer

Cache-koherens protokoll MESI och MOSI

Cache-koherens protokoll MESI och MOSI Handledare: Erik Larsson Lunds Tekniska Högskola HT2016 Cache-koherens protokoll MESI och MOSI Författare: Adnan Mohamed Abstrakt Cache koherens protokoll hanterar cacheminnet i ett multiprocessor system,

Läs mer

CE_O8. Cacheminne. Hemlaboration 2.

CE_O8. Cacheminne. Hemlaboration 2. IS1200 Lösningsförslag till övning CE_O8, 2015 CE_O8. Cacheminne. Hemlaboration 2. 8.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

Föreläsning 5 1 CPI. Sammanfattning pipelining Cacheminnen

Föreläsning 5 1 CPI. Sammanfattning pipelining Cacheminnen Föreläsning 5 1 CPI Sammanfattning pipelining Cacheminnen associativt minne som cache associativt minne som BPT direkt-mappad cache flervägscache (2,4) I/D-cache DSP = digital signal processor PC pmem

Läs mer

F9: Minne. Minneskonfiguration. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden

F9: Minne. Minneskonfiguration. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden Minneskonfiguration F9: Minne Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden 1 Minnen Minneskapslar kommer i olika storlekar, antal adresspinnar

Läs mer

Snapdragon 810: Cacheminnet

Snapdragon 810: Cacheminnet Snapdragon 810: Cacheminnet Daniel Eckerström dat14dec@student.lu.se Sammanfattnig Snapdragon 810 innehåller två olika processor arkitekturer, ARM Cortex-A53 samt Cortex-A57. Detta för att kunna på ett

Läs mer

Närliggande allokering Datorteknik

Närliggande allokering Datorteknik Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1

Läs mer

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING 1. INLEDNING 1.1. Milstolpar i datorns historia 1.2. Några viktiga begrepp 1.3. Mikrodatorns användningsområden 2. TALSYSTEM, KODER OCH BINÄR ARITMETK 2.1. Binära

Läs mer

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet Datorarkitektur - en inledning Organisation av datorsystem: olika abstraktionsnivåer System S den mest abstrakta synen på systemet A B C Ett högnivåperspektiv på systemet a1 b1 c1 a2 b3 b2 c2 c3 En mera

Läs mer

Föreläsningsanteckningar 4. Pipelining

Föreläsningsanteckningar 4. Pipelining Föreläsningsanteckningar 4. Pipelining Olle Seger 2012, olles@isy.liu.se 21 januari 2013 1 Inledning Denna föreläsning handlar om pipelining, som är den helt dominerande processorarkitekturen i dag. Man

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata

Läs mer

Associativt minne ... A= adress till PM/CM CL = cachelinens storlek CM = cacheminnets storlek. Tag = A/CL = A/2 4 = A(31:4) Adress. K tag.

Associativt minne ... A= adress till PM/CM CL = cachelinens storlek CM = cacheminnets storlek. Tag = A/CL = A/2 4 = A(31:4) Adress. K tag. 6. Minnen Repetition cache-minnen, BPT Minnen allmänt ROM, RAM, DRAM, SDRAM, DDR MMU - Memory management Minnen NEXYS3 Block RAM, distributed RAM, DDR3 Tidplan, bilda projektgrupper Associativt minne Tag

Läs mer

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

Rapport (1,5 HP) Lunds Universitet HT15

Rapport (1,5 HP) Lunds Universitet HT15 Rapport (1,5 HP) Lunds Universitet HT15 Cache-koherens protokoll i Intel Core i7 En rapport om cache-koherens och protokollet som används i Intel Core i7 processorer för att hålla minnet koherent Författare:

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Rahim Rahmani (rahim@dsv.su.se) Division of SAS Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Tentamensdatum: 2013-10-30 Tentamen består av totalt

Läs mer

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne. Datorteknik Filsystem - Inode ERIK LARSSON ABBA: Dancing Queen Minnets komponenter Programexekvering Enhet för indata CPU Enhet för utdata Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program

Läs mer

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ? Styrteknik grundkurs Digitala kursmoment Binära tal, talsystem och koder Boolesk Algebra Grundläggande logiska grindar Minneselement, register, enkla räknare Analog/digital omvandling SR-latch med logiska

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Huvudled (H) Trafikljus för övergångsställe Trafikljus för huvudled (H) Trafikljus: Sväng vänster (H->T) Gående - vänta Trafikljus för tvärgata (T) Tvärgata (T)

Läs mer

Digital IC konstruktion

Digital IC konstruktion Digital IC konstruktion Viktor Öwall Transistorn: en förstärkare Power Supply Korrekt? gate drain source En transistor kan användas på många olika sätt, t.ex. för att förstärka en elektrisk signal. Ground

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-08-16 Lokal TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 16 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 16, Kent Palmkvist 2017-05-22 2 Praktiska kommentarer Lab 5 redovisningstillfälle Onsdag 24/5 kl

Läs mer

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning Den digitala automaten Vägen från digitaltekniken till det kompletta styrsystemet Lund University, Sweden Insignaler Sekvensnät Utsignaler Kan vi betrakta insignalmönstret som en instruktion och det som

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30

Läs mer

LV6 LV7. Aktivera Kursens mål:

LV6 LV7. Aktivera Kursens mål: Aktivera Kursens mål: LV6 LV7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

Tentamen Datorteknik D del 2, TSEA49

Tentamen Datorteknik D del 2, TSEA49 Tentamen Datorteknik D del 2, TSEA49 Datum 2012-05-24 Lokal TER2 Tid 8-12 Kurskod TSEA49 Provkod TEN1 Kursnamn Datorteknik D del 2 Institution ISY Antal frågor 6 Antal sidor (inklusive denna 10 sida) Kursansvarig

Läs mer

IT för personligt arbete F5

IT för personligt arbete F5 IT för personligt arbete F5 Datalogi del 1 DSV Peter Mozelius 1 En dators beståndsdelar 1) Minne 2) Processor 3) Inmatningsenheter 1) tangentbord 2) scanner 3) mus 4) Utmatningsenheter 1) bildskärm 2)

Läs mer

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28 Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-05-29 Lokal KÅRA,T1,T2, Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 050113 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-10-18 Lokal TER1 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Digitala kursmoment D1 Binära tal, talsystem och koder D2 Boolesk Algebra D3 Grundläggande logiska grindar D4 Minneselement, register,

Läs mer

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18 F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot

Läs mer

Datorsystemteknik för E/D

Datorsystemteknik för E/D Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) 19/8 2000 1(8) Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) Datorsystemteknik för E/D 19/8 2000 Tentamensdatum:

Läs mer

Uppgift 1: a) u= a c + a bc+ ab d +b cd

Uppgift 1: a) u= a c + a bc+ ab d +b cd Uppgift 1: a) u= a c a bc ab d b cd b) a b c d u 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 040117 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering

Läs mer

Datorsystemteknik DAV A14 Föreläsning 1

Datorsystemteknik DAV A14 Föreläsning 1 Innehåll Datorsystemteknik DAV A14 Föreläsning 1 Kursinformation Introduktion till datorsystem Programmeringsmodellen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec

Läs mer

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile. CT3760 Mikrodatorteknik Föreläsning 2 Tisdag 2005-08-30 Minnestyper. Atmega 16 innehåller följande minnestyper: SRAM för dataminne FLASH för programminne EEPROM för parametrar och konstanter. Minnen delas

Läs mer

Cacheminne i en AMD Opteron Processor

Cacheminne i en AMD Opteron Processor Handledare: Erik Larsson Lunds Tekniska Högskola HT15 Cacheminne i en AMD Opteron Processor En rapport om cacheminne och dess struktur, i en 12 kärnig AMD Opteron Magny-Cours processor. Författare: Hamza

Läs mer

Att köpa ny dator SeniorNet Lidingö Februari-2019

Att köpa ny dator SeniorNet Lidingö Februari-2019 Att köpa ny dator SeniorNet Lidingö Februari-2019 Att köpa ny dator Kompakt bordsdator Stationär dator Allt-i-ett-dator Laptop Hybrid (laptop/surfplatta) Agenda Att tänka på innan du köper dator Faktorer

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 9 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 2 Dagens föreläsning Byggblocken i en processor Hur de fungerar Grundläggande

Läs mer

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning Den digitala automaten Vägen från digitaltekniken till det kompletta styrsystemet Lund University, Sweden Insignaler Sekvensnät Utsignaler Kan vi betrakta insignalmönstret som en instruktion och det som

Läs mer