TSEA28 Datorteknik Y (och U)

Relevanta dokument
TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

Säkerhet. De onda. Vilka är farorna?

Tillståndsmaskiner. 1 Konvertering mellan Mealy och Moore. Ola Dahl och Mattias Krysander Linköpings tekniska högskola, ISY, Datorteknik

Kapitel 7 Systemexempel (forts.)

Snabbslumpade uppgifter från flera moment.

Mätningar på op-förstärkare. Del 3, växelspänningsförstärkning med balanserad ingång.

Projekt benböj på olika belastningar med olika lång vila

Föreläsningsanteckningar 2. Mikroprogrammering I

Lathund, procent med bråk, åk 8

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

Här kan du läsa om vilka funktioner som finns tillgängliga i Switch King samt vilka möjligheter som finns för att sätta upp systemet (skalbarhet).

Partnerskapsförord. giftorättsgods görs till enskild egendom 1, 2. Parter 3. Partnerskapsförordets innehåll: 4

Att komma igång. Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program

F5 Introduktion till digitalteknik

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

HF0010. Introduktionskurs i datateknik 1,5 hp

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

Elektronen och laddning

Enkätresultat för elever i år 2 i Nösnäsgymnasiet 2 i Stenungsund våren 2014

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

Enkätresultat för elever i år 2 i Praktiska Skövde i Praktiska Sverige AB hösten 2014

FRÅN A TILL Ö LäraMera Ab / och Allemansdata Ab / FRÅN A TILL Ö

DOP-matematik Copyright Tord Persson. Bråktal Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr

Väga paket och jämföra priser

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

Distribuerade Informationssystem VT-04

Enkätresultat för elever i år 2 i Mega Musik gymnasium hösten Antal elever: 47 Antal svarande: 46 Svarsfrekvens: 98% Klasser: MM13

Ext-14 (Ver ) Ext-14. FLEX-processorns styrenhet med fast logik

Idag: Dataabstraktion

Enkätresultat för elever i åk 9 i Borås Kristna Skola i Borås hösten Antal elever: 20 Antal svarande: 19 Svarsfrekvens: 95% Klasser: Klass 9

Föreläsningsanteckningar 3. Mikroprogrammering II

SA33 - Val av kurser inom program m terminsreg

David Wessman, Lund, 30 oktober 2014 Statistisk Termodynamik - Kapitel 5. Sammanfattning av Gunnar Ohléns bok Statistisk Termodynamik.

Grundläggande datavetenskap, 4p

Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik

Kampanj kommer från det franska ordet campagne och innebär att man under en tidsbegränsad period bedriver en viss verksamhet.

Individuellt Mjukvaruutvecklingsprojekt

Omvandla Vinklar. 1 Mattematiskt Tankesätt

Skriva B gammalt nationellt prov

Mätning av effekter. Vad är elektrisk effekt? Vad är aktiv-, skenbar- reaktiv- medel- och direkteffekt samt effektfaktor?

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Manual fö r kursspecifika ansö kningsförmula r Fölkhö gsköla.nu

VÄRDERINGSÖVNINGAR. Vad är Svenskt?

MultiBoot. Användarhandbok

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)

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

Programmera en NXT Robot

Företagsamhetsmätning Kronobergs län JOHAN KREICBERGS HÖSTEN 2010

Arbetsbeskrivning, att förbereda för studenternas registrering kommande termin. 1. Studenter antagna på fristående kurs 2

Sammanfattning av kursdag 2, i Stra ngna s och Eskilstuna

Tränarguide del 1. Mattelek.

Ha det kul med att förmedla och utveckla ett knepigt område!

TIMREDOVISNINGSSYSTEM

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

Rapport uppdrag. Advisory board

L(9/G)MA10 Kombinatorik och geometri Gruppövning 1

DATASAMORDNING NYHETERNA I CHAOS Utbildning Chaos/Handledning - Nyheterna i Chaos 3/

Statsbidrag för läxhjälp till huvudmän 2016

Träning i bevisföring

Så kan du arbeta med medarbetarenkäten. Guide för chefer i Göteborgs Stad

Om erbjudandet för din pensionsförsäkring med traditionell förvaltning.

Nyhetsbrev nummer 3, 2012

Vetenskapliga begrepp. Studieobjekt, metod, resultat, bidrag

4-6 Trianglar Namn:..

Manual. Mini. En Joystickmus för styrning av datorer Point-it! Mini USB Point-it! Mini USB Kula

Vad är WordPress? Medlemmar

Administration Excelimport

Kapitel 6. f(x) = sin x. Figur 6.1: Funktionen sin x. 1 Oinas-Kukkonen m.fl. Kurs 6 kapitel 1

Utbildningsplan för arrangörer

ELEV- HANDLEDNING (Ansökan via webben)

Utveckla arbetsmiljö och verksamhet genom samverkan

Lathund för överföring av rapporter och ljudfiler

Upplägg och genomförande - kurs D

Riktlinjer - Rekryteringsprocesser inom Föreningen Ekonomerna skall vara genomtänkta och välplanerade i syfte att säkerhetsställa professionalism.

Kundservicerapport Luleå kommun 2015

Manual för BPSD registret. Version 6 /

Praktisk programmering

Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare.

Fullför installation av ELIQ

Digital- och datorteknik

Enkät om heltid i kommuner och landsting 2015

Satsa på en bra utbildning så satsar vi på dig! Välkommen! Ove Lindberg, Rektor

