TSEA28 Datorteknik Y (och U)

Storlek: px
Starta visningen från sidan:

Download "TSEA28 Datorteknik Y (och U)"

Transkript

1 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 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 Anmälningssystemet via Lisam Maila gärna mig vad som krångar om det krånglar Varje labb uppdelad i två delar (2h+2h), välj lämpligen två tillfällen med tid emellan Labsystemet använder ISY:s gamla fileserver Annorlunda hemkonto än för IDA:s och ISY:s nya labbsystem TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner Stack Adresseringsmoder Enkel exempeldator 2 register (PC och D), 1 ALU, kontrollenhet (CU) I/O: display och sensor minne Typ Argument 9 olika instruktioner xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Kod Assemblerinstruktion Föklaring 4 32 PC 0 load D,#värde Ladda in argument i In Ut 1 add D,#värde Addera argument till D 2 comp D,#värde Jämför argument med D, Z=1 om D=argument, Z=0 annars CU 3 bne adress Sätt PC till argument om Z=0 4 beq adress Sätt PC till argument om Z=1 ALU 5 jump adress Sätt PC till argument 6 jsr 2000 om argument = 2000 skicka D till display D Z 6 jsr 2100 om argument = 2100 hämta aktuellt displayvärde till D 6 jsr 2200 om argument = 2200 hämta sensorvärde till D, D=1 om någon I dörren 7 load D,adress Läs värde från minnesadress och placera i D 8 load adress,d Spara värdet I D I minnesadressen

2 TSEA28 Datorteknik Y (och U), föreläsning 1, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Räkna studenter start: load D,#0 ; Nollställ D Load 100,D ; spara displayvärde adress 100 jsr 2000 ; sätt display till 00 wait1: jsr 2200 ; Hämta sensorvärde comp D,#1 ; Står någon i dörren? bne wait1 ;, gör om load D,100 ; hämta displayvärdet add D,#1 ; öka displayvärdet jsr 2000 ; visa det nya värdet Load 100,D ; spara nya värdet i minnet load D,#0 ; starta timer på 0 delay: add D,#1 ; öka timer med 1 comp D,#10000 ; lämpligt antal klockcykler? bne delay ; inte tillräckligt många varv wait0: jsr 2200 ; Hämta sensorvärde comp D,#0 ; Är dörren tom? bne wait0 ;, kontrollera igen jump wait1 ; bör om Nollställ displayvärde Vänta på sensorvärde = 1 Öka displayvärde med 1 Vänta 0.5s Vänta på sensorvärde = 0 Beskriv funktionen som en sekvens av enklare funktioner Tänk igenom förväntad sekvens Ingen ide räkna upp medan dörren är stängd Rita lite fritt först, med stora komplexa instruktioner Nollställ när strömmen slås på Om dörr stängs räkna ned antal med 2 (måste passera dörren för att stänga den), vänta till dörren öppnas igen Räkna upp om dörrsensor aktiveras TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Hur skriva större program Öka kraven i exemplet Lägg till en sensor för dörrlås (räkna inte när g går och hämtar kaffe...) Kräver ny instruktion för läsa dörrlås jsr 2300 Läs dörrlås, D=1 om dörr stängd, D=0 annars Räkna upp varannan gång (måste gå in och ut ur kontoret) Automatisk nollställning varje natt (om dörr stängd > 8h nollställ) Behöver lite mer strukturerad metod Tänk igenom förväntad funktion, rita flödesscheman Detaljerad beskrivning Minnesceller Riktig assemblerkod, namnge platser, rensa upp Exempelstruktur (rita gärna flödesdiagram) Initiera vänta på aktivitet på dörr eller sensor om dörr öppen om sensor aktiv räkna upp, vänta tills passerat vänta på nästa aktivering (personen går ut) om dörr stängd minska räknare med 2 räkna tid tills dörr öppnas om tid > 8h nollställ räknaren

