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



Relevanta dokument
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)

Grundläggande datavetenskap, 4p

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

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

Digitala System: Datorteknik ERIK LARSSON

Det finns en hemsida. Adressen är

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

Datorsystem. Exempeltentamen

HF0010. Introduktionskurs i datateknik 1,5 hp

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

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

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

Digitalteknik och Datorarkitektur

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

Datorarkitekturer med operativsystem ERIK LARSSON

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

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

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

Parallellism i CDC 7600, pipelinens ursprung

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

Pipelining i Intel 80486

Datorsystem. Tentamen

Datorarkitekturer med operativsystem ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON

Datorsystem. Tentamen

Närliggande allokering Datorteknik

Minnet från processorns sida Datorteknik

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

Datorsystemteknik DAV A14 Föreläsning 1

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Processor pipelining genom historien (Intel i9-intel i7)

Datorsystem Laboration 2: Minnesmappade bussar

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

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Datorsystemteknik DVGA03 Föreläsning 8

IT för personligt arbete F5

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

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.

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

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi

Datorarkitektur. Fö 9: Datorarkitektur. Datororganisation. Typiska Arkitekturattribut. Introduktion till datorarkitektur.

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

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

Datorteknik ERIK LARSSON

Hantering av hazards i pipelines

Datorarkitekturer med operativsystem ERIK LARSSON

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

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

Tentamen den 18 mars svar Datorteknik, EIT070

DEC Alpha instruktions Arkitektur

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

Datorteknik ERIK LARSSON

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

Datorteknik ERIK LARSSON

IE1205 Digital Design: F6 : Digital aritmetik 2

Föreläsningsanteckningar till Konstruktionsmetoder

Föreläsningsanteckningar 3. Mikroprogrammering II

F8: Undantagshantering

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen

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

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

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

Föreläsning 3.1: Datastrukturer, en översikt

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

TSEA28 Datorteknik Y (och U)

Datorsystem. Tentamen

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December

DatorsystemteknikDAVA14 Föreläsning 9

Operativsystem - input/output, skydd, virtualisering

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

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

TSEA28 Datorteknik Y (och U)

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

TSEA28 Datorteknik Y (och U)

Digitalteknik och Datorarkitektur 5hp

Agenda. Syfte med datorbygge Datorns delar. Datorbygge. Moderkort Processor Minne och hårddisk Instickskort Övrigt

Datorteknik ERIK LARSSON

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

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

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

Föreläsningsanteckningar 2. Mikroprogrammering I

Datorsystemteknik DAV A14 Föreläsning 1

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

Adressrum, programmerarens bild

Tentamen PC-teknik 5 p

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

Programmerbar logik. Kapitel 4

Tenta i Digitalteknik

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

Tentamen PC-teknik 5 p Lösningar och kommentarer

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Datorsystemteknik för E/D

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

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Arm Cortex-A8 Pipeline

Datorteknik ERIK LARSSON

Transkript:

0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter normalt inuti processorn. Level 2 och 3 cache sitter i regel mellan processor och primärminne och är långsammare än L1 cache men snabbare än primärminnet. 0.1.1 Ett datorsystems 6 abstraktionsnivåer Nivå 6 - användarnivå, oftast den enda nivån som användaren interagerar på. Nivå 5 - högnivåspråk så som C++ och Python. Nivå 4 - assemblyspråk. Nivå 3 - operativsystem. Nivå 2 - Maskinnivå, ISA Nivå 1 - Kontrollnivå. På denna nivå finns kontrollenhter, dessa är hardwired eller microprogrammed. Nivå 0 - Digital logik, kretsar och gates. Den fysiska hårdvaran. Von Neuman-modellen är definerad enligt följande; Har en processor (CPU), control unit (CU), aritmetisk logisk enhet (ALU), register, primärminne (RAM), I/O-enheter. Funktionalitet för att utföra sekvensiella processor-instruktioner. Har en väg mellan RAM och CPU. Fetch-decode-execute-cycle 1. Control unit hämtar nästa programinstruktion från minnet, programräknaren (program counter, PC), berättar var instruktionen finns sparad. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 3. Eventuella operander som krävs för att köra instruktionen hämtas från minnet och placeras i processorns register. 4. ALUn exeverar instruktionen och placerar resultatet i registret och/eller minnet. Förutom multitasking kan även multithreading öka ett datorsystems prestanda avsevärt. Ett program kan delas upp i trådar vilket innebär att ett program kan bli flera processer som arbetar med olika saker paralellt. Det gör framför allt stor skillnad på system med flera processorkärnor.

