Datorteknik Y - Föreläsning 13

Relevanta dokument
TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

F9: Minne. 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

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Läsminne Read Only Memory ROM

Digital- och datorteknik

Digital- och datorteknik

LABORATION. TSEA28 och TSEA83. Analys av en ARM-processors cache genom mätning på AXI-bussen. Version: (OS,AE) 2014 (AE) 2018 (KP)

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

6. Minnen. Associativt minne

TSEA28 Datorteknik Y (och U)

HF0010. Introduktionskurs i datateknik 1,5 hp

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.

Mer datorarkitektur. En titt I datorn Minnen

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

TSEA28 Datorteknik Y (och U)

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

LABORATION. TSEA28 och TSEA83. Analys av en ARM-processors cache genom mätning på AXI-bussen. Version: (OS,AE) 2014 (AE)

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

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

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

Digitalteknik och Datorarkitektur 5hp

Digital IC konstruktion

MESI i Intel Core 2 Duo

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

Digital IC konstruktion

Föreläsningsanteckningar 3. Mikroprogrammering II

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

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Laboration i digitalteknik Datablad

Datorsystemteknik DAV A14 Föreläsning 1

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

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

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

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

Laboration i digitalteknik Datablad

Datorarkitekturer med Operativsystem

Datorsystemteknik DAV A14 Föreläsning 1

Modbus över Ethernet. WAGO Contact SA TSS STR

LV6 LV7. Aktivera Kursens mål:

Grundläggande datavetenskap, 4p

Operativsystem - input/output, skydd, virtualisering

2 UPPBYGGNAD OCH FUNKTION

Digital IC konstruktion

IndraDrive Open-loop. Styrning av asynkronmotor över Profibus. Version 1

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA

Hantering av begränsat antal skrivningar på Solid State diskar

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

Föreläsningsanteckningar 5. Cacheminnen

Digital- och datorteknik

Digital IC konstruktion

Tentamen PC-teknik 5 p

Cacheminne i en AMD Opteron Processor

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Adressrum, programmerarens bild

Tentamen PC-teknik 5 p

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

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

IT-GUIDE Version 1.0 Författare: Juha Söderqvist

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Digital Design IE1204

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Gateway Modbus-Profibus

Jämförelse av skrivtekniker till cacheminne

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

Användarmanual Modbus Bridge (master-till-master)

Pipelining i Intel Pentium II

ALU:n ska anslutas hur då?

F7: I/O hantering. Asynkron och synkron busscykel Bussfördelning. Periferikretsar

Datorhårdvaruteknik 1DV426 - Seminarie 1

EDA Digital och Datorteknik

Modbus. WAGO Contact SA TSS STR

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

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)

Diskprestanda Tester

Digitalteknik och Datorarkitektur

CE_O5. Cacheminne. Hemlaboration 2.

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

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

DIG IN TO Dator och nätverksteknik

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Modbus. Supportdokument. Lathund för att använda Modbus över RS XXX eller TCP/IP.

Digital Design IE1204

Tentamen den 18 mars svar Datorteknik, EIT070

Minnet från processorns sida Datorteknik

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

BDM12 Användarbeskrivning. Introduktion

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

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

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Digital- och datorteknik

Cache coherence hos multicoreprocessorer

Transkript:

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 Minnesinnehållet bestäms av masken vid tillverkning av chippet Billigt vid mycket stora upplagor PROM (Programmable ROM) Kan programmeras en gång. Kallas ibland OTP (One Time Programmable) Billigare vid mindre upplagor EPROM (Erasable PROM) Kan raderas med UV-ljus och skrivas om ett visst antal gånger efter det EEPROM (Electrically erasable PROM) Kan raderas elektriskt och skrivas om efter det En radering tar mycket lång tid (jämfört med en skrivning) (Kan i teorin användas som ett RWM)

Flash-minnen vs EEPROM I ett EEPROM kan varje individuell cell raderas och skrivas om I ett flash-minne kan block av data raderas samtidigt (exempel på blockstorlek är exempelvis 128 + 4 kilobyte) I båda fallen är det enbart möjligt att radera data ett begränsat antal gånger. I SSD-diskar, minneskort, o.d. som baseras på flash-minnen används wear leveling för att undvika att frekvent skrivna block går sönder

RWM/RAM-minne Två huvudtyper: SRAM (Statiskt RAM) och DRAM (Dynamiskt RAM)

Kommandon i ett DDR3-SDRAM DESELECT (Avaktiverar chipselect) NOP No Operation ZQ CALIBRATION (Long respektive short) ACTIVATE: Läs ut en viss rad till temporärregistret READ: Starta en utläsning ifrån ett angivet ställe i temporärregistret WRITE: Starta en skrivning på angivet ställe i temporärregistret PRECHARGE: Skriv tillbaka temporärregistret till minnet REFRESH: Läs ut och skriv om en rad i minnet. (Minnet själv håller ordning på vilken rad som är härnäst på tur.)

Exempel: Läsning ifrån DDR3-SDRAM Figure 68: Consecutive READ Bursts (BL8) Typisk frekvens för CK: 300-800 MHz CK# T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 CK Command1 READ NOP NOP NOP READ NOP NOP NOP NOP NOP NOP NOP NOP NOP t CCD Address2 Bank, Col n Bank, Col b t RPRE t RPST DQS, DQS# DQ3 RL = 5 n n + 1 n + 2 n +3 n + 4 n + 5 n + 6 n + 7 b b + 1 b + 2 b + 3 b + 4 b + 5 b + 6 b + 7 RL = 5 Transitioning Data Don t Care Ifrån Micron datablad för DDR3 SDRAM MT41J256M4 32 Meg x 4 x 8 banks

