Datorarkitekturer med operativsystem ERIK LARSSON

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "Datorarkitekturer med operativsystem ERIK LARSSON"

Transkript

1 Datorarkitekturer med operativsystem ERIK LARSSON

2 Översikt Processorn Maskininstruktioner

3 Dator Primärminne Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction

4 Användarprogram, OS och hårdvara Applikationsprogram, t ex Word, Facebook, är ofta skrivna i ett högnivåspråk, t ex C, C++. System programvara Kompilatorer: Översätter program i högnivåspråk till maskinspråk Operativsystem: Hårdvara» Hantera I/O, minne och schemaläggning av jobb (tasks) Processor, minne, I/O-kontrollenhet

5 Program Abstraktionsnivå: Högnivåspråk Assemblyspråk Maskinspråk

6 Register Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Register Fetch instruction Execute instruction

7 Register Alla processorer har någon form av register fil för att temporär lagra operander MIPS har en 32x32-bitars registerfil Används för data som används frekvent Numreras 0 till bitars data kallas ett word Assembler namn $t0, $t1,, $t9 för temporära värden $s0, $s1,, $s7 för sparade (subrutin) värden Design regel: Mindre minne är snabbare

8 Register och primärminne Högnivåspråk: a=b+c; Assemblyspråk: ADD a, b, c Kompilatorn hittar en maskininstruktion som passar 3 minnesaccesser: Hämta b Hämta c Skriv a

9 Register och primärminne Högnivåspråk: a=b+c+d; Alternativ 1: ADD a, b, c //adderar b och c, resultat i a ADD a, a, d //adderar a (som är b+c) med d, resultat i a Antal minnesaccesser: 6=3+3 Tid för en minnesaccess: 100 ns gör att minnesläsning/ skrivning tar 600 ns

10 Register och primärminne Högnivåspråk: a=b+c+d; Alternativ 2: ADD r1, b, c //adderar b och c, resultat i register 1 ADD a, r1, d //adderar a (som är i r1) med d, resultat i a Antal minnesaccesser: 4=2+2 Tid för en: minnesaccess: 100 ns registeraccess 1 ns: Minnesläsning/skrivning tar ns = 402 ns 30% sparad tid ( )/600

11 Primärminne LOAD läs i data i minne STORE skriv data i minne Adress Instruktion/Data

12 Variabler och minne Exempel, C deklaration x char; // värde mellan 0 och byte 8 bitar ger att dessa tal kan representeras: Binärt Decimalt

13 Variabler och minne Exempel, C deklaration x unsigned char; // värde mellan -127 och byte 8 bitar: Hur representera - talen? Binärt Decimalt ? ? ?

14 Variabler och minne Alternativ 1: MSB är teckenbit //Most Significant Bit Får 2 nollor (-0 och 0) Binärt Decimalt

15 Variabler och minne Alternativ 2: Två-kompliment Binärt Decimalt Exempel: -1 ( ) + 1 = 0

16 Minne Exempel: C deklaration x char; // char behöver 1 byte LOAD r1, 3 // ladda register r1 med data som finns på plats 3 STORE r1, 3 / spara det som finns i register r1 på plats 3 Adress Instruktion/Data

17 Minne Exempel: C deklaration x int; // int beöver 2 bytes LOAD r1, 3 // ladda register r1 med data som finns på plats 3 och? STORE r1, 3 / spara det som finns i register r1 på plats 3 och? Adress Instruktion/Data

18 Byte eller wordadresserat minne Adress Byte Data Adress Byte Data

19 Byte eller word adresserat minne? Byteadresserat Måste hålla koll på vad som ska anses vara ord Exempel: Läs adress 4, som är en del i ett ord. Wordadresserat: Läs word (4 byte) per gång. Fragmentering om en byte ska lagras (tar 4 bytes). Adress Byte Data

20 Hur sätts byte ihop till word? Byte 4, 5, 6, och 7 bildar ett ord, men hur ser ordet ut? Två alternativ: (ordning 4, 5, 6, 7) Little Endian (ordning 7, 6, 5, 4) Big Endian Adress Byte Data

