ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Størrelse: px
Begynne med side:

Download "ITPE/DATS 2400: Datamaskinarkitektur og Nettverk"

Transkript

1 ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Instruksjonsettarkitektur 2 Knut Nygård / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied Sciences 30. Januar 2015

2 Oversikt 1 En enkel maskinmodell 2 Om ARC - A RISC COMPUTER 3 ARC - instruksjonsettet 4 ARC - pseudo-operasjoner 5 ARC - syntetiske instruksjoner 6 ARC - et eksempel 7 Multiplikasjon av ikke-negative heltall 8 Divisjon av ikke-negative heltall

3 Repetisjon Vi tar først endel repetisjon fra forrige forelesning.

4 Bus Data bus: Kommunikasjonslinjer for å overføre informasjon. Addresse bus: Kommunikasjonslinjer dedikert for å sende adressser. Control bus: Kommunikasjonslinjer for å sende kontrollsignaler (styringssignaler).

5 CPU En modell av en CPU med ALU (aritmetisk-logisk enhet), registerfil og kontrollenhet. ALU og registerfil kalles en datapath, og utfører operasjoner (dekodede instruksjoner) som kalles mikrooperasjoner. Kontrollenheten dekoder instruksjoner fra minnet (og andre ting).

6 CPUs arbeidssteg skjematisk 1. Hent neste instruksjon fra minnet som skal utføres. 2. Dekode opcode (operation code). 3. Les eventelle operand(er) fra minnet. 4. Utfør instruksjonen og lagre eventuelle resultater. 5. Start på nytt med ny instruksjon. Viktige registere: Programteller (PC): Inneholder adressen til neste instruksjon som skal utføres. Instruksjonsregister (IR): Inneholder instruksjonen som skal utføres før den dekodes.

7 Datapath Skjematisk fremstilling av en datapath. Vi skal se nøyere på denne senere (kap. 5).

8 Minnet Minnemodellen for ARC arkitekturen vi skal bruke som eksempel i dette kurset.

9 Mer om ARC-minnemodellen 1 Flatt minne. Minste adresserbare enhet er en byte. Ordstørrelse (word) er fire byte. Bruker big-endian. Big-endian: Første bit på adresse mest signifikant. Little-endian: Første bit på adresse minst signifikant. 32-bits adresser, derfor er en adresse 32/4 = 8 heksadesimale siffer.

10 Mer om ARC-minnemodellen 2 Deler av minnet reservert OS. Deler av minnet reservert stack. Deler av minnet reservert I/O-enheter. Resten kalles user space. Minne for programmer. Bruker hard-alignment modellen: To halvord (2 byte hver) må settes sammen like-byte adresser, og to ord (4 byte hver) må settes sammen på like-ord adresser. Halvord har adresser som er like, ord har adresser som er multipler av 4.

11 ARC - A RISC Computer Forfatterene av læreboken har laget en tenkt og forenklet maskinmodell: ARC - A Risc Computer. RISC - Reduced Instruction Set Computer. Det er laget en simulator for denne etter modell av SPARC prossorene fra Sun (open doc ca 1992). Simulator (i Java) kan lastes ned fra bluemaster.cs.hioa.no under: /edu/darknet-14/files/arctoolsv2.1.2.zip Arkivet inneholder simulator, eksempler og README-filer.

12 Om ARC Vi skal i det følgende se litt mer detaljert på modellen ARC. Minnet. Registerfilen, andre registere. ARC assemblerspråket generelt. Instruksjonsettet. ARC simulatoren. Noen enkle eksempler på ARC assembler programmer.

13 Minnet Detaljer: Resevert OS: Adresse 0 til altså 2048 bytes. User space: Fra adresse 2048 til topp på stack. Stack: Starter på adresse og vokser mot lavere adresser. Reservert I/O enheter: Adresser mellom 2 31 og (Memory mapped I/O).

14 Memory modell

