TSEA28 Datorteknik Y (och U)

Relevanta dokument
TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

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

Grundläggande datavetenskap, 4p

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

LV6 LV7. Aktivera Kursens mål:

TSEA28 Datorteknik Y (och U)

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

TSEA28 Datorteknik Y (och U)

Datorsystemteknik DAV A14 Föreläsning 1

Tentamen. Datorteknik Y, TSEA28

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

F5 Introduktion till digitalteknik

Föreläsningsanteckningar 2. Mikroprogrammering I

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

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

Tentamen. Datorteknik Y, TSEA28

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

ALU:n ska anslutas hur då?

Datorsystemteknik DVGA03 Föreläsning 8

Läsminne Read Only Memory ROM

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen. Datorteknik Y, TSEA28

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

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

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

HF0010. Introduktionskurs i datateknik 1,5 hp

Digitala System: Datorteknik ERIK LARSSON

TSEA22 Digitalteknik 2019!

Processor pipelining genom historien (Intel i9-intel i7)

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

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

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

SEKVENSKRETSAR. Innehåll

Datorsystemteknik DAV A14 Föreläsning 1

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

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Digital- och datorteknik

LABORATION. Datorteknik Y

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D

Tentamen. Datorteknik Y, TSEA28

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Tentamen Datorteknik D del 2, TSEA49

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Pipelining i Intel Pentium II

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Tentamen i Digital Design

Föreläsningsanteckningar 3. Mikroprogrammering II

Tentamen. Datorteknik Y, TSEA28

Design av digitala kretsar

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

Digitalteknik och Datorarkitektur 5hp

Tentamen. Datorteknik Y, TSEA28

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Föreläsning 1: Intro till kursen och programmering

F5 Introduktion till digitalteknik

Digital- och datorteknik

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Tentamen. Datorteknik Y, TSEA28

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Föreläsning 1: Intro till kursen och programmering

3. Mikroprogrammering II

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

IT för personligt arbete F5

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

Digital- och datorteknik

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Datorarkitekturer med operativsystem ERIK LARSSON

Tenta i Digitalteknik

LABORATION. Datorkonstruktion D

Föreläsning 2. Operativsystem och programmering

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Exempeltentamen Datorteknik, EIT070,

TSEA28 Datorteknik Y (och U)

Laboration i digitalteknik Introduktion till digitalteknik

Datorarkitekturer med operativsystem ERIK LARSSON

Sekvensnät i VHDL del 2

Tenta i Digitalteknik

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Tentamen i EIT070 Datorteknik

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

LEJON LABORATION3. Laborationens syfte

Sekvensnät vippor, register och bussar

Programmerbar logik och VHDL. Föreläsning 4

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Föreläsningsanteckningar 4. Pipelining