21 ALU Primärminne Instruktioner och data Data/instruktioner Kontroll ALU Central processing unit (CPU) Register Fetch instruction Execute instruction

22 Processorn (CPU) Central processing unit (CPU) Digital signaling processor (DSP) Graphics Processing Unit (GPU) Flyttals Processor Unit (FPU)

23 Arithmetic Logic Unit (ALU) OP IN 1 UT ALU IN 2 Status

24 Kontrollenhet Primärminne Instruktioner och data Data/instruktioner Kontroll ALU Central processing unit (CPU) Register Kont roll Fetch instruction Execute instruction

25 Processorn

26 Kontrollenhet

27 Exekvering av en instruktion (1) Hämta instruktion på (där PC pekar) Fetch (2) Flytta instruktionen till CPU (3) Avkoda instruktionen: MOVE, Adress, 011 Register 3 (4) Hämta data på adress: Execute (5) Lagra datan i register 3 Primärminne Address Instruktion/data Data Instruktioner Register CPU Kontrollenhet Aritmetisk Logisk Enhet (ALU)

28 Sekventiell logik Register: lagrar data Använder klocka för att bestämma när data ska uppdateras Flank-triggat (Edge-triggered): uppdaterar när Clk går från 0 till 1 D Clk Q Clk D Q

29 Kontrollenhet ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

30 Kontrollenhet Instruktion: ADD R1, R3 // R1 <- R1 + R3 Kontrollsteg: 1. PC out, MAR in, Read, Clear Y, Carry-in, Add, Z in 2. Z out, PC in 3. MBR out, IR in 4. R1 out, Y in 5. R3 out, Add, Z in 6. Z out, R1 in, End

31 Kontrollenhet ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

32 Kontrollenhet Instruktion: ADD R1, R3 // R1 <- R1 + R3 Kontrollsteg: 1. PC out, MAR in, Read, Clear Y, Carry-in, Add, Z in 2. Z out, PC in 3. MBR out, IR in 4. R1 out, Y in 5. R3 out, Add, Z in 6. Z out, R1 in, End

33 Kontrollenhet ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

34 Fetch Instruction 32-bit register Increment by 4 for next instruction

35 Kontrollenhet Instruktion: ADD R1, R3 // R1 <- R1 + R3 Kontrollsteg: 1. PC out, MAR in, Read, Clear Y, Carry-in, Add, Z in 2. Z out, PC in 3. MBR out, IR in 4. R1 out, Y in 5. R3 out, Add, Z in 6. Z out, R1 in, End

36 Kontrollenhet ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

37 Kontrollenhet Instruktion: ADD R1, R3 // R1 <- R1 + R3 Kontrollsteg: 1. PC out, MAR in, Read, Clear Y, Carry-in, Add, Z in 2. Z out, PC in 3. MBR out, IR in 4. R1 out, Y in 5. R3 out, Add, Z in 6. Z out, R1 in, End

38 Kontrollenhet ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

39 Kontrollenhet Instruktion: ADD R1, R3 // R1 <- R1 + R3 Kontrollsteg: 1. PC out, MAR in, Read, Clear Y, Carry-in, Add, Z in 2. Z out, PC in 3. MBR out, IR in 4. R1 out, Y in 5. R3 out, Add, Z in 6. Z out, R1 in, End

40 Kontrollenhet ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

41 Kontrollenhet Instruktion: ADD R1, R3 // R1 <- R1 + R3 Kontrollsteg: 1. PC out, MAR in, Read, Clear Y, Carry-in, Add, Z in 2. Z out, PC in 3. MBR out, IR in 4. R1 out, Y in 5. R3 out, Add, Z in 6. Z out, R1 in, End

42 Kontrollenhet ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

43 Kontrollenhet Kontroll signaler System buss MBR MAR ALU R 0 R n PC IR Klocka Kontrollenhet Statussignaler

44 Översikt Processorn Maskininstruktioner Adressering Hopp och subrutiner Inmatning/utmating (Input/Output (I/O)) Instruktionsformat