3 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Dela upp i mindre sekvenser Försök dela upp i små steg Varje litet steg bör kunna direkt översättas till maskinkod T ex: vänta på nästa aktivering (personen går ut) läs sensor, gå vidare om sensor aktiv, annars läs om igen läs sensor, gå vidare om sensor inte aktiv, annars läs om igen Ordna allt i en sekvens Har inte ritat ut val som går till nästa rad Initiera sensor aktiv? sensor aktiv? Räkna upp display med 1 sensor aktiv? sensor aktiv? Räkna ned display med 2 Räkna tid Tid > 8h? Nollställ display TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Mer detaljerad beskrivning Initiera sensor aktiv? Räkna ned display med 2 Räkna tid sensor aktiv? Räkna upp display med 1 Tid > 8h? sensor aktiv? Nollställ display sensor aktiv? Funder över behov av minnesplatser D används till mycket Sensorvärden Räknarvärden Välj att placera räknarvärde i minnet Bestäm adresser för detta 3000: displayvärde 3001: tidräknare Kom ihåg att minnesceller kan ha slumpmässigt startvärde! Måste initiera! Initiera sensor aktiv? sensor aktiv? Räkna upp display med 1 sensor aktiv? sensor aktiv? Räkna ned display med 2 Räkna tid Tid > 8h? Nollställ display

4 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Ersätt med riktig assemblerkod Ersätt varje större instruktion med riktig assemblerkod Namnge all platser som ska hoppas till init: load D,#0 load 3000,D jsr 2000 sens1: jsr 2200 comp D,#1 beq 1 jsr 2300 comp D,#0 beq sens1 jump decrement Initiera sensor aktiv? sensor aktiv? Räkna upp display med 1 sensor aktiv? sensor aktiv? Räkna ned display med 2 Räkna tid Tid > 8h? Nollställ display Hela programmet, del2 sens2: jsr 2200 ; hämta sensorvärde comp D,#0 ; är sensor inaktiv? beq 1 ;, fortsätt nedan jsr 2300 ; hämta låssensor comp D,#0 ; är dörren låst beq sens2 ;, testa sensor och lås igen jump decrement ; Ja, hantera i decrement-rutinen 1: load D,3000 ; räkna upp display add D,#1 ; räkna upp load 3000,D ; spara det nya värdet jsr 2000 ; visa på display TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Hela programmet, del1 init: load D,#0 ; initiera displayräknare till 0 load 3000,D ; sätt sparat displayvärde till 0 jsr 2000 ; och sätt display till 0 sens1: jsr 2200 comp D,#1 beq 1 ; hämta sensorvärde ; är sensor aktiv? ;, fortsätt nedan jsr 2300 ; hämta låssensor comp D,#0 ; är dörren låst beq sens1 ;, testa sensor och lås igen jump decrement ; Ja, hantera i decrement-rutinen 1: load D,#0 ; wait0: add D,#1 ; räkna upp comp D,#1000 ; väntat färdigt? bne wait0 ;, vänta mer Hela programmet, del3 sens3: jsr 2200 ; hämta sensorvärde comp D,#1 ; är sensor aktiv? beq 2 ;, fortsätt nedan jsr 2300 ; hämta låssensor comp D,#0 ; är dörren låst beq sens3 ;, testa sensor och lås igen jump decrement ; Ja, hantera i decrement-rutinen 2: load D,#0 ; wait1: add D,#1 ; räkna upp comp D,#1000 ; väntat färdigt? bne wait1 ;, vänta mer

5 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Hela programmet, del4 sens4: jsr 2200 ; hämta sensorvärde comp D,#0 ; är sensor inaktiv? beq sens1 ;, bör om jsr 2300 ; hämta låssensor comp D,#0 ; är dörren låst beq sens4 ;, testa sensor och lås igen Subrutiner, stack decrement: load D,3000 add D,#-2 load 3000,D jsr 2000 load D,#0 tidloop: add D,#1 load 3001,D ; hämta aktuellt displayvärde ; minska med två ; spara det nya värdet ; visa på displayen ; nollställ tidräknare ; öka tid ; spara tidvärde i minnet TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Hela programmet, del5 jsr 2300 comp D,#0 beq sens1 load D,3001 comp D,#80000 beq tidloop: load D,#0 load 3000,D jsr 2000 jump tidloop ; hämta låssensor ; är dörren låst ;, bör om från börn ; har 8h passerat? ; fortsätt vänta ; nollställ displayvärde ; spara värdet I minnet ; visa på displayen ; nollställ tidräknare Återanvändning av kod Många likadana sekvens i koden Fördröjning på 0.5s ser likadan ut på två ställen i koden 2: load D,#0 ; wait1: add D,#1 ; räkna upp comp D,#1000 ; väntat färdigt? bne wait1 ;, vänta mer Kan vara många flera rader i koden Lagra endast en kopia av sekvensen Återanvänd genom att hoppa till sekvensen från flera platser Kallas subrutin Samma idé som funktioner och procedurer i vanliga programspråk