Transkript:

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 intern arkitektur Vidareutveckling av vad som visats tidigare Styrning med mikrokod Skapa styrsekvenser med minne och register

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 3 Praktiska kommentarer Laborationsanmälan startar Måndag 27/3 kl 12.30! Laboration 4: MIA 2 + 2 h precis som tidigare Simuleringslabbar => kan köras hemifrån Redovisa på labbtillfälle OBS: Vanliga ISY-labbsalar => annat hemkonto än i MUX-labbet Laboration 5: Bussar och ache Mätlabbar => Måste genomföras i labbet Förberedelser viktiga! 2 + 2 h som tidigare, mätningar bör vara klara efter de första 2 h! TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 4 Praktiska kommentarer, forts. Laboration 4, att testa hemifrån Använd thinlinc alternativt X11. Se även www.ida.liu.se/local/students/remote/index.sv.shtml Nytt för i år: 1 lektion före lab4 (som förra året) 1 lektion före lab5 (nytt) Material till laboration 5 fortfarande under justering Grundidé fortfarande samma Detaljer kan komma skilja sig mot gammalt material på hemsidan

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 5 Praktiska kommentarer, forts. Tutor-system fortfarande uppsatta på 3 platser i MUX2 Tillgängliga om ingen annan kurs använder labbet just då Pågående aktivieter: D:arnas Datorkonstruktionsprojekt Redovisning av kvarvarande labbar under ett tillfälle i vecka 22 eller 23 Inkluderar lab 1-3 Skickar ut mail innan TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 6 Abstraktionshierarki Datorns uppbyggnad och funktion kan beskrivas på olika nivåer Lägre abstraktionsnivå => färre personer involverade i design I denna kurs fokuserar vi på mikroarkitektur upp till lågnivåspråk Applikationer Högnivåspråk Lågnivåspråk Mikroprogrammering Mikroarkitektur Kretsar Komponenter

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 7 Abstraktionshierarki, forts. Lågnivåspråk kräver kunskap om datorns uppbyggnad T ex assemblerspråk specifikt för olika klasser av datorer ARM skiljer sig från M68000 Mikroprogrammering kräver kunskap om datorn interna struktur T ex hur olika register i processorn är ihopkopplade Finns inte i alla datorer (och oftast inte tillgängligt) Applikationer Högnivåspråk Lågnivåspråk Mikroprogrammering Mikroarkitektur Kretsar Komponenter TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 8 Motivering Prestanda på en dator (operationer per sekund) bestäms av Hur ofta en ny instruktion kan startas Hur snabbt minnet kan läsas Vilka typer av instruktioner som finns Ska under denna del av kursen titta närmare på hur prestanda kan påverkas Kräver kunskap om hur instruktioner implementeras i datorn Maskinkod är en abstraktion Flera olika strukturer kan implementera samma maskinkod med olika prestanda (80386 vs i7 vs Ryzen)

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 9 En närmare titt på datorn Varje enskild maskinkodsinstruktion (assemblerinstruktion) motsvarar oftast en sekvens av delsteg Hämta instruktion från minnet Avkoda instruktion Hämta argument från minne eller register Beräkna resultat Exempel: move.l #$11,$1234 Läs instruktionen från minnet Skriv $11 I minnescell $1234 Skriv resultat till minne eller register Dessa delsteg bestäms av den interna uppbyggnaden av processorn, instruktionsuppsättning, vägar att skicka data, etc. TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 10 Dator vs processor etc. Dator Komplett system med minnen och I/O (input/output) Processor (PU entral Processing Unit) Beräkningsenheten i datorn. Allt utom minnen och I/O Mikroprocessor Speciell version av processor där allt sitter på ett chip Dator I/O Mikrokontroller Enklare processor med vissa delar av I/O och eventuellt minne på ett chip SO Processor System on hip: Komplett dator med minne och I/Oenheter. Oftast högre prestanda

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 11 Datorns byggstenar minne Funktionsblock Beräkna eller lagra data T ex minne, Kommunikation In P SP Ut Koppla ihop register, minnen mm Bussar U Kontroll (U) Bestäm vilket data skickas vart Avkodning, styrsignaler Kommer utgå från boken (Figur 7.1) Finns även bilder på bokens hemsida! D Z TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 12 Mer om byggblock: Multiplexer A S1 S0 0 För Y borde detta vara en repetition av digitalteknik B D 1 2 3 Y Multiplexer Välj att skicka ut värde på Y från en av ingångarna Numrering motsvarar binära talet på styringång (S) Funktion beskriven med sanningstabell S1 S0 Y 0 0 0 1 1 0 1 1 A B D Insignal och motsvarande utsignal Komplett tabell (med bara 0 och 1 som insignalvärden) ger 64 kombinationer Funktion tidsmässigt A B D S0 Ändring på ingång ger (nästan) direkt påverkan på utgång Gäller både ingång A-D och S1 S0 S1 Y Y A B D t

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 13 Aritmetisk logisk enhet () Beräkna alla funktioner, välj sedan rätt med mux Funktion väljs med : B -> A -> A B+1 -> A +1 -> A B-1 -> A -1 -> A B+ -> A -B -> A Beräkning uppdaterar flaggvärden (ofta kallad R) B V NZ V: overflow vid 2-komplementberäkning : ssiffra N: Negativt resultat (kopia av MSB) Z: Resultat = 0 Alla utgångar påverkas direkt av ändring på ingång A Inget minne TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 14 Buss, tristate-grind Ofta många bitar parallellt, ofta en 2-potens T ex 8 bitars databuss, 16 bitars addressbuss Flera sändare (Sx) kopplas till flera mottagare (Mx) Måste välja vem som får sända Om flera försöker samtidigt förstörs sändningen Jfr med att prata i mun på varandra Sköts elektriskt med en s k tristategrind Skickar ut 0, 1 eller Z Z ut betyder urkopplad sändare En eller flera mottagare kan ta emot Utpekade mottagare sparar värde som sändes S1 S2 S3 A E1 E2 E3 E E 0 1 Y Y M0 M1 M2 M3 Z, urkopplad A

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 15 D Q Laddar nytt värde varje gång klockan (LK) går från 0 till 1 (positiv flank) Om ingen flank behålls gamla värdet Ibland finns även E (lock Enable) Ladda registret bara om E = 1 D LK D 51 Q 51 0 1 lk E 42 22 31 22 42 lk 22 Q t TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 16 pekar ut vilken minnescell som ska läsas/ändras innehåller värde till eller från minnescell Två olika funktioner Läs: = 1, Kopiera värde i minnescell som address pekar på till Q Skriv: = 1, minnescell som address pekar på sätts till värde på Q Om varken skrivning eller läsning kopplas Q ifrån (värde Z) Ofta är den långsammare än processorn Adress 21 42 21 Q 10 Z 51 31 Z 10 42 31 Skriv 10 till adress 21, läs address 42 (innehåller värde 51) skriv värde 31 till address 42 läs address 21 (10 pga skrivning tidigare) läs address 42 (31 pga skrivning tidigare) t

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 17 Enkel processorarkitektur En av många möjliga arkitekturer Figur 7.1 i boken Enkel processor med få generella register, Generella dataregister Övriga register inte direkt tillgängliga P Programräknare (peka på nästa instruktion) R Statusflaggor (kopierar V,,N,Z från ) Instruktioner kan arbeta register-till-register och register-till-minne MBR P MBR E MBR, P V N Z E P,B Bus B Bus R E, E, TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 18 Enkel processorarkitektur, forts. för att hålla address och data till/från minne Memory address register MBR Memory buffer register Ladda från minne om =1 Ladda från buss A om =0 håller reda på aktuell instruktion som utförs Inklusive adressargument drivs bara av Bus B och kan drivas av olika register (en i taget) Bara en källa per gång för varje bus (via E XX,B ) MBR P MBR E MBR, P E P,B Bus B Bus E, E, V N Z R

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 19 operationer utför beräkning eller kopiering Välj funktion med,, Operation 0 0 0 A = B 0 0 1 A = 0 1 0 A = B + 1 0 1 1 A = + 1 1 0 0 A = B - 1 1 0 1 A = - 1 1 1 0 A = B + 1 1 1 A = B Uppdatera statusregistret R vid varje -beräkning V: aritmetiskt overflow (2-komplementsberäkning) : minnesbit vid operation (positiva heltal) N: negativt resultat Z: resultat noll MBR P MBR E MBR, P V N Z E P,B Bus B Bus R E, E, TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 20 Styrsignaler Styrsignaler definierade i arkitekturen Läs från minne och placera värde i Skriv värde i till minnesaddress lock XXX Spara värde i register XXX (MBR,, P,,, ) Enable E XXX, B Kopiera värde från XXX till buss B (MBR,P,,,) Enable E XXX, Kopiera värde från XXX till buss (MBR,,) Välj funktion i Varje styrsignal ges värde 1 eller 0 i varje steg Antag styrsignal = 0 om den inte anges MBR P MBR E MBR, P E P,B Bus B Bus E, E, V N Z R

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 21 Maskininstruktioner Exempel på maskininstruktioner som ska kunna utföras Op-code Op-code Namn Operation 0 0 0 LOAD,M [] <- [M] 0 0 1 LOAD,M [] <- [M] 0 1 0 STORE M, [M] <- [] 0 1 1 STORE M, [M] <- [] 1 0 0 ADD, [] <- [] + [] 1 0 1 SUB, [] <- [] - [] 1 1 0 BRA T [P] <- T 1 1 1 BEQ T Om [Z] = 1 då [P] <- T Mikroprogrammet beskriver för varje instruktion alla styrsignaler och steg för implementering av instruktionen Hämta instruktion (fetch) M eller T Utför instruktion (beror på vilken instruktion som hämtats) MBR P MBR E MBR, P V N Z E P,B Bus B Bus R E, E, TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 22 Exekvering av instruktion, del 1 Fetch: Läs instruktion från minne till, öka P med 1 Kopiera P till Öka P med 1 (peka på instruktion efter) Läs minne till MBR Kopiera MBR till Motsvarande styrsignaler (en av flera möjliga lösningar, går att använda 3 steg istället...) Steg T0 E P,B = 1, = 0,0,0, T1 E P,B = 1, = 0,1,0, P T2 =1, MBR T3 = 1, = 0,0,0, MBR P MBR E MBR, P V N Z E P,B Bus B Bus R E, E,

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 23 Exekvering av instruktion, del 2 Utför instruktion 010 (STORE M,) Kopiera till MBR Kopiera till (får bara med adressdelen av instruktionen) Skriv minne från MBR Motsvarande styrsignaler (en av flera möjliga lösningar) Steg T0 = 1, = 0,0,0, MBR T1 = 1, = 0,0,0, T2 =1 Totalt 7 steg för 1 instruktion MBR P MBR E MBR, P V N Z E P,B Bus B Bus R E, E, TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 24 Ytterligare exempel, del 2 Utför instruktion 010 (SUB,) Skicka ut på -bussen, på B-bussen och spara resultatet på A bussen i Motsvarande styrsignaler Steg T0 = 1, = 1, = 1,1,1, Denna instruktion tar totalt 5 steg 4 i fetch och 1 i execute MBR P MBR E MBR, P E P,B Bus B Bus E, E, V N Z R

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 25 Hantering av tid och ordning En sak i taget I varje klockcykel gör varje enhet (bus, etc.) bara en operation (olika för respektive enhet) T ex minnet kan inte först läsa och sedan skriva i samma klockcykel Olika saker händer på olika ställen i datorn samtidigt (parallellt) MBR P MBR E MBR, P E P,B Bus B Bus Allt styrs av klockan Jfr styrdans eller militär marsch Om inte alla tar ett steg vid samma tidpunkt börjar man trampa varandra på tårna Synkron timingmodell Alla enheter får klocksignalen samtidigt klocka V N Z R E, E, TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 26 Alla steg måste styras av kontrolleneheten (U) Kontrollenheten genererar en sekvens av styrsignaler till datorn Måste hålla ordning på i vilket steg den befinner sig Alla styrsignaler ändras vid varje klockflank Olika sekvenser beroende på instruktion och flaggornas värde opcode bitar R bitar U :,, E XXX,B,E XXX,, XXX,,, MBR P MBR E MBR, P V N Z E P,B Bus B Bus R E, E,

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 27 Alla steg måste styras av kontrolleneheten (U) Varje opcode har egen instruktionssekvens Fetchdelen gemensam ( innehåller instruktionen efteråt) Efter fetch måste rätt sekvens väljas Använd 3 vänstra bitarna i -registret opcode bitar R bitar Op-code U M eller T :,, E XXX,B,E XXX,, XXX,,, MBR P MBR E MBR, P V N Z E P,B Bus B Bus R E, E, TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 28 Tillståndsmaskin (Finite State Machine) Sekvens av utsignaler genereras med fast frekvens styrd av klocka Utsignal bestäms av aktuellt steg () samt eventuellt av värden på ingǻng opcode bitar R bitar FSM,, E XXX,B,E XXX,, XXX,,, Lösning enligt digitalteknik för aktuellt s med klocka Logiskt nät översätter kombination insignaler och aktuellt till utsignaler och nytt Logiskt nät kan bli väldigt stort och komplext Antal ingångar till nätet Logiskt nät Nästa Behöver designas på nytt om något ska ändras ROM (minne som bara läses) kan användas Stort om många insignaler

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 29 Tillståndsmaskin, exempel x=0 ska ge sekvensen y=314153141534... och x=1 ska ge sekvensen y=2718271827... Läsbart minne (ROM) istället för logiskt nät Adress till ROM: x plus 3 bitar (=8x+aktuellt ) från ROM:y, nästa (8x+aktuellt) (y, nästa) 0 3 1 1 1 2 2 4 3 3 1 4 4 5 0 5-7 3 1 8 2 9 9 7 10 10 1 11 11 8 8 12-15 2 9 x Logiskt nät a d d r ROM d a t a Nästa y Nästa TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 30 Alternativ implementation av smaskin Alternativ för att skapa förbestämd sekvens Räknare med minne som översätter till styrsignaler Mycket mindre hårdvara Bygg med register och en +1 operation Logiskt nät Logiskt nät Nästa Återanvänd funktion Måste lägga till styrsignal som startar om sekvens (nollställning) alternativt laddar startsignal beroende på insignal +1 Nästa 0 n :

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 31 Generell mikroprogrammeringsstruktur ROM-minnet innehåller mikroprogrammet En address för varje Tre delar i ROM utdata Styrsignaler (en bit för varje styrsignal) Logiskt nät +1 Nästa 0 n : En (eller flera) styrsignaler för val av R bitar En (eller flera) nästa address (mikro) beroende på resultat av opcode + R-bitar Adress RSelect ontrol beräkning (opcode + R) Val av insignal alternativa addresser ROM TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 32 Sekvensexemplet, igen Värde ut är controlsignaler (3, 1 etc.), insignal (x), 1 adress, 1 styrsignal väljer x eller fast hopp (tillbaks till start av sekvens) Varje steg kan gå till nästa adress om x är samma som förra klockcykeln, men byta till den andra sekvensen om x är annorlunda mot förra klockcykeln. Logiskt nät +1 Nästa 0 1 0 1 0 x

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 33 Fördelar med mirkoprogrammerad struktur Enkel att ändra och bygga ut Öka antal adresser i ROM eller öka antal bitar per adress kan ge nya instruktioner Byt aktiv styrsignal genom att ändra enskilda bitar i minnet Eventuellt möjligt patcha processorinstruktioner! Enkel att återanvända Ändra bara minnesinnehåll Effektiv för stora smaskiner beräkning (opcode + R) Val av insignal alternativa addresser ROM TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 34 Begränsningar hos mikroprogrammerad struktur Begränsat antal olika förgreningar från varje Problem med avkodning av opcode? Går att fixa. Begränsat antal samtidiga villkorliga R flaggor testas per klockcykel beror bara på indata från föregående klockcykel Digitalteknik: Mealy reagerar inom samma klockcykel beräkning (opcode + R) Val av insignal alternativa addresser ROM

TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 35 Generell mikroprogrammeringsstruktur, forts. Avvägning mellan storlek på ROM och möjlig funktion Fler möjliga insignalskombinationer/nästa kräver fler alternativa adresser och insignalval => större ROM Få alternativa adresser => avkodning av t ex opcode tar längre tid Kräver sekvens av jämförelser, bit för bit av opcode Effektivare lösning: uppslagstabell för nästa baserat på opcode-bitarna Nästa föreläsning... beräkning (opcode + R) Val av insignal alternativa addresser ROM www.liu.se