45 Maskininstruktioner Definitioner: Vad ska göras (operationskod)? Vem är inblandad (source operander)? Vart ska resultatet (destination operand)? Hur fortsätta efter instruktionen? Opcode Operand (minne) Operand (register)

46 Maskininstruktioner Att bestämma: Typ av operander och operationer Antal adresser och adresserings format Registeraccess Instruktionsformat» Fixed eller flexibelt

47 Maskininstruktioner Typer av instruktioner: Aritmetiska och logiska (ALU) Dataöverföring Hopp In- och utmatning

48 Aritmetiska operationer Addition (+) och subtraktion (-) Två källor (sources) och en destination (destination) add a, b, c # a får värdet b + c Alla aritmetiska funktioner följer detta mönster Design regel: Enkelhet föredrar regelbundenhet Regelbundenhet gör implementation enklare Enkelhet ökar möjligheten till högre prestanda till lägre kostnad

49 Aritmetiska operationer C kod: f = ( g + h ) ( i + j ); Kompileras till assemblykod (MIPS): add t0, g, h # temp t0 = g + h add t1, i, j # temp t1 = i + j sub f, t0, t1 # f = t0 - t1

50 Översikt Processorn Maskininstruktioner Adressering Instruktionsformat Hopp och subrutiner Inmatning/utmating (Input/Output (I/O))

51 Varför olika sätt att adressera? Öka flexibiliteten vid programmering, vilken förenklar programmering Antal bitar för att specificera en adress är begränsat. Exempel: Om 8-bitar används: Minne. Adress.. Extra tid (jmf ovan) kan 2 8 adresser pekas ut. Men, om 8-bitar används att peka ut ett register som innehåller adress kan 2 16 adresser pekas ut. Adress.. Minne R1 Adress. (16-bitar)

52 Adressering: avvägningar Få och enklar adresseringsmöjligheter Stora adressfält i instruktion för att kunna täcka stor adressrymd Begränsar programmering Snabbare adressberäkning Mindre komplex processor Många och avancerade adresseringsmöjligheter Tillåter mindre addressfält utan att påverka adressrymd Flexibel programmering Kan ge långsam adressberäkning Ökar komplexitet av processorn

53 Adressering Immediate adressering ADD R4,#3 //R4<-R4+3 Operanden finns direkt i instruktionen ADD R4 3

54 Adressering Direkt adressering ADD R4, 3 //R4<-R4+[3] Adressen till operanden ligger i instruktionen ADD R4 3 Adress Data

55 Adressering Register adressering ADD R4,R3 //R4<-R4+R3 Liknar direkt adressering men istället för att peka ut i minnet så pekas ett register ut ADD R4 3 Register Data

56 Adressering Register adressering ADD R4,R3 //R4<-R4+R3 Liknar direkt adressering men adressfält pekar ut register och inte minnet ADD R4 3 Register Data

57 Adressering Memory indirect ADD R4,(3) R4<-R4+[[3]] Instruktionen innehåller adressen till en minnesplats som innehåller den önskade adressen ADD R4 3 Adress Med indirekt adressering kan en större minnesarea adresseras då stora adresser kan läggas i minnet och instruktionen pekar ut dem. Data

58 Adressering Register indirect ADD R4,(R3) R4<-R4+[R3] Liknar indirekt adressering men instruktion pekar ut register istället för minnesplats ADD R4 3 R3 Adress Data

59 Adressering Displacement ADD R4,R1.X R4 R4+[R1+X] Ett bas register (vanligen ett general purpose register) ger basen och ett par bitar ger displacement (en offset från base register) ADD R1 3 R1 + Adress Data

60 Adressering Indexerad ADD R4,X[R1] R4 R4+[X+R1] Liknar displacement men är tvärtom. Register (här R1) innehåller displacement (offset) från base givet i instruktionen ADD R1 3 R1 + Adress Data Indexerad adressering kan kombineras med auto increment/decrement förenklar arbete med arrayer

61 Adressering Relativ adressering Använd t ex PC för att skapa adress. Enbart liten bit finns i instruktionen ADD R4 3 PC + Adress Data