15 Registerfil - registere ARC har en registerfil med 32 registere, hvert på 32 bit (ett ord). Disse betegnes med %r0 til %r31. Tre av disse har spesiell bruk: %r0 er alltid 0, %r14 brukes som stackpeker, %sp og%r15 er et link register, brukes ved kall av subrutiner. I tillegg finnes %pc (32 bits) som inneholder adressen til insrtuksjonen som utføres. Vi har også %psr (processor status register) som inneholder informasjon om status til prossessor.

16 Traps Registeret PSR har bits som støtter traps. Dette er en mekanisme for å stoppe vanlig flyt av instruksjoner. PÅ noen prossessorer kalles dette interupts. På x86 prossessorer brukes dette for kommunikasjon med annen hardware.

17 Om instruksjonene generelt Alle instruksjoner har 32 bits størrelse. ARC er en load - store maskin. Dette betyr at minne bare kan aksesseres gjennom slike operasjoner. Alle operasjoner utføres på data i registere. ARC instruksjonene (50) er en delmengde av SPARC prossessoren instruksjoner (200). ARC og SPARC instruksjoner har samme syntaks (nesten alltid sant). ARC er en 2-komplement maskin.

18 Instruksjonstyper Aritmetiske instruksjoner. Logiske instruksjoner. Load/store instruksjoner. Kontroll (branch) instruksjoner

19 Eksempel 1 add rs1, reg or imm, rd vil medføre rd rs1 + rs2 hvor rs2 er reg eller imm. add %r1, %r2, %r3 gir %r3 %r1 + %r2. add %r1, 12, %r2 gir %r2 %r

20 Mer om instruksjoner Notasjonen a b + c kalles register transfer language (RTL). Alle instruksjoner lagres på 32 bits. Dette gir 13 bits til konstanter, så disse må være mellom 4196 og Konstanter tolkes i base 10. Konstanter som starter med 0x tolkes heksadesimalt. En instruksjon har inntil seks felt: Label, opcode, opptil tre operander, kommentar

21 Load/store 1 Load: ld [address], rd rd M[address] Store: st rd, [address] M[address] rd

22 Load/store 2

23 Kontroll operasjoner Brukes til å komme til en annen del av programmet.

24 Pseudo-operasjoner Pseudo-operasjoner er ikke instruksjoner, men direktiver til assembleren. Eksempler:

25 Syntetiske instruksjoner (makro) En syntetisk instruksjon er ikke en instruksjon men noe som omformes av assembler til instruksjoner under assemblingen. Eksempler:

26 Addere to tall! Legg sammen to tall.begin.org 2048 prog1: ld [x], %r1! Legg x i r1 ld [y], %r2! Legg y i r2! Data x: 15 y: 12 z: 0.end addcc %r1, %r2, %r3! r3 = st %r3, [z]! Lagre r3 i z jmpl %r15 + 4, %r0! Avslutt r1 + r2

27 bin - filen c c c c620281c c3e f c c

28 lst -filen (ARCTools Version 2.0.2) HexLoc DecLoc MachWord Label Instruction Comment.org c prog1: ld [2068], %r1! Legg x i r c ld [2072], %r2! Legg y i r addcc %r1, %r2, %r3! r3 = r1 + r c c620281c st %r3, [2076]! Lagre r3 i z c3e004 jmpl %r15, 4, %r0! Avslutt! Data f x: c y: c z: --- Symbol Table --- x: 2068 z: 2076 prog1: 2048 y: 2072

29 Whiteboard Multiplikasjon av ikke-negative heltall gies skjematisk på whiteboard. Se læreboken kap. 3.

30 Multiplikasjon Hvordan få til multiplikasjon når denne mangler som instruksjon? Flere måter å gjøre dette på. Den binære multiplikasjonstabellen er enkel! Vet hvordan vi gjør dette for hånd. Bruker da kun shift og addisjon. Husk: Et produkt av to tall kan trenge dobbelt så mange bits som multiplikand og muliplikator.