6 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Subrutiner Program Subrutin, exempel Måste komma ihåg var programmet ska fortsätta efter subrutinen Återhopp 4 är har en annan adress än återhopp 2! Vanligt hopp fungerar inte (som måste ha fast adress) Spara adress till nästa instruktion när anrop till subrutin görs Speciell subrutinsinstruktion istället för vanligt hopp Den sparade adressen kan användas vid återhoppet (ytterligare en speciell instruktion) 2 anrop 1 anrop 4 3 Subrutin återhopp Programmet startar högst upp Vid 1:a jsr sparas adress A (kopieras från PC) och adress C placeras i PC När subrutin C är slut återställs det sparade värdet (adress A) till PC Vid 2:a jsr sparas adress B (kopieras från PC) och adress C placeras i PC När subrutin C är slut återställs det sparade värdet (adress B) till PC Exemplet klarar sig med ett enda register för återhoppsadress Fungerar inte om subrutiner kan anropa andra subrutiner (det gör dom...) jsr C A: : jsr C B: : C: rts subrutin TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Subrutiner, forts. Vid anrop till subrutin jsr adress ; hopp till subrutin som startar på adress i minnet Sparar adress till instruktion efter jsr (finns i PC-registret innan hoppet) När subrutin slut rts ; retur från subrutin Använd den sparade adressen från jsr-instruktion och placera den i PC-registret Placering av den sparade återhoppsadressen? Ett speciellt register alternativt en speciell adress i minnet Subrutiner: stöd för rekursiva anrop Rekursion kräver möjlighet lagra flera anrop i rätt ordning Varje ny jsr instruktion lägger återhoppsadressen högst upp i högen av återhoppsadresser Varje rts tar bort översta adressen i högen av återhoppsadresser Denna datastruktur kallas för stack (last in first out) Jfr en låda med papper Värden läggs till högst upp, värden tas bort från toppen... jsr... jsr..... jsr rts rts subrutiner

7 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Implementering av en stack Att använda ett speciellt (dedikerat) minne för stack är ineffektivt Kan dock ge bättre prestanda i vissa fall Stacken använder sig av en del av minnet Måste hålla ordning på var aktuell position befinner sig (toppen på stacken) Ett speciellt register i processorn Kallas för stackpekare (SP) Stacken kan växa uppåt eller nedåt i minnet Kan ibland väls för processorn Utökning av exempeldatorn med stack Adress till minne måste styras med PC, SP och CU PC för nästa instruktion CU för adress från argument i instruktionen SP för läsa/skriva till stacken Måste initiera SP innan den används! Måste finnas skrivbart minne på adresserna Alternativ 1: sätt SP vid reset (spänningspåslag) till ett förbestämt värde Alternativ 2: Sätt SP i programmet Kräver ny instruktion: load SP,#adress Eventuellt extra push D och pop D instruktioner In minne PC ALU D Z CU SP Ut TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Implementering av en stack, funktion Att placera något på stacken Kallas ibland för push, implementeras i flera steg Ändra SP till nästa lediga minnesadress Placera värdet i minnet på adress som finns i SP (SP pekar på) Att ta bort något från stacken Kallas ibland för pop, implementeras i motsatt ordning mot push Hämta värdet från minnet på den adress som finns i SP Ändra SP så den pekar på det nyaste översta värdet i stacken SP ökas eller minskas med 1 för varje push respektive pop operation Grafisk beskrivning av minnesinnehåll Program ökar PC med 1 för varje instruktion Naturligt skriva lägst adress högst upp (nästa instruktion under föregående instruktion i listan) Låga adresser skrivs längst upp, höga adresser skrivs längst ned Kan ibland bli lite motsägelsefullt Om någon växer, ökar eller minskar adressen? Ibland ritas minneskarta med omvänd adressordning Låga adresser längst ned, höga adresser längst upp 97 xxx 97 xxx Växer nedåt (mot högre adresser) Växer uppåt (mot högre adresser)

