Design af et ISA. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Størrelse: px
Starte visningen fra side:

Download "Design af et ISA. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet"

Transkript

1 Design af et ISA Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

2 Level 2: Maskinniveau (ISA) Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation (assembler) Level 3 Operating system machine level Partial interpretation (operating system) Level 2 Instruction set architecture level Interpretation (microprogram) or direct execution Level 1 Micro-architecture level Hardware Level 0 Digital logic level

3 Hvad karakteriserer en processor? Central Processing Unit (CPU) Control Unit Arithmetic Logic Unit (ALU) ISA niveauet og von Neumann-maskiner maskininstruktioner og instruktionsformater symbolsk og absolut maskinkode registre og hukommelse Registers Main Memory Input/Output devices Disk SP Printer Bus IJVM PC, SP, LV, CPP method area, constant pool, stakken metodekald, stakafsnit, parametre og lokale variabler Constant Pool CPP Current Operand Stack 3 Local Variable Frame 3 Local Variable Frame 2 Local Variable Frame 1 LV Method Area PC 32 bit 32 bit 8 bit

4 Design af et ISA Generelle overvejelser Introduktion til Intel Core i7, OMAP4430 og AVR ATMega Datatyper ISA design og eksempler Adressering

5 Kunsten at designe et instruktionssæt Hvad er formålet med maskinen? Hvilke operationer og hvilken slags data skal understøttes? Hvordan skal hukommelsen adresseres? Effektivitet! tid plads pris Bagudkompabilitet

6 CISC vs. RISC Før blev CPUer programmeret meget mere i symbolske maskinsprog der var naturligvis compilere, men den bedste kode blev skrevet i hånden For at gøre programmørerne mere effektive, tilføjede man med tiden flere og flere kommandoer til instruktionssættene disse kommandoer kunne typisk udføre flere handlinger i en omgang, f.eks. et procedurekald eller beregning med efterfølgende hukommelsesaccess dette betød, at man kún behøvede én instruktion for en række skridt fremfor adskillige instruktioner bedre performance, da man slap for adskillige cykler af fetch-decode-execute men med tiden kom der mange komplekse instruktioner til og nogen af instruktionerne blev nødvendigvis lange i udførsel alt dette gjorde mikrokoden på CPUerne mere og mere kompleks Disse CPUer blev under ét kaldt Complex Instruction Set Computers af folkene bag

7 Reduced Instruction Set Computers Filosofi: Fjern alt unødigt der behøver kun være én måde at gøre tingene på Hellere tre simple instruktioner end én kompleks skjul ikke kompleksitet på CPUen Al hukommelsetilgang ordnes eksplicit via load og store alle beregninger foregår i registre (som der til gengæld kan være masser af) Simple, men besværlige at programmere typisk via compilere (der var blevet bedre i mellemtiden) snarere end i symbolsk maskinkode Uniforme instruktioner (ofte af ens længde) simple nok til at kunne udføres af digitale kredsløb fremfor mikrokode høj performance og klokhastighed Vandt frem til (Unix) workstations og servere i senfirserne og halvfemserne

8 CISC vs. RISC i dag Mest af historisk interesse Moderne CISC CPUer (som Intels Core processorer) er internt højeffektive RISC processorer, gemt under det gamle IA-32 ISA lag, hvor de gamle CISC instruktioner bliver brudt om til korte RISC instruktioner og udført Moderne RISC CPUer (som ARM, SPARC eller POWER) har masser af instruktioner og har en sofistikeret intern arkitektur Performancemæssigt ligger de nogenlunde på niveau i dag er de vigtigste benchmarks snarere performance/watt

9 Registre og hukommelse Moderne processorer er typisk mellem 8- og 64-bit Dette har betydning for registre hukommelse En given registerbredde er typisk begrænsende for, hvor meget hukommelse man kan adressere, og hvor store tal, man kan regne på af gangen

10 Adressering af hukommelse Mængden af hukommelse, der kan adresseres, afhænger umiddelbart af registerbitbredden og ordlængden i hukommelsen!!! Bitbredde 8-bit ord 16-bit ord 32-bit ord 64-bit ord bytes 512 bytes 1 KiB 2 KiB KiB 128 KiB 256 KiB 512 KiB 32 4 GiB 8 GiB 16 GiB 32 GiB GiB GiB GiB GiB Hvis man vælger at adressere i større ord, kan man altså håndtere mere hukommelse på bekostning af granularitet

11 Hukommelsesalignment Skønt man (nutildags) tæller sin hukommelse i bytes, varierer det fra arkitektur til arkitektur, hvilke adresser der kan tilgås direkte Typisk tilgås hukommelsen i 4- eller 8-bytes intervaller dvs. man kan tilgå adresse 0, 4, 16, 40 i en 4-byte aligned hukommelse eller adresse 0, 8, 16, 64, 512 i en 8-byte aligned hukommelse men ikke adresse 5, 13, 129, 222 Grundet bagudkompabilitet, er man som regel tvunget til at kunne tilgå i byteopløsning, men i virkeligheden hentes data ind efter alignment Hvis man kún skal bruge én byte, virker det som spild at hente 8 bytes sådan som hukommelseadgang fungerer, er det faktisk ikke noget stort problem, men man skal naturligvis bruge cache på unødig data og tid på at fiske den relevante byte ud

12 Statusregister (Program Status Word) Vi kender N og Z fra Mic-1 Rigtige CPUer har et større sortiment Typisk i ét register PSW med bits efter behov Der vil være ISA understøttelse for at checkke de enkelte bits Der vil typisk også være bits, der relaterer sig til processorens tilstand N Negativt resultat Z Nul resultat V overløb C Mente på venstre bit A Mente på bit 3 P Lige paritet