31 C kode #include <stdio.h> #include <stdlib.h> main() { int p, m, n; m=554; n=234; // Performs m x n, product in p printf("m=%d n=%d\n",m,n); p = 0; // initialize product p to 0 while (n!= 0) // while multiplier n is not 0 { if ((n & 0x01)!= 0) // test lsb of multiplier p = p + m; // if 1 then add multiplicand m m = m << 1; // left shift multiplicand n = n >> 1; // right shift multiplier } printf("mxn=%d\n",p); exit(0); }

32 Kjøringseksempel Her er et kjøringseksempel av C-programmet. lec08]$ gcc -o mult mult.c lec08]$./mult m=554 n=234 mxn= lec08]$

33 ARC program! The program implements multiplication of unsigned integers! p = m x n! %r1 - contains m initially, modified during loop! %r2 - contains n initially, modified during loop! %r3 - contains p, initially 0.begin.org 2048 ld [m],%r1 ld [n],%r2 st %r0,[p] and %r0,%r0,%r3 loop: andcc %r2,%r2,%r0 be done andcc %r2,1,%r0 be next add %r1,%r3,%r3 next: sll %r1,1,%r1 srl %r2,1,%r2 ba loop done: st %r3,[p] jmpl %r15 + 4,%r0 m: 20 n: 13 p: 0.end

34 Whiteboard Divisjon av ikke-negative heltall gies skjematisk på whiteboard. Se læreboken kap. 3.

35 Divisjon av heltall Divisjon er vanskligere enn multiplikasjon. Vet hvordan vi gjør dette for hånd. Vil bruke en modifisert metode: shift, test, restore. Beskrevet i seksjon i læreboken. Lønner seg å skrive et C-program først, deretter assembler program.

36 C-program, del 1 #include <stdio.h> #include <stdlib.h> main() { int i; int q, r, b; q=22; b=5; r=0; printf("q=%d, b=%d, r=%d\n",q,b,r); // Performs q/b, result in q, reminder in r Fortsetter neste slide...

37 C-program, del 2 for (i = 0; i < 32; i++) // do 32 times { // double left shift r-q pair if ((q & 0x )!= 0) // check if carry from q to r r = (r << 1) + 1; // left shift r w/ carry in else r = r << 1; // left shift r w/o carry q = q << 1; // left shift q if (r - b >= 0) // test if b can be subtracted from q { q = q 0x01; // set lsb of q r = r - b; } } printf("q=%d r=%d b=%d\n",q,r,b); exit(0); }

38 Kjøringseksempel Her er et kjøringseksempel av C-programmet. lec08]$ gcc -o div div.c lec08]$./div q=22, b=5, r=0 q=4 r=2 b=5 lec08]$

39 ARC program, del 1! The program implements division of unsigned integers! Computes q/b, result in q, reminder in r! %r1 - contains q! %r2 - contains b! %r3 - contains r! %r4 - loop counter! %r5 - the constant 0x begin.org 2048 ld [q], %r1 ld [b], %r2 st %r0, [r] and %r0, %r0, %r3 and %r0, %r0, %r4 add %r4, 32, %r4! Insert code for 0x sethi 0x200000, %r5

40 ARC program, del 1 loop: andcc %r4, %r4, %r0 be done sub %r4, 1, %r4 andcc %r1, %r5, %r0 be else sll %r3, 1, %r3 add %r3, 1, %r3 ba endif else: sll %r3, 1, %r3 endif: sll %r1, 1, %r1 subcc %r3, %r2, %r0 bneg next or %r1, 1, %r1 sub %r3, %r2, %r3 next: ba loop done: st %r1, [q] st %r3, [r] jmpl %r15 + 4, %r0 q: 22 b: 5 r: 0.end

41 Hvis teknikken virker, vise programmene på simulator.

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning 9: Instruksjonsettarkitektur 3 Knut H. Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied

Detaljer

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9 IT1101 Informatikk basisfag, dobbeltime 11/9 Hittil: sett på representasjon av informasjon og manipulering av bits i kretser Idag: hever oss til nivået over og ser på hvordan program kjører i maskinen

