LABORATION. Datorkonstruktion D
|
|
- Johanna Nilsson
- för 6 år sedan
- Visningar:
Transkript
1 LABORATION Datorkonstruktion D Mikroprogrammering Version (AN) 1
2 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 kallad assemblerinstruktion) exekveras. Syftet är också att exemplifiera några av de byggblock som en processor kan vara uppbyggd av. Efter genomförd laboration ska du ha en grundförståelse för hur en enkel dator fungerar och hur mikrokod och maskinkod tillsammans kan användas för att skapa en (relativt) hårdvaruoberoende programmeringsmodell för en assemblerprogrammerare. Den dator som används i laborationen är helt mikroprogrammerbar och finns beskriven i häftet Beskrivning av MIA-systemet. I det här laborationerna kommer du att få skriva all mikrokod som behövs för att kunna exekvera ett antal maskinkodsinstruktioner. Du kommer även att få skriva några maskinspråksprogram för att testa din konstruktion. 2 Praktiska råd Precis som i all annan mjukvaruutveckling är det bra om du kan utveckla ditt program i små delar och testa dessa delar var för sig. Det är givetvis också lämpligt att spara undan gamla versioner så att du kan gå tillbaka till dessa om du av misstag skulle radera dina fungerande program. Tänk också på att laborationen är ett examinationsmoment, det är alltså viktigt att båda personerna i en laborationsgrupp har förstått alla moment i laborationen. 2
3 3 Laborationen Innan första labtillfället ska detta lab-pm vara noggrannt genomläst. Likaså bör de kapitel i eventuell kurslitteratur som berör mikroprogrammering vara genomlästa. Till det första lab-tillfället ska Uppgift 1 till Uppgift 3 vara förberedda, det vill säga samtliga maskinspråksprogram och mikroprogram ska ha skrivits hemma. Till hjälp vid mikroprogrammeringen finns speciella blanketter sist i detta PM. På dessa skriver man styrordets utseende i binär form och översätter detta sedan till hexadecimal form, eftersom programmeringen av datorn sker hexadecimalt. Uppgift 1 Skriv mikroprogrammet för följande maskininstruktioner: Instruktion Betydelse Adresserings- Påverkar moder flaggor LOAD GRx,M,ADR GRx := PM(A) 00,01,10,11 - STORE GRx,M,ADR PM(A) := GRx 00,10,11 - ADD GRx,M,ADR GRx :=GRx+PM(A) 00,01,10,11 Z,N,O,C SUB GRx,M,ADR GRx :=GRx-PM(A) 00,01,10,11 Z,N,O,C AND GRx,M,ADR GRx :=GRx and PM(A) 00,01,10,11 Z,N LSR GRx,M,Y GRx skiftas logiskt - (ange 00) Z,N,C utskiftad bit höger Y steg BRA ADR PC :=PC+1+ADR - (ange 00) - BNE ADR PC := PC+1+ADR - (ange 00) - om Z=0, annars PC:= PC+1 HALT avbryt exekv. - (ange 00) - Kommentar: PC+1 i hoppinstruktionerna avser den uppräkning som görs av PC i hämtfasen. Hämtfas Börja med att skriva mikroprogrammet för instruktionshämtningen. Det ska börja i mikroadress 00 eftersom exekveringen av en maskininstruktions mikroprogram alltid avslutas med att mikroprogramräknaren nollställs. Hämtrutinen ska göra följande: um adress utför 00 ASR:= PC 01 IR:= PM, PC:= PC+1 Effektivadressberäkning Efter instruktionshämtningen ska instruktionens effektivadress beräknas och läggas i ASR. Detta görs för alla instruktioner trots att det inte behövs för t ex BRA, som alltid är relativadresserande, eller LSR som inte berör minnet. Det behövs en mikroprogramsekvens för var och en av de fyra olika adresseringssätten. Vilken sekvens som ska utföras bestäms av M-fältet via nätet K2. Man får alltså: 3
4 um adress utför 02 upc:= K2(M-fältet) För de fyra adresseringslägen som finns i datorn behövs följande mikrokod: um adress utför 03 ASR:=IR, upc:= K1(OP-fältet) ; Direktadressering 04 ASR:=PC, PC:= PC+1, upc:= K1(OP-fältet) ; Immediate 05 ASR:= IR ; Indirekt adressering 06 ASR:= PM, upc:= K1(OP-fältet) ; Se kommentar i Uppgift 3 om indirekt adressering! 07 AR:= IR ; Indexerad adressering 08 AR:= GR3+AR 09 ASR:= AR, upc:= K1(OP-fältet) Observera att K2 också måste programmeras på följande sätt: Adress 0 Adress 1 Adress 2 Adress 3 anger startadress för direktadresseringsprogrammet dito för omedelbar operand dito för indirektadressering dito för indexerad adressering Minnesinnehållet ges av de olika sekvensernas adresser enligt ovan. Exekveringssekvenserna för instruktionerna kan läggas på godtycklig plats i mikrominnet då hoppadressen till respektive sekvens anges i K1. Det är dock lämpligt att placera dessa sekvenser omedelbart efter adressberäkningen. Tips: M-fältet i instruktionen kommer alltid att vara satt till 11 när indexerad adressering används. För att få fram GR3 kan du alltså använda S-biten. Förberedelseuppgift: Det finns två olika additionsinstruktioner i n. Vilken av dessa ska användas på adress 8 i mikrominnet för att utföra AR:=GR3+AR och varför? Uppgift 2 På adress $FE i minnet finns fyra stycken fyra bitar breda tal lagrade enligt nedan: A B C D Skriv ett assemblerprogram som använder de instruktioner du implementerade i uppgift 1 som räknar ut värdet A + B + C + D och lagrar detta på position $FF i minnet. Exempel: Om värdet $53AF finns på på adress $FE så ska $0021 skrivas in på adress $FF. 4
5 Uppgift 3 Skriv ett program som sorterar en lista med tvåkomplementstal. Listan börjar på adress $E0 och slutar på adress $FF. När programmet körts klart ska listan vara sorterad och det minsta värdet ska finnas på adress $E0. Tabell 1 visar ett exempel på hur ditt program ska bete sig. Du får implementera sorteringen på valfritt sätt, men det lättaste sättet att göra detta är antagligen genom att använda bubble sort enligt följande algoritm 1 1. För varje element i listan: Jämför detta element med nästa element. Om nästa element är mindre (eller större, beroende på om du vill sortera listan i stigande eller fallande ordning) än det nuvarande elementet så byter du plats på dessa. 2. Gå igenom listan om och om igen tills du inte längre behöver byta plats på några element. Då vet du att listan är sorterad. Tips: Det blir antagligen lättare att skriva ditt sorteringsprogram om du implementerar en eller flera av följande instruktioner: CMP (samma som SUB förutom att GRx inte uppdateras) BGE (hoppa om GRx var större än eller lika med PM(A) i CMP-instruktionen) (båda talen använder tvåkomplement!) BEQ (hoppa om Z-flaggan är satt) Du får dock, om du vill, implementera helt andra instruktioner om det passar ditt sorteringsprogram bättre. (Du kan exempelvis tänkas ha nytta av stöd för en stack genom PUSH/POP eller JSR/RTS.) Du får även, om du vill, byta ut adresseringsläget indirekt adressering mot något annat om du tycker att det skulle passa din algoritm bättre! Se även Appendix 1 för ett lämpligt flödesschema. Tävling Det finns inga prestandakrav i denna laboration, men för att uppmuntra er till att försöka skriva snabba program så utlyser vi en liten tävling där det gäller att skriva den snabbaste sorteringsalgoritmen. Om ni vill vara med i denna tävling så ska ni maila in er lösning (som ni sparat ifrån LMIA) till examinator. Se kurshemsidan för information om deadlines för tävlingen. Skriv Tävling och mikrokod i ärenderaden. Notering: Vi kommer att använda fem slumpmässigt genererade listor 2 för att testa prestandan på era lösningar. Ni tjänar alltså inte på att optimera ert program för just den lista som anges i Tabell 1. 1 Det är värt att notera att Bubble-sort är en tämligen usel sorteringsalgoritm. Det finns dock några ganska enkla sätt att snabba upp den, men för de som är ute efter att skriva en riktigt snabb sorteringsalgoritm så rekommenderar jag er att antingen läsa i en lärobok om datastrukturer och algoritmer, alternativt att ta en titt på Wikipedia-sidan om Sorting algorithm. (Däremot så är det inte säkert att de mest avancerade algoritmer går att anpassa till LMIA så att de är bättre än enklare algoritmer i de fall då enbart 32 element ska sorteras.) 2 För de som är intresserade så kommer vi att använda bitar tagna ifrån /dev/random. 5
6 Adress Före Efter E0 92f E f E2 971b 8832 E3 99fb 90e8 E4 7ef1 92f1 E5 90e8 959f E6 5ee7 969c E7 3de3 971b E fb E9 53ed 9f74 EA 56a2 9fc4 EB dea5 b11c EC 6c5a bd89 ED 835f bfb0 EE 7c67 dea5 EF ec86 ec86 F0 bd89 3de3 F1 969c 4c67 F2 5f63 53ed F3 72d7 56a2 F4 959f 5ee7 F f63 F6 4c F7 7e12 623d F8 9fc4 6c5a F9 b11c 7044 FA 623d 72d7 FB FC 78ea 78ea FD 9f74 7c67 FE e12 FF bfb0 7ef1 Tabell 1: Ett sorteringsexempel 6
7 Appendix 1: Flödesschema för bubblesort Start lista_sorterad = 1 Addr = $E0 tmp = PM(Addr) tmp2 = PM(Addr+1) tmp1 > tmp2? Nej Ja Byt plats på PM(Addr) och PM(Addr+1) lista_sorterad = 0 Räkna upp Addr Nej Addr=$FF? Ja Nej lista_sorterad = 1? Ja Klar 7
8 Adress ALU TB FB S P LC SEQ myadr (Hexadecimalt) Kommentar Lathund till fälten (se labhäfte för mer information) Buss 0010 Buss' AR+Buss 0101 AR-Buss 0110 AR & Buss 0111 AR Buss 1000 AR+Buss (inga flaggor) 1001 AR << ARHR << AR >> 1 (aritmetiskt) 1100 ARHR >> 1 (aritmetiskt) 1101 AR >> 1 (logiskt) 1110 Rotera AR åt vänster 1111 Rotera ARHR åt vänster TB 100 AR 111 Styrord FB ASR P 0 NOP 1 PC++ LC 00 NOP 01 LC-- 10 LC=Buss 11 LC=uADR S 0 GRx-mux styrs av GRx-fältet 1 GRx-mux styrs av M-fältet SEQ 0000 upc upc=k upc=k upc= upc=uadr 0110 ujsr uadr 0111 urts 1000 Hopp om Z= Hopp om N= Hopp om C= Hopp om O= Hopp om L= HALT
9 Adress ALU TB FB S P LC SEQ myadr (Hexadecimalt) Kommentar Lathund till fälten (se labhäfte för mer information) Buss 0010 Buss' AR+Buss 0101 AR-Buss 0110 AR & Buss 0111 AR Buss 1000 AR+Buss (inga flaggor) 1001 AR << ARHR << AR >> 1 (aritmetiskt) 1100 ARHR >> 1 (aritmetiskt) 1101 AR >> 1 (logiskt) 1110 Rotera AR åt vänster 1111 Rotera ARHR åt vänster TB 100 AR 111 Styrord FB ASR P 0 NOP 1 PC++ LC 00 NOP 01 LC-- 10 LC=Buss 11 LC=uADR S 0 GRx-mux styrs av GRx-fältet 1 GRx-mux styrs av M-fältet SEQ 0000 upc upc=k upc=k upc= upc=uadr 0110 ujsr uadr 0111 urts 1000 Hopp om Z= Hopp om N= Hopp om C= Hopp om O= Hopp om L= HALT
10 Adress ALU TB FB S P LC SEQ myadr (Hexadecimalt) Kommentar Lathund till fälten (se labhäfte för mer information) Buss 0010 Buss' AR+Buss 0101 AR-Buss 0110 AR & Buss 0111 AR Buss 1000 AR+Buss (inga flaggor) 1001 AR << ARHR << AR >> 1 (aritmetiskt) 1100 ARHR >> 1 (aritmetiskt) 1101 AR >> 1 (logiskt) 1110 Rotera AR åt vänster 1111 Rotera ARHR åt vänster TB 100 AR 111 Styrord FB ASR P 0 NOP 1 PC++ LC 00 NOP 01 LC-- 10 LC=Buss 11 LC=uADR S 0 GRx-mux styrs av GRx-fältet 1 GRx-mux styrs av M-fältet SEQ 0000 upc upc=k upc=k upc= upc=uadr 0110 ujsr uadr 0111 urts 1000 Hopp om Z= Hopp om N= Hopp om C= Hopp om O= Hopp om L= HALT
11 Adress ALU TB FB S P LC SEQ myadr (Hexadecimalt) Kommentar Lathund till fälten (se labhäfte för mer information) Buss 0010 Buss' AR+Buss 0101 AR-Buss 0110 AR & Buss 0111 AR Buss 1000 AR+Buss (inga flaggor) 1001 AR << ARHR << AR >> 1 (aritmetiskt) 1100 ARHR >> 1 (aritmetiskt) 1101 AR >> 1 (logiskt) 1110 Rotera AR åt vänster 1111 Rotera ARHR åt vänster TB 100 AR 111 Styrord FB ASR P 0 NOP 1 PC++ LC 00 NOP 01 LC-- 10 LC=Buss 11 LC=uADR S 0 GRx-mux styrs av GRx-fältet 1 GRx-mux styrs av M-fältet SEQ 0000 upc upc=k upc=k upc= upc=uadr 0110 ujsr uadr 0111 urts 1000 Hopp om Z= Hopp om N= Hopp om C= Hopp om O= Hopp om L= HALT
12 Adress ALU TB FB S P LC SEQ myadr (Hexadecimalt) Kommentar Lathund till fälten (se labhäfte för mer information) Buss 0010 Buss' AR+Buss 0101 AR-Buss 0110 AR & Buss 0111 AR Buss 1000 AR+Buss (inga flaggor) 1001 AR << ARHR << AR >> 1 (aritmetiskt) 1100 ARHR >> 1 (aritmetiskt) 1101 AR >> 1 (logiskt) 1110 Rotera AR åt vänster 1111 Rotera ARHR åt vänster TB 100 AR 111 Styrord FB ASR P 0 NOP 1 PC++ LC 00 NOP 01 LC-- 10 LC=Buss 11 LC=uADR S 0 GRx-mux styrs av GRx-fältet 1 GRx-mux styrs av M-fältet SEQ 0000 upc upc=k upc=k upc= upc=uadr 0110 ujsr uadr 0111 urts 1000 Hopp om Z= Hopp om N= Hopp om C= Hopp om O= Hopp om L= HALT
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
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
LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D
LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D Beskrivning av MIA-systemet Version: 2.4 1983 (BL) 1998 (TS) 2010 (AE,OVA) 2013 (OVA) 2018 (KP) INNEHÅLL 1. Inledning... 3 2. Maskinspråksprogrammerarens datormodell...
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..........................
Tentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Digital- och datorteknik
Digital- och datorteknik Föreläsning #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,
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
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
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
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
Mikroprogrammering I
ikroprogrammering I Olle Roos-datorn (fö2+) Björn Lindskog-datorn (lab) Att bygga en CPU Pipelinad dator (fö4,lab2) Variabel exekveringstid Variabelt format Inget överlapp Central styrenhet, som är mikroprogrammerad
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
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
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
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,
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
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
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
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
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
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
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
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
Tentamen Datorteknik D del 2, TSEA49
Tentamen Datorteknik D del 2, TSEA49 Datum 2012-05-24 Lokal TER2 Tid 8-12 Kurskod TSEA49 Provkod TEN1 Kursnamn Datorteknik D del 2 Institution ISY Antal frågor 6 Antal sidor (inklusive denna 10 sida) Kursansvarig
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
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
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
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
Omtentamen i CDT204 - Datorarkitektur
Omtentamen i CDT204 - Datorarkitektur 2012-11-05 Skrivtid: 08.10-12.30 Hjälpmedel: Miniräknare och valfritt skriftligt (ej digitalt) material. Lärare: Stefan Bygde, kan nås på 070-619 52 83. Tentamen är
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
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
Ö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
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
Digitala System: Datorteknik ERIK LARSSON
Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)
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
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
PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION
PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg
Datorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering
TSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 11, Kent Palmkvist 2018-04-09 3 TSEA28 Datorteknik Y (och U) Föreläsning 11 Kent Palmkvist, ISY Praktiska kommentarer Laborationsanmälan är öppen Krävs för att
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
LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)
LABORATION DATORTEKNIK D Pipelining Version: 1.4 2016 (OS,OVA,AN) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................
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
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.
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
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
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
Tentamen Datorteknik Y, TSEA28 Datum 2013-08-20
Tentamen Datorteknik Y, TSEA28 Datum 2013-08-20 Lokal TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 13 Kursansvarig
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:,
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
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
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
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
Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621
Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är
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å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
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
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
Närliggande allokering Datorteknik
Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1
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
DatorsystemteknikDAVA14 Föreläsning 9
DatorsystemteknikDAVA14 Föreläsning 9 epetition: MP likainstruktioneri Exempel på instruktionstyper Processorns uppbyggnad Pipelining törre delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson
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
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
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
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
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
Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)
MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga
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
Tentamen Datorteknik Y, TSEA28 Datum TER1 och TER2 Tid 14-18
Tentamen Datorteknik Y, TSEA28 Datum 2013-05-28 Lokal TER1 och TER2 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 12 Kursansvarig
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",
Grundläggande datavetenskap, 4p
Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register
TSEA28 Datorteknik Y (och U)
TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 3 TSE28 atorteknik (och U) Föreläsning 9 Kent Palmkvist, IS Praktiska kommentarer Laboration 4: MI 2 + 2 h precis som tidigare Simuleringslabbar
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
Ö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
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
Tentamen Datorteknik Y, TSEA28 Datum TER2 och TER3 Tid 14-18
Tentamen Datorteknik Y, TSEA28 Datum 2014-05-28 Lokal TER2 och TER3 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 14 Kursansvarig
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
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
Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination
Extra lab Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Erfarenheter från projektstart Läs på i Downey om klasser och objekt! När kan/ska man använda self? När bollarna
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Sortering Selectionsort, Bubblesort,
Laboration nr2 med enchipsdatorn PIC-16F877
Laboration nr2 med enchipsdatorn PIC-16F877 Inledning Målet med laborationen är främst att bli bekant med skift-, villkorliga- och ovillkorligaoperationer samt hur man strukturerar enklare flödesscheman.
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
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
Så här fungerar datorer Baserad på T-J Hallbergs minimalmaskin. 2008-08-26 Högskolan i Jönköping/JTH Ragnar Nohre
Baserad på T-J Hallbergs minimalmaskin 2008-08-26 Högskolan i Jönköping/JTH Ragnar Nohre Innehåll 1 Översikt... 3 2 Binära tal och koder... 3 2.1 Positionssystemet... 3 2.2 De binära talen... 4 2.3 Kilo
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-
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
Föreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Exempeltentamen Datorteknik, EIT070,
Lunds Universitet LTH Exempeltentamen Datorteknik, EIT070, Skrivtid: xx.00-xx.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng För betyg
Föreläsningsanteckningar 4. Pipelining
Föreläsningsanteckningar 4. Pipelining Olle Seger 2012, olles@isy.liu.se 21 januari 2013 1 Inledning Denna föreläsning handlar om pipelining, som är den helt dominerande processorarkitekturen i dag. Man
Objektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer
Objektorienterad programmering Föreläsning 10 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Fält fort. Fält som parametrar Parameterfält params Parametrar till Main Listor ArrayList
Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng
Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal
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 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
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
TSEA28 Datorteknik Y (och U)
TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 28-3-9 3 Praktiska kommentarer TSE28 atorteknik (och U) Föreläsning 9 Kent Palmkvist, IS Laborationsanmälan startar Måndag 26/3 kl 2.3! Laboration
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
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
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)