13 Design af et ISA Generelle overvejelser Introduktion til Intel Core i7, OMAP4430 og AVR ATMega Datatyper ISA design og eksempler Adressering

14 Typer af CPUer Mikrokontrollere billige, kontrol af ydre enheder Mobile CPUer lavt strømforbrug Desktop CPUer høj performance Med forskellige brugsmønstre og markedsforhold kommer forskellige krav til CPUernes arkitekturer

15 Intel Core i7 Har sin egen forelæsning, så her kigger vi kún på de overordnede aspekter Intel (verdens største CPU-fabrikant) 8086 (1978), 8088 (1978) (1982) (1985), (1989) Pentium (1993), Pentium Pro (1995), Pentium II-III (1997), Pentium 4 (2000) Pentium M (2003) Core 2 (2006), Core i3/i5/i7 (2008), Atom (2008) Sandy Bridge/Ivy Bridge (2011) Haswell (2013) Herudover diverse varianter rettet mod servere og bærbare, og mange x86 kompatible CPUer fra (især) AMD, samt Cyrix, VIA, Transmeta og NEC

16 x86 s udvikling 8086 var til dels baseret på Intel 8080, der igen var baseret på 4004, den første CPU 8086 (8088) blev en massiv succes (IBM PC og MS-DOS), hvilket medførte, at bagudkompabilitet blev en afgørende parameter for alle fremtidige designvalg for Intel CPUer firmaet har flere gange prøvet, uden held, at introducere nye designs, der brød med fortidens synder seneste forsøg er Itanium (omtalt i SCO 5.8), der er endt som en nicheprocessor med meget uvis fremtid ( Itanic ) Apple er stort set det eneste eksempel på et firma, der TO gange har skiftet processorarkitektur med medfølgende tab af bagudkompabilitet Motorola 68XXX IBM PowerPC Intel IA-32

17 Pentium 4 Egenskaber mål: højtydende processor til personlige computere dyb pipeline (>20 trin) og høj klokfrekvens (introduceret med 1.3 Ghz; sluttede ved 3.8 Ghz) højt strømforbrug stort behov for køling relativ dyr Pentium 4 var ved lanceringen langsommere end Pentium III først da klokfrekvensen kom op i senere modeller, kunne ambitionerne opfyldes Arkitekturen kunne i længden ikke opfylde forventningerne (herunder forventede max klokfrekvens på 10 Ghz), og blev erstattet af Pentium M (og senere Core)

18 Intel Core i7 Intel opdeler deres Core linje i i3, i5, i7 og Xeon i7 er en processor rettet mod høj performance den i bogen omtalte processor er af Sandy Bridge E generationen 6 cores, 3,3 GHz, 15 MB cache, 64-bit 16 trins pipeline (tror man) Max. 130 watt (men kan skrue ned) 2,3 milliarder transistorer Extreme (angiveligt)

19 Dyb pipelining Fordele ved dybe pipelines Jo dybere pipeline, des flere instruktioner kan være i pipelinen, des højere antallet af udførte instruktioner per tid Da en dyb pipeline består af små (hurtigt udførte) skridt, kan klokfrekvensen skrues op Ulemper Ovenstående antager, at vi hele tiden kan holde pipelinen fyldt med instruktioner under udførsel Dette er langt fra tilfældet, f.eks. tager hukommelsesadgang kolossal lang tid i forhold til CPUen, og så løber pipelinen tør Hvis pipelinen ikke kan holdes fyldt, forsvinder hastighedsfordelene Klokfrekvensen skal typisk tilsvarende højere op for at matche andre CPUer med kortere pipelines i hastighed Blandt p.gr.a. pipelining er det meningsløst at sammenligne klokfrekvens på tværs af CPU-arkitekturer, for udført arbejde per taktslag er helt forskelligt