Detaljer

SIE 4005, 9/10 (4. Forelesn.)

SIE 4005, 9/10 (4. Forelesn.) SIE 4005, 9/10 (4. Forelesn.) Tredje forelesning: 8.1 The control unit 8.2 Algorithmic state machines 8.3 Design example: Binary multiplier 8.4 Hardwired Control Fjerde forelesning: litt repetisjon 8.4

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt Dagens tema Mer MIPS maskinkode (P&H: 4.4 + 3.6 + 3.3 + A.6 + A.10) Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt Ark 1 av 16 Forelesning

Detaljer

ITPE2400/DATS2400: Datamaskinarkitektur

ITPE2400/DATS2400: Datamaskinarkitektur ITPE2400/DATS2400: Datamaskinarkitektur Forelesning 6: Mer om kombinatoriske kretser Aritmetikk Sekvensiell logikk Desta H. Hagos / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art

Detaljer

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM) Dagems temaer Fra Kort Organisering Register kapittel 4 i Computer Organisation and Architecture om hurtigminne (RAM) av CPU: von Neuman-modellen Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM) Dagems temaer! ra kapittel 4 i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering! Pipelining

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema: Tallsystemer (P&H: 4.1 4.2) Generelt Binære, oktale og heksadesimale tall Tall, bit og byte Negative tall Assemblerspråk (P&H: 3.1 3.3 + A.9) Datamaskinens oppbygging Enkel aritmetikk Flytting

Detaljer

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

Forelesning Instruksjonstyper Kap 5.5

Forelesning Instruksjonstyper Kap 5.5 TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler

Detaljer

SIE 4005, 8/10 (3. Forelesn.)

SIE 4005, 8/10 (3. Forelesn.) SIE 4005, 8/10 (3. Forelesn.) Andre forelesning: litt repetisjon 7.7 Arithmetic / Logic unit 7.8 The Shifter 7.9 Datapath representation 7.10 The control word 7.11 Pipelined datapath Tredje forelesning:

Detaljer

Datamaskinarkitektur våren 2009

Datamaskinarkitektur våren 2009 Datamaskinarkitektur våren 2009 Forelesning 1: Introduksjon til kurset T. M. Jonassen Department of Computer Science Faculty of Engineering Oslo University College 05. Januar 2009 Outline 1 Oversikt 2

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

Maskinvaredelen av INF 103: oversikt og innhold (1)

Maskinvaredelen av INF 103: oversikt og innhold (1) Maskinvaredelen av INF 3: oversikt og innhold () Boolsk algebra: Regning med og, og AND, OR og NOT Analyse og design av logiske kretser: AND, OR og NOT som byggeblokker Hukommelse og sekvensiell logikk:

Detaljer

Kapittel 4: Microarchitecture level

Kapittel 4: Microarchitecture level 1 Kapittel 4: Microarchitecture level 2 Kapittel 4: Microarchitecture level 3 Kva er og Kva gjer Realisera Instruction Level Architecture (ISA) 4 Nivå 2: Instruksjonssetarkitektur (ISA) Instruksjonssettark.

Detaljer

TDT DESEMBER, 2008, 09:00 13:00

TDT DESEMBER, 2008, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon agems temaer Oppbygging av RAM! ra kapittel i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering!

Detaljer

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 4. DESEMBER, 214, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner Dagens tema Dagens tema Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Rasko-kode Raskas-kode Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Kompilator rusc

Detaljer

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode. Dagens tema Dagens tema Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Kompilator rusc raskas Rasko-kode 401020000000001...

Detaljer

SIE 4005, 2/10 (2. Forelesn.)

SIE 4005, 2/10 (2. Forelesn.) SIE 4005, 2/10 (2. Forelesn.) Første forelesning: 7.1 Datapaths and operations 7.2 Register Transfer operations 7.3 Microoperations (atitm., logic, shift) 7.4 MUX-based transfer 7.5 Bus-based transfer

