General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18
|
|
- Julia Ingegerd Sundström
- för 6 år sedan
- Visningar:
Transkript
1 F3 Föreläsning i Mikrodatorteknink 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 yttervärlden andra är interna. Repetition General Purpose registers R0 R25 X ( R27 : R26 ) Y ( R29 : R28 ) Z ( R31 : R30 ) ALU I T H S V N Z C SREG Alla register och alla portar är på en byte Antag att vi behöver skriva in talet 25 till register R18 Maskinkoden ser ut så här: 1110 KKKK dddd KKKK Instruktionen är 16 lång dvs. 2 byte. d anger vilket register som man vill använda. De som kan användas just här är R16 R31 K får vara ett värde 0 <= K <= H:\CT3760\Peroid1_2006\F3_2006.doc 1/9
2 Register R18 anges med = 2, binärt 0010 Talet 25 är binärt Koden blir alltså Eller hexadecimalt E129 Assembler Assembler är att program som gör en översättning till maskinkkod. Istället för att plocka fram alla ettor och nollor så skriver man : LDI R18,25 LDI är en Mnemonic, och just denna kan utläsas Load Immediate Generellt skrivs koden LDI Rd, K Rd är destinationsregister K en konstant. Rr är källregister. Assemblerprogrammet är specifikt för en processor. Alla instruktioner är beroende på vad det finns för register, och hur dessa är organiserade. Resultatet av assemblern är en hex-fil. Denna är inte heller ren maskinkod. För vår microcontroller är det en Intel-hex-fil. Varje rad i denna fil består av: Antal byte, adress, typ av information, MASKINKOD, checksumma. Denna hex-fil används sedan av den programmerare som läser in programmet till FLASH-minnet. Atmel använder Intel- hex eller Extended Intel-hex Motorola använder sin egen S-record. Assemblern gör en översättning av förkortningar till maskinkod. Assemblern hjälper också till med att räkna ut olika adresser. Information till själva assemblerprogrammet kallas direktiv. En del assemblerdirektiv..include.def.equ.cseg.org Exempelvis m16def.inc Tar med information som finns i filen Exempel.DEF temp = R16 sätter ett nytt namn på R16.EQU DAG = 29 Sätter namn på en konstant här börjar koden.org 100 Koden skrivs in på den hexadecimala adressen 0x64 Det finns ytterligare assemblerdirektiv. Direktiven finns inte med i den slutliga maskinkoden H:\CT3760\Peroid1_2006\F3_2006.doc 2/9
3 Skriv ett program som läser in värdet på PORTB och skickar samma värde till PORTD Vad är en PORT?? Det finns 4 st portar som man kan ansluta kontakter till. De kallas PORTA, PORTB, PORTC och PORTD. Det är kontakter med 8 stift. Begreppet port är större än så. Alla register med adresser 0x00 till 0x3F kallas portar. Det finns alltså 64 portar. Dessa är beskrivna i Register Summary. Ett enkelt program Flödesschema Start, initieringar Läs in på PORTB Läs ut tíll PORTD Se instruction set. Funktionen OUT Operation I/O (A) Rr Syntax OUT A,Rr 0 r 31 0 A 63 PC PC + 1 Om man I initieringen tar med filen m16def.inc så kan man använda det symboliska namnet PORTD Vi behöver också ett register.def temp = R16 Alltså OUT PORTD, temp H:\CT3760\Peroid1_2006\F3_2006.doc 3/9
4 Funktionen IN Operation Rd I/O (A) Syntax IN Rd, A 0 d 31 0 A 63 PC PC + 1 När vi läser in från en port använder vi inte portb utan PINB. Alltså IN temp, PINB ( Det är ett vanligt fel att skriva PORTB istället för PINB ) Nu har vi bara initieringarna kvar: Startrutan: ; Skriv kommentar, vad programmet gör ; Vem som gjort programmet och datum ;.INCLUDE m16def.inc.def temp = R16.CSEG :ORG 0 rjmp START START: ldi temp,low(ramend) out SPL, temp ldi, temp,high(ramend) out SPH, temp ;; för att få rätt riktning på portarna clr temp out DDRB, temp ser temp out DDRD, temp Hela programmet ; Skriv kommentar, vad programmet gör ; Vem som gjort programmet och datum ;.INCLUDE m16def.inc.def temp = R16.CSEG :ORG 0 rjmp START START: ldi temp,low(ramend) out SPL, temp ldi, temp,high(ramend) out SPH, temp ;; för att få rätt riktning på portarna H:\CT3760\Peroid1_2006\F3_2006.doc 4/9
5 clr out ser out in out temp DDRB, temp temp DDRD, temp temp, PINB PORTD, temp Alla instruktioner tar en klockcykel, utom rjmp som tar 2 klockcykler. Efter 12 klockcykler havererar troligen programmet. Varför?? För varje instruktion som hämtas så kommer programräknaren att peka på nästa instruktion. När sista instruktionen har hämtats så kommer programräknaren att peka på det som följer i programminnet. Processorn kommer att försöka att tolka den informationen som en instruktion. Detta kan bli vad som helst. Programmet måste avslutas. Ett sätt är stop: rjmp stop Ovanstående program fungerar inte speciellt bra. Inläsning från portb kommer bara att ske under en klockcykel, och det är en mycket kort tid. För att få ett fungerande program skapar man en slinga. Koden på föregående sida Samt out DDRD, temp hit: in temp, PINB out PORTD, temp rjmp hit rjmp är en relativ hoppinstruktion. Programräknaren ställs om till den adress som finns vid label hit: Assemblerprogrammet räknar fram den relativa adressen. De tre sista instruktionerna utförs evigt. Rinnande ljus En port består av 8 bitar. På labkortet finns en ramp med 8 lysdioder. En lysdiod skall tändas en kort tid, släckas och sedan skall dioden till vänster tändas osv. osv H:\CT3760\Peroid1_2006\F3_2006.doc 5/9
6 Börja med ett flödesschema Hit: Start Läs in en etta till ett register Skifta vänster Inledningen på föregående program ldi till ett register Hit: lsl registret Läs ut out portb, registret rjmp Hit Hit Använd exempelvis register R16, det som tidigare har fått namnet temp Programmet blir nu ; rinnande ljus.include m16def.inc.def temp = R16 ; det som kallas registret ovan.cseg :ORG 0 rjmp START START: ldi temp,low(ramend) out SPL, temp ldi, temp,high(ramend) out SPH, temp ser temp ;;skriver in 0xFF i temp out DDRB, temp ; portb blir utport Hit: ldi temp, 1 lsl temp ; ( extra kod ) out portb, temp rjmp hit H:\CT3760\Peroid1_2006\F3_2006.doc 6/9
7 Hur fungerar programmet? Inte som man tänkt sig. Troligtvis hinner man inte se något. Instruktionen lsl fungerar på följande sätt: Instruktionen skiftar innehållet i ett register ett steg åt vänster. Instruktionen fungerar på samtliga 32 register. För varje gång skiftas en nolla in i den minst signifikanta positionen. Efter 8 varv i slingan är innehållet i registret noll, och det finns inget att läsa ut. Man kan lösa problemet med att läsa in talet på nytt när innehållet i registret blir noll. Det finns också ett annat sätt. Använd instruktionen rol C är en flagga ( en bit ) i statusregistret. När vår etta kommer till position b7 så kommer den att skiftas in i carry-biten nästa gång. Då instruktionen rol exekveras nästa gång skiftas ettan in i registret igen. I det här exemplet är det lämpligt att använda instruktionen rol temp. Om man testar programmet i AVR Studio ser man att programmet fungerar. Då man provkör programmet ser man bara att samtliga dioder lyser. Förklaringen är att slingan går för fort, vi kommer inte att uppfatta blinkningarna H:\CT3760\Peroid1_2006\F3_2006.doc 7/9
8 Fördröjning Vi behöver en fördröjning. Denna kan stoppas in i programmet ovan. Det finns en plats som är markerad ( extra kod ) Back: 0xFF till R17 Minska R17 med ett Back Nej Reg R17 =0? Ja 0xFF till R17 koden blir ldi R17, 0xFF minska med ett koden blir dec R17 Då R17 blir noll kommer Z-flaggan att sättas till ett. Vi behöver ett villkorligt hopp som reagerar på Z-flaggan i statusregistret. I Instruction Set Summary hittar man två möjliga instruktioner. BREQ Branch if Equal if Z = 1 så sker hopp BRNE Branch if Not Equal if Z = 0 så sker hopp Här är det lämpligt att använda BRNE. Så länge som R17 inte är noll skall vi hoppa tillbaka. Back är en label som anger vart vi skall hoppa. Extra kod blir nu: ldi R17,0xF Back: dec R17 brne Back Då hopp sker tar detta två klockcykler, annars en klockcykel. Totalt kommer den här koden att ta 766 klockcykler H:\CT3760\Peroid1_2006\F3_2006.doc 8/9
9 Fördröjningen är faktiskt inte tillräckligt lång. För längre fördröjning använder man två register. Yttre: 0xFF till R18 Back: 0xFF till R17 Minska R17 med ett Back Nej Reg R17 =0? Ja Minska R18 med ett Yttre Nej Reg R18 =0? Koden blir för den sista biten: ldi R18, 0xFF Yttre: ldi R17, 0xFF Back: dec R17 brne back dec R18 brne Yttre Ja Nu är vi framme vid en fördröjning på i princip 766 * 766 klockcykler AT mega 16 kan köras med klockfrekvens upp till 8 MHz. Vid leverans är den interna klockan ställd på 1 MHz. Den här slingan ger alltså en fördröjning på c:a 0,5 sekunder H:\CT3760\Peroid1_2006\F3_2006.doc 9/9
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.
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
Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704
Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng
Dataminne 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.
Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.
CT3760 Mikrodatorteknik Föreläsning 2 Tisdag 2005-08-30 Minnestyper. Atmega 16 innehåller följande minnestyper: SRAM för dataminne FLASH för programminne EEPROM för parametrar och konstanter. Minnen delas
A-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
Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)
MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga
Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/
CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.
AVRStudio på tre minuter. Micke Josefsson, 2005
AVRStudio på tre minuter Micke Josefsson, 2005 Mycket kort intro till AVRStudio Utvecklingsmiljön AVRStudio innehåller en editor för att mata in programmet, en simulator för att under kontrollerade former
Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå.
CT3760 Mikrodatorteknik Föreläsning 12 Torsdag 2006-10-05 Naxos Pollning Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå. En
Det 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
Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621
Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är
c 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
F2: 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
Laboration nr2 med enchipsdatorn PIC-16F877
Laboration nr2 med enchipsdatorn PIC-16F877 Inledning Målet med laborationen är främst att bli bekant med skift-, villkorliga- och ovillkorligaoperationer samt hur man strukturerar enklare flödesscheman.
Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010
STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB
Datorsystemteknik 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
AVR 5. Styrning av trafikljus. Digitala system 15 p
Namn: Laborationen godkänd: Digitala system 15 p AVR 5 LTH Ingenjörshögskolan vid Campus Helsingborg Styrning av trafikljus. Syftet med laborationen är att styra en trafikkorsning med hjälp av en mikroprocessor.
Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp
Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60
Digitala Projekt(EITF40) - Larm
Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Erik Oredsson, I-09 Sara Sellin, I-09 2012-05-08 1. SAMMANFATTNING I denna rapport presenteras vårt projekt att bygga ett huslarm från grunden
CE_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",
TSEA28 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
Laboration 2 i Datorteknik- Assemblerprogrammering II
Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner
Föreläsningsanteckningar till Konstruktionsmetoder 981027
Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,
Datorteknik. 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
#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char num;
#include #include #include unsigned char num; int count = 0; // antal i lokalen char larmtriggered = 0; //om larmet är utlöst char larmactivated = 0; //om larmet
Digital- och datorteknik
Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast
Ö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-
Grundlä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
TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1
Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i
Föreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Datorteknik Hyfsa kod
Datorteknik Hyfsa kod Michael Josefsson Version 0.2 2018 Denna text beskriver hur man kan hyfsa kod till att bli både bättre, mer lättläst och mindre. Som exempel används en del av den kod som behövs för
TSEA28 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
En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:
Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma
LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall
LARMANLÄGGNING Digitala Projekt, EITF11 Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall 1. Sammanfattning Vi har byggt ett larm vars syfte är att användas i hemmet. Larmet använder
Assemblerprogrammering del 1
Assemblerprogrammering del 1 Dagens föreläsning behandlar: Kompendiet kapitel 9 Arbetsboken kapitel 15 Ur innehållet: Assemblerspråket Programmerarens bild Assemblering/disassemblering Funktion: Översätter
Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden
Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data
Digitala 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)
LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)
LABORATION DATORTEKNIK D Pipelining Version: 1.4 2016 (OS,OVA,AN) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................
Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar
1 Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan arkitektur), hårdvara osynlig Assembly- och maskinprogram:
Föreläsningsanteckningar 4. Pipelining
Föreläsningsanteckningar 4. Pipelining Olle Seger 2012, olles@isy.liu.se 21 januari 2013 1 Inledning Denna föreläsning handlar om pipelining, som är den helt dominerande processorarkitekturen i dag. Man
Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.
Övningsuppgifter Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. F.2 Ett antal på varandra följande minnesord har
Arduinokurs. Kurstillfälle 4
Kurstillfälle 4 CW-generering Det här kan ses som överkurs men kan ändå vara roligt för att kunna generera CW på ett enkelt sätt. Det blir en hel del nytt men vi tar det steg för steg Som alla vet gäller
TSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator
1 2 TSIU50 Mikrodatorprojekt LAB1 AVR-introduktion och logikanalysator Michael Josefsson Januari 2007 Detta häftes syfte är att tjäna som en snabb introduktion till utvecklingsmiljön AVRStudio och den
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa
Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien
DIGITAL- OCH MIKRODATORTEKNIK, U2 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas.
Datorteknik. Exempeluppgifter i Laborativ Examination
Datorteknik Exempeluppgifter i Laborativ Examination Michael Josefsson Version 0.1 Inledning Nedan följer förslag på några representativa demonstrationslaxar. Uppgifterna är konstruerade så att de ska
Exempel 4. Användning av en timer
Exempel 4. Användning av en timer Kort beskrivning av Timer/counter1 i ATmega16 Timer/counter1 i ATmega16 består av en 16-bitars räknare och antal register för olika funktioner. Vi skall bara granska hur
Exempeltentamen 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
4. Pipelining. 4. Pipelining
4. Pipelining 4. Pipelining Det finns en pipelinad biltvätt i Linköping spoltvätttork spoltvätt tork spolning tvätt tork De tre momenten tar lika lång tid Alla bilar går igenom samma program Väntetid 1/3
Datorteknik. 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
Digitala Projekt(EITF40) - Larm
Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Kristoffer Sätermark, dt08ks6 Magnus Johansson, dt08mj9 Innehåll 1 Introduktion 1 2 Kravspec 1 3 Hårdvara 2 3.1 knappsats och decoder........................
Lö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
Datorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Pipelining Tid SSA P Pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO Superscalar pipelining FI DI CO FO EI WO FI DI
Stack och subrutiner Programmeringskonventionen
Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp
Hantering av hazards i pipelines
Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner
Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647
Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel
Styrenheten styrsignalsekvenser programflödeskontroll
Styrenheten styrsignalsekvenser programflödeskontroll Kontroll av programflöde Instruktionerna är ordnade sekventiellt i minnet och utförs normalt i denna ordning. Vissa programkonstruktioner kräver dock
Föreläsningsanteckningar 5. Cacheminnen
Föreläsningsanteckningar 5. Cacheminnen Olle Seger 2012 Anders Nilsson 2016 1 Inledning Bakgrunden till att cacheminnen behövs för nästan alla datorer är enkel. Vi kan kallt räkna med att processorn är
Tentamen 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
LEU240 Mikrodatorsystem
Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program
Digital- och datorteknik
Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer
Tentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Digital- och datorteknik
Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program
Tentamen. 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
Uppgift 1: a) u= a c + a bc+ ab d +b cd
Uppgift 1: a) u= a c a bc ab d b cd b) a b c d u 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1
Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.
ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar
Ö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
PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION
PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg
Rapport. Fyra i rad-spel. Rapport Digitala Projekt EITF11 Grupp 9 Emma Rasmusson & Louise Ragnarsson Handledare: Bertil Lindvall
Rapport Digitala Projekt EITF11 2017-05-08 Rapport Fyra i rad-spel Sammanfattning: Detta dokument beskriver arbetsprocessen i det projekt som är en del av kursen Digitala Projekt(EITF11) vid Lunds Tekniska
Övningsuppgifter i Mikrodatorteknik för U2
i Mikrodatorteknik för U2 Skriv instruktioner som utför följande operationer (angivna tal antas givna i hexadecimal form om inget annat anges): 1. (0x20) + 25 (0x30) 2. (0x22) - (0x31) (0x25) 3. (w) +
Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.
Datorteknik Tomas Nordström Föreläsning 2 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 2 Check av övningar Von Neumann arkitekturen Minne, CPU, I/O Instruktioner och instruktionscykeln
Tentamen. 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
Omtentamen i CDT204 - Datorarkitektur
Omtentamen i CDT204 - Datorarkitektur 2012-11-05 Skrivtid: 08.10-12.30 Hjälpmedel: Miniräknare och valfritt skriftligt (ej digitalt) material. Lärare: Stefan Bygde, kan nås på 070-619 52 83. Tentamen är
Lå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
TSEA28 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
Pipelining 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
Digital- 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
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Laboration 3 i Digital- och Mikrodatorteknik. Utvecklingssystemet MPLAB IDE Grundläggande assemblerprogrammering för PIC
Laboration 3 i Utvecklingssystemet MPLAB Grundläggande assemblerprogrammering för PIC Målet med laborationen är att få begrepp om Assemblerprogrammering med MPLAB Grundläggande assembler Enkel inmatning
Växtviskaren EITF11 Digitala projekt VT15, I12
Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015
Programexempel för FLEX
Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda
Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden?
Mål Datorteknik Föreläsning 3 Att veta hur maskinkoden för ett program byggs upp Att börja programmera i på riktigt Att kunna skriva och anropa subrutiner i Att förstå hur stacken fungerar Att veta vad
F4: 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
Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien
DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar
Till assemblersystemet Zuper 80 Assembler krävs en SPECTRAVIDEO 328/318+minst 16K ram extra.
ZZZZZ 888 000 A Z 8 8 0 0 A A ZZ 8 8 0 0 A A ZZ u u pppp eee r rrr 888 0 0 AAAAA ZZ u u p p e e rr --- 8 8 0 0 A A ZZ u u p p e ee r 8 8 0 0 A A Z u u p p e r 8 8 0 0 A A ZZZZZ uuuu pppp eeee r 888 000
SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR
SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR 2 Projekt mikrobasic PRO for AVR organiserar applikationer som projekt vilka består av en enda projektfil (med filändelsen.mbpav) och en eller flera
LV6 LV7. Aktivera Kursens mål:
Aktivera Kursens mål: LV6 LV7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion
Digitalteknik EIT020. Lecture 15: Design av digitala kretsar
Digitalteknik EIT020 Lecture 15: Design av digitala kretsar November 3, 2014 Digitalteknikens kopplingar mot andra områden Mjukvara Hårdvara Datorteknik Kretskonstruktion Digitalteknik Elektronik Figure:,
EDA 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
Tentamen. 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
0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.
0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter
Tentamen. 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
Närliggande allokering Datorteknik
Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1
En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.
1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är
En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.
1 2 3 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är
CPU. Carry/Borrow IX. Programräknare
Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister
Datorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
Programmera i teknik - kreativa projekt med Arduino
NYHET! Utkommer i augusti 2017 Smakprov ur boken Programmera i teknik - kreativa projekt med Arduino av Martin Blom Skavnes och Staffan Melin PROJEKT LJUS s 1 I det här projektet kommer du att bygga en
F8: Undantagshantering
F8: Undantagshantering Undantagshantering i 68 Vad är ett undantag? Typer av undantag Att skriva undantagsrutiner Undantagshantering, vad och varför? Exempel: Ett system ska mäta temperatur var :e sekund