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



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

Grundläggande datavetenskap, 4p

Digitala System: Datorteknik ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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)

Tentamen den 18 mars svar Datorteknik, EIT070

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

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

Närliggande allokering Datorteknik

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

Exempeltentamen Datorteknik, EIT070,

Processor pipelining genom historien (Intel i9-intel i7)

Digitala System: Datorteknik ERIK LARSSON

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

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.

Datorarkitekturer med operativsystem ERIK LARSSON

TSEA28 Datorteknik Y (och U)

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Föreläsning 2. Operativsystem och programmering

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

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

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

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

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

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

Datorsystemteknik DVGA03 Föreläsning 8

IT för personligt arbete F5

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

IBM POWER4, den första flerkärniga processorn och dess pipelines.

Datorarkitekturer med operativsystem ERIK LARSSON

Hantering av hazards i pipelines

Datorsystem. Tentamen

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

Arm Cortex-A8 Pipeline

Föreläsning 1: Intro till kursen och programmering

Pipelining i Intel Pentium II

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk.

Cacheminne Intel Core i7

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

TSEA28 Datorteknik Y (och U)

Föreläsning 1: Intro till kursen och programmering

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

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

HF0010. Introduktionskurs i datateknik 1,5 hp

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

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

Pipelining i Intel 80486

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

Datorsystem. Exempeltentamen

Datorteknik ERIK LARSSON

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

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

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

Föreläsningsanteckningar 4. Pipelining

Datorteknik ERIK LARSSON

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Mer datorarkitektur. En titt I datorn Minnen

Datorarkitekturer med Operativsystem

Digitala System: Datorteknik ERIK LARSSON

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

Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så

Digital- och datorteknik

Introduktion till programmering och Python Grundkurs i programmering med Python

F8: Undantagshantering

Spekulativ exekvering i CPU pipelining

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

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

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

Datorteknik ERIK LARSSON

Cacheminne i en AMD Opteron Processor

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

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

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

Program & programmering

DEC Alpha instruktions Arkitektur

Datorsystemteknik för E/D

Datorteknik ERIK LARSSON

DIG IN TO Dator och nätverksteknik

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline

Datorarkitekturer med operativsystem ERIK LARSSON

MESI i Intel Core 2 Duo

LV6 LV7. Aktivera Kursens mål:

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

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

Läsminne Read Only Memory ROM

Föreläsningsanteckningar 5. Cacheminnen

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Minnet från processorns sida Datorteknik

Parallellism i CDC 7600, pipelinens ursprung

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

Transkript:

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 minne. Minnet är adresserbart oberoende av vad som är lagrat på minnesplatsen. Instruktionerna utförs i adressordning om inget annat uttryckligen specificeras med hoppinstruktioner eller subrutinanrop. (En Von Neumann-maskin innehåller ALU, kontrollenhet, minne och input/output. Alla datorer med Von Neumann-arkitektur är Von Neumann-maskiner, men datorer som är Von Neumann-maskiner är inte nödvändigtvis av Von Neumann-arkitektur.) 2. Ge exempel på motsatsen till a general-purpose computer ( a non generalpurpose computer räcker inte som svar)? (1p) Motsatsen till a general-purpose computer är en dator som är framtagen för ett specifikt syfte, där syftet påverkar datorarkitekturen. Ta t.ex. en enkel miniräknare utan minne. Det påverkar datorarkitekturen eftersom den inte behöver avancerade adresseringsmoder, då minnesbehovet är väldigt begränsat. Dessutom behöver den ingen cache. 3. Den enklaste instruktionscyklen består av FETCH och EXECUTE. Givet en Von Neumann-arkitektur, vilka delar är inblandade (aktiverade) under en sådan instruktionscykel? (2p) Fetch: Kontrollenhet, minne Execute: Kontrollenhet, ALU 4. Förklara skillnaderna mellan högnivåspråk, assemblyspråk och maskinspråk med datorarkitektur som utgångspunkt (2p) Maskinspråk är det språk som processorn direkt förstår och uttrycks i ettor och nollor. Språket är en direkt motsvarighet av datorarkitekturen. Assemblyspråk har symboler som motsvarar specifika register och instruktioner, vilket ger full kontroll över datorn och motsvarar datorarkitekturen på en mer abstrakt nivå än maskinspråk. Det motsvarar inte specifika kontrollsignaler. Därför måste assemblyspråk översättas till maskinspråk av en assembler.