Detaljer

Forelesning 15.11. Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Forelesning 15.11. Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B TDT4160 Datamaskiner Grunnkurs Forelesning 15.11 Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B Dagens tema Datatyper (5.2) Heltall Ikke-numeriske datatyper Instruksjonsformat (5.3) Antall

Detaljer

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Dagens tema Dagens tema Charles Babbage Datamaskinenes historie maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner kode kode Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Detaljer

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord. Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan

Detaljer

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 17. AUGUST, 213, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

Forelesning ISA: IJVM Kap 4.2

Forelesning ISA: IJVM Kap 4.2 TDT4160 Datamaskiner Grunnkurs Forelesning 27.10 ISA: IJVM Kap 4.2 Dagens tema Repetisjon: ISA vs. mikroarkitektur ISA: IJVM (4.2) Lagring av lokale variable Minnemodell Instruksjonssett Metodekall Kompilering

Detaljer

Introduksjon til DARK assembly

Introduksjon til DARK assembly Introduksjon til DARK assembly Magnus Jahre Institutt for datateknikk og informasjonsvitenskap 2 Plan Assembly vs. Java Dark stakkmaskin Oversikt over stakkmaskinen Dark stakkmaskin eksempel Dark Load-Store

Detaljer

Dagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter.

Dagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter. Dagens tema Mer programmering i assemblerspråk Masking Hopp, tester og flagg Varianter over ld og st Vektorer og tekster Rutiner Stakker Programmering i assembler Dere kjenner sikkert den gamle gåten:

Detaljer

Forelesning 5. Diverse komponenter/større system

Forelesning 5. Diverse komponenter/større system Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall

Detaljer

INF1400 Kap4rest Kombinatorisk Logikk

INF1400 Kap4rest Kombinatorisk Logikk INF4 Kap4rest Kombinatorisk Logikk Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU FIFO Stack En minimal RISC - CPU Komparator Komparator sammenligner to tall A og B 3

Detaljer

Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006

Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006 Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006 Oppgave 1 Papirsimulering av utførende enhet Styreordsekvens Registeroperasjon 011 011 001 0 0010 0 1 R3 R3 + R1 ; R3 = 01100111

Detaljer

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte Ein slags Top-down av pensum 2 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Ønskjer ei maskin å køyre program på EIT program:

Detaljer

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene? Prosessoren Bakgrunnen Innhold LMC Hva inneholder den? Hvordan utføres instruksjonene? Assemblerkode Oppsummering instruksjonene [Englander kap 6] Lagdelingen av en datamaskin Internett Lokalnett (LAN)

Detaljer

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om

Detaljer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Ny Arkitektur: IJVM 4 Instruksjonsett Stack basert 5 Mikroprogramm 0001010010000000000000111 001111000000010000001000

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 Dagens forelesing Kapittel 1 Datamaskinsystem Kapittel 2 start 3 Gunnar Fakta Datamaskingruppa Biologisk inspirerte system: Unconvential Computing Machines

Detaljer

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS EKSAMEN 17. DESEMBER, 2012, 09:00 13:00 Kontakt under eksamen:

Detaljer

Datamaskinen LC-2. Dagens tema. Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret?

Datamaskinen LC-2. Dagens tema. Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret? Dagens tema Datamaskinen LC-2 En kort repetisjon Binære tall Litt om tallsystemer generelt Binære tall Heksadesimale og oktale tall Programmering av LC-2 Maskinkode Assemblerkode Kjøring av LC-2-programmer

Detaljer

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting Kapittel 6 Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting CISC eller RISC Komplekst eller enkelt. Hva er raskest? Pipelining Smart bruk av registre Kode for lavt

Detaljer

Dagens tema: Enda mer MIPS maskinkode

