3. Mikroprogrammering II

Relevanta dokument
Föreläsningsanteckningar 3. Mikroprogrammering II

Mikroprogrammering I

Föreläsningsanteckningar 2. Mikroprogrammering I

4. Pipelining. 4. Pipelining

Tentamen Datorteknik D del 2, TSEA49

Föreläsningsanteckningar 4. Pipelining

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

LABORATION. Datorteknik Y Datorkonstruktion D

Tentamen. Datorteknik Y, TSEA28

LABORATION. Datorteknik Y

Programexempel för FLEX

LABORATION. Datorkonstruktion D

F4: Assemblerprogrammering

Digital- och datorteknik

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Datorsystemteknik DVGA03 Föreläsning 8

Styrenheten styrsignalsekvenser programflödeskontroll

Tentamen (Exempel) Datorteknik Y, TSEA28

TSEA28 Datorteknik Y (och U)

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

Polling (cyklisk avfrågning) Avbrott

TSEA28 Datorteknik Y (och U)

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

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

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

Digitala System: Datorteknik ERIK LARSSON

Datorsystemteknik Föreläsning 7DAVA14

LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)

Institutionen för elektro- och informationsteknologi, LTH

Digital- och datorteknik

Föreläsningsunderlag TSEA49 Datorteknik D Del 2

Tentamen (Exempel) Datorteknik Y, TSEA28

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

Digital- och datorteknik

Digital- och datorteknik

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen????

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28

DatorsystemteknikDAVA14 Föreläsning 9

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål

Digital- och datorteknik

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

Datorarkitekturer med operativsystem ERIK LARSSON

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

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

TSEA28 Datorteknik Y (och U)

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Digital- och datorteknik

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik

Lösningsförslag tenta

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

Tentamen i EIT070 Datorteknik

Assemblerprogrammering del 3

Digital- och datorteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

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:

Extrauppgifter för CPU12

Tentamen Datorteknik Y, TSEA28 Datum

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl

Tentamen Datorteknik Y, TSEA28 Datum TER2, TER4, TERE Tid 14-18

LV6 LV7. Aktivera Kursens mål:

TSEA28 Datorteknik Y (och U)

ALU:n ska anslutas hur då?

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)

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

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

Exempel 3 på Tentamen

Närliggande allokering Datorteknik

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

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

Institutionen för elektro- och informationsteknologi, LTH

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

Omtentamen i CDT204 - Datorarkitektur

Exempel 1 på Tentamen med lösningar

Datorkonstruktion. Datorkonstruktion 2018, 8hp

TSEA28 Datorteknik Y (och U)

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Uppgift 1: a) u= a c + a bc+ ab d +b cd

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

Lösningar till tentamen i EIT070 Datorteknik

F8: Undantagshantering

Tentamen med lösningar

Digital- och datorteknik

A-del motsvarande KS1

Angående buffer. clk clear >=1 =9?

Tentamen PC-teknik 5 p Lösningar och kommentarer

Övning2 Datorteknik, HH vt12 - Programmering

Transkript:

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 2,3,5,11 7,1,9,17 Hämta Absolut Gult SN Resten KN RESET M 30 34 36 4 27 7 8 34 35 18,1,11 17,9 2,3,5,11 7,25,11 27,32,33,11 34,12 37,6,11 2,4,5,12 2,3,5,11 7,25,11 27,30,33,11 34,12 Omm. LDA STA ADD 1

0: 1: 2: 3: 4: 5: asmprogram : LDA 12 ADD #7 STA 13 Vad hände egentligen? K1(OP)->M K2(M)->M Abs mem()->adr, ++ mikroprogram Hämta mem()->ir, ++ Hämtfas 1st Omedelbar ->ADR, ++ Adresseringsmod 6st 12: 13: AR: 1 0 1 LDA mem(adr)->ar 0->M STA AR->mem(ADR) ADD AR+mem(ADR)->AR Exekvering 20 st OR dator I/O 43 44 OUT Adresseringsmod: underförstådd K2(5) = 29 29: K1->mpc 9 50: in->tr, mpc++ 43,25,11 51: tr->ar, mpc++ 27,32,33,11 52: status, 0->mpc 34,12 OUT 53: ar->out, 0->mpc 37,44,12 2

mem buffert A data adr In-matning (tangenttryckningar > buffert) 8 Olle Roos 43 OUT 44 A-vippan 1-ställning: Stroben synkroniseras och enpulsas och 1-ställer A. 0-ställning: styrsignal 43, dvs läsning av strobe 7 Tangentbord A-vippans läge kan kollas medelst polling. Olika metoder för I/O 1) Programmet väntar på att stroben ska bli hög, (testa om är negativ) läser tecknet och placerar i minnet. Programstyrd I/O, polling, busy waiting. 2) Programmet behöver inte alls vänta på stroben. När stroben går hög startar en avbrottsrutin, som läser in tecknet och placerar i minnet. Avbrott. 3) I/O kretsen skriver själv (genom att ta över lämpliga bussar) i minnet. DMA = direkt minnesaccess. Programmet behöver bara uppmärksammas när return har kommit in. Kan ske genom att koppla bort CPUn från bussarna eller genom att utnyttja lediga minnescykler. 3