Högnivåspråk är mer abstrakt och mer uttrycksfullt. En rad i ett högnivåspråk kan motsvara flera instruktioner. Ett högnivåspråk har nästan ingen relation till datorarkitekturen. Därför behövs en kompilator för att översätta från högnivåspråk till maskinspråk. 5. Antag att ett användarprogram (user program) körs på en dator med en processor (CPU). Vad kan orsaka att operativsystemet tar över? (2p) Exempel på orsaker till att ett användarprogram avbryts av operativsystemet: Interrupt, till exempel signaler från kringutrustning (hårddisk, datormus, cd-spelare, etc.) Page-fault. Användarprogrammet gör ett systemanrop, t.ex. öppnar en ny fil (kräver hårddiskåtkomst). Schemaläggaren i operativsystemet begär att ett annat program ska få tillgång till CPUn, kanske för att det andra programmet är viktigare. 6. Vad är skillnaden (om någon) mellan datorarkitektur och datororganisation (computer architecture and computer organization)? (2p) Datorarkitektur och datororganisation är två närstående men åtskilda begrepp. En datorarkitektur beskriver det en programmerare behöver veta för att kunna skriva lågnivåprogram till en dator. Det inbegriper instruktionsuppsättningen, register, datatyper, adresseringsmetoder, mm. Ett exempel på en känd arkitektur är x86. En datororganisation beskriver hur arkitekturen implementerats med hårdvarukomponenter. Det inbegriper kontrollsignaler, gränssnitt, minnesteknologi, mm. Som exempel kan nämnas att både Intel och AMD tillverkar processorer som följer x86- arkitekturen, men processorerna har olika datororganisation. 7. Vad är en så kallad context switch? Beskriv processen och vad som påverkas. (2p) En context switch utförs då ett körande program avbryts och ett annat aktiveras för att köra. Det går till så att alla data som behövs för att beskriva det körande programmets status (PC, registerinnehåll, osv) sparas undan i ett Process Control Block. Registerinnehåll ersätts med motsvarande för det andra programmet som då kan fortsätta köra i det läge som det senast avbröts.

8. Förklara hur separata data-cache och instruktions-cache påverkar prestandan i en pipeline (2 p.) Separata data-cache och instruktions-cache avhjälper problemet att instruktioner i olika steg i pipeline behöver nå minnet (en i FetchInstruction, den andra i FetchOperand). Då pipeline annars skulle behöva pausas (stall) så ökar införandet av separata data-cache och instruktions-cache prestanda. 9. Vad finns för problem med pipelining (nämn två och diskutera) (4 p.) Structural hazards samma resurser behövs av två instruktioner som är i olika steg i pipeline Data hazards en operand är inte färdigberäknad av en instruktion A när den behövs i instruktion B och både instruktion A och B är i pipeline Control hazards - Villkorliga hopp beroende på hur villkoret beräknas så kan fel instruktioner laddas in i pipeline Alla tre problem leder till att pipeline behöver pausas eller rensas 10. Diskutera vad man ska tänka på när man organiserar data på en hårddisk (2 p.) Hårddisken är uppdelad i sektorer och block, där filer som är större än ett block allokeras på flera block. Beroende på blockens storlek och vilka block som väljs uppstår fragmentering. Fragmentering kan vara inre (outnyttjade bytes i ett delvis använt block) eller yttre (en stor fil måste sparas i flera block som inte ligger i följd, vilket leder till längre åtkomsttider). Därför ska man tänka på att välja en blockstorlek som ger liten fragmentering och välja passande block för stora filer. 11. Vad är en minneshierarki? Varför finns den? Vad är typiskt för steg i hierarkin? (4 p.) Det finns ett motsatsförhållande mellan kostnad per minnesbit och åtkomsttid. Därför används en hierarki där all data lagras permanent på stora, långsamma och billiga minnen för att hämtas till små, snabba och dyra minnen nära processorn vid behov. Tanken är att data som används ofta ska vara tillgängligt i de snabba minnena så att minnesåtkomsttiden oftast blir kort, samtidigt som den totala mängden tillgängligt minne blir stor. Detta till ett lägre pris än om endast snabba minnen hade använts. Principen med minnerhierarki fungerar eftersom det finns en viss lokalitet i adressrymd och tid för minnesåtkomster. Ordet hierarki används eftersom data kan adresseras med samma adress oavsett var i

minneshierarkin (från cache och neråt) som det sökta data är lagrat, sett från en programmerares synvinkel. Minneshierarkin har typiskt följande steg Register (dyra och snabba) Cache RAM-minne Hårddisk Magnetband och optisk lagring 12. Antag att följande program är lagrat i RAM minnet. Address Instruction/Data 0 LOAD R2, #9 1 LOAD R1, #1 2 ADD R1,(R2) 3 ADD R1, R2 4 BR 6 5 HLT 6 SUB R2, #1 7 HLT 8 BR 5 9 15 10 10 Instruktionerna är: LOAD=load, SUB=subtraction, ADD=addition, BR=unconditional branch, HLT=halt nummer och data är angivna som decimaltal. PC: 7 R1: 25 R2: 8 Vad innehåller programräknaren, register R1 och R2 när programmet ovan har exekverat? (2p.)

Programmet följer instruktionerna i sekvensen 0,1,2,3,4,6,7. Instruktionen på adress 4 är ett hopp (branch) till adress 6. Instruktionen på adress 7 avbryter programmet. I vissa processorer räknas programräknaren upp även efter en halt-instruktion. I en sådan processor skulle programräknaren innehålla adressen 8 när programmet har exekverat. Register R1 får värdet 1 på adress 1. På adress 2 ökas R1 med 15, dvs innehållet på adress 9, eftersom register R2 då har värdet 9. Då har R1 värdet 16. På adress 3 ökas R1 med 9, dvs värdet i register R2, till 25. Register R2 får värdet 9 på adress 0. På adress 6 minskas R2 med 1, till 8. Är detta en RISC eller CISC-arkitektur (motivera)? (1p.) Det är en CISC-arkitektur. Detta baserat på att den avancerade adresseringsmetoden på rad 2 mestadels bara förekommer i CISC-arkitekturer.