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

Relevanta dokument
Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Exempeltentamen Datorteknik, EIT070,

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Tentamen den 18 mars svar Datorteknik, EIT070

Digitala System: Datorteknik ERIK LARSSON

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

ALU:n ska anslutas hur då?

LV6 LV7. Aktivera Kursens mål:

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Datorarkitekturer med Operativsystem

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

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

Närliggande allokering Datorteknik

Grundläggande datavetenskap, 4p

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.

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

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

Föreläsningsanteckningar 5. Cacheminnen

Datorarkitekturer med operativsystem ERIK LARSSON

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.

Jämförelse av skrivtekniker till cacheminne

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen i IE1204/5 Digital Design onsdagen den 5/

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

Lösningsförslag till Tenta i Mikrodator

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Lösningsförslag till Tenta i Mikrodator

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

Datorsystemteknik för E/D

Tentamen i IE1204/5 Digital Design onsdagen den 5/

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

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

SEKVENSKRETSAR. Innehåll

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Datorsystem. Tentamen

Digital- och datorteknik

Digitala System: Datorteknik ERIK LARSSON

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

CE_O5. Cacheminne. Hemlaboration 2.

Tenta i Digitalteknik

MESI i Intel Core 2 Duo

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

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

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

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen. Datorteknik Y, TSEA28

Datorteknik ERIK LARSSON

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

Centralenheten: ALU, dataväg och minne

Cache-koherens protokoll MESI och MOSI

Digital- och datorteknik

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

TSEA22 Digitalteknik 2019!

Laboration nr 3 behandlar

Digital- och datorteknik

Hantering av hazards i pipelines

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Hantering av hazards i multi-pipelines

Lösningar till tentamen i EIT070 Datorteknik

IE1204/5 Digital Design typtenta

TSEA22 Digitalteknik 2019!

CE_O8. Cacheminne. Hemlaboration 2.

Datorsystem. Tentamen

Lösningar till tentamen i EIT070 Datorteknik

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Digital- och datorteknik

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Digitala System: Datorteknik ERIK LARSSON

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Tentamen. Datorteknik Y, TSEA28

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

Omtentamen i CDT204 - Datorarkitektur

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

Tentamen i Digitalteknik TSEA22

Digital- och datorteknik

Exempel 3 på Tentamen

Cacheminne och adressöversättning

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

Datorsystem. Tentamen

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Datorsystemteknik DVGA03 Föreläsning 8

Digital elektronik CL0090

IE1204/IE1205 Digital Design

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Snapdragon 810: Cacheminnet

F5 Introduktion till digitalteknik

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Cacheminne i en Intel Core 2 Duo-processor

Tentamen. Datorteknik Y, TSEA28

Processor pipelining genom historien (Intel i9-intel i7)

Datorsystem. Tentamen

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

Transkript:

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 1 1 1 0 C) u= b d a ba c

Uppgift 2: X 3 X 2 X 1 X 0 U 2 U 1 U 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 0 U0 = x0 U1 = x3 x2 x1 x0 x3 x2 x1x0 x3 x2x1x0 x3x2x1 x0 x3x2x1x0 x3x2 x1 x0 U2 = x3 x2 x1

Uppgift 3: q0 q1,q0 00 01 11 10 00 1 0 0 1 x,r 01 0 0 0 0 11 0 0 0 0 10 1 1 0 0 x R q 1 q 0 q 1 q 0 u 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 u = q 1 q 0 (alltså u= 1 i tillstånd 00) q 0 = x R q0 xr q1 = R (x q0 xq1 ) q1 q1,q0 00 01 11 10 00 0 1 0 1 x,r 01 0 0 0 0 11 0 0 0 0 10 0 1 1 0 q 1 = x R q1q0 R q1 q0 xr q0 = R (q1q0 q1 q0 xq0) Med två insignaler blir det fyra vägar ut ur ett tillstånd. Om den ena insignalen är reset kan den antingen ingå i tillståndstabellen (som här) eller läggas till senare som q = R (q_uttryck) R(q=00). Exempel 5.11 i Hemert, Digitala kretsar är ett exempel med två insignaler. I tabellen är de första fyra raderna binärräknaren, nästa fyra är reset, rad 9-12 är Grayräknaren och de sista fyra är reset. Synkron reset betyder att reset händer vid klockpulsen som de andra tillståndsändringarna. Vid asynkron reset sker reset omedelbart. I hårdvaran får det ske direkt på vippornas resetingång och detta hanteras då i ett separat nät för den ingången.

Uppgift 4: Kodning: s0= 000, s1= 001, s2= 010, s3= 011, s4 =100. Nuv. Nästa q2q1q0 x = 0 x = 1 000 000/0 001/0 001 000/0 010/0 010 000/0 011/0 011 100/0 011/0 100 000/1 001/0