8 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Alternativ för stackimplementering Stack kan växa uppåt eller nedåt Mer vanligt att stacken växer mot lägre adresser (nedåt) Program växer i storlek mot högre adresser => stack växer från andra hållet Förhoppningsvis möts de aldrig!! SP kan peka på första lediga plats eller senast placerade data Valet påverkar om SP ändras före eller efter att data lagts på stacken ARM: Stack växer mot lägre adresser, pekar på senast placerade data 97 xxx SP 97 xxx SP Växer nedåt (mot lägre adresser) Växer uppåt (mot högre adresser) Subrutinanrop alt. 1: utan stack Extra register enbart avsett att lagra PC vid subrutinanrop LR: Link register bl subrutinadress ; Hopp till subrutin LR = adress till instruktion efter bl (dvs PC-registrets värde) PC = subrutinadress mov pc,lr ; Återhopp vid slut på subrutin PC = LR Subrutinen måste själv spara undan LR:s nuvarande värde innan nästa jsr (t ex på en stack) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Exempel på sekvens av stackoperationer 1: SP = 98 Okänt innehåll (xxx) i minnet 2: Push(34) SP = 97 Minne[97] = 34 3: Push(19) SP = 96 Minne[96] = 19 4:D=pop() D = Minne[96] = 19 SP = 97 5:D=pop() D = Minne[97] = 34 SP = xxx SP SP SP SP SP Subrutinanrop alt. 2: automatisk stack jsr subrutinadress Push(adress till instruktion efter jsr) PC = subrutinadress Rts ; Återhopp vid slut på subrutin PC = pop() En subrutin kan anropa sig själv Rekursion, exempelvis n! beräknad rekursivt nfak(n): if N = 1 then return 1 else return nfak(n-1)*n; För många anrop gör att stacken blir för stor (SP -> 0 eller SP pekar på annan viktig data, t ex programmet)

9 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Jämförelse jsr med/utan stack Fördel automatisk stack (68000, x86 mfl) Enklare programmera Färre instruktioner i subrutinerna Behöver inte extra instruktioner för att spara undan LR på stacken Behöver inte extra instruktioner för hantering av LR registret Fördel utan stack (ARM mfl) Snabbare instruktion Behöver inte spara onödiga adresser på stacken mov pc,lr behöver inte läsa från minnet vid återhopp Användning av jsr i exempeldatorn jsr är subrutinanrop som gömmer koden för hur sensorer och display hanteras Någon måste fortfarande skriva rutinerna och bygga in gränssnittet i datorn Dessa subrutiner är exempel på olika I/O-funktioner Skicka ut data till display Läsa av sensor och låssensor Hur? Måste finnas en del i modelldatorn där display och sensorer kan anslutas, och data kan skickas in/ut TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist En detalj; hopp i koden Skillnad mellan branch och jump Brukar finnas både jump och branch Även möjligt med BSR och JSR (branch respektive jump subroutine) Jump: Adressen i argumentet är absolut adress Exakt den adress som PC ska få när hoppet är utfört Branch: argumentet är en offset mot aktuell PC Argumentet anger hur många steg framåt eller bakåt hoppet ska göras relativt aktuellt adress i PC Fördel: hopp inom rutinen behöver inte ändras även om rutinen placeras på annan plats i minnet In och utdata, speciella instruktioner Vissa datorer använder speciella instruktioner för att skicka och ta emot data från I/O Kräver extra instruktioner såsom in D,ioadress,D out ioadress,d ; läs av inport nr ioadress och spara i D ; skicka värde i D till utport på adress ioadress Kräver extra signaler ut från processorn (styrsignaler) Datasignaler (värdet) skickas samma väg som data till/från minnet In och utdata påverkar inte tillgänglig mängd minne Out 100,D skriver INTE i minne adress 100