62 Hoppinstruktion Nästa instruktion antas normalt sätt vara nästa i programmet. PC=PC+1; Programräknaren (program counter) räknas upp och nästa instruktion hämtas För att göra hopp till annan del av kod, ladda programräknaren med nytt värde PC=ditt hopp ska sek Två typer av hopp Ovillkorliga hopp Villkorliga hopp

63 Ovillkorliga hopp Exempel: Programräknaren får nytt värde och hämtar nästa instruktion på nytt ställe Adress Instruktion Kommentar Instruktion 29 //Instruktion 29, PC=PC BR // PC = 10101, PC=PC Instruktion 31 //Instruktion 31, PC=PC : Instruktion 89 //Instruktion 89, PC=PC+1

64 Villkorliga hopp Villkor bestäms av flaggor i statusregister De vanligaste flaggorna är: N: 1 om resultatet är negativt (annars 0) Z: 1 om resultatet är noll (annars 0) V: 1 om aritmetiskt overflow (annars 0) C: 1 om carry (annars 0) UT OP ALU IN 1 IN 2 Status

65 Villkorliga hopp Exempel: SUB R1, #1 BEZ TARGET Kan påverka statusflagga R1=R1-1 IF Z=1 THEN PC=TARGET Kollar statusflagga OP IN 1 N Z V C UT ALU IN 2 Status

66 Villkorliga hopp ADD XOR ClearY System buss Z Z in ALU Y MBR MAR PC Z out Zero Carry in Y out Y in MBR out MBR in MAR in PC out PC in R0 out R0 in RN out RN in IR in IR out Kontroll signaler MBR out R 0 R n IR Klocka Kontrollenhet Y in R0 RN out out MAR in Statussignaler Carry, overflow MAR out PC in ADD

67 Subrutiner och funktioner Program: void main(void){ int a, b, c; a=5; b=6; c=my_add(a,b); } Exekvering: a=5 //instruktion 1 b=6 //instruktion 2 funktionsanrop +parameteröverföring c=my_add(a,b); instruktion 11 återhopp+parameteröverföring int my_add(int x, int y){ return x+y; }

68 Subrutiner och funktioner Problem instruktion 1 call proc A instruktion 3 instruktion 4 call proc A instruktion 6 Hopp till subrutin Återhopp Parameteröverföring Nästlade subrutinanrop proca: instruktion 11 call proc B instruktion 13 return procb: Instruktion 21 Instruktion 22 return Exekvering: instruktion 1 instruktion 11 //Proc A Instruktion 21 //Proc B Instruktion 22 instruktion 13 //Proc A instruktion 3 instruktion 4 instruktion 11 //Proc A Instruktion 21 //Proc B Instruktion 22 instruktion 13 //Proc A instruktion 6

69 Subrutiner och funktioner instruktion 1 call proc A instruktion 3 instruktion 4 call proc A instruktion 6 Vid call: Innan hopp, spara PC proca: instruktion 11 call proc B instruktion 13 return Vid call: Innan hopp, spara PC procb: Instruktion 21 Instruktion 22 return Vid call: Innan hopp, spara PC Vid return: Kolla återhopp Vid return: Kolla återhopp

70 Återhopp och parameteröverföring Register Använd ett antal register för att spara återhoppsadress och för parameteröverföring Fördel: snabbt. Nackdel: register behövs Stack Reservera en del av minnet och skapa en kö som fungerar enligt Last-In First-Out Fördel: stort. Nackdel: långsamt (jmf register)

71 Stack 1 2 Två operationer: push och pop Push A A Adress Byte Data Push 0 A Push B B A 4 Pop A 5 Pop 1 Stackpekare Stack

72 Stack 1 2 Två operationer: push och pop Push A A Adress Byte Data Push 0 A Push B B A 4 Pop A 5 Pop 2 Stackpekare A

73 Stack 1 2 Två operationer: push och pop Push A A Adress Byte Data Push 0 A Push B B A 4 Pop A 5 Pop 3 Stackpekare A 5 5 B

74 Stack 1 2 Två operationer: push och pop Push A A Adress Byte Data Push 0 A Push B B A 4 Pop A 5 Pop 4 Stackpekare A 5 5 B