q 2 = q 1q 0x q 1 = q 0x q 1x q 0 = q 0 x q 1x u = q 2x Uppgift 5: 1. Hur många bitar behövs för att lagra en instruktion? Svar: Instruktioner ligger i minnet på adress 00000, 00010, 00100, d v s på avstånd om 2 byte, vilket gör att varje instruktion har längden 2 byte. 2. Hur många bitar innehåller instruktionsregistret? Svar: I och med att varje instruktion är på 2 bytes, måste instruktionsregistret bestå av 16 bitar 3. Vilka instruktioner kommer exekvera? Svar: Dessa instruktioner kommer att exekvera: ADRESS INSTRUKTION FÖRKLARING 00000 XOR R1, R1, R1 R1<-R1 XOR R1 00010 ADD R2, R1, 5 R2<-R1 5 00110 BEZ 10000 IF ZERO BRANCH TO 10000 10000 AND R1, R1, R2 R1<- R1 AND R2 Instruktionerna 01000 SUB R2, R2, 1 R2<-R2-1 01010 BR 10000 BRANCH TO 01110 01100 ADD R1, R1, 1 R1<- R1 ADD 1 01110 MUL R1, 5, 2 R1 <- 5 MUL 2 kommer inte exekvera eftersom instruktionen: kommer resultera i 0, vilket gör att ZERO flaggan sätts, och det gör att denna instruktion leder till ett hopp till adress 10000: 00110 BEZ 01100 IF ZERO BRANCH TO 10000 4. Vad som händer vid varje instruktion? ADRESS INSTRUKTION FÖRKLARING 00000 XOR R1, R1, R1 R1<-R1 XOR R1 Detta händer: Bitvis XOR med sig själv ger resultatet till 0. Alltså blir R1=0 00010 ADD R2, R1, 5 R2<-R1 5 Detta händer: R2 får värdet R1 (som är 0) plus 5, d v s R2=5 Detta händer: R2 får värdet av R1 (som har värdet 0) multiplicerat med värdet av R2 (som har värdet 5), d v s R2 får värdet 0. Detta gör att ZERO flaggan sätts

00110 BEZ 01100 IF ZERO BRANCH TO 10000 Detta händer: Om ZERO flaggan är satt, och den sattes av tidigare instruktion, så kommer hopp ske till adress 10000. Nästa instruktion är alltså den på adress 10000. 10000 AND R1, R1, R2 R1 <- R1 AND R2 Detta händer: R1 får värdet av bitvis AND mellan innehållet i R1 och R2. R1 har värdet 0, d v s alla bitar är 0, och R2 har värdet 0, d v s alla bitar är 0. En bitvis AND operation resulterar i 0, d v s R1 får värdet 0. 5. Vad innehåll i programräknare och instruktionsregister vid varje instruktion som exekverats? 00000 XOR R1, R1, R1 R1<-R1 XOR R1 Programräknaren innehåller: 00000 Instruktionsregistret innehåller maskinkoden som svarar mot: XOR R1, R1, R1 00010 ADD R2, R1, 5 R2<-R1 5 Programräknaren innehåller: 00010 Instruktionsregistret innehåller maskinkoden som svarar mot: ADD R2, R1, 5 Programräknaren innehåller: 00100 Instruktionsregistret innehåller maskinkoden som svarar mot: MUL R2, R1, R2 00110 BEZ 10000 IF ZERO BRANCH TO 10000 Programräknaren innehåller: 00110 Instruktionsregistret innehåller maskinkoden som svarar mot: BEZ 10000 10000 AND R1, R1, R2 R1 <- R1 AND R2 Programräknaren innehåller: 10000 Instruktionsregistret innehåller maskinkoden som svarar mot: AND R1, R1, R2 Uppgift 6: Antag ett datorsystem med ett cacheminne som består av 16 bytes och ett primärminne som består av 64 bytes. Cacheminnet är direktmappat med cacherader om 4 bytes.

1. Hur många bitar behövs för att specificera datorsystemets adressrymd? Svar: Primärminnet är på 64 bytes. Det behövs 6 bitar att beskriva tal mellan 0 och 63 eftersom 2^6=64 2. Vid exekvering av ett program har processorn läst adress 1 och vill läsa på adress 5, är det möjligt att avgöra om den läsningen kommer ge en hit eller en miss? Svar: Om processorn läst på adress 1 innebär det att det som finns i motsvarande block finns i cacheminnet. Varje block är på 4 bytes och detta block hamnar på adress 0, 1, 2 och 3. Hade vi läst adress 0, 1, 2, eller 3 skulle det bli en hit. Men, för adress 5 vet vi ingenting så vi kan inte avgöra om det blir en hit eller en miss. 3. I cacheminnet, när processorn läser i minnet, vilka adresser kan hamna i den första cacheraden? Svar: Eftersom blockstorleken är på 4 bytes så hamnar dessa 4 bytes på adress 0, 1, 2, och 3. 4. Lokalitet av referenser är en viktig princip för cacheminnen, vad säger principen? Svar: Lokalitet av referenser finns i rum och tid. Detta gäller instruktioner och data. Lokalitet i tid innebär att något som nyligen använts (tid) kommer med stor sannolikhet användas igen. Lokalitet i rum innebär att något som nyligen använts kommer annat som finns i närheten med stor sannolikhet användas igen. 5. Enligt principen om lokalitet av referenser, kan man säga något om storleken av block? Svar: När det gäller tid kan man inte säga så mycket men när det gäller rum, d v s när man använt något som nyligen använts kommer annat som finns i närheten med stor sannolikhet användas igen. Det leder till att man skulle kunna argumentera för stora cacherader/block.