Dagens tema: Enda mer MIPS maskinkode Dagens tema: Enda mer MIPS maskinkode (P&H: 3.6 3.8 + 6.1 + A.6 + A.10) Pseudoinstruksjoner Flere instruksjoner Mer om funksjonskall Stakken Avhengigheter Direktiver Alt er bit! Kommunikasjon med C Ark

Detaljer

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 16. DESEMBER, 213, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

Dagens tema. Datamaskinen LC-2 En kort repetisjon. Binære tall Litt om tallsystemer generelt. Binære tall. Heksadesimale og oktale tall

Dagens tema. Datamaskinen LC-2 En kort repetisjon. Binære tall Litt om tallsystemer generelt. Binære tall. Heksadesimale og oktale tall Dagens tema Datamaskinen LC-2 En kort repetisjon Binære tall Litt om tallsystemer generelt Binære tall Heksadesimale og oktale tall Programmering av LC-2 Maskinkode Assemblerkode Kjøring av LC-2-programmer

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Enkoder/demultiplekser (avslutte fra forrige gang)! Kort repetisjon 2-komplements form! Binær addisjon/subtraksjon!

Detaljer

Hvordan en prosessor arbeider, del 1

Hvordan en prosessor arbeider, del 1 Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program

Detaljer

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form Dagens tema Dagens temaer hentes fra kapittel 3 i læreboken Repetisjon, design av digitale kretser Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

befinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls.

befinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls. SIE 4005, 15/10 (5. Forelesn.) Andre forelesning: litt repetisjon 8.4 Hardwired Control 8.7 Microprogrammed Control 8.8 A simple computer architecture Femte forelesning: noe repetisjon. 8.9 Single-Cycle

Detaljer

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 OG IT2201 DATAMASKINER

Detaljer

Oppgave 1 Oversettelse (total vekt 20%)

Oppgave 1 Oversettelse (total vekt 20%) UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 47 Program- og maskinvare Eksamensdag: 27. mai 998 Tid for eksamen: 9. 5. Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler:

Detaljer

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke

Detaljer

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Programmeringsspråket C Del 2 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 30.08.2005 inf1060 H05 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 30.08.2005

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Bussar og busshierarki Tape Optical Bus 3 CPU og buss komunikasjon Tape Optical Bus 4 Buss linjer Bus Adr/data Bit 0 Adr/data Bit 1 Adr/data Bit 2 Adr/data

Detaljer

TDT4160 AUGUST, 2008, 09:00 13:00

TDT4160 AUGUST, 2008, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

Forelesning Adresseringsmodi Kap 5.4

Forelesning Adresseringsmodi Kap 5.4 TDT4160 Datamaskiner Grunnkurs Forelesning 21.11 Adresseringsmodi Kap 5.4 Dagens tema Adresseringsmodi (5.4) Hva? Gjennomgang av 6 forskjellige modi Bruk av stakk Eksempler Repetisjon: Instruksjonsformat

Detaljer

Fortsetelse Microarchitecture level

Fortsetelse Microarchitecture level 1 Fortsetelse Microarchitecture level 2 Kva kan datamaskiner (frå 1. forelesing) Aritmetiske Logiske funksjonar Flytte data frå ein plass til ein anna Test er eit tal 0? Gjere desse operasjonane FORT Berekne

Detaljer

TDT DESEMBER, 2009, 09:00 13:00

TDT DESEMBER, 2009, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Datamaskinens virkemåte

Datamaskinens virkemåte Geir Ove Rosvold 6. januar 26 Opphavsrett: Forfatter og Stiftelsen TISIP Resymé: I denne leksjonen ser vi på den grunnleggende virkemåten til en datamaskin. Vi ser på de forskjellige delene - blant annet

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Kapittel 4: Microarchitecture level Nivå mellom Under Instruction Level Architecture (ISA) Over Digital logic

Detaljer

Dark load-store-maskin

Dark load-store-maskin Dark load-store-maskin Figur 1: Load-store arkitektur i Dark Dette dokumentet beskriver arkitekturen til load-store-maskina som benyttes i Dark. Figur 1 viser hvordan den ser ut. Det finnes 32 registre

