Datorteknik. Tomas Nordström. Föreläsning 3. För utveckling av verksamhet, produkter och livskvalitet.
|
|
- Hanna Åström
- för 8 år sedan
- Visningar:
Transkript
1 Datorteknik Tomas Nordström Föreläsning 3 För utveckling av verksamhet, produkter och livskvalitet.
2 Föreläsning 3 (+4?) Assembler ARM Instruktioner 2
3 Assembler Vi har sett hur man kan skriva in kod genom att skriva direkt i 1:or och 0:or. Ganska omständligt. Lätt att göra fel. Ingen "intuitiv" koll på vad koden gör. Bättre: Översätt varje rad till något vi själva förstår. En översättning från 1:or och 0:or till ord som ger en bättre känsla för vad instruktionen gör, mnemonics. Ett datorprogram översätter dessa ord till 1:or och 0:or. "Språket" man då skriver i kallas assembler. 3
4 Assembler forts. Programmering mha instruktioner som är CPUberoende. Rader i koden kan ges olika namn labels/ programlägen Assembler är ett programmeringsspråk för programmering på lägsta, hårdvaranära nivån. Programmering sker med sk. instruktioner. De instruktioner som finns beror på hårdvaran. Assembler är alltså ett maskinberoende språk. Språket klassas som lågnivåspråk. Alla grundkonstruktioner från högnivåspråk t ex while, for, if måste skapas utifrån existerande instruktioner. 4
5 ARM - Programmers model Direktiv/instruktioner Speciell "kod", assemblerdirektiv, finns för att hjälpa till vid översättningen (assembleringen) till maskinkod (1:or och 0:or) Assemblerdirektiven är inte processorspecifika, utan assemblerspecifika. Typiska sådana direktiv (uppmaningar) till assemblatorn är: Säga var koden börjar resp. slutar. ORG resp. END Definiera upp logiska namn på konstanter som används ofta EQU Sätta logiska etiketter, labels, på vissa rader (programlägen som då blir minnesplatser dit man kan referera) Säga var koden skall hamna fysiskt i minnet 5
6 Assembler - exempelkod ; Memory Postions ! START EQU 0x ; Start av SRAM! PIOA_PER EQU 0x400E0C00 ; PIO Enable Register! PIOA_PDSR EQU 0x400E0C3C ; Pin Data Status Register! ; Initiation code ! THUMB! ORG START! ; Initiate PortA input ! MAIN LDR R0,=PIOA_PER! LDR R1,=0XC0000! STR R1,[R0] ; enable PIOA! LDR R0,=DATA1 ; Let R0 point to data! ; Read and manipulate data from porta (buttons)! LDRb R1,[R0] ; load data into R1! SUB R1,R1,#1 ; adjust data! MOV R5,#1 ; set bit 0 to 1! MOV R6,R5, LSL R1 ; shift the one R1 number of times! AND R6,R6,#0x0F ; mask out bit 0-4 in R6! LDR R2,=PIOA_PDSR! LDR R3,[R2] ; read porta/buttons! LSR R3,R3,#18 ; move buttonflags to bit 1-0! AND R3,R3,#0x3 ; mask buttons! ORR R3,R3,R6 ; merge data! SLUT STRb R3,[R0] ; save data! STOP B STOP! DATA1 DCB 4! DATA2 DC8 1! END! 6
7 ARM assembler Vanligaste direktiv för ARM Namn EQU tal ; Ersätter namnet Namn med talet tal. ; OBS! Tar ingen minnesplats Namn DCB tal ; Deklarerar en byte i minnet på den adress ; där Namn hamnar Namn DS8 X ; Reserverar plats för X antal 8-bitars resp Namn DS32 X ; 32-bitars tal på den adress där Namn hamnar ORG X ; Låter koden efteråt börja på adressen X END ; Avslutar assemblerkoden 7
8 Assemblering Översättningen från assembler till maskinkod sker med en teknik som heter 2-stegs assemblering. Pass l -Första genomgång: Hela koden gås igenom en gång och bestämmer vilka adresser alla labels ska ha. Dessa lagras i det som kallas en symboltabell. Går att räkna ut mha ORG-direktiven Pass2 - Andra genomgång: Översätter koden till maskinkod samt ersätter "lablama" med resp. adress från symboltabellen. Färdig! 8
9 Assembler vs Maskinkod Assemblerkod Program som mha mnemonics beskriver ett vilka maskininstruktioner som ska utföras, använder adressoberoende labels. Utvecklas oftast inte på målsystemet. Maskinkod - De 1:or och 0:or som laddas ner i datorns minne Maskinkod laddas ner från PC till målprocessorns minne, i vårt fall via en liten låda som pratar USB med datorn och JTAG med målsystemet. Assemblerkod översätts med en assemblator till maskinkod. Måste använda processorspecifikt utvecklingsverktyg för assemblering och kunna ladda ner till maskinkoden till målsystem. Vi använder IAR Embedded Workbench. Assembler är det språk eller "verktyg" som vi kommer att använda för att programmera med i den här kursen. 9
10 Flödesschema - assemblering Assemblerkod LDR R1,R1,R2! 1-Pass symboltabell LABEL=0x2000F02! 2-Pass Översättning till maskinkod Maskinkod laddas till målsystemet ! ! 10
11 Pseudoinstruktioner Syntetiska instruktioner Mellan direktiv och instruktioner Assemblatorn kan översätta en inskriven instruktion till flera instruktioner som processorn kan tolka. En sådan instruktion, som inte är någon riktig, kallas ibland en pseudoinstruktion. Ex: Instr. MOV har begränsade tal som inargument. T ex MOV R1, #255 Större tal än 255 kan inte läggas in. Lösning: Pseudoinstr. LDR R3,=49500 Här kan vi ha ett 32-bitars tal som inargument trots att instruktionslängden bara är 32 bitar. Om talet är stort blir översättningen LDR R3, [PC, #offset] Själva talet (här 49500) placeras efter själva koden (efter END) och assemblatorn räknar ut avstånd från instr. till var talet placeras (offset). Är talet mindre än 9 bitar översätts instr. till MOV. 11
12 Sammanfattning Assembler Programmeringsspråk på lägsta nivån för processorer. Processorspecifik. Måste känna till processorn väl. Viktigt för att känna till begränsningar. Möjlighet att använda labels. Behöver inte koda med absolutadresser. Använder logiska namn för instruktioner, mnemonics. Pseudoinstruktioner-mellanting mellan direktiv och instruktioner. Översätts med en assemblator till maskinkod. Maskinkod läggs ner i processoms minne. 12
13 ARM RISC-processor 32-bitars arkitektur (ALU, interna register och databuss) Tre-operands instruktioner (eller två+ett immed.) Load-Store struktur. Allt flyttas till register och arbetas med där, sen tillbaka till minnet. 16 generella register - får användas till vad man vill Flexibel kompakt instruktionsuppsättning. Alla instruktioner kan utföras villkorligt (unikt för ARM) 13
14 ARM orginal Alla instruktioner är 32 bitar långa Ett flexibelt instruktionsset där instruktioner kan utföras villkorligt (bit 31-28) samt sätta PSR på begäran (S) Inbyggd skiftning av operand2 i alla instruktioner. Instruktioner för blockförflyttning av data, dvs minnesblock kan flyttas till grupper av register och tvärtom. 14
15 ARM Architecture roadmap 15
16 Vilken arkitektur är min ARM? 16
17 ARM Cortex M3 Key features of the Cortex-M3 core are: ARMv7-M architecture Instruction Sets Thumb (entire) Thumb-2 (entire) 1-cycle 32-bit hardware multiply, 2-12 cycle 32-bit hardware divide, saturated math support 3-stage pipeline with branch speculation 1 to 240 physical interrupts, plus NMI 12 cycle interrupt latency; no shadow registers, state saved on stack Integrated sleep modes 1.25 DMIPS/MHz 90 nm implementation: 32 µw/mhz; 0.12 mm 2 17
18 Thumb Thumb instructions are a sequence of half-word-aligned half-words Each Thumb instruction is either a 16-bit half-word in that stream A 32-bit instruction consisting of two half-words in that stream If bits [15:11] of the half-word being decoded take on any of the following values 0b b b11111 then half-word is the first half-word of a 32-bit instruction otherwise the half-word is a 16-bit instruction See ARM ARM A5.1, A5.5, A
19 19
20 20
21 Thumb-2 21
22 16bit Thumb-2 22
23 Thumb-2 Implementation 23
24 32bit Instruction Encoding 24
25 ARM and 16-bit Instruction Encoding 25
26 Thumb-2 [ARM Cortex-M3 Instruction Set & Architecture] 26
27 Instruction Encoding ADD immediate 28
28 Nyckeldokument 180 sidor sammanfattning Av Cortex M3 ARMs manual, på 410 sidor för Cortex M3 31 ATMEL SAM3U manual, 1187 sidor
29 ARM Cortex M3 Register [ARM Cortex-M3 Devices, Generic User Guide, 2010] 32
30 ARM Cortex M3 Specialregister [ARM Cortex-M3 Devices, Generic User Guide, 2010] The Program Status Register (PSR) combines: Application Program Status Register (APSR) Interrupt Program Status Register (IPSR) Execution Program Status Register (EPSR). These registers are mutually exclusive bitfields in the 32-bit PSR. The bit assignments are: 33
31 Flags 34
32 Memory Model 35
33 ARM Cortex M3 Instruktioner Totalt 4 sidor! [ARM Cortex-M3 Devices, Generic User Guide, 2010] 37
34 [ARM Cortex-M3 Devices, Generic User Guide, 2010] 39
35 ARM Cortex M3 Instruktionsklasser Ladda/Skriv till minnet Databehandling Skiftoperationer Logiska operationer Aritmetiska och test instruktioner Flytta mellan register och ladda in små konstanter till register Hopp Övriga instruktioner 40
36 ARM Cortex M3 Vilkorsstyrning Alla instruktioner kan utföras på villkor. Lägg till villkorsflaggorna efter instruktionen.! 41
37 Conditional Execution and Flags 42
38 ARM Cortex M3 Instruktioner Load/Store 43
39 44
40 45
41 46
42 47
43 Ladda/Spara Exempel: ADR R1, TextMessage!; Write address value of a location!!!!!; labelled as TextMessage to R1! LDR R8, [R10]!!; Loads R8 from the address in R10.! LDRNE R2, [R5, #960]!!; Loads (conditionally) R2 from a word 960 bytes!!!; above the address in R5, and increments R5 by 960! STR R2, [R9,#const-struc] ; const-struc is an expression evaluating to a!!!!; constant in the range ! STRH R3, [R4], #4!; Store R3 as halfword data into address in R4,!!!; then increment R4 by 4! LDRD R8, R9, [R3, #0x20] ; Load R8 from a word 8 bytes above the address in!!!; R3, and load R9 from a word 9 bytes!!!!!; above the address in R3! STRD R0, R1, [R8], #-16 ; Store R0 to address in R8, and store R1 to a word!!!; 4 bytes above the address in R8, and then!!!!; decrement R8 by 16.! 49
44 ARM Cortex M3 Instruktioner Databehandling 50
45 ARM Cortex M3 Instruktioner Databehandling Skiftoperationer ASR, LSR, LSL, ROR, RRX! Logiska operationer AND, ORR, EOR, BIC, ORN! Aritmetiska och test instruktioner ADD, ADC, SUB, SUBC, RSB,! CMP, CMN, TST, TEQ, CLZ! MUL, MLA, MLS, SDIV, SMLAL, SMULL, UMLAL, UMULL! SSAT, USAT! BFC, BFI, SBFX, SXTB, SXTH, UBFX, UXTB, UXTH! 51
46 ARM Cortex M3 Instruktioner Databehandling Flytta mellan register och ladda in små konstanter till register MOV, MVN, MOVW MOVT REV, REV16, REVSH, RBIT 52
47 ARM Cortex M3 Instruktioner Skiftoperationer ASR #3 LSR #3 LSL #3 53
48 ARM Cortex M3 Instruktioner Skiftoperationer ROR #3 RRX 54
49 ARM Cortex M3 Instruktioner Logiska operationer AND, ORR, EOR, BIC, and ORN Logical AND, OR, Exclusive OR, Bit Clear, and OR NOT.! Examples:! AND R9, R2, #0xFF00! ORREQ R2, R0, R5! ANDS R9, R8, #0x19! EORS R7, R11, #0x ! BIC R0, R1, #0xab! ORN R7, R11, R14, ROR #4! ORNS R7, R11, R14, ASR #32! 55
50 ARM Cortex M3 Instruktioner Aritmetiska operationer ADD, ADC, SUB, SBC, and RSB! Add, Add with carry, Subtract, Subtract with carry, and Reverse Subtract. Exempel:! ADD R2, R1, R3! SUBS R8, R6, #240 ; Sets the flags on the result! RSB R4, R4, #1280 ; Subtracts contents of R4 from 1280! ADCHI R11, R0, R3 ; Only executed if C flag set and Z!!!; flag clear.! 56
51 ARM Cortex M3 Instruktioner Flytta mellan register MOV and MVN! Move and Move NOT. Exempel! MOVS R11, #0x000B!; Write value of 0x000B to R11, flags get updated! MOV R1, #0xFA05!; Write value of 0xFA05 to R1, flags are not updated! MOVS R10, R12!; Write value in R12 to R10, flags get updated! MOV R3, #23!!; Write value of 23 to R3! MOV R8, SP!!; Write value of stack pointer to R8! MVNS R2, #0xF!; Write value of 0xFFFFFFF0 (bitwise inverse of!!! 0xF) to the R2 and update flags.! 57
52 ARM Cortex M3 Instruktioner - Hopp B, BL, BX, BLX CBZ, CBNZ IT TBB, TBH 58
53 B, BL, BX, and BLX Branch instructions. L with linking, X based on register 59
54 Exempel B loopa BLE ng! B.W target BEQ target BEQ.W target!; Branch to loopa!!; Conditionally branch to label ng!!; Branch to target within 16MB range!!; Conditionally branch to target!!; Conditionally branch to target within 1MB! BL func!; Branch with link (Call) to function func,!!!!; return address stored in LR! BX LR!!; Return from function call! BXNE R0!; Conditionally branch to address stored in R0! BLX R0!!; Branch with link and exchange (Call)!!!!!; to a address stored in R0.! 60
55 ARM Cortex M3 Instruktioner - Övrigt 61
56 Enkelt villkor if (tal==23){!!<kod l> }! <kod2>!!!! if (tal!=23){!!<kod l> }! <kod2>!!!cmp Rl, #23 ; (R1)- 23!!BNE KOD2 ; om inte lika hoppa förbi!!<kod l> ; annars utför! KOD2 <kod2>!!!!cmp Rl, #23 ; (R1)- 23!!BEQ EXIT!<kod l>! EXIT ---!! ; om lika, hoppa förbi! 62
57 if-else sats if (tal==tal2){!!<kod l> }! Else {!!<kod2>}!!!cmp Rl, R2!!BEQ KOD1 ; om lika hoppa till kod1! KOD2!<kod2>!!B SLUT! KOD1!<kodl>! SLUT ---!!! 63
58 Användning av villkorade instruktioner 64
59 for-loop for (i=0; i<25; i++)! {! <vad som skall utföras>! }! <fortsättning på koden>!!ldr R0,#0! LOOP!CMP R0,#25!!BGE EXIT!!<vad som skall utföras>!!add R0,R0,#1!!B LOOP! EXIT <fortsättning på koden>!!!! 65
60 while-sats While(tal!=25)! {! <tal förändras på något sätt>! }! <fortsättning på koden>! LOOP!CMP R0,#25!!BEQ EXIT!!<R0 förändras >!!B LOOP! EXIT <fortsättning på koden>!!!! 66
Assemblerprogrammering, ARM-Cortex M4 del 1
Assemblerprogrammering, ARM-Cortex M4 del 1 Ur innehållet: Assemblatorn, assemblerspråk Ordlängder och datatyper Variabeldeklarationer Programkonstruktioner Tilldelningar Uttrycksevaluering Ovillkorliga
Läs merÖvning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-
Läs merAssemblerprogrammering för ARM del 1
Assemblerprogrammering för ARM del 1 Ur innehållet: Ordlängder och heltalstyper i C Variabeldeklarationer Programkonstruktioner Tilldelningar Uttrycksevaluering Ovillkorliga programflöden Funktion med
Läs merAssemblerprogrammering för ARM del 1
Assemblerprogrammering för ARM del 1 Ur innehållet: Assemblerspråk Ordlängder och heltalstyper i C Variabeldeklarationer Programkonstruktioner Tilldelningar Uttrycksevaluering Ovillkorliga programflöden
Läs merF2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen
68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder
Läs merc a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11
A basic -bit Select between various operations: OR, AND, XOR, and addition Full Adder Multiplexer Digitalteknik och Datorarkitektur hp Föreläsning : introduktion till MIPS-assembler - april 8 karlmarklund@ituuse
Läs merTentamen (Exempel) Datorteknik Y, TSEA28
Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-10-31 Lokal TER4 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Läs merTentamen (Exempel) Datorteknik Y, TSEA28
Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-08-21 Lokal TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor
Läs merTentamen (Exempel) Datorteknik Y, TSEA28
Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-xx-xx Lokal TER1, TER3 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor
Läs merAssemblerprogrammering för ARM del 2
Assemblerprogrammering för ARM del 2 Ur innehållet Programflöde Subrutiner, parametrar och returvärden Tillfälliga (lokala) variabler Läsanvisningar: Arbetsbok kap 2 Quick-guide, instruktionslistan Assemblerprogrammering
Läs merTentamen (Exempel) Datorteknik Y, TSEA28
Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-05-29 Lokal KÅRA,T1,T2, Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal
Läs merÖvning2 Datorteknik, HH vt12 - Programmering
Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även
Läs merSvar till Övning3 Datorteknik, HH vt12 Avbrott och timers
Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Avbrott generellt F7.1. Avbrott sköts med hårdvara i processorn, man läser av hårdvarumässigt. Polling är en enklare princip för I/O- hantering.
Läs merDatorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.
Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång
Läs merDigitala System: Datorteknik ERIK LARSSON
Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Läs merLaboration 2 i Datorteknik- Assemblerprogrammering II
Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner
Läs merAssemblerprogrammering för ARM del 1
Assemblerprogrammering för ARM del 1 Ur innehållet: Assemblerspråk Ordlängder och datatyper Variabeldeklarationer Programkonstruktioner Tilldelningar Uttrycksevaluering Ovillkorliga programflöden Läsanvisningar:
Läs merDigitalteknik och Datorarkitektur 5hp
Foto: Rona Proudfoot (some rights reserved) Vi skall nu kolla närmare på hur det går till när en instruktion utförs. Fetch = + Digitalteknik och Datorarkitektur hp path & Control maj 2 karl.marklund@it.uu.se
Läs merGeneral Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18
F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot
Läs merTENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1
Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2017-10-26 Lokal TER1, TER3 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-05-31 Lokal Kåra, T1, T2, U1, U15 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal
Läs merExtra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination
Extra lab Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Erfarenheter från projektstart Läs på i Downey om klasser och objekt! När kan/ska man använda self? När bollarna
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2017-06-02 Lokal G35, TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor
Läs merKontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704
Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng
Läs merFoto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December
Datorarkitektur Datapath & Control December 28 karl.marklund@it.uu.se Foto: Rona Proudfoot (some rights reserved) Vi skall nu kolla närmare på hur det går till när en instruktion utförs. Fetch PC = PC+4
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering
Läs merTentamen PC-teknik 5 p
Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-10-18 Lokal TER1 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Läs merIntroduktion till ARM Cortex-M4
Introduktion till ARM Cortex-M4 Ur innehållet: Historik - ARM ARM/Thumb instruktionsuppsättning Register Adresseringssätt 1 ARM Tidiga datorer Programmering av inbyggda system 1979 Acorn Computers Acorn
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast
Läs merF4: Assemblerprogrammering
F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering
Läs merDatorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.
Datorteknik Tomas Nordström Föreläsning 2 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 2 Check av övningar Von Neumann arkitekturen Minne, CPU, I/O Instruktioner och instruktionscykeln
Läs merProgrammering i maskinspråk (Maskinassemblering)
Ext-15 (2013-08-26) sida 1 Programmering i maskinspråk (Maskinassemblering) Programutveckling i assemblerspråk Begreppet assemblerspråk introduceras i arbetsboken (ARB) kapitlen 14-16. En del korta programavsnitt
Läs merNärliggande allokering Datorteknik
Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1
Läs merProgrammering i maskinspråk (Maskinassemblering)
Programmering i maskinspråk (Maskinassemblering) Programutveckling i assemblerspråk Begreppet assemblerspråk introduceras i häftet Ext-20. En del korta programavsnitt skrivs med assemblerspråk i övningsuppgifterna
Läs merProgramräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.
F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-10-20 Lokal TERE, TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive
Läs merDataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte
CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2017-08-15 Lokal TER4 Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
Läs merGrundläggande datavetenskap, 4p
Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-08-16 Lokal TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive
Läs merBeskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.
Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2018-02-26 3 TSEA28 Datorteknik Y (och U) Föreläsning 8 Kent Palmkvist, ISY Praktiska kommentarer Ordning i labbet Allra flesta sköter det bra
Läs merFöreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga
Läs merFöreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se
Läs merEn Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:
Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma
Läs merExempeltentamen Datorteknik, EIT070,
Lunds Universitet LTH Exempeltentamen Datorteknik, EIT070, Skrivtid: xx.00-xx.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng För betyg
Läs merDatorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga
Datorarkitektur I Tentamen Lördag 10 April 2010 Ekonomikum, B:154, klockan 09:00 14:00 Examinator: Karl Marklund 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande
Läs merDatormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden
Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data
Läs merTentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng
Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal
Läs merElektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merTentamen i EIT070 Datorteknik
Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merA-del motsvarande KS1
MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2019-03-06 3 TSEA28 Datorteknik Y (och U) Föreläsning 8 Kent Palmkvist, ISY Praktiska kommentarer Ordning i labbet Allra flesta sköter det bra
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2019-01-22 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan öppnar måndag 28/1 kl 12.30 Anmälningssystemet
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #16 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Behovet av ändring av programflödet För att kunna skriva
Läs merAssemblerprogrammering för ARM del 3
Assemblerprogrammering för ARM del 3 Ur innehållet Fält och sammansatta typer (poster) Pekarvariabler och pekarkonstanter Pekararitmetik, operationer på fält Läsanvisningar: Arbetsbok kap 2 Quick-guide,
Läs merTSEA28 Datorteknik Y (och U)
Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning Latens/genomströmning Pipelining Laboration tips Sorteringsalgoritm använder A > B i flödesschemat Exemplet
Läs merTSEA28 Datorteknik Y (och U)
Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning RISC Mer information om hur arkitekturen fungerar Begränsningar Lab extra tillfälle för redovisning
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist 2019-01-28 3 TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan finns tillgänglig med start kl 12.30
Läs merAssemblerprogrammering, ARM-Cortex M4 del 3
Assemblerprogrammering, ARM-Cortex M4 del 3 Ur innehållet: Fler pekartyper Användning av stacken Lagringsklasser, synlighet - lokala variabler Funktioner - returvärden och parametrar Läsanvisningar: Arbetsbok
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist 2018-01-22 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY Labanmälan finns tillgänglig med start kl 12.30
Läs merDatorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål
Datorteknik Föreläsning 6 Processorns uppbyggnad, pipelining Mål Att du ska känna till hur processorn byggs upp Att du ska kunna de viktigaste byggstenarna i processorn Att du ska känna till begreppet
Läs merKursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach
Föreläsning 1: Intro till kursen och Kursens hemsida http://www.it.uu.se/edu/course/homepage/prog1/esvt10 Studentportalen http://www.studentportalen.uu.se Kursmaterial Kursbok Kursprogramvara Tips: Installera
Läs merTentamen Datorteknik Y, TSEA28 Datum 2012-08-14
Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Lokal TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 7 Kursansvarig Andreas
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merAssemblerprogrammering - fördjupning
Assemblerprogrammering - fördjupning Ur innehållet: Trampoliner tabellerade funktionsadresser Aktiveringspost med ARM Cortex M4 Mer om parameteröverföring Registerspill Kodgenerering - ISA "Kodoptimering"
Läs merDet finns en handledning till kortet på hemsidan. AVR STK500.
Laboration 1 (ver 1) Uppgifter: AVR Studio 4.lnk Bli bekant med utvecklingskortet, och AVR studio. Skriva in program för binärräknare. Simulera detta samt ladda ner det till kortet. Förse ovanstående program
Läs merFöreläsning 4 IS1300 Inbyggda system
Föreläsning 4 IS1300 Inbyggda system Programutveckling Exempel PingPong Idé Tillståndsdiagram State machine Skapa projekt Testning av programvara Peripheral Library till STM32 Programmeringsuppgiften RS232
Läs merrd, rs, rt Digitalteknik och Datorarkitektur 5hp ALU register) 32 bit register b 5 bit 32 Registers 32 bit MIPS is a Register-toregister
A basic 2-bit ALU The Von Neuman Model register a 5 bit register b 5 bit 32 Registers 32 bit 32 bit Digitalteknik och Datorarkitektur 5hp MIPS is a Register-toregister architecture ALU OP Föreläsning 5:
Läs merInstitutionen för datavetenskap 2014/15
LUNDS TEKNISKA HÖGSKOLA Datorer och datoranvändning Institutionen för datavetenskap 2014/15 ME en dator 1 Inledning ME är en påhittad dator, men den har likheter med riktiga datorer: det finns ett maskinspråk
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #16 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Behovet av ändring av programflödet För att kunna skriva
Läs merCE_O3. Nios II. Inför lab nios2time
IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",
Läs merStyrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå
Aktivera Kursens mål: LV4 Fo10 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Koppla samman register och ALU till en dataväg Minnets uppbyggnad och anslutning till datavägen
Läs merSVAR TILL TENTAMEN I DATORSYSTEM, VT2013
Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt
Läs merDatorsystemteknik DVGA03 Föreläsning 8
Datorsystemteknik DVGA03 Föreläsning 8 Processorns uppbyggnad Pipelining Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Innehåll Repetition av instruktionsformat
Läs merPipelining i Intel 80486
Lunds Universitet Pipelining i Intel 80486 EITF60 Datorarkitekturer med operativsystem Martin Wiezell 2017-12-04 Abstract This paper gives a brief description of the instruction pipeline of the Intel 80486
Läs merIntroduktion C-programmering
Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder
Läs merTentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z
Läs merDigitala System: Datorteknik ERIK LARSSON
Digitala System: Datorteknik ERIK LARSSON Huvudled (H) Trafikljus för övergångsställe Trafikljus för huvudled (H) Trafikljus: Sväng vänster (H->T) Gående - vänta Trafikljus för tvärgata (T) Tvärgata (T)
Läs merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs merPipelining i Intel Pentium II
Pipelining i Intel Pentium II John Abdulnoor Lund Universitet 04/12/2017 Abstract För att en processor ska fungera måste alla komponenter inuti den samarbeta för att nå en acceptabel nivå av prestanda.
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Exekvering av en instruktion (1) Hämta instruktion på 00001000 (där
Läs merRepetition C-programmering
Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition
Läs merPer Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647
Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel
Läs merLågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre
Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel
Läs merSupport Manual HoistLocatel Electronic Locks
Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2018-01-16 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Mail kommer skickas ut när labanmälan är möjlig
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Översikt Processorn Maskininstruktioner Dator Primärminne Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction
Läs merOmtentamen i CDT204 - Datorarkitektur
Omtentamen i CDT204 - Datorarkitektur 2012-11-05 Skrivtid: 08.10-12.30 Hjälpmedel: Miniräknare och valfritt skriftligt (ej digitalt) material. Lärare: Stefan Bygde, kan nås på 070-619 52 83. Tentamen är
Läs merEDA Digital och Datorteknik
Digital och Datorteknik EDA45 200/20 EDA 45 - Digital och Datorteknik Dagens föreläsning:, Extra material Ext 8 Ur innehållet: Programmerarens bild av FLEX Instruktionsuppsättning Register åtkomliga för
Läs merBeijer Electronics AB 2000, MA00336A, 2000-12
Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this
Läs merSvar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng
Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt
Läs mer