TSEA28 Datorteknik Y (och U)

Relevanta dokument
TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

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

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

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:

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

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

Läsminne Read Only Memory ROM

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

TSEA28 Datorteknik Y (och U)

HF0010. Introduktionskurs i datateknik 1,5 hp

Digitala System: Datorteknik ERIK LARSSON

TSEA22 Digitalteknik 2019!

F5 Introduktion till digitalteknik

ALU:n ska anslutas hur då?

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.

Datorsystemteknik DVGA03 Föreläsning 8

TSEA28 Datorteknik Y (och U)

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

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

Tentamen den 18 mars svar Datorteknik, EIT070

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

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

Föreläsningsanteckningar 2. Mikroprogrammering I

TSEA28 Datorteknik Y (och U)

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Digital- och datorteknik

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

Datorsystemteknik DAV A14 Föreläsning 1

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

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

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

SEKVENSKRETSAR. Innehåll

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

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

IE1205 Digital Design: F9: Synkrona tillståndsautomater

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

Processor pipelining genom historien (Intel i9-intel i7)

LABORATION. Datorteknik Y

TSEA28 Datorteknik Y (och U)

Tentamen. Datorteknik Y, TSEA28

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

TSEA28 Datorteknik Y (och U)

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

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

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

Digital- och datorteknik

Digitalteknik och Datorarkitektur 5hp

Pipelining i Intel Pentium II

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

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

Sekvensnät vippor, register och bussar

Tentamen i Digital Design

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

F5 Introduktion till digitalteknik

Digital- och datorteknik

LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D

Föreläsning 2. Operativsystem och programmering

Tenta i Digitalteknik

Det finns en hemsida. Adressen är

Datorarkitekturer med operativsystem ERIK LARSSON

LABORATION. Datorkonstruktion D

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

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

Tentamen. Datorteknik Y, TSEA28

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

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

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

Föreläsningsanteckningar 3. Mikroprogrammering II

Tentamen. Datorteknik Y, TSEA28

Föreläsningsanteckningar 4. Pipelining

Tenta i Digitalteknik

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

2 UPPBYGGNAD OCH FUNKTION

Tenta i Digitalteknik

Design av digitala kretsar

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

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

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

3. Mikroprogrammering II

IT för personligt arbete F5

Datorsystemteknik DAV A14 Föreläsning 1

4. Pipelining. 4. Pipelining

Exempeltentamen Datorteknik, EIT070,

Tentamen. Datorteknik Y, TSEA28

Tentamen Datorteknik D del 2, TSEA49

Introduktion till programmering och Python Grundkurs i programmering med Python

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

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Sekvensnät i VHDL del 2

Närliggande allokering Datorteknik

Föreläsningsanteckningar till Konstruktionsmetoder

