Digital- och datorteknik
|
|
- Axel Jonsson
- för 9 år sedan
- Visningar:
Transkript
1 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 Element kan endast läggas till och tas bort ovanifrån, d v s via toppen av stacken Denna princip för att komma åt elementen elementet kallas "top-of-stack", TOS kallas "sist in - först ut" (eng last in - first out, LIFO) Att lägga nya element på stacken benämns "push Att hämta element från stacken benämns "pull" (ibland "pop") Stackbyggnad och användning Med "store"- och "load"-instruktioner som har register-indirekt adressering med autoinkrement och autodekrement kan man skapa och använda en datastruktur som kallas stack På en stack lagras binära ord på precis samma sätt som man lägger hö på en höstack eller staplar tallrikar på en hylla, dvs bildligt talat ovanpå varandra, se figur F18 Basläget kallas "bottom-of-stack", BOS och läget för det sist pålagda top-of-stack, TOS bottom-of-stack, BOS Figur F18 En stackstruktur Tallriksmodellen Stackoperationer Ext-8 (Ver ) FLEX- och FLIS-datorn F-37 Stacken realiseras i datorn genom användandet av en stackpekare SP, som håller reda på TOS Stacken initieras genom att SP laddas med BOS stackpekare SP Ett element läggs på stacken med PUSH -instruktionen, som lagrar data från ett processorregister till stacken med adresseringsmetoden register indirect SP, pre-decrement T ex: PSHA SP - 1 SP, A M(SP) TOS 0016 TOS=BOS-n BOS-2 BOS-1 BOS Nya element tillförs ovanifrån, dvs läggs på toppen Principen för att komma åt de binära orden, höet och tallrikarna är "sist in - först ut" (eng last in - first out, LIFO) Processen att lägga nya element på stacken benämns "push" och processen att hämta element ifrån stacken benämns "pull" (ibland "pop") Stacken är en LIFO-struktur, som främst används för att temporärt lagra data på ett enkelt sätt Ett smidigt sätt att göra detta är via "store"- resp "load"- instruktioner Stackoperationer med register-indirekt adressering och med automatisk dekrementering resp inkrementering Ett pekarregister, kallat stackpekare SP (eng stack pointer) får hålla reda på TOS-läget enligt figur F19 Stacken initierades när stackpekaren en gång laddades med BOS-adressen Demonstrationsexempel 1 stackoperationer a) Ge en sekvens av instruktioner som definierar en stack med början på adress och placerar operanderna 06 16, och på stacken b) Vad är stackpekarens innehåll när sekvensen i a) genomlöpts av processorn? Ett element hämtas från stacken med PULL -instruktionen, som hämtar data från stacken till ett processorregister med adresseringsmetoden register indirect SP, post-increment T ex: PULX M(SP) X, SP + 1 SP Figur F19 Stackens tillväxt och adressering via stackpekaren I en processor finns i regel minst ett stackpekarregister, SP Det finns då också speciella "push"- och "pull"-instruktioner som lagrar data från processorns interna register på stacken och hämtar data från stacken till interna register SP-1 SP r src M(SP) FF16 push r src M(SP) r dst pull r dst SP+1 SP Exempel F29 FLISP har en stackpekare SP och "push"-instruktioner samt "pull"-instruktioner "PUSH" "PULL" PSHA PULA PSHX PULX PSHY PULY PSHC PULC 1
2 Behovet av modularisering I ett välstrukturerat program bör man se till att organisera sin programkod i subrutiner Fördelarna med detta är: Återanvändning: en funktion som behöver användas ofta i olika delar av programmet kan placeras i en modul för att undvika att programmerarna återuppfinner hjulet när de skriver sina individuella programdelar Effektivisering: flera programmerare kan arbeta parallellt och bidra till koden genom att ha ansvar för var sin subrutin Anrop till subrutin med bokmärke Vid anrop (hopp) till en subrutin måste det garanteras att programflödet kan återvända till korrekt (anropande) läge i programmet Detta kan åstadkommas genom att ett bokmärke sparas på stacken vid anropet Detta bokmärke utgörs av innehållet i PC vid tidpunkten för anropet till subrutinen Tack vare stackens egenskaper (LIFO) går det att, inifrån en subrutin, göra ett anrop till ännu en subrutin, och ändå komma tillbaka till det ursprungliga anropet Anrop till subrutin med bokmärke Anrop till subrutin görs med JSR eller BSR ( jump / branch to subroutine ) JSR Adr BSR Adr SP - 1 SP, PC M(SP), Adr PC SP - 1 SP, PC M(SP), PC + Offset PC Återhopp från subrutin görs med RTS ( return from subroutine ) RTS M(SP) PC, SP + 1 SP BSR använder samma adresseringsmetod (PC-relativ adressering) som BRA, BEQ etc Tillfällig lagring av data i subrutin Stackens egenskaper (LIFO) möjliggör inte bara att man kan lagra bokmärken på ett praktiskt sätt; det går också att tillfälligt lagra data på stacken medan subrutinens kod exekveras: Innehållet i register vars data inte får förstöras kan sparas (med PUSH-instruktioner) i början av subrutinens kod, och återställas (med PULL-instruktioner) i slutet av koden T ex: PSHA SP - 1 SP, A M(SP) [ spara A ] PSHCC SP - 1 SP, CC M(SP) [ spara flaggor ] PULCC M(SP) CC, SP + 1 SP [ återställ flaggor ] PULA M(SP) A, SP + 1 SP [ återställ A ] 2
3 Tillfällig lagring av data i subrutin Stackens egenskaper (LIFO) möjliggör inte bara att man kan lagra bokmärken på ett praktiskt sätt; det går också att tillfälligt lagra data på stacken medan subrutinens kod exekveras: Extra utrymme för lagring av data kan göras tillgängligt i början av koden respektive tas bort i slutet av koden Varje byte i detta utrymme kan sedan ses som en tillfällig variabel som adresseras via metoden indirekt SP-register med offset T ex: LEASP -8,SP SP - 8 SP [ skapa utrymme ] CLR 3,SP 0 M(SP+3) [ nollställ en variabel ] LDA 0,SP M(SP) A [ läs annan variabel ] LEASP 8,SP SP + 8 SP [ ta bort utrymme ] Primärminnets användning Primärminnets användning Adressregistren (X och Y) används för att bestämma adresser till data i de fall de måste beräknas på något sätt Eftersom vanliga operationer i en dator inbegriper såväl en källoperand som en destinationsoperand har FLISP utrustats med två likvärdiga adressregister Programräknaren (PC) manipuleras ytterst sällan direkt av assemblerprogrammeraren, den ingår dock som adresseringssätt och är därför en självskriven komponent i programmerarens bild Delar av minnet måste anvisas för temporär lagring av återhoppsadresser vid subrutinanrop, undanlagring av registerinnehåll vid undantagshantering, temporär undanlagring styrd av programmeraren, etc Stackpekaren (SP) används för sådana ändamål I Figur 91 finns även ett register med flaggbitar (CC) Många instruktioner laddar nya värden på flaggbitarna i flaggregistret Normalt är det flaggvärdena från ALU'n som laddas i flaggregistret vid någon ALU-operation De innehåller alltså information om resultatet av den senaste ALU-operationen som påverkade flaggregistret Flaggbitarna används till exempel när villkorliga instruktioner skall utföras av processorn Den speciella flaggan interrupt-mask (I) används endast vid undantagshantering som vi återkommer till i nästa kapitel Bortsett från adresser avdelade för undantagshantering och in-/utmatning kan primärminnet användas på praktiskt taget godtyckligt sätt Det är dock praktiskt att införa lämpliga konventioner och sedan vara så konsekvent det är möjligt Den rekommenderade användningen av primärminnet hos FLISP-datorn framgår av Figur 92 Den rekommenderade användningen av primärminnet i FLIS-processorn är: Adress FA 16 : Programkod Adress F 16 : Globala variabler (data med relativt lång livslängd) Adress F 16 : Programstack (data med relativt kort livslängd) Adress FB 16 FC 16 : In- och ut-portar FIGUR 92 (reserverat för kommunikation med sensor och/eller ställdon) Adress FD 16 FD 16 : Vektorer (reserverat för lagring av speciella hoppadresser) ANVÄNDNING AV PRIMÄRMINNET HOS FLISP 173 Assemblerdirektiv etiketter Vi har ju sett att när man skriver program i assemblerspråk har man ersatt maskininstruktionernas binära representation med symboliska namn på instruktionerna T ex skriver vi LDA #7, istället för den två byte långa sekvensen F0 07, när vi vill ange den instruktion som laddar register A med konstanten 7 Vi skulle på ett liknande sätt vilja ersätta lägen (minnesadresser) i primärminnet med symboliska namn Detta låter sig göras i assemblerspråk om man sätter en etikett ( label ) framför den instruktion eller databyte vars adress vi vill kunna referera till Exempel: Loop DECA BNE Loop Assemblerdirektiv startadress För att en etikett skall kunna användas i programmet måste dess läge (d v s minnesadress) kunna beräknas Detta är möjligt om det är känt var i minnet programkod och data är placerade Med hjälp av assemblerdirektivet ORG har programmeraren möjlighet att ange en startadress för kod eller data Exempel: ORG $20 Start LDSP #$20 ; etiketten Start får värdet LDA #7 BRA Skip NOP Skip INCA ; etiketten Skip får värdet
4 Assemblerdirektiv initierade data Förutom programkod är det också möjligt att lägga in datavärden i minnet när man skriver i assemblerspråk Dessa värden kommer att finnas på det angivna läget då programmet startar, och kallas därför initierade data Med hjälp av assemblerdirektivet FCB (form constant byte) kan en eller flera bytes av kända data läggas på en angiven plats i minnet Exempel: ORG $20 Start LDSP #$20 ; etiketten Start får värdet ORG $FF FCB Start ; värdet läggs i resetvektor Assemblerdirektiv initierade data Förutom programkod är det också möjligt att lägga in datavärden i minnet när man skriver i assemblerspråk Dessa värden kommer att finnas på det angivna läget då programmet startar, och kallas därför initierade data Med hjälp av assemblerdirektivet FCS (form constant string) kan en sträng med ASCII-tecken läggas på en angiven plats i minnet Exempel: LDX #Hello ; etiketten Hello har värdet LDA 0,X ORG $60 Hello FCS Hello world ; sträng med 11 ASCII-tecken Assemblerdirektiv icke initierade data Det är också möjligt att i förväg reservera utrymme i minnet Minnesinnehållet i detta utrymme är odefinierat då programmet startar, och är huvudsakligen tänkt att användas för lagring av globala variabler (data med relativt lång livslängd) Med hjälp av direktivet RMB (reserve memory bytes) kan utrymme för en eller flera bytes reserveras på en angiven plats i minnet Exempel: ORG $0 Count RMB 1 ; plats för räknarvariabel ; etiketten Count får värdet List RMB 8 ; plats för lista med 8 element ; etiketten List får värdet Assemblerdirektiv övrigt Egendefinierade symboler: definieras med direktivet EQU T ex: Max_val EQU 37 Min_val EQU 12 Range EQU (Max_val Min_val) Hexadecimal konstant: talet föregås av tecknet $ T ex: $40 = = Binär konstant: talet föregås av tecknet % T ex: %1011 = = B 16 = Teckenkonstant: tecknet omges av enkla citationstecken T ex: A = = = ASCII-värdet för stora A 4
5 Demonstrationsexempel 2 subrutiner Skriv en subrutin AddAY som adderar två 8-bitars tal utan tecken De två talen skall finnas i Y- resp A-registret vid anrop av subrutinen Mest signifikanta byten skall returneras i Y-registret och minst signifikanta byten i A-registret Av de interna registren får subrutinen endast påverka Y- och A- registren samt flaggregistret Z-flaggan skall sättas till 1 om summan är lika med noll De övriga flaggornas värden saknar betydelse Subrutinens kod skall placeras med början på adress Visa även hur stackens innehåll ser ut om subrutinen anropas från ett huvudprogram vars kod börjar på adress Top-of-stack (TOS) sätts till 20 16, 5
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
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
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
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
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
Digital- och datorteknik
Digital- och datorteknik Föreläsning #15 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Dataväg med pekarregister och stackpekare: I vår sjunde,
Digital- 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
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
Digital- och datorteknik
Digital- och datorteknik Föreläsning #15 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Dataväg med pekarregister och stackpekare: I vår sjunde,
Assemblerprogrammering del 3
Assemblerprogrammering del 3 Dagens föreläsning behandlar: Kompendiet kapitel 9 och 10.4 Arbetsboken kapitel 16 Ur innehållet: Modularisering, subrutiner och strukturerad programutveckling (flödesdiagram)
Reducerad INSTRUKTIONSLISTA för FLIS-processorn
Reducerad INSTRUKTIONSLI för FLIS-processorn 2013-11-08 2(10) Innehåll Sidan 3 Programmerarens bild av FLIS-processorn 4 Förklaring av beteckningar i instruktionslistan 5 Enkel dataflyttning 5 Logik 5
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
Ö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
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
Extrauppgifter 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
Styrenheten 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
Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik
EDA 45 - Digital och Datorteknik Dagens föreläsning: Assemblerprogrammering för FLEX, Extra material Ext 8 Ur innehållet: Programmerarens bild av FLEX Instruktionsuppsättning Register åtkomliga för programmeraren
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
7) 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
Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronik-, data- och elektroingenjör Åk / lp o2 LEU43 EXAMINATOR
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
TSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2017-01-17 2 Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner
TSEA28 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
Programmering 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
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
Programmering 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
Digital- och datorteknik
Digital- och datorteknik Föreläsning #14 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad vi har åstadkommit hittills: Med hjälp av kombinatoriska
Assemblerprogrammeringsuppgifter för FLIS-processorn
1 (2013-05-02) Assemblerprogrammeringsuppgifter för FLIS-processorn 1. I simulatorn för FLISP-datorn kan man ansluta strömbrytarmodulen DIPSWITCH till en inport och sifferindikatorn 7-SEGMENT till en utport.
Lösningsförslag tenta
Lösningsförslag tenta 2013-12-16 (Version 5 med reservation för eventuella fel. Uppdaterad 140417.) 1. X = 1010 0101 2 ; Y = 0101 1011 2 (8 bitars ordlängd) a) [0, 2 n 1] = [0, 2 8 1] = [0, 255] b) [ 2
Assemblerprogrammering
2012-02-14 Assemblerprogrammering Övningsuppgifter 2011 Lösningar (Med reservation för diverse fel!) 1. Hur många E-klockperioder använder CPU12 (HCS12) för att köra programsekvensen nedan? ORG $1000 LDAA
9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...
LV4 Fo10 Aktivera Kursens mål: 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
Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR
Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR
Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:
Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner
Institutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva
Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva
TENTAMEN(Nu anpassad till FLIS- processorn)
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN(Nu anpassad till FLIS- processorn) KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR
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
FLEXIBLE INSTRUCTION SET PROCESSOR FLISP
2014-08-19 FLEXIBLE INSTRUCTION SET PROCESSOR FLISP FLISP - HANDBOK Detta häfte utgör den sammanfattande beskrivningen av FLISprocessorn. Häftet är indelat i två delar. Del 1 behandlar assemblerprogrammerarens
9 Assemblerprogrammering. Innehåll GRUNDLÄGGANDE DATORTEKNIK FÖR HÖGSKOLANS INGENJÖRSUTBILDNINGAR KOMPENDIUM
9 Assemblerprogrammering Assemblerprogrammering KOMPENDIUM GRUNDLÄGGANDE DATORTEKNIK FÖR HÖGSKOLANS INGENJÖRSUTBILDNINGAR ROGER JOHANSSON INSTITUTIONEN FÖR DATA OCH INFORMATIONSTEKNIK CHALMERS TEKNISKA
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
Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner
Ext-3 (Ver 203-04-2) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna
Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller
Aktivera Kursens mål: LV5 Fo12 Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika
Lö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
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.
FLEXIBLE INSTRUCTION SET PROCESSOR FLISP
2013-08-14 FLEXIBLE INSTRUCTION SET PROCESSOR FLISP Detta häfte utgör den sammanfattande beskrivningen av FLISprocessorn. Häftet är indelat i två delar. Del 1 behandlar assemblerprogrammerarens bild av
LABORATION. Datorteknik Y Datorkonstruktion D
LABORATION Datorteknik Y Datorkonstruktion D Mikroprogrammering (del 1 och 2) Version 3.1 2012 (AE) Namn och personnummer Godkänd Godkänd Uppg. 1-3 Uppg. 4-6 1 1 Inledning Syftet med laborationen är att
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
LABORATION. 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
Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR
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
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
Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner
Ext-3 (Ver 204-04-08) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna
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
Lö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
Digital- och datorteknik
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING EXAMINATOR Data-, elektro- och mekatronikingenjör Åk / lp och
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
EDA215 Digital- och datorteknik för Z
EDA25 Digital- och datorteknik för Z Tentamen Måndag 7 december 2007, kl. 08.30-2.30 i M-salar Examinatorer Rolf Snedsböl, tel. 772 665 Kontaktpersoner under tentamen Som ovan. Tillåtna hjälpmedel Häftet
Exempel 3 på Tentamen
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Exempel 3 på Tentamen Grundläggande datorteknik Examinator Kontaktperson under tentamen Tillåtna hjälpmedel Häfte Instruktionslista
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
11/16/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...
LV4 Fo10 Aktivera Kursens mål: 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
Fö 5+6 TSEA81. Real-time kernel + Real-time OS
Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar
Lö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,
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
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",
Digital- och datorteknik
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronikingenjör (samt data- och elektroingenjör) Åk / lp
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
TENTAMEN. Digital- och datorteknik. Institutionen för data- och informationsteknik Avdelningen för datorteknik LEU431. Lars-Eric Arebrink
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: Data-, elektro- och mekatronikingenjör åk / lp och 2 KURSBETECKNING LEU43
Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: Data-, elektro- och mekatronikingenjör åk / lp och 2 KURSBETECKNING LEU43
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
Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/
Föreläsningsanteckningar 2. Mikroprogrammering I
Föreläsningsanteckningar 2. Mikroprogrammering I Olle Seger 2012 Anders Nilsson 2016 Innehåll 1 Inledning 2 2 En enkel dator 2 3 Komponenter 3 3.1 Register............................... 3 3.2 Universalräknare..........................
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
LABORATION. Datorkonstruktion D
LABORATION Datorkonstruktion D Mikroprogrammering Version 4.0 2017 (AN) 1 1 Inledning Syftet med laborationen är att skapa en känsla för vad som händer i en enkel dator då en maskinkodsinstruktion (även
Tentamen. 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
Ö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
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
Ö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
Institutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 2 Programmering i C och assembler MIPS instruktionsarkitektur Mål Att ge en inblick i programspråket C Att veta varför assemblerprogrammering är viktigt Att börja arbeta med MIPS-assembler
Datorteknik. Föreläsning 2. Programmering i C och assembler MIPS instruktionsarkitektur. Institutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 2 Programmering i C och assembler MIPS instruktionsarkitektur Mål Att ge en inblick i programspråket C Att veta varför assemblerprogrammering är viktigt Att börja arbeta med MIPS-assembler
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
Maskinorienterad programmering
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/
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
CE_O2. Nios II. Subrutiner med mera.
IS1500 Lösningsförslag till övning CE_O2 2014 CE_O2. Nios II. Subrutiner med mera. 2.1. Binära lagringsformat R-type: (Register-format) ra (5 bit) rb (5 bit) rc (5 bit) operationskod (17 bit) Detta format
Mål. Datorteknik. Innehåll. Vad händer med en add-instruktion? Vad händer med en add-instruktion. Instruktioner som bitmönster i minnet
Mål Datorteknik Föreläsning 2 Att ge en inblick i programspråket C Att veta varför assemblerprogrammering är viktigt Att börja arbeta med MIPS-assembler Att känna till något om programmeringstekniker Att
Assemblerprogrammering del 2
Assemblerprogrammering del 2 FLISP och omvärlden Dagens föreläsning behandlar: Kompendiet kapitel 9 Arbetsboken kapitel 16 Ur innehållet: In- och ut-enheter Tilldelningar och uttrycksevaluering Programflödeskontroll
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
Bilda styrsignalerna till datavägen RESET FETCH EXECUTE NF NF NF. Digital och Datorteknik EDA /2011. Digital och Datorteknik EDA /2011
EDA 45 - Digital och Datorteknik Dagens föreläsning:, exemplifierad med FLEX Arbetsboken kapitel 9-22 Ur innehållet: En automatisk styrenhet Grundläggande d instruktioner Adresseringssätt Konstruktion
CHALMERS TEKNISKA HÖGSKOLA
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA217 Grundläggande Datortekik, Z EDA433 Grundläggande Datortekik, IT EDA452 Grundläggande Datortekik, D DIT790 Digital-
Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.
Aktivera Kursens mål: LV3 Fo7 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
Tentamen. 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
Laboration nr 3 behandlar
(2013-04-20) Laboration nr 3 behandlar Konstruktion och test av instruktioner (styrsignalsekvenser) för FLISP Följande uppgifter ur Arbetsbok för DigiFlisp ska vara utförda som förberedelse för laborationen.
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
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
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
Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe
Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK
Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar
EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU Tentamen Måndag 23 oktober 2006, kl. 08.30 12.30 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Kontaktpersoner under tentamen Som
Datorarkitekturer 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)
FLEX Instruktionslista
FLEX Instruktionslista Innehåll 1 Förklaring av beteckningar i instruktionslistan... 2 2 Detaljerad beskrivning av FLEX-processorns instruktioner... 3 3 Operationskoder, maskincykler och flaggpåverkan...
Maskinorienterad programmering
Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/