20 Core registre Skønt Core tilsyneladende har en del registre, er det kun de fire øverste (E(A-D)X), der kan bruges generelt, og selv de har specielle egenskaber (herunder indeholdte 8- og 16-bit registre (A-D og (A-D)X) ESI-ESP bruges til pointere CS-GS er fortidslevn til segmenteret hukommelse EIP er Program Counter (PC fra IJVM) EFLAGS indeholder CPUens status (herunder bits til brug for conditional branches)

21 ARMs historie Den oprindelige ARM1 processor blev designet i 1985 af fire ingeniører en til instruktionssættet, en til mikroarkitekturen, to til udvikling af understøttende chipsæt. Det tog 14 måneder Oprindeligt en del af det britiske Acorn, men blev et selvstændig firma i 1990 med Acorn, Apple og VLSI som investorer Apple anvendte en ARM CPU i deres Apple Newton Messagepad Har siden udviklet på ARM designet med stor succes 2300 ansatte, hovedkvarter i Cambridge, U.K. næsten total dominans på mobil og tabletmarkedet. Også meget udbredt på mindre enheder Designer chips, men overlader fabrikationen til deres licenstagere ARMs kunder har solgt mere end 34,8 milliarder ARM processorer (!!!)

22 ARM processorens udvikling Arkitektur Bitbredde Cores designet af ARM Holdings Cores designet af tredjepart ARMv1 32/26 ARM1 ARMv2 32/26 ARM2, ARM3 Amber ARMv3 32 ARM6, ARM7 ARMv4 32 ARM8 StrongARM, FA526 ARMv4T 32 ARM7TDMI, ARM9TDMI ARMv5 32 ARM7EJ, ARM9E, ARM10E XScale, FA626TE, Feroceon, PJ1/Mohawk ARMv6 32 ARM11 ARMv6-M 32 ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1 ARMv7-M 32 ARM Cortex-M3 ARMv7E-M 32 ARM Cortex-M4 ARMv7-R 32 ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7 ARMv7-A 32 ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15 Krait, Scorpion, PJ4/Sheeva, Apple A6/A6X (Swift) ARMv8-A 64/32 ARM Cortex-A53, ARM Cortex-A57[22] X-Gene, Denver, Apple A7 (Cyclone) ARMv8-R 32 Endnu ikke annonceret

23 ARM specialitet: big.little De fleste processorer er i dag multi-core Hvis man har arbejde til dem alle, kan det gå stærkt Hvis ikke, spilder man strøm sluk for ikke anvendte cores Hvis man har en lille og svag, men strømbesparende, core, og en stor og stærk, men strømslugende, core i stedet for to ens cores, kan man spare mere strøm, når der ikke er meget at lave

24 ARM registre Mere ensartet og flad registerstruktur end hos Intel Tilsyneladende helt homogent, men konventioner dikterer anvendelsen af en række registre Bemærk: R12-R15 reserverede

25 Programmering på en ARM processor Hukommelsen tilgås gennem eksplicitte load og store instruktioner, der henter og bringer mellem hukommelsen og registrene Når der skal regnes på noget, foregår det altid i registrene Når man er færdig, gemmer man eksplicit i hukommelsen med store (i modsætning til sædvanlige (CISC) processorer, hvor hukommelsesoperationer ofte kan være implicitte, og bliver håndteret af processoren) et eksempel på, hvordan simple instruktioner kan medføre (lidt) mere arbejde for programmøren De enkelte instruktioner på ARM kan typisk udføres meget hurtigt ofte direkte af logiske kredsløb end igennem afvikling af et mikroprogram

26 OMAP4430 Produceret på licens af Texas Instruments Dual-core ARM Cortex-A9, ARM v7 ISA 1,2 GHz Indbygget GPU, accellereret video dekodning, SIMD 32-bit 0,6 watt Findes bl.a. i Kindle Fire og Google Glass

27 ATMEL ATmega168 AVR En microcontroller en CPU beregnet til indlejrede systemer styring af clockradioer, komfurer, USB-sticks, Arduino De to vigtigste designparametre for indlejrede CPUer: BILLIG, helst MEGET billig kraftfuld nok til at udføre den nødvendige opgave, men heller ikke mere (for ellers har den været for dyr) En 8-bit RISC processor Udviklet af Alf-Egil Bogen og Vegard Wollan, studerende på NTH i 1996

28 ATMEL ATmega168 AVR ATmega168 er et eksempel på SoC (System on a Chip) CPU, RAM, ROM, I/O, timere på den samme chip simpelt at integrere for designerne ATmega168 karakteristika 8-bit processor, op til 20 Mhz 16 kib flash RAM til program og 1 kib RAM til data Programhukommelsen opdelt i to bootloader: kan skrives én gang programhukommelse: kan skrives til af bootloaderen mulighed for signeret programkode sikrer, at softwaren ikke kan overskrives af tredjepart

29 ATmega168 AVR: Registre og hukommelse De nederste 32 bytes i hukommelsen er registre R0-31 De næste 64 bytes bruges til I/O De øvrige 928 bytes kan man bare bruge løs af SREG bruges til statusflag SP er delt over to bytes for at kunne adressere 1024 bytes

30 Design af et ISA Generelle overvejelser Introduktion til Intel Core i7, OMAP4430 og AVR ATMega Datatyper ISA design og eksempler Adressering

31 Datatyper Valget af datatyper, som en CPU understøtter fra designerens hånd, varierer helt efter hvad skal den bruges til? er der noget, som vi kan understøtte bedre ved direkte hardwareunderstøttelse, og er dét tilstrækkeligt vigtigt? hvad hænger vi på fra fortiden? Det typiske primitiv er heltal, med og uden fortegn, i forskellig længder Samt floating point tal (som vi ikke kommer ind på hér) Det er i høj grad et spørgsmål om, hvad vi ønsker at understøtte i hardware, og hvad vi overlader til programmøren/operativsystemet hvis vi bare har 8-bits heltal (bytes), kan vi klare resten i software

32 Numeriske datatyper på en Core i7 Type 8 bits 16 bits 32 bits 64 bits Signed Integer Unsigned integer Binary coded decimal integer Typiske integer typer for en 64-bits maskine Floating point BCD bruges hovedsageligt i financielle systemer (4 bits (en nibble) bruges til at repræsentere ét decimaltal) ikke så pladseffektivt som binære tal, men matcher præcist på decimaltal, hvor binære repræsentation af floating point tal kan være problematiske med hensyn til afrundingsfejl o.lign.

33 Numeriske datatyper på en OMAP4430 Type 8 bits 16 bits 32 bits 64 bits Signed Integer Unsigned integer Binary coded decimal integer Floating point Skønt ARMv7 er en 32-bit ISA, er den veludstyret med load og store instruktioner til at kunne hente 8- og 16-bitsværdier til og fra registre

34 Numeriske datatyper på en ATmega168 Type 8 bits 16 bits 32 bits 64 bits Signed Integer Unsigned integer Binary coded decimal integer Floating point Hér har vi skåret ind til benet. Det absolut nødvendige og intet mere 16 bit er hovedsageligt til hukommelsesadresser

35 Design af et ISA Generelle overvejelser Introduktion til Intel Core i7, OMAP4430 og AVR ATMega Datatyper ISA design og eksempler Adressering

36 Valget af en ISA enkodning Når man har valgt sin arbejdsområde for sin CPU, de grundlæggende karakteristika (f.eks. registerbredde og hukommelsens organisering) og de nødvendige instruktioner til understøttelse heraf, melder spørgsmålet sig hvordan repræsenteres de nødvendige instruktioner mest effektivt i bitmønstre? Dette er på ingen måde simpelt

37 Ønsker til et ISA Jo kortere instruktioner, des bedre mere pladseffektivt, flere instruktioner kan hentes over tid, bedre udnyttelse af kodecache, bedre performance Jo mere ensartede instruktioner, des bedre det gør det enkelt og dermed hurtigt at afkode dem, altså bedre performance Der skal være plads til udvidelser til senere generationer af CPUen vi kan på ingen måde forudsige nu, hvad behovet måske er om 10 år Man skal kunne adressere tilstrækkelig hukommelse med passende opløsning hvad er den mindst adressérbare enhed i hukommelsen? En byte, et 4 bytes word, 8 bytes, 16? Hvilke forfærdelige valg gjorde vores forgængere? disse fortidsvalg er uomgængelige, hvis man vil være bagudkompatibel

38 Typiske instruktionsformater Fire typiske instruktionsformater: jo længere adresse, des højere opløsning (a) Ingen adresse angivet (b) En adresse angivet! (c) To adresser angivet (d) Tre adresser angivet

39 Længden af instruktioner Man kan vælge instruktioner af forskellig, men ensartet længde eller tillade blandede længder Ensartede længde er hurtige at afkode, men kan spilde plads ARM er speciel ved at have 32-bits instruktioner OG et 16-bits Thumb instruktionsæt, der ganske vist er reduceret, men fylder det halve

40 Udvidbare opcodes (16-bit eksempel) En instruktion med 4-bit opcode og tre 4-bit adressefelter velegnet f.eks. til at angive tre registre ud af maksimalt 16 Hvor mange typer instruktioner kan der maksimalt være af denne type? absolut ikke flere end 16, for vi har 4 bits til angive opcode med men hvis vi bruger 16 opcodes, har vi afskåret os fra andre muligheder

41 Udvidbare opcodes (16-bit eksempel) Hvis man pakker det effektivt, kan man have 15 tre-adresser, 14 to-adresser, 31 en-adresse og 16 adresseløse instruktioner i 16-bit

42 Core i7 s instruktionsformat! Historisk betinget instruktionssæt har betydet, at afkodning af x86 instruktioner er kompliceret med masser af special tilfælder Instruktioner varierer i længde fra 1 op til 17 bytes

43 OMAP4430 s instruktionsformat 32 bit ISA vist her Meget tæt pakket kompleks decode

44 Brug af conditionals i ARM ISA 32 bits instruktionerne bruger 4 bits til cond hvorfor dét? Conditionals afhænger af statusbits, og den tilhørende instruktion udføres kún, hvis conditions er opfyldte Kan skabe super kompakt og hurtig kode: loop: CMP Rx, Ry ; set condition "NE" if (x!= y), ; "GT" if (x > y), ; or "LT" if (x < y) SUBLT Ry, Ry, Rx ; if "LT" (Less Than), y = y-x; SUBGT Rx, Rx, Ry ; if "GT" (Greater Than), x = x-y; BNE loop ; if "NE" (Not Equal), then loop ARM IJVM // { while: // while iload x iload y if_icmpeq end_while // (x!=y) { iload x // if iload y isub // stack=x-y, x-y<0 (x<y) iflt then goto else then: // then iload y iload x isub istore y // y=y-x; goto end_if else: // else iload x iload y isub istore x // x=x-y; end_if: goto while end_while: // }

45 ATmega168 s instruktionsformat Simpelt og kompakt: 2 til 4 bytes lange instruktioner

46 Design af et ISA Generelle overvejelser Introduktion til Intel Core i7, OMAP4430 og AVR ATMega Datatyper ISA design og eksempler Adressering

47 Adressering CPUens instruktioner har behov for at kunne referere/adressere data og lokationer i hukommelsen og i registrene (også kendt som operander) Hvordan gør man dét? fleksibelt? kompakt? effektivt? Følgende er eksempler på adresseringsformer det er langtfra afgjort, at en processor understøtter dem alle

48 Immediate addressing OPCODE OPERAND Operanden er en del af instruktionen bipush 42 Det sætter selvfølgeligt sine begrænsninger på operandens størrelse i IJVMs tilfælde med bipush er vi begrænset til en byte Effektivt vi har vores operand med det samme (immediately!) Begrænset det skal være hardcodet fra begyndelsen

49 Register addressing Operanderne ligger i registre add R1, R2 // R1 = R1 + R2 add R1, R2, R3 // R1 = R2 + R3 OPCODE REGISTER REGISTER OPCODE REGISTER REGISTER REGISTER Kræver, at vi har vores data liggende i registre Effektivt registre er den hurtigste form for hukommelse Kompakt vil ofte kunne enkodes i en (relativ) kort instruktion

50 Direct addressing OPCODE REGISTER ADDRESS Operand ligger på en absolut adresse i hukommelsen add R1, 1069 // R1 = R1 + m[1069] Meget ufleksibelt kræver, at vi ved præcist hvor i hukommelsen vores data ligger, når vi skriver programmet Dvs. måske velegnet til konstanter og globale variable, men ikke til adressering relativt til f.eks. stakken Fint nok til processorer som ATmega168, men uholdbart til multitasking

51 Register indirect addressing OPCODE REGISTER REGISTER Operand ligger på en absolut adresse i hukommelsen udpeget af et register add R1, (R2) // R1 = R1 + m[r2] Mere fleksibelt, nu kan vi beregne adressen på operanden

52 Register indexed addressing Operand udpeges af et register og et offset add R1, 4(R2) // R1 = R1 + m[r2 + 4] Fleksibelt og effektivt OPCODE REGISTER REGISTER OFFSET OPCODE OFFSET Bruges f.eks. implicit i IJVM, når vi bruger iload og istore (indekseret relativt til LV) goto og branching i IJVM foregår også indekseret relativt til PC

53 Based-indexed addressing OPCODE REGISTER REGISTER OFFSET OPCODE REGISTER REGISTER Operand udpeges af summen af to registre (og måske et offset) add R1, (R2+R3) // R1 = R1 + m[r2 + R3] Effektivt og særdeles fleksibelt

54 Core i7, OMAP4430 ARMv7 og ATmega168 AVR Adresseringsform Core i7 OMAP4430 ATmega168 Immediate Direct Register Register indirect Indexed Based-indexed

55 Opsummering ISA design er et spørgsmål om kompromiser og historie Hvad skal maskinen kunne? Hvor meget må den koste? Er hastighed den vigtigste parameter, eller hvad med kompakthed? Hvilke valg er der truffet i fortiden? Hvordan undgår vi at vanskeliggøre fremtidige valg?

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Mikroarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Level 1: Mikrokode niveauet Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet

Læs mere

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Mikroprogrammering Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Mikroprogrammering: IJVM implementeret på Mic-1 Forbedringer af Mic-1 Metode til udvikling af symbolske maskinsprogsprogrammer

Læs mere

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009 1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

CPUer og maskinkode DM534. Rolf Fagerberg CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal

Læs mere

Eksamen dcomnet Q2/2010. Navn

Eksamen dcomnet Q2/2010. Navn 2582 Eksamen dcomnet Q2/2010 ID Navn Example I A32-prg1 Betragt følgende program skrevet i IA-32 symbolsk maskinsprog:.section.data x:.long 2 r:.long 27.section.text.globl _start _start: pushl x movl $0,%ebx

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1 Maskinarkitektur Lars Kristensen kris@daimi.au.dk Christian Storm cstorm@daimi.au.dk dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,

Læs mere

Introduktion til Computerarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Introduktion til Computerarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Introduktion til Computerarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Formål med dagens forelæsning Kurset læringsmål og emner folk og form eksamen Området maskinarkitektur 2

Læs mere

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Det Digitale Niveau Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level : Det digitale niveau Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

uprocessorens hardware

uprocessorens hardware uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller

Læs mere

Computere og Netværk (dcomnet)

Computere og Netværk (dcomnet) Computere og Netværk (dcomnet) http://www.cs.au.dk/dcomnet Jens Kargaard Madsen (jkm@iha.dk) Jens Bennedsen (jbb@iha.dk) dcomnet 1 Computere og netværk Beskrivelse At give den studerende kendskab til computere

Læs mere

Algorithms & Architectures II

Algorithms & Architectures II Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm. Computer Literacy Computer Literacy handler om at forstå hvad computer (hardware) og software kan gøre. Denne præsentation fokuserer kun på hardware februar 2002 Computerliteracy -hardware (15 dias) 1

Læs mere

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Computerarkitektur. - en introduktion til computerarkitektur med LINDA Computerarkitektur - en introduktion til computerarkitektur med LINDA faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig

Læs mere

Computerens Anatomi. Af Martin Arnetoft

Computerens Anatomi. Af Martin Arnetoft Computerens Anatomi Af Martin Arnetoft Moores lov Moores lov siger, at antallet af transistorer på et stykke hardware over 18 eller 24 måneder fordobles. Denne lov bruges til at beskrive udviklingen indenfor

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

Eksamen dcomnet 2012Q4. Årskortsnummer Navn

Eksamen dcomnet 2012Q4. Årskortsnummer Navn Eksamen dcomnet 2012Q4 Årskortsnummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive årskort og navn tydeligt på forsiden, inden eksamen afsluttes. Der er ét rigtigt svar per

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Pentium IA-32 Maskinarkitekturen

Pentium IA-32 Maskinarkitekturen Pentium IA-32 Maskinarkitekturen 1 Historie (1) Starter i 1970 med udviklingen af Intel 4004: 2 Historie (2) Baglæns kompatibilitet tilbage til 8086. 3 Intel 4004 and Pentium 4 http://www.intel.com/museum/archives/index.htm

Læs mere

Introduktion til Operativsystemer

Introduktion til Operativsystemer Introduktion til Operativsystemer 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Formål Hvad er en computer? Operativsystemets rolle Multitasking 2 Formål Introduktion af de basale

Læs mere

Eksamen dcomnet Q2/2012. Studiekortsnummer Navn

Eksamen dcomnet Q2/2012. Studiekortsnummer Navn Eksamen dcomnet Q2/2012 Studiekortsnummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes. Der er ét rigtigt

Læs mere

3. Computerens opbygning.

3. Computerens opbygning. 3. Computerens opbygning. Computere er konstrueret med henblik på at skulle kunne behandle og opbevare data og det er de som nævnt i noterne om Bits og Bytes vældig gode til. Som overordnet model for computere

Læs mere

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE

COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE COMPUTER ANATOMI 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE 1 Indholdsfortegnelse Kapitel 1: Opbygning s.2 Kapitel 2: CPU s.3 Kapitel 3: Motherboard s.4 Kapitel 4: Ram s.6 Kapitel 5: Grafikkort s.7 Kapitel

Læs mere

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer Maskinsprog Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, kap. 3 Programmer og ordrer Ordretyper Operander og deres placering Ordreformat Procedurekald Andre arkitekturer 1 Stored-program

Læs mere

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Computerarkitektur Eksamen 2014Q2. Niels Olof Bouvin A. Studienummer Navn

Computerarkitektur Eksamen 2014Q2. Niels Olof Bouvin A. Studienummer Navn Computerarkitektur Eksamen 2014Q2 Niels Olof Bouvin A Studienummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes.

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion

Læs mere

Eksamen Computerarkitektur 2013Q4. Niels Olof Bouvin. Studienummer Navn

Eksamen Computerarkitektur 2013Q4. Niels Olof Bouvin. Studienummer Navn Eksamen Computerarkitektur 2013Q4 Niels Olof Bouvin Studienummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes.

Læs mere

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn Computerarkitektur Eksamen 2014Q3 Niels Olof Bouvin Studienummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes.

Læs mere

Bits, bit operationer, integers og floating point

Bits, bit operationer, integers og floating point Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen

Læs mere

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Lageradministration Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Abstraktion over typerne: et hierarki En maskine har fl ere forskellige lagre Operativsystemet

Læs mere

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet Scheduling 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Tråde og deres indbyrdes forhold Sidste gang så vi på, hvorledes tråde kan skabes, og hvordan man kan skifte imellem dem I dag ser

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Mikroarkitektur: Mic-1 Digitale kredsløb Logiske tilstande: 0 (0-1 V), 1 (2-5 V) Mikroarkitektur: Mic-1 Kombinatoriske kredsløb Logiske tilstande: 0 (0-1

Læs mere

Principper for Samtidighed og Styresystemer

Principper for Samtidighed og Styresystemer Principper for Samtidighed og Styresystemer kursusintroduktion og Introduktion til Styresystemer René Rydhof Hansen Februar 2008 PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 1

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur og

Læs mere

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Interrupt - Arduino EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Interrupts Programmeringskursus Genbrug Interrupts Betyder blot at man afbryder

Læs mere

DATALOGI MASKINARKITEKTUR

DATALOGI MASKINARKITEKTUR Københavns Universitet Natrvidenskabelig Embedseksamen DATALOGI ASKINARKITEKTUR Skriftlig eksamen fredag den 29. oktober 24 kl. -2 Frederiksholms kanal 4B Der er fem opgaver i alt og disse giver følgende

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg 1 / 18 Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur

Læs mere

\ \ Computerens Anatomi / /

\ \ Computerens Anatomi / / HTX Roskilde - mat-it-prog, 1.4 \ \ Computerens Anatomi / / Introduktion En PC ( personlige computer ) eller computer er bygget op af forskellige komponenter. Vi vil hermed gennemgå størstedelen af computerens

Læs mere

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. APPETITVÆKKEREN OZ6YM, Palle A. Andersen Efteråret 2017 Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. DEMO-video

Læs mere

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering i C Intro og grundlæggende C 5. marts 2007 Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

Til dig som vil have et indblik i computeren

Til dig som vil have et indblik i computeren Vi håber du nu har fået indblik i computerens hardware. Til dig som vil have et indblik i computeren Brochuren er skrevet af Anders Bøge Paulsen, Betina Kopp Pedersen, Frederik Hejgaard Andersen og Oscar

Læs mere

Computerens Anatomi KOM/IT

Computerens Anatomi KOM/IT j Computerens Anatomi KOM/IT Rapporten er skrevet af: Frederik, Jesper og Peter Gruppemedlemmer: Simon, Jesper, Frederik, Mathias og Peter Klasse: 1.3 Periode/øvelsesdato:14-02-2014 til 14-03-2014 Afleveringsdato:

Læs mere

Lageradministration. dopsys

Lageradministration. dopsys Lageradministration 1 Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder 2 Abstraktion over typerne: et hierarki En maskine har flere forskellige lagre Operativsystemet

Læs mere

Lageradministration Paging og segmentering

Lageradministration Paging og segmentering Lageradministration Paging og segmentering 1 Re: Logiske/fysiske adresser... Proces-struktur = kode og data for en proces 4G En proces tilgår sin proces-struktur via et logisk/virtuelt adresserum, fx 0,

Læs mere

Algoritmer og Datastrukturer 1

Algoritmer og Datastrukturer 1 Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode

Læs mere

Media College Aalborg Side 1 af 11

Media College Aalborg Side 1 af 11 Media College Aalborg Side 1 af 11 Indholdsfortegnelse Problemformulering... 3 Hvilket fjernsupport egner sig bedst af, eller Windows fjernskrivebord, når et firma skal supportere sine kunder?... 3 Hvorfor

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Digitale kredsløb Logiske tilstande: (- V), (2-5 V) Kombinatoriske kredsløb Logiske tilstande: (- V), (2-5 V) Registre Logiske tilstande: (- V), (2-5

Læs mere

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1] Grundlæggende Algoritmer og Datastrukturer Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode

Læs mere

Acceleration af Kollisionsdetektion på Parallelle Computerarkitekturer

Acceleration af Kollisionsdetektion på Parallelle Computerarkitekturer af Kollisionsdetektion på Parallelle Computerarkitekturer Speciale Andreas Rune Fugl anfug03@student.sdu.dk Thomas Frederik Kvistgaard Ellehøj ththy03@student.sdu.dk Datateknologi ved Teknisk Fakultet

Læs mere

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Virtuel Hukommelse 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Formålet med virtuel hukommelse Organisering af virtuel hukommelse Håndtering af virtuel hukommelse 2 Minimal computerarkitektur

Læs mere

MSS CONSULT Dato: 28-08-08 SALGSBROCHURE. Autoværksted. Indeholdende. Hardware Software Netværk

MSS CONSULT Dato: 28-08-08 SALGSBROCHURE. Autoværksted. Indeholdende. Hardware Software Netværk Dato: 28-08-08 SALGSBROCHURE Autoværksted Indeholdende Hardware Software Netværk Side 2 BESTIL PÅ TELEFON: 24 79 71 41 Side 3 INDHOLDSFORTEGNELSE Indledning 4 Bærbare 5 Svag stationær 6 Middel stationær

Læs mere

Operativsystemer - dopsys

Operativsystemer - dopsys Operativsystemer - dopsys Erik Ernst eernst@cs.au.dk dopsys 1 Q/A Mange deltagere er nu på 2. år af datalogistudiet, med dcomnet 1 for år siden Er din baggrund anderledes? dopsys 2 Praktiske oplysninger

Læs mere

CPA-C. Lesson 01. Introduction to Embedded Systems

CPA-C. Lesson 01. Introduction to Embedded Systems CPA-C Lesson 01 Introduction to Embedded Systems 1 Dagens Menu 8:00 8:25 9:00 9:40 Hvad er et embedded system? Kursets indhold og motivation Pause (10 min) Processor? Pause (10 min) Devkit8000? Repetition:

Læs mere

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som en helhed.

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM526 Rolf Fagerberg, 2009 Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, kommatal) Bogstaver Computerinstruktion (program)

Læs mere

Programming Language Design and Analysis motivated by Hardware Evolution

Programming Language Design and Analysis motivated by Hardware Evolution Programming Language Design and Analysis motivated by Hardware Evolution Alan Mycroft Presenter: Thomas Bøgholm September 24, 2007 Alan Mycroft Professor på Cambridge Universitet Cambridge Programming

Læs mere

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Vejledende løsninger til

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se

Læs mere

Introduktion til programmering. Af mikroprocessor Atmel ATmega328P i en Arduino Uno

Introduktion til programmering. Af mikroprocessor Atmel ATmega328P i en Arduino Uno Introduktion til programmering Af mikroprocessor Atmel ATmega328P i en Arduino Uno Min baggrund: Intel 4004, 4 bit, maskinsprog Intel 8008, 8 bit, maskinsprog bit for bit I sprogene: assembler, Fortran

Læs mere

Talsystemer I V X L C D M 1 5 10 50 100 500 1000. Hvad betyder halvanden??. Kan man også sige Halvtredie???

Talsystemer I V X L C D M 1 5 10 50 100 500 1000. Hvad betyder halvanden??. Kan man også sige Halvtredie??? Romertal. Hvordan var de struktureret?? Systematisk?? I V X L C D M 1 5 10 50 100 500 1000 Regler: Hvis et lille tal skrives foran et stort tal trækkes tallet fra: IV = 5-1 = 4 Hvis et lille tal skrives

Læs mere

Hvad skal du vide for at bygge din egen computer?

Hvad skal du vide for at bygge din egen computer? Hvad skal du vide for at bygge din egen computer? Kender du alle de her dele og hvad de gør godt for? Er du mellem 11 og 16 år, og tænker på at sammensætte din egen computer? Så er denne her guide lige

Læs mere

Til dig som vil have et indblik i computeren

Til dig som vil have et indblik i computeren Til dig som vil have et indblik i computeren CPU RAM Netkort Lydkort Grafikkort Harddisk Optisk drev Bundkort Køling Strømforsyning Skærm Mus Tastatur Indholdsfortegnelse Fra polfoto.dk Indledning I denne

Læs mere

Lageradministration Intel Pentium og Unix/Linux

Lageradministration Intel Pentium og Unix/Linux Lageradministration Intel Pentium og Unix/Linux 1 Lageradministration Multiprogrammering Håndtering af flere procesbilleder i lageret Virtuelt lager og swapping Gennemsigtig udnyttelse af disk som udvidelse

Læs mere

Processoren: Fler-cyklus implementation

Processoren: Fler-cyklus implementation Processoren: Fler-cykls implementation artin Zachariasen, DIKU Litteratr: Patterson & Hennessy, afsnit 5.4 5. Ulemper ved enkelt-cykls maskinen Ændring til fler-cykls maskine Styresignaler Implementering

Læs mere

Data Warehouse Knowledge is Power - Sir Francis Bacon -

Data Warehouse Knowledge is Power - Sir Francis Bacon - Data Warehouse 4. sem. datamatiker uddannelse Tietgen Skolen Odense Skrevet af Troels Markvard Andersen (DM08228) Knowledge is Power - Sir Francis Bacon - Troels Markvard Andersen Side 1 af 8 Forord /

Læs mere

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min.

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min. Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse

Læs mere

Amokpriser på it til din virksomhed!

Amokpriser på it til din virksomhed! Simply Faster Amokpriser på it til din virksomhed! 5010622620 XPS 13 CI7 1.8 4GB/256 SSD 13.3" W7P 9199,- 9199,- Spar: 400,- 5010620463 FOLIO 13 CI5 1.6 4GB/128 SSD W7P 6999,- 6999,- Spar: 790,- 5010621797

Læs mere

Intro til AVR. Mads Pedersen, OZ6HR mads@oz6hr.dk

Intro til AVR. Mads Pedersen, OZ6HR mads@oz6hr.dk Intro til AVR Mads Pedersen, OZ6HR mads@oz6hr.dk Projektidé Brug en AVR-microcontroller Mål temperatur vha. temperatursensor Vis på display Send til computer og vis temperatur Slide 2 Plan 27/10-2005:

Læs mere

Internt interrupt - Arduino

Internt interrupt - Arduino Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Design af Algoritmer Korrekt algoritme 1) algoritmen standser på alle input 2) Output er det rigtige på alle input Effektivitet 1) Optimer algoritmerne