Det finns en hemsida. Adressen är

Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel

Uppdragsbeskrivning. Digital Skyltning. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

912 Läsförståelse och matematik behöver man lära sig läsa matematik?

08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag

Övre plintar X1:1. Ref X1: V (sink) X1: V (drive) X2:1. DSI (+) X2:2. DSI (-) X3:1. 230VAC Nolla X3:2. 230VAC Fas X3:3. Arb.

Tentamen Datorteknik D del 2, TSEA49

Lathund för att Kartlägga din kompetens. Läs den och använd vid kartläggningen

Övningshäfte i matematik för. Kemistuderande BL 05

Systematiskt kvalitetsarbete

Syftet med en personlig handlingsplan

Grunderna i stegkodsprogrammering

Axiell Arena. Samarbeta om bilder Regionbiblioteket i Kalmar län

Arbeta bäst där du är Dialect Unified Mi

Transkript:

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 2 agens föreläsning TSE28 atorteknik (och U) Föreläsning 9 Kent Palmkvist, IS 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 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 3 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 4 Praktiska kommentarer Laborationsanmälan startar Torsdag 7/4 kl 2.3! Laboration 4: MI 2 + 2 h precis som tidigare Simuleringslabbar => kan köras hemifrån (på ixtab) Redovisa på labbtillfälle 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! 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

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 5 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 6 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 M68 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 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) TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 7 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 8 En närmare titt på datorn ator vs processor etc. 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: move.l #$,$234 Läs instruktionen från minnet Skriv $ I minnescell $234 ator Komplett system med minnen och I/O (input/output) Processor (PU entral Processing Unit) 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 ator I/O Processor

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 9 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 atorns byggstenar minne Mer om byggblock S S Funktionsblock Beräkna eller lagra data T ex minne, Kommunikation Koppla ihop register, minnen mm Bussar In P SP Ut U För borde detta vara en repetition av digitalteknik Multiplexer 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 B 2 3 S S B Kontroll (U) Bestäm vilket data skickas vart vkodning, styrsignaler Kommer utgå från boken (Figur 7.) Finns även bilder på bokens hemsida! Z 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 B t TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 2 ritmetisk logisk enhet () Beräkna alla funktioner, välj sedan rätt med mux Funktion väljs med : B -> -> B+ -> + -> B- -> - -> B+ -> -B -> Beräkning uppdaterar flaggvärden (ofta kallad R) B V NZ 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 Jfr med att prata i mun på varandra Sköts elektriskt med en s k tristategrind S S2 S3 E E2 E3 M M M2 M3 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 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

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 3 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 4 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 Q 42 22 3 22 42 lk 22 Q t pekar ut vilken minnescell som ska läsas/ändras innehåller värde till eller från minnescell Två olika funktioner 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 den långsammare än processorn Read Read dress 2 42 2 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 26-4-4 5 Enkel processorarkitektur En av många möjliga arkitekturer Figur 7. 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 E P,B V N Z R Bus BBus E, E, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 6 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 Read= Ladda från buss om Read= 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 V N Z R Bus B Bus E, E,

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 7 operationer utför beräkning eller kopiering Välj funktion med,, 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 MBR P MBR E MBR, P E P,B V N Z R Bus BBus E, E, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 8 Styrsignaler Styrsignaler definierade i arkitekturen Read 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 eller i varje steg ntag styrsignal = om den inte anges MBR P MBR E MBR, P E P,B V N Z R Bus B Bus E, E, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 9 Maskininstruktioner Exempel på maskininstruktioner som ska kunna utföras Op-code M eller T Op-code Namn Operation LO,M [] <- [M] LO,M [] <- [M] STORE M, [M] <- [] STORE M, [M] <- [], [] <- [] + [] SUB, [] <- [] - [] BR T [P] <- T BEQ T Om [Z] = då [P] <- 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) MBR P MBR E MBR, P E P,B V N Z R Bus BBus E, E, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 2 Exekvering av instruktion, del Fetch: Läs instruktion från minne till, öka P med Kopiera P till Öka P 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 P,B =, =,,, T E P,B =, =,,, P T2 Read=, MBR T3 =, =,,, MBR P MBR E MBR, P E P,B V N Z R Bus B Bus E, E,

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 2 Exekvering av instruktion, del 2 Utför instruktion (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 T =, =,,, MBR T =, =,,, T2 = Totalt 7 steg för instruktion MBR P MBR E MBR, P E P,B V N Z R Bus BBus E, E, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 22 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 MBR P MBR E MBR, P E P,B V N Z R Bus B Bus E, E, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 23 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,,, MBR P MBR E MBR, P E P,B V N Z R Bus BBus E, E, TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 24 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,,, MBR P MBR E MBR, P E P,B V N Z R Bus B Bus E, E,

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 25 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 26 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 FSM Read,, E XXX,B,E XXX,, XXX,,, 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 ) från ROM:y, nästa (8x+aktuellt) (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 x a d d ROM a d t r a y TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 27 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 + n : TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 28 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 beräkning (opcode + R) + ROM n : Val av insignal alternativa addresser

26-4-4 :24 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 29 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 TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 3 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 reagerar inom samma klockcykel beräkning (opcode + R) Val av insignal alternativa addresser ROM TSE28 atorteknik (och U), föreläsning 9, Kent Palmkvist 26-4-4 3 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... beräkning (opcode + R) Val av insignal alternativa addresser ROM www.liu.se