Transkript:

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 => kan köras hemifrån Redovisa på labbtillfälle OBS: Vanliga IS-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! TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 2 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 4 agens 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 Praktiska kommentarer, forts. Laboration 4, att testa hemifrån nvänd thinlinc alternativt X. Se även www.ida.liu.se/local/students/remote/index.sv.shtml Material till laboration 5 fortfarande under justering Grundidé fortfarande samma etaljer kan komma skilja sig mot gammalt material på hemsidan

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 5 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 7 Praktiska kommentarer, forts. arma-systemet flyttast till Grinden Tillgängliga om ingen annan kurs använder labbet just då Kom förbi kontoret så släpper jag in er Skillnad: Nya Windows -lab nnat hemkonto än MUX-labbet Terminal måste troligen köras separat Se kurshemsidan bstraktionshierarki, forts. Lågnivåspråk kräver kunskap om datorns uppbyggnad T ex assemblerspråk specifikt för olika klasser av datorer RM skiljer sig från intel/m X86_64 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) pplikationer Högnivåspråk Lågnivåspråk Mikroprogrammering Mikroarkitektur Kretsar Komponenter TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 6 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 8 bstraktionshierarki atorns 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 pplikationer Högnivåspråk Lågnivåspråk Mikroprogrammering Mikroarkitektur Kretsar Komponenter 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 (8386 vs i7 vs Ryzen)

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 9 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 En närmare titt på datorn atorns byggstenar minne Varje enskild maskinkodsinstruktion (assemblerinstruktion) motsvarar oftast en sekvens av delsteg Hämta instruktion från minnet vkoda instruktion Hämta argument från minne eller register Beräkna resultat Skriv resultat till minne eller register essa delsteg bestäms av den interna uppbyggnaden av processorn, instruktionsuppsättning, vägar att skicka data, etc. Exempel: ldr r,[r2, r3] Läs instruktionen från minnet Läs adressen från minnescell på adress bestämd av r2+r3 Skriv värdet I register r Funktionsblock Beräkna eller lagra data T ex minne, Kommunikation Koppla ihop register, minnen mm Bussar Kontroll (U) Bestäm vilket data skickas vart vkodning, styrsignaler Kommer utgå från boken (Figur 7.) Finns även bilder på bokens hemsida! In SP Ut U Z TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 2 ator vs processor etc. Mer om byggblock: Multiplexer S S ator Komplett system med minnen och I/O (input/output) ator För borde detta vara en repetition av digitalteknik (U:are se avsnitt 2.9, 2. i boken) B 2 3 Processor (PU entral Processing Unit) Multiplexer Beräkningsenheten i datorn. llt utom minnen och I/O Mikroprocessor Speciell version av processor där allt sitter på ett chip Mikrokontroller Enklare processor med vissa delar av I/O och eventuellt minne på ett chip SO System on hip: Komplett dator med minne och I/Oenheter. Oftast högre prestanda (jämfört med mikrokontroller) I/O Processor Välj att skicka ut värde på från en av ingångarna Numrering motsvarar binära talet på styringång (S) Funktion beskriven med sanningstabell Insignal och motsvarande utsignal Komplett tabell (med bara och som insignalvärden) ger 64 kombinationer Funktion tidsmässigt Ändring på ingång ger (nästan) direkt påverkan på utgång Gäller både ingång - och S S B S S S S B B t

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 3 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 5 ritmetisk logisk enhet () Beräkna alla funktioner, välj sedan rätt med mux Q Funktion väljs med F F: B -> -> B+ -> + -> B- -> - -> B+ -> -B -> Beräkning uppdaterar flaggvärden (ofta kallad R) V: overflow vid 2-komplementberäkning : ssiffra N: Negativt resultat (kopia av MSB) Z: Resultat = lla utgångar påverkas direkt av ändring på ingång Inget minne, ingen klocka F F B V NZ Laddar nytt värde varje gång klockan (LK) går från till (positiv flank) Om ingen flank behålls gamla värdet Ibland finns även E (lock Enable) Ladda registret bara om E = LK 5 Q 5 lk E 42 22 3 22 42 lk 22 Q t TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 4 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 6 Buss, tristate-grind Ofta många bitar parallellt, ofta en 2-potens T ex 8 bitars databuss, 6 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 S S2 S3 E E2 E3 M M M2 M3 ddress pekar ut vilken minnescell som ska läsas/ändras ata innehåller värde till eller från minnescell Två olika funktioner ddress Read dr Q Rd Wr ata Jfr med att prata i mun på varandra Sköts elektriskt med en s k tristategrind Skickar ut, eller Z Z ut betyder urkopplad sändare En eller flera mottagare kan ta emot Utpekade mottagare sparar värde som sändes E E Z, urkopplad Läs: Read =, Kopiera värde i minnescell som address pekar på till Q Skriv: =, 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 det långsammare än processorn dress 2 42 2 Read Q Z 5 3 Z 42 3 Skriv till adress 2, läs address 42 (innehåller värde 5) skriv värde 3 till address 42 läs address 2 ( pga skrivning tidigare) läs address 42 (3 pga skrivning tidigare) t

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 7 Enkel processorarkitektur En av många möjliga arkitekturer Figur 7. i boken Enkel processor med få generella register R, R Generella dataregister Övriga register inte direkt tillgängliga 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 Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus BBus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 9 operationer utför beräkning eller kopiering Välj funktion med, F, F F F Operation = B = = B + = + = B - = - = B + = 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 Bus MR ddress Read ata MBR R R F F MR MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus B Bus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 8 Enkel processorarkitektur, forts. för att hålla address och data till/från minne MR Memory address register MBR Memory buffer register Ladda från minne om Read= Ladda från buss om Read= håller reda på aktuell instruktion som utförs Inklusive adressargument Bus 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 resp. E XX, ) Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus BBus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 2 Styrsignaler Styrsignaler definierade i arkitekturen Read Läs från minne och placera värde i ata Skriv värde i ata till minnesaddress lock XXX Spara värde i register XXX (MBR, MR,,, R, R) Enable E XXX, B Kopiera värde från XXX till buss B (MBR,,,R,R) Enable E XXX, Kopiera värde från XXX till buss (MBR,R,R) FF Välj funktion i Varje styrsignal ges värde eller i varje steg ntag styrsignal = om den inte anges Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus B Bus E R, E R,

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 2 Maskininstruktioner Exempel på maskininstruktioner som ska kunna utföras Op-code M eller T Op-code Namn Operation LO R,M [R] <- [M] LO R,M [R] <- [M] STORE M,R [M] <- [R] STORE M,R [M] <- [R] R,R [R] <- [R] + [R] SUB R,R [R] <- [R] - [R] BR T [] <- T BEQ T Om [Z] = då [] <- T Mikroprogrammet beskriver för varje instruktion alla styrsignaler och steg för implementering av instruktionen Hämta instruktion (fetch) Utför instruktion (beror på vilken instruktion som hämtats) Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus BBus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 23 Exekvering av instruktion, del 2 Utför instruktion (STORE M,R) Kopiera R till MBR Kopiera till MR (får bara med adressdelen av instruktionen) Skriv minne från MBR Motsvarande styrsignaler (en av flera möjliga lösningar) Steg T E R,B =, FF =,,, MBR T E,B =, FF =,,, MR T2 = Totalt 7 steg för instruktion Bus MR ddress Read ata MBR R R F F MR MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus B Bus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 22 Exekvering av instruktion, del Fetch: Läs instruktion från minne till, öka med Kopiera till MR Öka med (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 T E,B =, FF =,,, MR T E,B =, FF =,,, T2 Read=, MBR T3 =, FF =,,, Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus BBus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 24 tterligare exempel, del 2 Utför instruktion (SUB R,R) Skicka ut R på -bussen, R på B-bussen och spara resultatet på bussen i R Motsvarande styrsignaler Steg T E R,B =, E R,B =, FF =,,, R enna instruktion tar totalt 5 steg 4 i fetch och i execute Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus B Bus E R, E R,

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 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) llt 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 lla enheter får klocksignalen samtidigt klocka Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus BBus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 27 lla 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 nvänd 3 vänstra bitarna i -registret opcode bitar R bitar Op-code U M eller T : Read,, E XXX,B,E XXX,, XXX,,F,F Bus MR ddress Read ata MBR R R F F MR MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus B Bus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 26 lla 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 lla styrsignaler ändras vid varje klockflank Olika sekvenser beroende på instruktion och flaggornas värde opcode bitar R bitar U : Read,, E XXX,B,E XXX,, XXX,,F,F Bus MR MR ddress Read ata MBR R R F F MBR E MBR, R R B E,B E,B E R,B E R,B V N Z R Bus BBus E R, E R, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 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 Lösning enligt digitalteknik för aktuellt s med klocka översätter kombination insignaler och aktuellt till utsignaler och nytt kan bli väldigt stort och komplext ntal ingångar till et Behöver designas på nytt om något ska ändras ROM (minne som bara läses) kan användas Stort om många insignaler opcode bitar R bitar ktuellt FSM Read,, E XXX,B,E XXX,, XXX,,F,F

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 29 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 3 Tillståndsmaskin, exempel x= ska ge sekvensen y=34534534... och x= ska ge sekvensen y=27827827... Läsbart minne (ROM) istället för logiskt dress till ROM: x plus 3 bitar (=8x+aktuellt ) ata från ROM:y, nästa ddress (8x+aktuellt) ata (y, nästa) 3 2 2 4 3 3 4 4 5 5-7 3 8 2 9 9 7 8 8 2-5 2 9 ktuellt x ktuellt a d d ROM a d t r a y Generell mikroprogrammeringsstruktur ROM-minnet innehåller mikroprogrammet En address för varje Tre delar i ROM utdata Styrsignaler (en bit för varje styrsignal) En (eller flera) styrsignaler för val av R bitar En (eller flera) nästa address (mikro) beroende på resultat av opcode + R-bitar dress RSelect ontrol ktuellt ddress beräkning (opcode + R) + ktuellt n : Val av insignal alternativa addresser ROM TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 3 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 32 lternativ implementation av smaskin lternativ 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 + operation Återanvänd funktion Måste lägga till styrsignal som startar om sekvens (nollställning) alternativt laddar startsignal beroende på insignal ktuellt ktuellt + n : Sekvensexemplet, igen Värde ut är kontrollsignaler (3, etc.), insignal (x), adress, styrsignal väljer x eller fast hopp (tillbaks till start av sekvens) ktuellt 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. + x

TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 33 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 35 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 ddress beräkning (opcode + R) ktuellt Val av insignal alternativa addresser ROM Generell mikroprogrammeringsstruktur, forts. vvä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 föreläsning... ddress beräkning (opcode + R) ktuellt Val av insignal alternativa addresser ROM TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 29-3-25 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 igitalteknik: Mealy FSM reagerar inom samma klockcykel ddress beräkning (opcode + R) ktuellt Val av insignal alternativa addresser ROM www.liu.se