Avbrott Huvudprogram processortillstånd Teckenbuffert SR XR AR Ny hårdvara mpc Ny hårdvara mm PM Avbrottsrutin SP I spärrvippa nya instr. RTI uthoppet Stack avbrottsingång A 43 clr=43 44 avbrottsvippa A OUT KB Avbrott 1. Tryck på en tangent => 1->A 2. Gör klart pågående instruktion 3. Om I=0 så uthopp: 1. Spara reg. på stacken, SR, XR, AR 2. Förhindra fler avbrott: 1->I. 3. Hoppa till avbrottsrutinen 4. I avbrottsrutinen: 1. Läs in tecknet till minnesbuffer och 0->A 2. Återhopp RTI (återställ reg., 0->I) 3 nya instruktioner: EI: 0->I (Enable Interrupt) DI: 1->I (Disable Interrupt) RTI: återhopp Mikrokod för uthopp Förbättrad mpc 4

Ritning [MK2, sid 119] Styrenheten kollar om det är avbrott mellan två instruktioner A=1 och I=0? ja uthoppsadress->mpc tillbyggnad av styrenheten nej Hämta Spara regs Amod Sätt I=1 Uthoppet: Extra mikrokod Utför =avbrottsrutin +1 0 1 2 3 4 K5 9 (K1->mpc) 10 (K2->mpc) 11 (+1) 12 (0->mpc) Ritning K1 : adress för exekvering instruktion 0 K2 : adress för adressberäkning adress till mkod för avbrott (adress = 60) [MK2, sid 120] mpc DI : Disable Interrupt 40 EI : Enable Interrupt 41 Adress till avbrottsrutin 42 S R I & Avbrott K5: A=avbrottsingång 9 10 11 12 avbr mux-ingång 1 0 0 0-2 0 1 0 0-3 0 0 1 0-0 0 0 0 1 0 1 0 0 0 1 1 4 5

Ritning [MK2, sid 120-121] 60: sp->adr, mpc++ 24,1,11 61: pc->dr,mpc++ 18,6,11 62: skriv, sp--,mpc++ 2,4,5,23,11 63: sp->adr, mpc++ 24,1,11 64: xr->dr, mpc++ 20,6,11 65: skriv, sp--,mpc++ 2,4,5,23,11 66: sp->adr, mpc++ 24,1,11 67: ar->dr, mpc++ 37,6,11 68: skriv, sp--,mpc++ 2,4,5,23,11 XR AR 69: sp->adr, mpc++ 24,1,11 70: sr->dr, mpc++ 36,6,11 71: skriv, sp--,mpc++ 2,4,5,23,11 72: 1->I,mpc++ 40,11 73: avbrvek->, mpc=0 42,12 SR 71,72,73 kan slås ihop Något kortare variant 60: sp->adr, mpc++ 61: pc->dr, mpc++ 62: skriv, sp--, mpc++ 63: sp->adr, mpc++ Ny rad 60 -Före klockflank: 60: sp->adr, sp--, mpc++ 61: pc->dr, mpc++ 62: skriv, sp->adr, mpc++ -Efter klockflank: SP: X -1 SP: X-1-1 ADR: Y ADR: X 6

Ritning [MK2, sid 119] Ny instruktion: RTI => Vanlig instruktion, mikrokod för exekveringsfasen Läs tillbaka regs Sätt I=0 Slå på avbrott Sätt M=0 Nästa instruktion adress till avbrottsrutin buss (adress när Hopp=1) Hopp +1 0 1 2 3 K3 +1 avbr Hopp 17 42 K3 >=1 & & 13 16 Z 15 N Hopp +1 avbr mux-ing. 1 0 0 3 buss 0 1 0 0 +1 0 0 1 2 avbr.rutin 0 0 0 1 7

Mikrokod för JMPN D K2(3) = 19 Om N=1 +2+D -> annars +2 -> självrelativ a-mod (utförs oavsett värde på N-flaggan) 19: ->ADR, ++, M++ 20: ->TR, minne->dr, M++ 21: DR->TR, TR->AR, AR->HR, M++ 22: AR+TR->AR, M++ 23: HR->AR, AR->TR, K1->M JMPN D K1(17)=78 Exekvering för JMPN (TR-> om N=1) 78: TR->(N), 0->M 26,15,12 Subrutinhopp JSR D återhopp: JMP rel D SP XXX före SP JSR D Självrelativ a-mod beräkna hoppadress +2+D -> tr exe +2 -> mem(sp), SP-- tr -> återhopp XXX efter 8

Subrutinåterhopp RTS subrutin stack RTS SP återhopp * underförstådd a-mod * exe SP++ M(SP) -> ; justera SP ; hoppa tillbaka Björn Lindskogs dator 1,2,3 ska göras Frivillig tävling 16-bitars maskin (ASR, 8 bitar) 4 generella reg. AR,HR,ASR arbetsreg. Avancerad styrenhet Hopp Villkorliga hopp Loopar (LC,L) Subrutiner (Su) Konstanter GR3 indexreg OP GRx M ADR 16 9