75 Stack 1 2 Två operationer: push och pop Push A A Adress Byte Data Push 0 A Push B B A 4 Pop A 5 Pop 5 Stackpekare A 5 5 B

76 Stack för subrutiner och funktioner Push 10 (tid 2) Push 2 (tid 1) Push 10 (tid 6) instruktion 1 call proc A instruktion 3 instruktion 4 call proc A instruktion 6 Push 5 (tid 5) proca: instruktion 11 call proc B instruktion 13 return Pop (tid 4) ger procb: Instruktion 21 Instruktion 22 return Pop (tid 3) ger Pop (tid 8) Pop (tid 7) Ger 5 10 ger

77 Register för subrutiner och funktioner R 0 Alla register R N Level i Register window In Local Out CWP: Current Window Pointer Level i+1 Level i+2 CWP CWP In Local Out In Local Out instruktion 1 call proc A instruktion 3 instruktion 4 call proc A instruktion 6 proca: instruktion 11 call proc B instruktion 13 return procb: Instruktion 21 Instruktion 22 return CWP

78 In- och utmatning Läsning och skrivning: Enhet för indata Primärminne (CPU) Enhet för utdata Sekundärminne

79 Minnesmappad och isolerad I/O

80 Exempel på minnesmappad I/O LOAD R1, 7 //Ladda R1 med värde på adress 7 STORE R1, 6 //Lagra värdet i R1 på adressplats 6 Adress Instruktion/ Data

81 Instruktionsformat Hur definiera fälten i instruktioner? Opcode Operand1 Operand2 Hur ska högnivåspråk kompileras och exekveras effektivt? Abstraktionsnivå Högnivåspråk Maskinspråk Semantiskt gap

82 Semantiskt glapp Två alternativ: CISC (Complex Instruction Set Computers): utveckla komplex arkitektur med många instruktioner och många adresseringsmöjligheter; ta med instruktioner som liknas högnivåinstruktioner. RISC (Reduced Instruction Set Computers): förenkla instruktionsuppsättningen och anpassa den till de verkliga kraven ett applikationsprogram har

83 Instruktionsformat Vissa opcoder har givet adressläge (ex. I/O) medan andra kan tillåta olika moder. Opcode Operand1 Operand2 Mode bits ADD R4,#3 //R4<-R4+3 ADD R4, 3 //R4<-R4+[3] ADD R4,R3 //R4<-R4+R3 För adressering: peka ut alla register och nå all data i minnet.

84 Antal adresser i instruktion För att beräkna: X = (A+B)*C 4-adress instruktioner: Op A1, A2, A3, A4 //A1 <- [A2] op [A3], nästa instruktion = A4 I1: ADD X, A, B, I2 I2: MUL X, X, C, I3 I3: 3-adress instruktioner: Op A1, A2, A3 //A1 <- [A2] op [A3] I1: ADD X, A, B I2: MUL X, X, C I3: OP A1 A2 A3 A4 OP A1 A2 A3

85 Antal adresser i instruktion För att beräkna: X = (A+B)*C 2-adress instruktioner: Op A1, A2 //A1 <- [A1] op [A2] MOVE A, X ADD X, B MUL X, C 1-adress instruktioner: Op A1 //Acc <- [Acc] op [A1] LOAD A ADD B MUL C STORE X OP A1 A2 OP A1

86 Antal adresser i instruktion Vanligast med 2 och 3 adresser i instruktioner 4 adress instruktioner är opraktiskt. Nästa instruktion antas vara nästa instruktion. PC räknas upp av sig själv. Måste ha hopp-instruktioner 1 adress instruktion är ganska begränsande Exempel, antag 32 register (5 bitar behövs): 3-adress format: 15 bitar 2-adress format: 10 bitar 1-adress format: 5 bitar OP Rdest Rsrc1 Rsrc2 Få adresser, få instruktioner förenklar processorn men gör den mer primitiv