10 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist In och utdata, minnesmappad I/O Instruktioner så här långt Vissa datorer (dom flesta) använder speciella minnesadresser för att ta emot data från I/O Kräver inga extra instruktioner Enkelt hantera i högnivåspråk (t ex C/C++) Kräver att vissa minnesadresser inte kan användas som vanligt minne Avkoda adressen Ibland avkodas inte signalen fullständigt => Samma enhet på flera adresser Datasignaler (värdet) skickas samma väg som data till/från minnet ; display finns på adress ; 65532, sensor på putdisplay: ; adress 2000 load 65532,D rts readsensor: ; adress 2200 load D,65534 rts Olika typer av instruktioner finns Flytta data load Beräkna nya värden (addera, jämför), påverka Z-flagga add, comp Ändra instruktionsföljd (hopp) bne, beq, jump, jsr, rts Eventuella speciella funktioner In, out TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Exempel avkodning minnesmappad I/O Vill ha en I/O-port på adress 0x1234 dvs binärt Alternativ 1: fullständig avkodning Alla 16 bitarna måste undersökas Kräver stort logiskt nät för att avgöra om I/O-adress avser denna port Alternativ 2: Använd färre bitar (t ex strunta i de 4 sista bitarna) Porten hamnar på alla adresser 0x123x, dvs xxxx Skrivning på 0x1234 är samma som 0x1230 Går snabbare och tar mindre hårdvara att avkoda Närmare beskrivning av olika load Många olika moveinstruktioner har angetts så här långt (samma mnemonic, olika typ, olika kodning) load D,#värde load D,adress load adress,d load SP,#värde Finns också instruktioner som liknar load Push D => load [-1,SP]!,D ; minska SP med 1, flytta D till adress ; som nya värdet på SP registret pekar på Pop D => load D,[SP+1] ; läs värde från minne på adress i SP, öka ; SP med 1.

11 TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Olika sätt att beskriva adressering Omedelbar (immediate, literal) load D,#värde ; argumentet är värdet Direkt load D,adress ; argumentet är adressen i minnet där värdet finns Offset load [SP,#4],D ; spara i minnet på adress som fås om 4 läggs till värdet i SP Indirekt med predecrement push D => load [SP,#-4]!,D ; adressen fås från ett register som först räknas ned Indirekt med post increment pop D => load D,[SP],#4 ; adressen fås från ett register som sedan räknas ; upp med 4 (motsvarar 32 bit!) Många fler moder är möjliga (register indirekt, postdecrement etc.) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist Hur många bitar innehåller en adress? Ofta kan 32-bitars data kan hämtas vid en läsning 4 stycken 8-bitars adresser läses på en gång Adressen som anges pekar på 1:a byte som ska läsas I många fall kan man inte läsa 16 och 32-bitar från udda adresser LSB (Least significant bit/bits) i adress alltid = 0 Ex: Läs 32-bitar adress 4 går bra, läs 32-bitar på adress 10 går inte (2 olika adresser måste läsas efter varandra) Adress bitar

TSEA28 Datorteknik Y (och U)

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

Läs mer

TSEA28 Datorteknik Y (och U)

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

Läs mer

Digital- och datorteknik

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

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

Programexempel för FLEX

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

Läs mer

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

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

Läs mer

Digital- och datorteknik

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

Läs mer

Digital- och datorteknik

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 F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

Digital- och datorteknik

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

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) Vem är jag TSEA28 Datorteknik Y (och U) Föreläsning 1 Kent Palmkvist, ISY N B-huset 2:a våning Föreläsare och kursansvarig Ingång 25 Kent Palmkvist kentp@isy.liu.se Kontor 3B:502 (andra våning) Till E-huset

Läs mer

Övning2 Datorteknik, HH vt12 - Programmering

Ö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 mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 1 Kent Palmkvist, ISY Dagens föreläsning Introduktion/motivation Administrativ information Historik Vad är en dator Litet exempel 2 Vem är jag 3 N B-huset 2:a våning

Läs mer

F4: Assemblerprogrammering

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

Läs mer

Styrenheten styrsignalsekvenser programflödeskontroll

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

Läs mer

Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden?

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

Läs mer

F5: Högnivåprogrammering

F5: 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 mer

F5: Högnivåprogrammering

F5: 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 mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 9 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 2 Dagens föreläsning Byggblocken i en processor Hur de fungerar Grundläggande

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) 3 Tillgänglighet till information TSEA28 Datorteknik Y (och U) Föreläsning 1 Kent Palmkvist, ISY Vem är jag 2 Kent Palmkvist kentp@isy.liu.se Kontor 3B:502 (andra våning) Till E-huset Anvisningar för kursen

Läs mer

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

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.

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

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

Läs mer

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. 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

Läs mer

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

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äs mer

Digital- och datorteknik

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

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-10-20 Lokal TERE, TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-06-02 Lokal G35, TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

Läs mer

Digital- och datorteknik

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