Læs mere

CPU i7 2.2 GHz 4 kerner i5-4210u 1,7 GHz 2 kerner, 4 logiske kerner GPU integreret Nvidia GeForce 820M Ram 8GB 6 GB Harddisk HDD HDD

CPU i7 2.2 GHz 4 kerner i5-4210u 1,7 GHz 2 kerner, 4 logiske kerner GPU integreret Nvidia GeForce 820M Ram 8GB 6 GB Harddisk HDD HDD Indledning En computer indeholder forskellige komponenter. De vigtigste er CPU, GPU, RAM og harddisk. CPU en er selve hjertet, som styre processerne, og siger til hvilket komponent der skal lave hvilken

Læs mere

Brug af digitale ind og udgange

Brug af digitale ind og udgange Programmering for begyndere Brug af Arduino Programmeringskursus Brug af digitale ind og udgange Oversigt over aftenen Digitale ind- og udgange Det er der ikke så meget i: Digitale indgange kan tænde og

Læs mere

Mini DVB-T USB stik S6

Mini DVB-T USB stik S6 Technaxx Mini DVB-T USB stik S6 Brugermanual Find venligst Overensstemmelseserklæring for denne enhed under følgende internetadresse-link: www.technaxx.de/konformitätserklärung/mini_dvbt_stick_s6 Denne