Detaljer

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1)

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1) Maskvaredelen av INF 3: oversikt og nhold () Boolsk algebra: Regng med og, og AND, OR og NOT Analyse og design av logiske kretser: AND, OR og NOT som byggeblokker Hukommelse og sekvensiell logikk: Konstruksjon

Detaljer

Datamaskinens oppbygning

Datamaskinens oppbygning Datamaskinens oppbygning Håkon Tolsby 18.09.2014 Håkon Tolsby 1 Innhold Hovedenheten Hovedkort Prosessor CISC og RISC 18.09.2014 Håkon Tolsby 2 Datamaskinens bestanddeler Hovedenhet Skjerm Tastatur Mus

Detaljer

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte «Fluency with Information Technology» Sixth Edition by Lawrence Snyder Oversatt av Rune Sætre, 2013 bearbeidet av Terje Rydland, 2015

Detaljer

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060

Detaljer

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Et eksempel Programmeringsspråket C Del 2 Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no inf1060 1 inf1060 2 Forklaring:

Detaljer

TwidoSuite kommunikasjon

TwidoSuite kommunikasjon TwidoSuite kommunikasjon TwidoSuite kursunderlag: Kommunikasjon via Modbus seriell, Ethernet, Remote link, ASCII, CanOpen og AS-i. Macroer for kommunikasjon Modbus 2 Modbus port Bruk programmeringsporten

Detaljer

Innhold. Oppgave 1 Oversettelse (vekt 15%)

Innhold. Oppgave 1 Oversettelse (vekt 15%) UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 29. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 10 sider. Vedlegg: Tillatte

Detaljer

Dagens tema. Makroer Ofte gjentar man kodelinjer når man skriver assemblerkode. Da kan det lønne seg å definere en makro:

Dagens tema. Makroer Ofte gjentar man kodelinjer når man skriver assemblerkode. Da kan det lønne seg å definere en makro: Dagens tema Makroer Sanntidsprogrammering Avbrudd Bruker- og supermodus Blanding av C og assemblerkode Selvmodifiserende kode Makroer Ofte gjentar man kodelinjer når man skriver assemblerkode. Da kan det

Detaljer

Dagens tema INF1070. Makroer. Sanntidsprogrammering. Avbrudd. Bruker- og supermodus. Blanding av C og assemblerkode. Selvmodifiserende kode

Dagens tema INF1070. Makroer. Sanntidsprogrammering. Avbrudd. Bruker- og supermodus. Blanding av C og assemblerkode. Selvmodifiserende kode Dagens tema Makroer Sanntidsprogrammering Avbrudd Bruker- og supermodus Blanding av C og assemblerkode Selvmodifiserende kode Dag Langmyhr,Ifi,UiO: Forelesning 2. mai 2005 Ark 1 av 20 Makroer Ofte gjentar

Detaljer

Oppgave 2 Maskinkode (vekt 12%)

Oppgave 2 Maskinkode (vekt 12%) UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 47 Program- og maskinvare Eksamensdag: 29. mai 2 Tid for eksamen: 9. 5. Oppgavesettet er på 8 sider. Vedlegg: Ingen Tillatte

Detaljer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Kapittel 4: Microarchitecture level 4 Kapittel 4: Microarchitecture level Nivå mellom Under Instruction Level

Detaljer

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU) 2 Innhold 1 Datamaskiner Prosessoren Primærminnet (RAM) Sekundærminne, cache og lagerhierarki Datamaskiner Matlab Parallell Jørn Amundsen Institutt for Datateknikk og Informasjonsvitenskap 2010-08-31 2

Detaljer

IN1020. Datamaskinarkitektur

IN1020. Datamaskinarkitektur IN1020 Datamaskinarkitektur Hovedpunkter Von Neumann Arkitektur BUS Pipeline Hazarder Intel Core i7 Omid Mirmotahari 4 Von Neumann Arkitektur John von Neumann publiserte i 1945 en model for datamaskin