Läs mer

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

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

Läs mer

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

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

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 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 mer

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 visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren

Läs mer

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Ö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 mer

Föreläsningsanteckningar 2. Mikroprogrammering I

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äs mer

Lösningar till tentamen i EIT070 Datorteknik

Lö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 mer

Lösningar till tentamen i EIT070 Datorteknik

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

Läs mer

TSEA28 Datorteknik Y (och U)

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

Läs mer

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

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

Läs mer

Laboration 2 i Datorteknik- Assemblerprogrammering II

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

Läs mer

TSEA28 Datorteknik Y (och U)

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

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

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,

Läs mer

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

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

Läs mer

Datorsystemteknik DVGA03 Föreläsning 8

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

Läs mer

Digital- och datorteknik

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,

Läs mer

Digital- och datorteknik

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

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 3, Kent Palmkvist 2018-01-17 4 TSEA28 Datorteknik Y (och U) Föreläsning 3 Kent Palmkvist, ISY Enkel datormodell Ett minne lagrar program, data och stack Vissa

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

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

Läs mer

3. Mikroprogrammering II

3. Mikroprogrammering II 3. Mikroprogrammering II lite repetition in/ut-matning avbrott på OR-datorn hoppinstruktion labben Olle Roos dator LDA 000 12 ADD 100 7 STA 000 13 12 1 13 8 13 6 8 0 18,1,11 2,3,5,11 7,8,11 17,10 18,1,11

Läs mer

LEU240 Mikrodatorsystem

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

Läs mer

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28 Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-10-31 Lokal TER4 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

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 mer

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik. 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 mer

CE_O3. Nios II. Inför lab nios2time

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",

Läs mer

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. Institutionen för elektro- och informationsteknologi, LTH. Mål Datorteknik Föreläsning 6 Processorns uppbyggnad, pipelining Mål Att du ska känna till hur processorn byggs upp Att du ska kunna de viktigaste byggstenarna i processorn Att du ska känna till begreppet

Läs mer

F8: Undantagshantering

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

Läs mer

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

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

Läs mer

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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:,

Läs mer

Assemblerprogrammering del 3

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)

Läs mer

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem 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 mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist 2018-01-22 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY Labanmälan finns tillgänglig med start kl 12.30

Läs mer

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28 Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-08-21 Lokal TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor

Läs mer

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704

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

Läs mer

LV6 LV7. Aktivera Kursens mål:

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

Läs mer

Föreläsningsanteckningar 3. Mikroprogrammering II

Fö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 mer

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller

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äs mer

Datorarkitekturer med operativsystem ERIK LARSSON

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)

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

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

Läs mer

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet Datorarkitektur - en inledning Organisation av datorsystem: olika abstraktionsnivåer System S den mest abstrakta synen på systemet A B C Ett högnivåperspektiv på systemet a1 b1 c1 a2 b3 b2 c2 c3 En mera

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 3 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 3, Kent Palmkvist 2017-01-18 2 Dagens föreläsning Ordlängder, minnesrymd Kort introduktion till

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist 2019-01-28 3 TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan finns tillgänglig med start kl 12.30

Läs mer

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

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:

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

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

Läs mer

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. 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

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2019-02-15 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

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:

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

Läs mer

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28 Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-xx-xx Lokal TER1, TER3 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 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

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

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

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.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

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

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

Läs mer

Stack och subrutiner Programmeringskonventionen

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

Läs mer

Övningsuppgifter i Mikrodatorteknik 4p/5p

Ö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 mer

CE_O2. Nios II. Subrutiner med mera.

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

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14

Tentamen 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 mer

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

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

Läs mer

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. 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

Läs mer

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

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

Läs mer

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28 Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-05-29 Lokal KÅRA,T1,T2, Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal

Läs mer

IT för personligt arbete F5

IT för personligt arbete F5 IT för personligt arbete F5 Datalogi del 1 DSV Peter Mozelius 1 En dators beståndsdelar 1) Minne 2) Processor 3) Inmatningsenheter 1) tangentbord 2) scanner 3) mus 4) Utmatningsenheter 1) bildskärm 2)

Läs mer

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

LABORATION. Datorteknik Y

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

Läs mer

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Svar 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 mer

Tentamen i EIT070 Datorteknik

Tentamen i EIT070 Datorteknik Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

Läs mer