Læs mere

Søren Guldbrand Pedersen Diverse noter til PC & Net 26-06- 2003 Side 2 af 8. TYPE - viser fil eller program på skærmen.

Søren Guldbrand Pedersen Diverse noter til PC & Net 26-06- 2003 Side 2 af 8. TYPE - viser fil eller program på skærmen. Diverse noter til PC & Net 26-06- 2003 Side 1 af 8 Forskellige DOS-kommandoer; C:\> (C:(>)) - Så styrer COMMAND.COM [PROMPT] Kommando fortolker C:\> [VERSION] - 1: Intern ordre 2: Extern ordre *.COM *.EXE

Læs mere

Datatekniker med programmering som speciale

Datatekniker med programmering som speciale Datatekniker med programmering som speciale H3 H1 varer ti uger bestående af syv uddannelsesspecifikke fag, samt 2 Valgfri Udannelsesspecifikke Fag og 1 Valgfrit Speciale Fag Indhold På H2 er der fokus

Læs mere

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015 Opgave: BOW Bowling danish BOI 0, dag. Tilgængelig hukommelse: 6 MB. 30.04.0 Byteasar er fan af både bowling og statistik. Han har nedskrevet resultaterne af et par tidligere bowling spil. Desværre er

Læs mere

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode - 3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode Jacob Aae Mikkelsen - 191076 12. december 2005 1 Indhold 1 Opgave beskrivelse 2 2 Muligheder for optimering 2 2.1 efter branch.........................