87 Intel x86 ISA Utveckling med backward compatibility 8080 (1974): 8-bit microprocessor» Accumulator, plus 3 index-register pairs 8086 (1978): 16-bit extension to 8080» Complex instruction set (CISC) 8087 (1980): floating-point coprocessor» Adds FP instructions and register stack (1982): 24-bit addresses, MMU» Segmented memory mapping and protection (1985): 32-bit extension (now IA-32)» Additional addressing modes and operations» Paged memory mapping as well as segments

88 Intel x86 ISA Bakåtkompabilitet (Backward compatibility)

89 Sammanfattning Processorn består av register, aritmetisk enhet (ALU) och en kontrollenhet Registren används för att lagra data/instruktioner temporärt ALU:n gör alla beräkningar Kontrollenheten styr aktiviteten i processorn

90 Sammanfattning Instruktionsuppsättningen och dess format är karakteristiskt för en processor Normalt sett har en processor instruktioner för förflyttning av data, aritmetiska/logiska beräkningar, programkontroll (hopp), och I/O. För programkontroll (hopp) finns ovillkorliga och villkorliga hopp. Villkorliga hopp tas beroende på innehåll i statusregister Subrutiner, procedurer och funktionsanrop kan lösas med hjälp av en stack eller register I/O funktioner kan vara minnesmappade I/O hanteras med läsning och skrivning i minnet eller som isolerad I/O speciella instruktioner för I/O

91 Sammanfattning Adresser till operander kan specificeras om olika sätt. Adressering ska göras till stor adressrymd, flexibelt för programmeraren, och med snabb adress översättning Addressing modes: Immediate addressing Direct + Register addressing Indirect addressing Displacement, Relativ och Indexed Stack adressing Instruktionsformat definierar hur bitarna/fälten i en instruktion är organiserade och hur långa de är. Instruktioner kan vara av fixed längd eller flexibel längd

92

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

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk. Program Datorteknik Abstraktionsnivå: Högnivåspråk ERIK LARSSON» t ex C, C++ Assemblyspråk» t ex ADD R, R Maskinspråk» t ex 000.0 Exekvering av en instruktion Kontrollenhet () Hämta instruktion på 0000000

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Semantiskt gap Alltmer avancerade programmeringsspråk tas fram för

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

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

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 1 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 arkitektur), hårdvara osynlig Assembly- och maskinprogram:

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

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

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

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data

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

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

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

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 2 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 2 Check av övningar Von Neumann arkitekturen Minne, CPU, I/O Instruktioner och instruktionscykeln

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

Ö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

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

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 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

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

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

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

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

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. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

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

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre 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

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

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

Datorsystem. Exempeltentamen 2011-10-18

Datorsystem. Exempeltentamen 2011-10-18 Datorsystem Exempeltentamen 2011-10-18 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

Digital Aritmetik Unsigned Integers Signed Integers"

Digital Aritmetik Unsigned Integers Signed Integers Digital Aritmetik Unsigned Integers Signed Integers" Slides! Per Lindgren! EISLAB! Per.Lindgren@ltu.se! Original Slides! Ingo Sander! KTH/ICT/ES! ingo@kth.se! Talrepresentationer" Ett tal kan representeras

Läs mer

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

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.

Läs mer

Mål. Datorteknik. Innehåll. Vad händer med en add-instruktion? Vad händer med en add-instruktion. Instruktioner som bitmönster i minnet

Mål. Datorteknik. Innehåll. Vad händer med en add-instruktion? Vad händer med en add-instruktion. Instruktioner som bitmönster i minnet Mål Datorteknik Föreläsning 2 Att ge en inblick i programspråket C Att veta varför assemblerprogrammering är viktigt Att börja arbeta med MIPS-assembler Att känna till något om programmeringstekniker Att

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

Institutionen för datavetenskap 2014/15

Institutionen för datavetenskap 2014/15 LUNDS TEKNISKA HÖGSKOLA Datorer och datoranvändning Institutionen för datavetenskap 2014/15 ME en dator 1 Inledning ME är en påhittad dator, men den har likheter med riktiga datorer: det finns ett maskinspråk

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

Ö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

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

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December Datorarkitektur Datapath & Control December 28 karl.marklund@it.uu.se Foto: Rona Proudfoot (some rights reserved) Vi skall nu kolla närmare på hur det går till när en instruktion utförs. Fetch PC = PC+4

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 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

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

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN) LABORATION DATORTEKNIK D Pipelining Version: 1.4 2016 (OS,OVA,AN) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