Bussar I lab 4 har ni använt en centralt baserad buss som är helt styrd av mikrokoden i processorn. Detta fungerar bra inuti processorn där det är möjligt för en central styrenhet att på klockcykelnivå veta exakt hur lång tid olika operationer tar. För andra typer av bussar (I/O samt minnestrafik) är det nödvändigt att ha ett mer decentraliserat system.

DMA - Direct Memory Access Detta gör det också möjligt för andra enheter att få tillgång till bussen som så kallade Bus Masters Exempel: Ett ljudkort kan läsa ljuddata direkt ifrån minnet istället för att processorn behöver offra värdefulla klockcykler för att göra denna överföring Andra exempel: Nätverkskort, grafikkort, osv

Exempel på en mycket enkel buss STB: (Strobe) Används för att aktivera bussen ADR: Adressen vi vill läsa eller skriva ifrån WE: (Write enable) Satt om vi vill skriva, annars vill vi läsa DATA O: Data Output: Hit kommer data vi vill skriva DATA I: Data Input: Hit kommer data när vi har läst ACK: (Acknowledge) Sätts när mottagarenheten bekräftar att skrivningen eller läsningen tagits emot. ERR: Sätts om något gått snett (exempelvis att vi försöker läsa ifrån en adress där det ej finns något minne eller I/O-register) (DATA * och ADR består av multipla ledningar)

Nackdelar hos den enkla bussen Det tar normalt sett en del klockcykler från det att strobe aktiveras tills dess att en acknowledge kommer tillbaka. Ingen möjlighet att göra en burst -läsning, dvs starta läsning av mer än ett ord samtidigt. Ingen möjlighet att starta en till läsning/skrivning innan den förra avslutats. Andra nackdelar Om DATA O och DATA I inte är 8 bitar breda: Ingen möjlighet att skriva individuella bytes

AXI-bussen Moderna ARM-processorer använder (bland annat) en buss som kallas för AXI - Advanced extensible Interface I lab 5 ska vi titta på version 3 av denna buss.

Finesser hos AXI3 Stöd för att specificera att fler än ett ord ska skrivas/läsas i samma transaktion (burst-läsningar/burst-skrivningar) Stöd för att läsa in cachelineas med critical word first. Stöd för att skriva individuella bytes trots att data-bussarna är bredare än en byte med hjälp av Write Strobes Stöd för att, om mastern och slave stöder det, ha möjlighet att returnera transaktioner i en annan ordning än den de skickades i.

AXI3 - Typiska signaler *ADDR: Adress *DATA: Data Handskakningssignaler *VALID: Sändare har information *READY: Mottagare redo att ta emot Inget händer förräns båda dessa signaler är 1. *LAST: Markerar sista ordet i transaktionen

AXI3 - Typiska signaler *LEN och *SIZE: Transaktionens längd *BURST: Typ av burst 00: En viss adress används hela transaktionen 01: Adressen ökar hela tiden 10: Cirkulär (Används för att fylla på en cacheline, med stöd för critical word first) *ID: Transaktioner med samma ID måste hanteras i den ordning de anländer

AXI3 - Fem kanaler Läsadress Läsdata/läsbekräftelse Skrivadress Skrivdata Skrivbekräftelse Bussen är gjord för att arbeta med pipelining. Det går exempelvis att starta flera läsningar på rad utan att vänta på svar.

AXI3 signals - Read Address Channel ARADDR[31:0]: Adress vi vill läsa ifrån ARVALID: Master vill börja en lästransaktion ARREADY: Slave är redo att ta emot en lästransaktion ARLEN/ARSIZE: Specificerar antalet ord vi vill läsa ARBURST: Typ av burst-läsning (Cirkulär, linjär, fix) ARID: Master skickar identifikationsnummer (Plus några till)

AXI3 signals - Read Data Channel RXDATA[31:0]: Läsdata RVALID: Slave har giltig läsdata RREADY: Master är redo att ta emot denna RRESP: Status (lyckades transaktionen eller gick något snett?) RID: Slave returnerar identifikationsnummer RLAST: Markerar sista ordet i transaktionen

AXI3: Exempel på läsning

AXI3 signals - Write Address Channel AWADDR[31:0]: Adress AWVALID: Master vill börja en skrivtransaktion AWREADY: Slave är redo att ta emot en skrivtransaktion AWLEN och AWSIZE: Transaktionens längd AWBURST: Typ av burst-skrivning (Cirkulär, linjär, fix) AWID: Master skickar identifikationsnummer

AXI3 signals - Write Data Channel WVALID: Master har data tillgängligt: WREADY: Slave har möjlighet att ta emot data WDATA: Data som ska skrivas WSTRB: Byte strobes (ett för de bytes i WDATA som ska skrivas till minnet) WLAST: Markerar sista ordet i transaktionen WID: Master skickar identifikationsnumret

AXI3 signals - Write Response Channel BVALID: Slave har ett svar på en skrivning BREADY: Master redo att ta emot svar på en skrivning BID: Slave returnerar identifikationsnumret BRESP: Lyckades skrivningen?

AXI3: Exempel på skrivning

Demo av cacheeffekter Matris vektor Matrisen ligger antingen sparad normalt eller transponerad i primärminnet Matrisstorlekar: 2000 2000, 2048 2048, 2092 2092