Detaljer

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP 4. januar 26 Opphavsrett: Forfatter og Stiftelsen TISIP Resymé: Denne leksjonen beskriver. Vi ser at en instruksjon utføres ved at den brytes ned til mindre og enkle handlinger; såkalte mikrooperasjoner.

Detaljer

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering Oppsummering Pensum Grovt sett er alt fra forelesningene og øvingsoppgavene pensum. Detaljert oversikt finnes på kurssidene. Hovedtanker fra kurset Litt om eksamen Hvorfor har dere lært dette? Ikke mange

Detaljer

Den siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen

Den siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen Den siste dagen Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen En oppsummering Oppsummering Pensum Læreboken til og med kapittel 7, kompendiet, forelesningene

Detaljer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4431 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker

Detaljer

Tema for denne forelesningen: tilpassing til pipeline. forwarding. eliminere NOP. faktisk MIPS. in 147, våren 1999 pipelining 1 9

Tema for denne forelesningen: tilpassing til pipeline. forwarding. eliminere NOP. faktisk MIPS. in 147, våren 1999 pipelining 1 9 Tema for denne forelesningen: tilpassing til pipeline forwarding eliminere NOP faktisk IPS in 147, våren 1999 pipelining 1 9 Schedulering av instruksjoner #include int kombiner( int antall, int*

Detaljer

TDT4160 15. AUGUST, 2011, 09:00 13:00

TDT4160 15. AUGUST, 2011, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

En oppsummering (og litt som står igjen)

En oppsummering (og litt som står igjen) En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de

Detaljer

Kap. 8 del 1 kodegenerering INF5110 Vår2007

Kap. 8 del 1 kodegenerering INF5110 Vår2007 Kap. 8 del 1 kodegenerering INF5110 Vår2007 Stein Krogdahl, Ifi UiO Forelesninger framover: Tirsdag 8. mai: Vanlig forelesning Torsdag 10. mai: Ikke forelesning Tirsdag 15. mai: Vanlig forelesning (siste?)

Detaljer

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU 1 TDT4110 - ITGK - Hardware Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte Terje Rydland - IDI/NTNU 2 Læringsmål Vite om å forstå hvordan prosessoren er oppbygd (5 deler, PC)

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form Dagens temaer Dagens temaer hentes fra kapittel 3 i læreboken Oppbygging av flip-flop er og latcher Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Side 1 av 9 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Jon Olav Hauglid, Tlf 93440 Institutt for datateknikk og informasjonsvitenskap,

Detaljer

Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Grovt sett inneholder det En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.

Detaljer

Nybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker

Nybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker Nybegynnerkurs i C Øyvind Grønnesby 14. oktober 2004 Introduksjon pass-by-value svakt typet portabel assembler siste ISO-standard er C99 Hello world #i n c l u d e < s t d l i b. h> #i n c l u d e

Detaljer

TDT4160 2. DESEMBER, 2011, 09:00 13:00

TDT4160 2. DESEMBER, 2011, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk

Detaljer

Løsningsforslag til eksamen i IN147(A)

Løsningsforslag til eksamen i IN147(A) Løsningsforslag til eksamen i IN147(A) Dag Langmyhr Øystein Gran Larsen 27. mai 1998 Oppgave 1: Oversettelse En ganske rett frem oversettelse ser slik ut: 1 #include 2.text 4.globl iavg 6 #

Detaljer

ytelsen til hukommelseshierarkier

ytelsen til hukommelseshierarkier Tema for denne forelesningen: virtuell hukommelse ytelsen til hukommelseshierarkier andre ting å cache e in 47, våren 999 hukommelseshierarki 2 Alle prosesser får et helt adresserom! stakk stakk stakk

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 4. DESEMBER, 214, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Data.data Stakk %EAX %ECX %EDX %EBP %ESP Prosessor Kode Minne.text Hovedkortet Grovt sett inneholder et hovedkort En prosessor

Detaljer