Läs mer

Föreläsningsanteckningar 2. Mikroprogrammering I

Föreläsningsanteckningar 2. Mikroprogrammering I Föreläsningsanteckningar 2. Mikroprogrammering I Olle Seger 2012 Anders Nilsson 2016 Innehåll 1 Inledning 2 2 En enkel dator 2 3 Komponenter 3 3.1 Register............................... 3 3.2 Universalräknare..........................

Läs mer

CE_O1. Nios II. Enkla assembler-instruktioner.

CE_O1. Nios II. Enkla assembler-instruktioner. IS1500 ösningsförslag till övning CE_O1 2014 CE_O1. Nios II. Enkla assembler-instruktioner. 1.1. Datorarkitektur för Nios II a) Tabell 3 1 i Nios II Processor Reference Handbook visar processorns register:

Läs mer

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng

Läs mer

IE1205 Digital Design: F6 : Digital aritmetik 2

IE1205 Digital Design: F6 : Digital aritmetik 2 IE1205 Digital Design: F6 : Digital aritmetik 2 Talrepresentationer Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers)

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

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 #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast

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

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

Omtentamen i CDT204 - Datorarkitektur

Omtentamen i CDT204 - Datorarkitektur Omtentamen i CDT204 - Datorarkitektur 2012-11-05 Skrivtid: 08.10-12.30 Hjälpmedel: Miniräknare och valfritt skriftligt (ej digitalt) material. Lärare: Stefan Bygde, kan nås på 070-619 52 83. Tentamen är

Läs mer

Stack och subrutiner Programmeringskonventionen

Stack och subrutiner Programmeringskonventionen Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-06-01 Skrivtid 9.00-14.00 (5 timmar) Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376

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

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

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner Ext-3 (Ver 203-04-2) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna

Läs mer

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

IBM POWER4, den första flerkärniga processorn och dess pipelines. IBM POWER4, den första flerkärniga processorn och dess pipelines. 5 DECEMBER 2016 FÖRFATTARE: OSCAR STRANDMARK EXAMINATOR: ERIK LARSSON Abstract Rapporten redovisar IBM:s POWER-serie, generation ett till

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

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #14 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad vi har åstadkommit hittills: Med hjälp av kombinatoriska

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Lösningar med kommentarer Program: Di2 Datum: 05-01-10 Tid: 13:30-18:30 Lokal He303 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Bilaga: Ingen Examinator:

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

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

Program. Datorteknik. Semantiskt gap. C - Inledning. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk

Program. Datorteknik. Semantiskt gap. C - Inledning. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Semantiskt gap C - Inledning Alltmer avancerade programmeringsspråk

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

32 Bitar Blir 64 Sammanfattning

32 Bitar Blir 64 Sammanfattning 32 Bitar Blir 64 Sammanfattning Syftet med rapporten är att ge en insyn i det tillvägagångssätt och problem som uppstod i utvecklingen från 32 bitars CPUs till 64 bitars CPUs samt inblick i skillnaden

Läs mer

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål: Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer

Läs mer

Datorsystemteknik DVG A03 Föreläsning 3

Datorsystemteknik DVG A03 Föreläsning 3 Datorsystemteknik DVG A03 Föreläsning 3 Datoraritmetik Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Hur stora tal kan vi få med N bitar? Största

Läs mer

Föreläsningsanteckningar till Konstruktionsmetoder 981027

Föreläsningsanteckningar till Konstruktionsmetoder 981027 Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,

Läs mer

Styrenheten styrsignalsekvenser programflödeskontroll

Styrenheten styrsignalsekvenser programflödeskontroll Styrenheten styrsignalsekvenser programflödeskontroll Kontroll av programflöde Instruktionerna är ordnade sekventiellt i minnet och utförs normalt i denna ordning. Vissa programkonstruktioner kräver dock

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C

Läs mer

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p Lösningar och kommentarer Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific

Läs mer

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