Læs mere

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

Læs mere

Algoritmedesign med internetanvendelser ved Keld Helsgaun

Algoritmedesign med internetanvendelser ved Keld Helsgaun Algoritmedesign med internetanvendelser ved Keld Helsgaun 1 Analyse af algoritmer Input Algoritme Output En algoritme er en trinvis metode til løsning af et problem i endelig tid 2 Algoritmebegrebet D.

Læs mere

INFORMATIONS TEKNOLOGI B

INFORMATIONS TEKNOLOGI B INFORMATIONS TEKNOLOGI B Eksamensprojekt - bilag Dette dokument indeholder teksten til hjemmesiden. Morten Kristensen, 3.a 17-04-2009 TITELBLAD Projektet Titel: Undertitel: Fag: Vejledere: Eksamensprojekt

Læs mere

Vejledning INSTALLATION AF ZHC5010 BETJENINGSTRYK MED FIBARO HOME CENTER. ZHC5010 Firmware Version: 1.0

Vejledning INSTALLATION AF ZHC5010 BETJENINGSTRYK MED FIBARO HOME CENTER. ZHC5010 Firmware Version: 1.0 Vejledning INSTALLATION AF ZHC5010 BETJENINGSTRYK MED FIBARO HOME CENTER. ZHC5010 Firmware Version: 1.0 Indledning Denne vejledning beskriver hvordan det er muligt at oprette Z-Home Controls ZHC5010 Betjeningstryk