2 0.2 Representation av data i datorsystem 0.2.1 Två-komplementsberäkning 9-23 med två-komplementsberäkning 00001001 = 9 00010111 = 23 (invertera och lägg till 1) 11101000 + 1 = 23 Beräkna 9-23 00001001 = 9 11101001 = +( 23) 11110010 Eftersom att talet är negativt får vi invertera igen. 11110010 00001101 och sedan lägga på 1 (00001110) (1110) = 14 9 23 = 14 0.2.2 IEEE-754 IEEE-754 Single Precision består i detta exempel av 32 bitar, 1 sign bit, 8 bitar till exponent och 23 bitar signifcand Exempel 1 Representation av det decimala flyttalet 19.5 1. Konvetera 19.5 till binärtal. 19 = 00010011 0.5 =.1 (0.5 är den första värdet efter radix-punkten) Då har vi 0001 0011.1000 2. Normalisera (sett första 1 framför radix-punkten) 00010011.1000 = 0001.00111000 2 4 (Notera att radix har flyttats 4 steg åt vänster) 3. Allting vänster om radix-punkten tar vi bort (även ettan då den är en ghost bit)

0.2. REPRESENTATION AV DATA I DATORSYSTEM 3 0001.00111000 = 00111000 Ettan före radix-punkten tas alltid bort för att det alltid är en etta där efter man normaliserat, så då är det bara onödigt utrymme att skriva ut den. 4. Zero padda, dvs fyllta ut de resterande bitarna (i detta fall femton stycken) med nollor, då significanden måste vara 23 bitar. 0011 1000 = 0011 1000 0000 0000 0000 000 5. Sätt rätt exponent, IEEE-754 har en bias på 127. Det betyder att vi ska ta 127 + 4 (vår exponent) för att få värdet vi skall skriva i exponent i IEEE-754. 127 + 4 = 131 = 10000011 (128 + 2 + 1 = 131) 6. Lägger vi ihop detta har vi att Sign = 0 (Den är positiv) Exponent = 1000 0011 Significand = 0011 1000 0000 0000 0000 000 Tillsammans blir det 0 1000 0011 0011 1000 0000 0000 0000 000 se sida 80 i boken för samma exempel Exempel 2 11000000011100000000000000000000 i decimalform 1. Separera sign, exponent och significand. 11000000011100000000000000000000 blir 1 (sign) 10000000 (exponent) 11100000000000000000000 (significand) 2. Beräkna exponenten 10000000 = 128 Bias är 127 så vi tar 128 127 = 1 Exponenten är 1. 3. Beräkna significanden 11100000000000000000000 =.111 Vi har också en ghost bit som måste läggas till.111 = 1.111 4. Eftersom vi hade exponenten 1 (2*1) så förflyttas radix-punkten 1 steg åt höger. 1.111 = 11.11

