LABORATION DATORTEKNIK Y DATORTEKNIK D
|
|
- Ann-Marie Bergström
- för 7 år sedan
- Visningar:
Transkript
1 LABORATION DATORTEKNIK Y DATORTEKNIK D Avbrottsprogrammering på M68008 Version: (OVA) Namn och personnummer Godkänd
2 Till laboranten Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering (del A) samt därefter att tillämpa dessa kunskaper på ett större problem (del B). Syftet är också att skapa större förståelse för stackhantering i en processor. Efter genomförd laboration ska du, med hjälp av manual över parallellporten, kunna skriva program som kommunicerar med omvärlden via avbrottsstyrd parallellport. I del A kan det vara en fördel att använda den inbyggda radassemblern i TUTOR eftersom du då har större kontroll över var avbrottshanterare samt subrutiner hamnar. Labhäftet är också skrivet utifrån antagandet att radassemblern används. Väljer du att använda korsassemblern i del A behöver du kolla i listfilen för att få reda på var dina olika rutiner har hamnat. I del B används med fördel en korsassembler, se bilaga. Börja med att studera åtminstone kapitel i häftet TUTOR M68008 system och assembler. En del förtydliganden om PIA:n finns som bilaga. Till laborationen ska du ha med dig egna lösningsförslag på alla laborationsuppgifter. Till del B bör det även finnas ett flödesschema. Tänk på att utnyttja eventuella labförberedande lektioner som kan komma att ges i anslutning till laborationstillfället. Extrauppgifterna görs i mån av tid. Praktiska råd Skriv upp vilka adresser du lägger dina program på, välj förslagsvis enkla siffror t.ex. $000, $00, $200 osv. Egentligen disponerar du adressrymden $900 - $7000, men adressområdet $ $2500 kommer att användas av de färdiga subrutinerna. Du kommer att behöva en stack och ditt program måste därför börja med att ladda stackpekaren med något vettigt. Eftersom stacken växer mot lägre adresser kan $7000 vara en lämplig stackstart. Tänk på skillnaden mellan avbrottsnivå i CPU:n och avbrottsflagga i PIA:n. Om programmen inte uppför sig på förväntat sätt måste du felsöka. Störst nytta har du då av kommandot BR (Breakpoint). TR (Trace) är mindre lämpligt eftersom Trace utnyttjar avbrott med lägre prioritet än parallellporten. Om ditt program mystiskt försvinner kan det bero på stack overflow.
3 Färdiga subrutiner För att kunna fokusera på avbrottshanteringen finns det ett antal färdiga subrutiner. Dessa subrutiner finns lagrade i ROM men måste flyttas till RAM, ty om ett program befinner sig i ROM kan man inte sätta brytpunkter i det. Vid laborationens början skall du därför köra ett speciellt skyfflingsprogram för att ladda ner rutinerna till RAM. Detta program har startadressen $C300. Programmet laddar ner följande till minnet: Adress Rutin $20EC PINIT Programmerar PIA:ns PA7-PA0, PB7-PB0 som utgångar samt programmerar CA, CA2, CB och CB2 för att begära avbrott på positiv flank. $2020 SKBAK Skriver på terminalens skärm texten: BAKGRUNDSPROGRAM Texten skrivs längst till vänster på skärmen. $2048 SKAVV Skriver på terminalens skärm texten: AVBROTT vänster SLUT vänster Raderna skrivs i mitten av skärmen med en sekunds intervall. Rutinen förutsätter att köras som avbrottsnivå 2 $20A6 SKAVH Skriver på terminalens skärm texten: AVBROTT höger SLUT höger Raderna skrivs till höger på skärmen med en sekunds intervall. Rutinen förutsätter att köras som avbrottsnivå 5 $2000 DELAY Fördröjningsrutin. Anropas med önskad fördröjning i millisekunder i register D0 (32 bitar) 2 januari 25, 203 2
4 Du kan självklart titta på samtliga färdiga rutiner under laborationstiden, men några kan vara av intresse redan vid förberedelsearbetet och visas därför nedan. PINIT: DELAY: 0020EC CLR.B $ F CLR.B $ F8 3FC00FF MOVE.B #255,$ FC00FF MOVE.B #255,$ FC00F MOVE.B #3,$ FC00F MOVE.B #3,$ A TST.B $ E 4A TST.B $ E75 RTS F0 MOVE.L D,-(A7) C MOVE.L #04,D SUB.L #,D 00200E 6AF8 BPL.S $ SUBQ.L #,D AEE BPL.S $ F MOVE.L (A7)+,D E75 RTS 3
5 Laborationsuppgifter Del A Del A av laborationen består i att göra grundläggande undersökningar av ett mycket enkelt och schematiskt avbrottssystem för M Ett program som skriver texten BAKGRUNDSPROGRAM på terminalen skall kunna avbrytas av två knappar, en som ger ett avbrott på nivå 2 och en som ger ett avbrott på nivå 5. Uppgift Skriv ett bakgrundsprogram som initierar systemet och sedan går in i en oändlig slinga där texten BAKGRUNDSPROGRAM skrivs på skärmen med en sekunds intervall. Initieringen behövs framförallt för uppgift 2 och framåt, och är enligt följande: Ladda stackpekaren, t.ex. med $7000. Programmera PIA:n, t.ex. genom att anropa PINIT. Ladda avbrottsvektorerna för avbrottsnivå 2 och 5 med adresserna $00 respektive $200. Möjliggör avbrott i processorn genom att sänka avbrottsnivån till 0. (Ändra inte bitarna S och T i Statusregistret!) Jorda avbrottsingångarna, dvs anslut CA, CA2, CB och CB2 till 0 på kopplingsplattan. Mata in ditt program med början på adress $000. Provkör. Stoppa med den svarta knappen (ABORT). Tag sedan bort jordanslutningen till CA och CB och anslut i stället de två tryckknapparna. Den vänstra skall anslutas till CB och den högra till CA, så att vänster knapp ger avbrott på nivå 2 och höger på nivå 5. Uppgift 2 Skriv två avbrottsrutiner av vilka den ena ska ge utskriften AVBROTT vänster och den andra utskriften AVBROTT höger. Respektive avbrottsflagga i PIA:n ska nollställas innan utskriften påbörjas, så att ytterligare en avbrottsbegäran kan tas emot under tiden avbrottsrutinen körs. Nollställningen ska ske med en instruktion som inte påverkar innehållet i något data- eller adressregister. I en verklig tillämpning sparar man normalt undan en del interna register på stacken först i sina avbrottsrutiner. Vi skall emellertid i laborationen gå in och titta på stackens innehåll, och för att göra det lätt att hitta och inte få för mycket ovidkommande data på stacken skall du inte spara några register i dina avbrottsrutiner. De färdiga subrutinerna, SKAVV och SKAVH, är skrivna så att de inte förstör varandras registerinnehåll. Mata in dina avbrottsrutiner på adresserna $00 respektive $200. Kontrollera att avbrottsvektorerna i ditt huvudprogram pekar på rätt avbrottsrutin, och att avbrottsrutinerna nollställer rätt port i PIA:n. 4 januari 25, 203 4
6 Kör huvudprogrammet på adress $000 och kontrollera funktionen hos ditt system enligt följande: Tryck på vänster knapp Vänta tills avbrottsrutinen är klar Tryck på höger knapp Om programmet uppförde sig som väntat gör du följande test: Tryck på vänster knapp Vänta någon sekund Tryck i snabb följd höger, vänster, höger. Om dina avbrottsrutiner är korrekt skrivna skall samtliga avbrott (totalt fyra stycken) tas om hand. Rita ett enkelt diagram som visar i vilken ordning begäran om avbrott kommer in, och i vilken ordning avbrottsrutinerna anropas. Förklara orsaken till att avbrotten inte åtgärdas i den ordning de begärs. Uppgift 3 Du kan genom tryckningar, på knapparna, på olämpliga ställen få texten BAK- GRUNDSPROGRAM att bli osammanhängande. Vi anser det vara väldigt viktigt att utskriften inte avbryts mitt i ett ord, utan kan bara acceptera avbrott i pauserna mellan utskrifter. Vad kan man göra för att få programmet att bete sig så? Gör det! (PIA-kretsen skall inte programmeras om.)... Tryck nu på den svarta ABORT-knappen när bakgrundsprogrammet exekveras. Om du trycker vid en väl (eller illa) vald tidpunkt kan du fortfarande störa utskriften mitt i ordet BAKGRUNDSPROGRAM. Hur är detta möjligt trots den åtgärd du nyss vidtog?... 5
7 Uppgift 4 Tryck på ABORT-knappen mellan två utskrifter av BAKGRUNDSPROGRAM. Programmet befinner sig nu med största sannolikhet i väntesubrutinen DELAY ($2000-$206) och stackdjupet blir då 8 bytes. (Med detta menas att det ligger 8 bytes på stacken, och att stackpekarens värde alltså är $6FF8 om stackpekaren var $7000 från början.) Om du inte skulle få stackdjupet 8 bytes när du avbryter, försök igen. Observera att avbrott genom tryckning på ABORT inte påverkar innehållet på stacken, eftersom avbrottsrutinen för ABORT är skriven så. Du kan om du så vill återstarta ditt program med GO, och det fortsätter som om inget hänt. När du avbrutit med ABORT och stackpekaren har värdet $6FF8, läs av vad som finns på stacken med kommandot MD. Identifiera vad det är som ligger där och varifrån det kommer. Ledning: titta vad som händer först i subrutinen DELAY. Adress Data 6FF FFF Uppgift 5 Sätt nu en brytpunkt på den första instruktionen i subrutinen SKAVH ($20A6). Kör programmet och tryck i snabb följd mellan två utskrifter först på vänster knapp, och sedan på höger knapp. Om du inte har en väldig otur kommer såväl bakgrundsprogrammet som vänster avbrottsrutin att bli avbrutna i subrutinen DELAY ($2000-$206). Stackdjupet blir då 36 bytes. Om du skulle få ett annat stackdjup, starta om och försök igen. Vad bör stackpekaren ha för värde?... Läs återigen av vad som finns på stacken, hela vägen ner till botten, och identifiera exakt vad som ligger där och varifrån det kommer. Rita även en enkel figur som med pilar visar de hopp som sker mellan de olika rutinerna i programmet innan brytpunkten nås. Förklara anledningen till samtliga hopp och vad som lagras på stacken i varje steg. 6 januari 25, 203 6
8 På vilken adress blev bakgrundsprogrammet avbrutet? På vilken adress blev den lägsta avbrottsrutinen avbruten?... Uppgift 6 (Extrauppgift) Antag samma situation som i uppgift 5, men utan brytpunkt. Vad blir det maximala stackdjupet?... 7
9 Laborationsuppgifter Del B Uppgift 7 Konstruera ett PING-PONG spel. Använd två studsfria tryckomkopplare som ansluts till CA respektive CB, samt åtta lysdioder som ansluts till PIAA, se figur. Bollen markeras med en tänd lysdiod, och ska förflyttas fram och tillbaka över lysdiodarrayen så länge de bägge spelarna trycker ned sin knapp exakt då bollen befinner sig i respektive ändläge. U PA PB CA 0 2 CA2 3 4 CB 5 6 CB Spelare V Spelare H Figur. Spelregler Den som vinner en boll får serva. Serve markeras med stillastående boll på den servandes sida. Bollen börjar att röra sig då knappen trycks ned. Spelare V börjar att serva vid spelets start. Om en spelare trycker antingen för tidigt eller för sent när bollen är i spel vinner den andre bollen och får poäng. Likaså om bollen går ut och spelaren inte trycker, då vinner den andre bollen. Nytt servläge ska komma automatiskt när en spelare har fått poäng. 8 januari 25, 203 8
10 Utförande Knappnedtryckningarna ska detekteras mha avbrott. Avbrottsrutinen ska byta flyttningsriktning om bollen är i ändläget hos respektive spelare, annars vidta lämplig åtgärd. Registren D3 och D4 ska, då spelet stoppas (med ABORT), innehålla hur många bollar respektive spelare har vunnit. Ditt program ska innehålla 2 statusflaggor, en som indikerar flyttningsriktning, och en som indikerar om serve ska göras. Då vi har gott om register använder vi ett helt register för respektive flagga. Lämplig registeranvändning är: D0: Tidsfördröjning vid anrop av DELAY. D2: Lagring av hur lysdioderna är tända. D3: Resultatregister spelare A. D4: Resultatregister spelare B. D5: Flyttningsriktning: 00=vänster, FF=höger. D6: Servstatus: 00=ej serve, FF=serve. Uppgift 8 (Extrauppgift) Komplettera spelet med poängvisning på 7-segmentdisplayer. Utnyttja port PIAB enligt figur 2. Poängvisning ska ske med en decimal siffra (0-9) för varje spelare. Om poängsiffran är större än nio ska istället bokstaven E visas. U PA PB CA 0 2 CA2 3 4 CB 5 6 CB PB3-PB0 PB7-PB4 Spelare V Spelare H Figur 2. 9
11 Parallellporten (M682 PIA) Det mesta om parallellporten finns att läsa i kapitel i häftet TUTOR M68008 system och assembler, men några saker kommer att förtydligas här. Kontrollregistrets CR-7 och CR-6 är inte programmerbara, utan nollställning görs genom en läsning av respektive ports data, se figur 3. Figur 4 visar prioritetsavkodningen mellan ABORT, IRQ A och IRQ B, vilket ligger utanför CPU:n. Till CPU:n kommer alltså en avbrottsbegäran, som är den högsta aktuella, och detta jämförs sedan internt med CPU:ns avbrottsnivå. CA- S R Q CRA-7 CRA-0 & IRQA CA-2 S R Q CRA-6 CRA-3 & Läsning i PIAA Figur 3. IRQ A IRQ 5 IRQ B & IRQ 2 ABORT Figur 4. 0 januari 25, 203 0
12 Korsassembler I Tutorkortets programvara finns en Radassembler som erbjuder en möjlighet att snabbt och enkelt komma igång med skrivandet och provkörning av assemblerprogram. Ganska snart upptäcker man att radassemblern är en primitiv utvecklingsmiljö lämpad för små testprogram i storleksordningen 0-20 rader. Vid större assemblerprogram saknar man en del finesser, t.ex: Möjlighet att spara. Möjlighet att använda en avancerad editor. Möjlighet att använda symboliska hoppadresser, så kallade Labels. Lösningen på detta är att använda en PC där en större utvecklingsmiljö är installerad, och du får tillgång till detta genom att i ett terminalfönster skriva module add BUSSENLAB. Vår miljö erbjuder följande: En korsassembler, som är en assembler som körs på en fristående utvecklinsdator, men som genererar kod för ett annat system, målsystemet, i vårt fall Tutor. Ett förbättrat terminalprogram som kan ladda ner binärkod till Tutorkortets RAM. Miljön är enkel att använda och arbetsgången beskrivs i punkterna nedan: Hela assemblerkoden skrivs i en editor och lagras på en fil, t.ex. lab.s. Assemblera filen pingpong.s med kommandot assemble.sh lab.s i ett terminalfönster. Filen assemble.sh är ett s.k. script och innehåller de kommandon som behövs för att assemblera koden. Startadressen kommer alltid att bli $000. Reslutatet kan beskådas i en listfil där talet $000 måste adderas till adressen. Terminalprogrammet körs med kommandot tutor.sh i ett terminalfönster. Med spänningen påslagen ska tutorprompten dyka upp när du slår några returtecken. Den kompilerade filen kan nedladdas till tutorkortet med kommandot ctrl-f l (control-eff ell). Terminalprogrammet avslutas med kommandot ctrl-e. Eventuella brytpunkter kommer att försvinna vid en nerladdning. Tyvärr kan INTE de svenska bokstäverna å,ä och ö ingå i assemblerfilen. Det kan vara lämpligt att lägga editor, assemblering och terminalprogram i olika terminalfönster och att ha dessa uppe samtidigt. Här följer ett programexempel: START MOVE.L #TABS,A2 Kommentar LOOP CMP.B #$0D,(A2)+ Kommentar 2 BNE.S LOOP MOVE.B #228,D7 TRAP #4 TABS DC.B Provstrang DC.B $0D END
LABORATION. Datorteknik Y
LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering
Läs merLABORATION. Datorteknik Y
LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.02 Februari 2018 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering
Läs merLaboration Datorteknik TSIU02 2. I/O-programmering
Laboration Datorteknik TSIU02 2. I/O-programmering Stefan Gustafsson version 1.1 1. Inledning Laboration: I/O-programmering Du skall i denna laboration programmera TUTOR till att signalera i Morsekod.
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 merLABORATION. Datorteknik Y
LABORATION Datorteknik Y Kodlås på MC68008 Version 1.6 2012 (AE) 2013 (AE) 2014 (AE) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är att ge övning i assemblerprogrammering samt att
Läs merCPU. Carry/Borrow IX. Programräknare
Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister
Läs merDatorteknik 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
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #19 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Normaltillstånd vs undantagstillstånd I normaltillstånd
Läs merÖvningsuppgifter i Mikrodatorteknik 4p/5p
Övningsuppgifter i Benny Thörnberg Mittuniversitetet Inst. för Informationsteknologi och medier Hösten 2005 1 Exekvering av assemblerkod 1.1 Statusflaggors beteende Vad blir C-, N- och Z- flaggornas värden
Läs mer7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.
1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar
Läs merTENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:
TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga
Läs merF8: 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
Läs merLEU240 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
Läs merÖ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
Läs merProgramallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne
Programallokering Att placera program i flashrespektive RAM-minne Program i FLASH-minne Bara lokala variabler Globala oinitierade variabler Globala initierade variabler Program med avbrott Program i RAM-minne
Läs merInstitutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd
Läs merDatorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.
Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd
Läs merLaboration A TSEA57 Datorteknik I
Laboration A TSEA57 Datorteknik I Anders Nilsson 2015 version 1.1 Innehåll 1 Introduktion 5 1.1 Syfte....................................... 5 1.2 Förkunskaper.................................. 5 1.3
Läs merLaboration Datorteknik D 3. Digitalur
Laboration Datorteknik D 3. Digitalur Michael Josefsson version 2.2 Innehåll 1. Inledning 5 2. Hårdvara 7 2.1. LED-displaymodul............................... 7 2.1.1. Multiplexning..............................
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 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 merDatorsystemteknik Föreläsning 7DAVA14
Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U) Föreläsning 6 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist 2017-01-30 2 Dagens föreläsning Avbrot Princip Avbrot på 68000 Exempel Flera nivåers
Läs merAvbrottshantering. Övningsuppgifter
Avbrottshantering Övningsuppgifter 2013 Besvara kortfattat följande frågor rörande CPU12. Redogör för vad som händer vid RESET och varför detta sker. Förklara kortfattat vad som händer vid ett IRQ avbrott
Läs merAVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Läs merLaboration Datorteknik TSIU02/TSEA28 3. Digitalur
Laboration Datorteknik TSIU02/TSEA28 3. Digitalur Michael Josefsson version 2.3 Innehåll 1. Inledning 5 2. Hårdvara 7 2.1. LED-displaymodul............................... 7 2.1.1. Multiplexning..............................
Läs merPC-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
Läs merPolling (cyklisk avfrågning) Avbrott
Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det
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 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 merLösningsförslag till Tenta i Mikrodator
Lösningsförslag till Tenta i Mikrodator 050113 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används
Läs merAvbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)
Avbrottshantering Övningsuppgifter 2013 Lösningsförslag Uppgift 1-19 (eservation för diverse fel!) 1 Koppling: Q 1 Till bit 0 INPOT ÖKA A 1 /W 1 Write 8FF 16 NOLLA Write 8FFF 16 Q 2 1 Q 2 Till bit 1 INPOT
Läs merFöreläsningsanteckningar 3. Mikroprogrammering II
Föreläsningsanteckningar 3. Mikroprogrammering II Olle Seger 2012 Anders Nilsson 2016 1 Inledning Datorn, som vi byggde i förra föreläsningen, har en stor brist. Den saknar I/O. I denna föreläsning kompletterar
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merLaboration Datorteknik D 1. IR-länk
Laboration Datorteknik D 1. IR-länk Michael Josefsson version 1.3 Innehåll 1. Inledning 5 2. Hårdvara 7 2.1. IR-sändare................................... 7 2.2. IR-mottagare..................................
Läs merAnsvarig 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
Läs merProvmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.
Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:
Läs merMål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)
Mål Datorteknik Föreläsning 4 Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta vilken information
Läs merInstitutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta
Läs merTill 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
Läs merMål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A
Mål Datorteknik Föreläsning 5 Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av fle processer Att du ska förstå begreppet tråd Att du ska veta hur odelba resurser kan
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 merF5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merF5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Läs merLaboration 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
Läs merEnchipsdatorer med tillämpningar LABORATION 7, ROBOT
Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog
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 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 merStack och subrutiner Programmeringskonventionen
Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp
Läs merBesvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.
Namn: Laborationen godkänd: Laboration 3. Pipeline Laborationens syfte I laborationen ska du bekanta dig med pipelining. Genom laborationen fås kunskap om hur pipelines är konstruerade och hur de används.
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 merProgramexempel 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
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist 2017-01-23 2 Dagens föreläsning 68000 (Tutor) Adresseringsmoder M68008 stackhantering
Läs merProgrammering. Scratch - grundövningar
Programmering Scratch - grundövningar Lär känna programmet: Menyer för att växla mellan att arbeta med script, utseende/bakgrund och ljud. Scenen där allting utspelar sig. Här klickar du på bakgrunden
Läs merLaboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C
Namn: Laborationen godkänd: Tekniska gränssnitt 7,5 p Vt 2014 Laboration 5 LTH Ingenjörshögskolan vid Campus Helsingborg Temperaturmätning med analog givare. Syftet med laborationen är att studera analog
Läs merLaboration nr 4 behandlar Assemblerprogrammering
Laboration nr 4 behandlar Assemblerprogrammering Följande upp gifter ur Arbetsbok för DigiFlisp ska vara utförda som förberedelse för laborationen. Du ska på begäran av laborationshandledare redogöra för
Läs merSystemkonstruktion LABORATION REALTIDSPROGRAMMERING
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen
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 merVilken skillnad gör det var du placerar det? Prova båda.
Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du
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 merLABORATION. Datorteknik Y
LABORATION Datorteknik Y Mikroprogrammering Version 3.3 2012 (AE) 2013 (AE) 2017 (KP) Namn och personnummer Godkänd Uppg. 1-3 1 1 Inledning Syftet med laborationen är att skapa en känsla för vad som händer
Läs mer1. Introduktion - 3 -
1. Introduktion 1.1. Historia Den amerikanska halvledartillverkaren Motorolas första och mycket framgångsrika mikroprocessor M6800 kom ut på marknaden 1974. Processorn var en klassisk 8-bitars ackumulatormaskin
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 merDigital- 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
Läs merDigital- 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
Läs merSKAPA 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
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 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 mer3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.
Moment 2: Klonspel Instruktioner för deltagare Idag ska du få lära dig om: Kloner - kopior av samma figur (sprajt) Variabler - ett värde, exempelvis antal poäng Slumptal - slå en tärning för att välja
Läs merSekvensnät i VHDL del 2
Laboration 6 i digitala system ht-16 Sekvensnät i VHDL del 2 Realisering av Mealy och Moore i VHDL............................. Namn............................. Godkänd (datum/sign.) 2 Laborationens syfte
Läs merDatorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål
Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta
Läs merDatorsystem Laboration 2: Minnesmappade bussar
Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................
Läs merLaboration Datorteknik TSIU02/TSEA28 3. Digitalur
Laboration Datorteknik TSIU02/TSEA28 3. Digitalur Michael Josefsson, Kent Palmkvist version 3.0 Innehåll 1. Inledning 5 2. Hårdvara 7 2.1. LED-displaymodul............................... 7 2.1.1. Multiplexning..............................
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 merÖ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
Läs merTentamen Datorteknik Y, TSEA28 Datum 2012-06-02 TER2, TER4, TERE Tid 14-18
Tentamen Datorteknik Y, TSEA28 Datum 2012-06-02 Lokal TER2, TER4, TERE Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 7 Antal sidor (inklusive denna sida) 10
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 merLaboration 5 TSEA57 Datorteknik I
Laboration 5 TSEA57 Datorteknik I Anders Nilsson 2015 version 1.0 Innehåll 1. Introduktion 5 1.1. Syfte....................................... 5 1.2. Förkunskaper.................................. 5 1.3.
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 merMaskinorienterad programmering
Externa avbrott Anslutning av extern avbrottsvippa, programmering med konfigurering och hantering av externa avbrott. Introduktion till time-sharing, enkel task-switch. Ur innehållet: NVIC och EXTI (SYSCFG)
Läs merDatorteknik TSIU02 Kursinformation
Datorteknik TSIU02 Kursinformation Michael Josefsson 24 maj 2018 1.1 Allmänt Kursen handlar om praktisk datorteknik på en grundläggande nivå. Programmerar man på en ännu lägre nivå är man processorkonstruktör!
Läs merCE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io.
IS1200 Exempelsamling till övning CE_O6, 2015 CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. 6.1. Läs in data från IN-port (skjutomkopplare TOGGLES18) Skriv en subrutin, Get_Data
Läs merEnchipsdatorer med tillämpningar LABORATION 6, ROBOT
Enchipsdatorer med tillämpningar LABORATION 6, ROBOT Laborationsansvariga: Tomas Bengtsson, Rickard Holsmark Utskriftsdatum: 2006-05-02 Laboranter: 1 Syfte Syftet med laborationen är att studenterna på
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 merLösningsförslag till Tenta i Mikrodator
Lösningsförslag till Tenta i Mikrodator 040117 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används
Läs merLABORATION DATORTEKNIK Y. DATORTEKNIK D DATORTEKNIK M/1/C 1.1. TUTOR M68008 SYSTEM OCH ASSEMBLER
LABORATION DATORTEKNIK Y. DATORTEKNIK D DATORTEKNIK M/1/C 1.1. TUTOR M68008 SYSTEM OCH ASSEMBLER Stefan Gustav son, Olle Ro os m fl ISY-LiTH 1996 Innehåll l Introduktion 3 1.1 Historia... 3 1.2 Nutid.......
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 merLV6 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
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 F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer
Läs merHur ser Blue-Bot ut i aktion?
Hur ser Blue-Bot ut i aktion? Tydliga knappar för barnen att använda vid programmering av Blue-Bot. Möjlighet att spara upp till 80 instruktioner i Blue- Bots minne. Blue-Bot rör sig i samma riktning 15
Läs merDatorprojekt, del 1. Digitala system 15 p
Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 1 Projektet består i att skapa en klocka där tiden visas
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2018-02-12 3 TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY Praktiska kommentarer Ordningsfråga Glöm inte koppla ned anslutningarna
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. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa
Läs merExtrauppgifter för CPU12
1 Extrauppgifter för CPU12 X1a) Skriv en instruktionssekvens som nollställer bit 3-0 i alla minnesord i adressintervallet 2035H, 2049H Använd X-registret för adressering X1b) Skriv en subrutin som maskerar
Läs merI denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.
Laboration:. Jämförelser mellan assembler och C. I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Förberedelser:
Läs merKapitel 4 Arkivmenyn Innehåll
Kapitel 4 Arkivmenyn Innehåll ARKIVMENYN...2 Byt aktuell användare...2 Utskrift till skärm eller skrivare...3 SQL verktyget...4 Ny SQL...4 Hämta SQL...5 Spara SQL...5 Kör SQL...5 Visa som...5 Avsluta...5
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 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 mer