Datorarkitektur. Fö 9: Datorarkitektur. Datororganisation. Typiska Arkitekturattribut. Introduktion till datorarkitektur. Fö 9: Datorarkitektur Introduktion till datorarkitektur. RISC eller CISC? Datorarkitektur Datorarkitektur: De attribut hos ett datorsystem som är synliga för programmerare, eller har en direkt påverkan

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.

Läs mer

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

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

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

Mikroprogrammering I

Mikroprogrammering I ikroprogrammering I Olle Roos-datorn (fö2+) Björn Lindskog-datorn (lab) Att bygga en CPU Pipelinad dator (fö4,lab2) Variabel exekveringstid Variabelt format Inget överlapp Central styrenhet, som är mikroprogrammerad

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

Tentamen i EIT070 Datorteknik

Tentamen i EIT070 Datorteknik Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Assemblerprogrammering för ARM del 1

Assemblerprogrammering för ARM del 1 Assemblerprogrammering för ARM del 1 Ur innehållet: Assemblerspråk Ordlängder och heltalstyper i C Variabeldeklarationer Programkonstruktioner Tilldelningar Uttrycksevaluering Ovillkorliga programflöden

Läs mer

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

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor Sammanfattning: Utvecklingen från processor till processor är inte lätt. Det finns många beslut som måste tas när det gäller kompatibilitet,

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2017-01-17 2 Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner

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

Talrepresentation. Heltal, positiva heltal (eng. integers)

Talrepresentation. Heltal, positiva heltal (eng. integers) Talrepresentation Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers) ett-komplementet, två-komplementet, sign-magnitude

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14

Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Lokal TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 7 Kursansvarig Andreas

Läs mer

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p Lösningar och kommentarer Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, (Em3, Et3) Datum: 04-10-15 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund,

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

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

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

Datorsystem. Tentamen 2011-10-29

Datorsystem. Tentamen 2011-10-29 Datorsystem Tentamen 2011-10-29 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen. Ett svar

Läs mer

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Extra lab Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Erfarenheter från projektstart Läs på i Downey om klasser och objekt! När kan/ska man använda self? När bollarna

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

Centralenheten: ALU, dataväg och minne

Centralenheten: ALU, dataväg och minne Centralenheten: ALU, dataväg och minne Dagens föreläsning: Kompendium kapitel 7 Arbetsbokens kapitel 11,12 RTN - Register Transfer Notation Förenklat skrivsätt för att specificera operationer där register

Läs mer

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

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde

Läs mer

Datorsystem. Tentamen

Datorsystem. Tentamen Datorsystem Tentamen 2012-03-17 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller, illustrationer och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

Datorsystem. Tentamen 2012-03-17

Datorsystem. Tentamen 2012-03-17 Datorsystem Tentamen 2012-03-17 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller, illustrationer och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

Program & programmering

Program & programmering Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 3 27--29 8.5 2. My Talsystem Binära tal har basen 2 Exempel Det decimala talet 9 motsvarar 2 Den första ettan är MSB, Most Significant Bit, den andra ettan är LSB Least

Läs mer

Vår väg till Godkänt, och sedan vidare...

Vår väg till Godkänt, och sedan vidare... Grunder i programmering Vår väg till Godkänt, och sedan vidare... Ett väl utfört arbete ger en inre tillfredsställelse, och är den grund varpå samhället vilar. Karl-Bertil Jonsson ii Grunder i programmering

Läs mer

DatorsystemteknikDAVA14 Föreläsning 9

DatorsystemteknikDAVA14 Föreläsning 9 DatorsystemteknikDAVA14 Föreläsning 9 epetition: MP likainstruktioneri Exempel på instruktionstyper Processorns uppbyggnad Pipelining törre delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson

Läs mer

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

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi Pipelining i RISC-processorn Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi Innehållsförteckning 1. Inledning 2. Historia: Intel 8086 (1978) till Pentium

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

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

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

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

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Laboration:. Jämförelser mellan assembler och C. I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Förberedelser:

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

Laboration 2 i Datorteknik- Assemblerprogrammering II

Laboration 2 i Datorteknik- Assemblerprogrammering II Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner

Läs mer