4 vilket ger 2 + 1 + 0.5 + 0.25 = 3.75 5. Vår sign bit var 1, alltså är vårt tal negativt. Svaret är 3.75 Även här användes exempel från sida 80 i boken. IEEE-754 fins också definerat för 16, 64 och 128 bitar. Vid flyttal som är 16 bitar så är en bit för tecken, fem bitar för exponent och tio bitar för significand. Bias på ett 16-bitars flyttal är 15 istället för 127 som i ett 32 bitars flyttal. 0.3 Hårdvara i ett datorsystem ALU, arithemtic logic unit utför logiska och aritmetiska operationer. Kontrollenheten, control unit (CU) som är en del av processorn övervakar exevering av instruktioner och hantering av data. Den hämtar och dekodar instruktioner och informerar ALU:n om vilka register som skall användas. Control unit har en programräknare (program counter, PC) som har koll på var någonstans i programmet processorn befinner sig och vilken som är nästa instruktion att hämtas. Bussarna i ett datorsystem är det som möjliggör kommunikation mellan systemets enheter. Databussen skickar själva datan mellan två enheter (oftas CPU och en annan enhet). Adressbussen har information om vart data ska skickas eller hämtas. Kontrollbussen har hand om requests, acknowledges, interrupts och clocksykronisering. Det är alltså via kontrollbussen som förfrågningar går om att få använda någon av de andra bussarna. Power bus (strömbussen) förser enheterna i systemet med ström. I/O buses är en separat buss för kommunikation med I/O-enheter. 0.3.1 Gränssnitt för Input / Output Det finns flera olika gränssnitt för kommunikation mellan CPU och datorsystemets I/O-enheter. De två mest förekommande är memory mapped I/O och instruction-based I/O. I memory-mapped I/O mappas datorsystemets hårdvara med adresser som är samma som i primärminnet. Det blir alltså ingen skillnad på att skriva och läsa data från primärminne eller en I/O-enhet vilket underlättar för processorn som kan använda samma instruktioner. Memory-mapped I/O är snabbt men tar en del minne i anspråk då det är faktiska minnes-adresser som används för I/O-enheterna. Instruction-based I/O har (som namnet antyder) istället specifika instruktioner för att skiva och läsa till I/O-enheter. Det används alltså inga minnes-adresser men är långsammare än memory-mapped I/O.

0.4. INSTRUCTION SET ARCHITECTURE 5 0.3.2 Interrupts Interrupts kan vara maskable eller non-maskable. Maskable interrupts kan ignoreras av processorn medan non-maskable interrupts har högre prioritet och kan inte ignoreras. 0.4 Instruction Set Architecture 0.4.1 Fetch - Decode - Execute Rutinen för att hämta, dekoda och utföra instruktioner kan brytas ner i ännu fler steg. I det sammanhang man pratar om pipelines så brukar det vara åtminstonde nedanstående. 1. Fetch instruction 2. Decode opcode 3. Calculate effective adress of operands 4. Fetch operands 5. Execute instruction 6. Store result 0.4.2 CISC vs RISC CISC (Complex Instruction Set Archtitecture) har en mer komplex ISA med fler instruktioner jämfört med RISC (Reduced Instruction Set Architecture). CISC RISC Ett register med ett begränsat antal platser Flera olika register, ofta med så många som 256 registerplatser eller mer Endast en eller två registeroperander per instruktion Upp till tre möjliga registeroperander Instruktioner som sträcker sig över flera klockcykler Alla instruktioner utförs under en klockcyckel Restriktivt med pipelines Mer pipelines Varierande längd på instruktioner Alla instrultioner har samma längd 0.5 Nätverk 0.5.1 Nätverksklasser Det finns tre sorts nätverksklasser, A, B och C som används av datorsystem och nätverksenheter, samt en fjärde klass, klass D som används för broadcasting. Klass A har en binär adress som alltid börjar med en nolla, sedan sju bitar för

6 nätverk och resterande 24 bitar är för hosten. Klass B har en binär adress som alltid börjar med en etta och en nolla, sedan fjorton bitar för nätverk och resterande sexton bitar är för hosten. Klass C har en binär adress som alltid börjar med två ettor och en nolla, sedan 21 bitar för nätverk och resterande åtta bitar är för hosten. Exempel; Klass A: 0nnn nnnn. HHHH HHHH. HHHH HHHH. HHHH HHHH Klass B: 10nn nnnn. nnnn nnnn. HHHH HHHH. HHHH HHHH Klass C: 110n nnnn. nnnn nnnn. nnnn HHHH. HHHH HHHH