Læs mere

Emulation - Binary Translation

Emulation - Binary Translation Emulation - Binary Translation Outline Binary Translation Code Discovery and Dynamic Binary Translation Control Transfer Optimization Some Instruction Set Issues Summary 2 Binary Translation Converting

Læs mere

ATD. Bruger manual. By AntiTremor.org. Revsion 1.1

ATD. Bruger manual. By AntiTremor.org. Revsion 1.1 ATD By AntiTremor.org Bruger manual Revsion 1.1 Indholdsfortegnelse Introduktion... 3 Sikkerhed... 3 Virkemåde... 3 Betjening... 4 Opladning... 4 ATD computer program... 5 Kontrol af programmer... 5 Andre

Læs mere

Når man taler om computere eller kigger i annoncer om den slags, så dukker der en del mærkelige fagudtryk op:

Når man taler om computere eller kigger i annoncer om den slags, så dukker der en del mærkelige fagudtryk op: PC'en & hardware Windows kaldes et styresystem, fordi det styrer kommunikationen mellem programmer (software) og alle de enkelte fysiske enheder: processor, modem, printer, lydkort, tastatur, mus o.s.v.

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

Koordinering. dopsys

Koordinering. dopsys Koordinering At indføre flertrådethed (1) når tråde tages i brug opstår typisk konflikter (et velkendt eksempel er errno ) 2 At indføre flertrådethed (2) en del konflikter kan afhjælpes med thread-local

Læs mere

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer : Ydre enheder og multiprogrammer Forår 2003 Jørgen Sværke Hansen Planen for idag Samspil mellem CPU og ydre enheder: Generelt Kontrolregistre Afbrydelser Specifikt for Alpha AXP (kernemaskinerne) Multiprogrammering:

Læs mere

BILAG. til. Kommissionens delegerede forordning

BILAG. til. Kommissionens delegerede forordning EUROPA- KOMMISSIONEN Bruxelles, den 12.10.2015 C(2015) 6823 final ANNEX 1 PART 6/11 BILAG til Kommissionens delegerede forordning om ændring af Rådets forordning (EF) nr. 428/2009 om en fællesskabsordning

Læs mere

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125 Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...

Læs mere