EDA216. Digital- och datorteknik. Diverse kompletterande material

Storlek: px
Starta visningen från sidan:

Download "EDA216. Digital- och datorteknik. Diverse kompletterande material"

Transkript

1 EDA26 Digital- och datorteknik Diverse kompletterande material

2 Diverse kompletterande material (pdf): Introbild med sifferindikator Positionssystem. Samband mellan binära och hexadecimal tal. Exempel på excess 8-kod. Grafiska symboler för de grundläggande logikoperationerna. (Tabell 3.) Viktiga satser i boolesk algebra. Booleska räkneregler och motsvarande grindnät. Övningsexempel på minimering med karnaughdiagram. NAND-, NOR- och XOR-grindar. Uppgift 4.4 (Don't care ex). Kodomvandlare för en digital vinkelgivare. Uppgifter för Demo. Två olika kodomvandlare. Väljare och fördelare. Princip för realisering av funktion med väljare. Realisering av funktion med väljare, exempel. Representation av heltal med ett begränsat antal sifferpositioner. Decimal addition för heltal utan tecken. Decimal subtraktion för heltal utan tecken (och -komplementaritmetik). Binär addition för heltal utan tecken. Binär subtraktion för heltal utan tecken (och 2-komplementaritmetik). -komplementaritmetik och -komplementrepresentation för heltal med tecken. 2-komplementaritmetik och 2-komplementrepresentation för heltal med tecken. Flaggor som används vid aritmetiska operationer. Logikkrets för addition av binära tal (Heladderare). Uppg Lösning. Uppg 6.5a,c,f; 6.8c,d,i,j. Krets för subtraktion. Aritmetik- logikenhet (ALU) för FLEX. Latchar. SR-latchen. Klockad (grindad) SR-latch. D-latch. Vippor. SR-, D-, JK- och T-vippa. Exempel på D-vippa med grindad laddingång. Uppg 5.; 5.3; 5.7; Register. Möjligheter att koppla ihop logikkretsars utgångar. Register i dataväg. Systemexempel. Uppg 7.3a,e och 7.4a. Läs- och skrivbart minne.

3 5.4 Räknare. Uppg 5.3; 5.4. Uppg X.. Excitationstabeller för SR-, D-, JK- och T-vippan. Uppg X.5. Tentauppg syntes. Användning av T-vippor vid konstruktion av räknare. Konstruktion av sekvensierare för FLEX- eller FLIS-processorn. Datorn enligt von Neumann. FLEX-datorn, detaljbild. FLEX- eller FLIS-datorn, utifrån sett. FLEX-datorn, programmerarens bild. FLEX-datorn, detaljbild. FLIS-datorn, programmerarens bild. Maskinprogram och assemblerprogram. Uppgifter Ext-8. FLIS-dator med I/O-portar. Beräkning av exekveringstid, uppgift F.4a-d. FLEX. Fast kopplad styrenhet, kopplingsblankett. FLIS-datorn, detaljbild. FLIS-processorns ALU. Den automatiska styrenheten (FLISP). Implementering av branch-instruktioner. Assemblatordirektiv (pseudoinstruktioner). Simulatorns I/O-enheter. Enkel styrning av borrmaskin. Uppgift X.7. Ext- (listfil, pdf) (Subrutinexempel.) Styrstrukturer i C. Hur FLIS-processorn läser och skriver i minnet. Krets för detektering av läsning på en viss minnesadress. Yttre signaler som påverkar exekveringen hos FLIS-processorn. Något om hur processorn U2 läser och skriver i minnet. Adressrum 6 bitar. Principen för anslutning av minnesmoduler och portar till U2. Exempel på fullständig och ofullständig adressavkodning. Uppg X.. Flyttal komplettering. Principen för multiplikation och division av binära heltal utan tecken. Multiplikation genom upprepad addition eller genom addition och skift. Division genom upprepad subtraktion eller genom subtraktion och skift.

4 Introbild med sekvensnät + kombinatoriskt nät Tryckknapp Räknare (Sekvenskrets) w z y x Kodomvandlare (Kombinatorisk krets) a b c d e f g a f g b e c d Sifferindikator Klocksignal

5 Talsystem Positionssystem Vårt vanliga decimala talsystem är ett positionssystem. Siffrornas vikt bestäms av deras position i talet. Ex. Talet 5768,29 Position: Talvärde: , 2 9 = Ett positionssystem har en bas. Basen är förhållandet (kvoten) mellan vikten hos den vänstra och den högra av två närliggande sifferpositioner. Basen är också lika med antalet olika siffersymboler (siffror) i talsystemet. Siffersymbolerna är normalt de som används i det decimala talsystemet dvs.,, 2,, basen-. Om de decimala siffrorna inte räcker till kompletterar man normalt med stora bokstäver från alfabetets början. Decimala talsystemet har t ex basen, som också är antalet olika siffersymboler. Man kan göra positionssystem för alla heltalsbaser som är större än eller lika med 2. Vanliga talsystem: Bas Talsystem Siffror 2 Binära, (8 Oktala,, 2,, 7) Decimala,, 2,, 9 6 Hexadecimala,, 2,, 9, A, B, C, D, E, F Positionssystemen fungerar som vägmätaren i en gammal bil. Basen för det aktuella positionssystemet är antalet siffror på varje sifferhjul. Då bilen körs så vrids sifferhjulet längst till höger fram en siffra för varje kilometer. När siffran kommer fram en gång per varv på ett sifferhjul så vrids sifferhjulet till vänster fram en siffra. Samma princip gäller för alla sifferhjul i vägmätaren. Ex. För en decimal vägmätare med 5 siffror är lägsta värdet givetvis och det högsta värdet = 5 -. Talintervallet som kan visas är alltså [, ] = [, 5 -]. Efter det högsta värdet varvar vägmätaren, dvs. den börjar om på. Antalet olika tal som vägmätaren kan visa är 5 =. Man säger att den visar vägsträckan modulo 5. För en binär vägmätare med 8 siffror är lägsta värdet och det högsta värdet 2 = = 255. Talintervallet som kan visas är alltså [, 255 ] = [, 2 8 ]. Efter det högsta värdet varvar vägmätaren, dvs. den börjar om på. Antalet olika tal som vägmätaren kan visa är 2 8 = 256. Vägsträckan visas modulo 2 8.

6 Illustration av sambandet mellan binära och hexadecimala tal Bin Hex Dec A B C 2 D 3 E 4 F A 26 B 27 C 28 D 29 E 3 F A 42 2 B 43 2 C 44 2 D 45 2 E 46 2 F

7 Exempel på excess 8-kod (excess 2 n- -kod, med n = 4) Analog/Digital-omvandlare, ADC Givare (Sensor) Spänning t ex [-8V,+8V] Analog Digital w z y x U = xyzw 2 (Binärt kodat värde för spänningen.) Start Färdig Koden decimalt: Koden binärt: Spänningsvärde: -8V -7V -6V -5V -4V -3V -2V -V V +V +2V +3V +4V +5V +6V +7V +8V U Man får här spänningen i volt genom att subtrahera 8 från kodordets värde (excess 8). Lägg märke till att spänningsvärdet +8 V inte får något kodord för denna kod.

8 Grind (Gate) Symbol Funktionstabell Booleskt uttryck INVERTERARE (ICKE, NOT) x u x u u = x ELLER (OR) x y u x y u u = x + y OCH (AND) x y u x y u u = x y Tabell 3. kompletterad (Grafiska symboler för de grundläggande logikoperationerna.)

9 Några viktiga satser inom Boolesk algebra.. x + y = y + x Kommutativa lagarna x y = y x 2. x (y + z) = x y + x z Distributiva lagarna x + (y z) = (x + y) (x + z) 3. x + = x x = x 4. x + x' = x x' = 5. x + = x = 6. x + x = x x x = x 7. x + (y + z) = (x + y) + z Associativa lagarna x (y z) = (x y) z 8. (x + y)' = x' y' De Morgans lagar (x y)' = x' + y' 9. (x')' = x

10 Viktiga satser i switchnätalgebra och motsvarande grindnät. x + y = y + x x y u y x u x y = y x x y u y x u 2. x (y + z) = x y + x z y z x u x y x z u x + (y z) = (x + y) (x + z) y z x u x y x z u 3. x + = x x u = x x = x x u = x 4. x + x = x u = x x x = u =

11 5. x + = x u = x x = 6. x + x = x x x x x x x = x u = u = x u = x 7. x + (y + z) = (x + y) + z = x + y + z y z x u x y z u x y z u y z x (y z) = (x y) z = x y z x u x y z u x y z u 8. (x + y) = x y x y u x y u x y (x y) = x + y u x y u 9. (x ) = x x x u = x

12 Övningsexempel på karnaughdiagram Tag fram minimala SP-uttryck ur karnaughdiagrammen nedan! (Ettorna!) xy zw f xy zw f 2 xy zw f 3 f = f 2 = f 3 = zw zw zw xy f 4 xy f 5 xy f 6 f 4 = f 5 = f 6 = xy zw f 7 xy zw f 8 xy zw f 9 f 7 = f 8 = f 9 = Svar: f = y w + yw f 2 = x y + x w f 3 = y + w f 4 = x w + yw + yz f 5 = x + y w f 6 = x + y + w f 7 = y w + yw + x y f 8 = y w + yw + xw f 9 = y w + x yz w + xyzw alternativt f 7 = y w + yw + x w f 8 = y w + yw + xy

13 Tag fram minimala PS-uttryck ur karnaughdiagrammen nedan! (Nollorna!) xy zw f xy zw f xy zw f 2 f = f = f 2 = zw zw zw xy f 3 xy f 4 xy f 5 f 3 = f 4 = f 5 = xy zw f 6 xy zw f 7 xy zw f 8 f 6 = f 7 = f 8 = Svar: f = (y + w)(y + w ) f = x (y + w) f 2 = y + w f 3 = (y + w)(z + w)(x + y) f 4 = (x + y )(x + w) f 5 = x + y + w f 6 = (y + w )(x + y + w) f 7 = (y + w)(x + y + w ) f 8 = (y + w)(y + w )(x + y + z) (x + y + z ) eller f 8 = (y + w)(y + w )(x + y + z) (x + z + w ) eller f 8 = (y + w)(y + w )(x + z + w )(x + y + z ) eller f 8 = (y + w)(y + w )(x + z + w )( x + z + w )

14 Grindsymboler och logikfunktioner Tabell 3. Grafiska symboler för de grundläggande logikoperationerna. Funktion Grind IEC-symbol (Amerikansk symbol) f = x' INVERTERARE (NOT) x f x f f = x+y ELLER (OR) x y f x y f f = x y OCH (AND) x y f x y f Tabell 3.2 Grafiska symboler för logiksambanden NOR och NAND. Funktion Grind IEC-symbol (Amerikansk symbol) f = (x+y)' NOR x y f x y f f = (x y)' NAND x y f x y f Tabell 3.4 Grafiska symboler för XOR-grinden. Funktion Grind IEC-symbol (Amerikansk symbol) f = x y XOR x y = f x y f Tabell 3.3 x y ELLER f = x+y EXKLUDERANDE ELLER (XOR) f = x'y+xy'

15 Ext-4 (Ver ) Praktikfall, minimering av grindnät Ett grindnät med utsignalen f och de fyra insignalerna x, y, z och w är givet. w z y x f(x,y,z,w) Grindnätet är uppbyggt med OCH-, ELLER- och INVERTERAR-grindar enligt figuren nedan. x y x' x'yz' z z' y w y w z y' yz'w y'zw f = x'yz' + yz'w + y'zw + yzw w z y yzw Kan man konstruera ett "mindre" nät med samma typer av grindar, som realiserar funktionen f? Med ett "mindre" nät menar vi här att antalet grindar eller ingångar är mindre.

16 Ext-4 (Ver ) f = x'yz' + yz'w + y'zw + yzw x y z w f Minimering: f zw xy f = Realisering:

17 Introduktionsexempel med "don't care"-termer Uppg 4.4 (Exempel på don't care.) Figuren gäller för ett kombinatoriskt nät som har utsignalen f = om den NBCD-kodade siffran X = (x 3 x 2 x x ) NBCD är större än eller lika med fem (X 5). x x x 2 x 3 X 5 f För alla andra NBCD-kodade siffror skall gälla att f =. Tal som inte tillhör NBCD-koden skall betraktas som "don't care". Konstruera ett minimalt kombinatoriskt nät med NAND-grindar och INVERTERARE.

18 2 Komplettering av uppgift 4.2 i arbetsboken. 9 8 Excess-3 Gray w NBCD d 3 w wz y x 7 z y x Kodomvandlare c b a Sifferindikator (Svart fält på kodskivan motsvarar nolla.) Decimal siffra Z NBCD abcd Excess-3- Graykod xyzw Excess-3- NBCD Gray x y z w a b c d

19 Övningsuppgifter (ur KMP) (Demo) 2. Omvandla till decimal form a) 2 f) Omvandla till decimal form a) 2C Omvandla till hexadecimal form a) Omvandla till binär form (naturlig binär kod). a) Skriv 563,782 på NBCD-kod. 3.4 I denna uppgift betecknar x, y och z booleska variabler. Bevisa genom fullständig binär evaluering, att b) x + yz = (x+y)(x + z) 3.5 Åskådliggör med hjälp av grindsymboler a) z (x'+y) 3.3 Skriv nedanstående booleska funktion på disjunktiv normal form. d) f = x ( y + z) 3.4 Skriv nedanstående booleska funktion på konjunktiv normal form. c) f = x ( y + z) 4.5 Konstruera ett minimalt kombinatoriskt nät som omvandlar den NBCD-kodade siffran X = (x 3 x 2 x x ) NBCD till sitt 9-komplement Y = 9-X = (y 3 y 2 y y ) NBCD. Nätet skall således ha fyra in- och fyra utsignaler. Tal som inte tillhör NBCD-koden kommer inte att uppträda. Vid realiseringen får INVERTERARE, samt NAND- och XOR-grindar användas. Realiseringen skall ha så få grindar som möjligt Realisera funktionen f = b'd' + bd + acd med hjälp av en av 8 -väljare. INVERTERARE får också användas.

20 Kodomvandlare a a a 2 BIN/OCT f f f 2 f 3 f 4 f 5 f 6 f 7 Figur 4. Prosamsymbol för "NBC till en av åtta" ("Binary/Octal") kodomvandlare. f a f a f 2 f 3 a 2 f 4 f 5 f 6 f 7

21 2 4 8 BCD/DEC Figur 4.2 Prosamsymbol för "NBCD till en av tio" (NBCD/Decimal) kodomvandlare. a3 a2 a a Dec f f f2 f3 f4 f5 f6 f7 f8 f ?????????? -?????????? -?????????? -?????????? -?????????? -??????????

22 MUX Väljare och fördelare s s s 2 } G 2 7 s 2 s s f g g g g 2 g 3 g 4 g 5 g 6 g f g g 2 g 3 g 4 g 5 g 6 g 7 Figur 4. Symbol och funktionstabell för av 8 väljare. s s s 2 g DX } G f f f 2 f 3 f 4 f 5 f 6 f 7 s 2 s s f f f 2 f 3 f 4 f 5 f 6 f 7 g g g g g g g g Figur 4.2 Symbol och funktionstabell för en " till 8 fördelare". val av källa MUX val av destination källsida g g g 2 g 3 g 4 g 5 g 6 g 7 } G 7 bussförbindelse } 2 DX G f f f 2 f 3 f 4 f 5 f 6 f 7 destinationssida Figur 4.3 Princip för tidsmultiplex med hjälp av väljare och fördelare

23 Realisering av booleska funktioner med hjälp av väljare. Nedan visas funktionstabellen för en godtycklig boolesk funktion f av fyra variabler. Vi observerar att värdena för x, y och z är lika parvis uppifrån och ner i hela tabellen. Radparet med x =, y = och z = är markerat. Till höger om detta radpar visas samtliga fyra möjliga kombinationer av f-värden för de två raderna. Vi konstaterar att f-värdet kan vara, w, w' eller för radparet och att samma sak gäller samtliga radpar i tabellen. Om man kopplar in variablerna x, y och z till selektoringångarna på en väljare med 8 (2 3 ) dataingångar så kommer varje kombination av x, y och z att motsvara ett radpar och därmed en egen dataingång på väljaren. Utsignalen från väljaren blir därför samma som värdet på den dataingång som motsvarar det inställda värdet på x, y och z. Genom att koppla in något av värdena, w, w' eller till varje dataingång kan man därför realisera varje funktion f av fyra variabler med hjälp av en väljare med tre selektoringångar. x y z w f???? 2 3????????????, w, w' eller, w, w' eller..., w, w' eller M U X x y z f(x,y,z,w)

24 Ett exempel på användning av väljare Man kan realisera vilken som helst av samtliga möjliga booleska funktioner av n variabler genom att använda en " av 2 n- väljare" och eventuellt en NOT-grind. Alltså kan en " av 8 väljare" tillsammans med en NOT-grind användas för att realisera vilken som helst av de 2 6 = olika booleska funktionerna av fyra variabler. Uppgift: Använd en " av 8 väljare" för att realisera den booleska funktionen f(x,y,z,w) som definieras av funktionstabellen nedan. Skriv in nedan till höger hur variablerna kopplas till väljarens styringångar. Skriv också in vilka värden som kopplas in på väljarens dataingångar. x y z w f M U X f 6 7 2

25 Representation av heltal med ett begränsat antal sifferpositioner Med ett begränsat antal sifferpositioner kan man bara representera heltal korrekt inom ett begränsat talområde. Man kan dock representera större heltal genom att helt enkelt stryka de siffror till vänster som inte får plats, men man får då en osäkerhet (ett fel) som beror på värdet av de strukna siffrorna. Ex. Med fyra decimala siffror kan man representera heltal i intervallet [, 9999] = [, 4 -] korrekt. Med fyra decimala sifferpositioner säger man att talen representeras modulo 4. Det innebär att alla tal som är större än 4 = 9999 kommer att representeras med en osäkerhet (fel) i form av termen n 4, där n är ett heltal (n =, 2, 3,...). Talet 3768 = representeras med fyra siffror av talet 768 och felet är 3 4. Ex. Med åtta binära siffror (bitar) kan man representera heltal i intervallet [, 2 ] = [, 2 8 -] = = [, 255 ] korrekt. Med åtta bitpositioner säger man att talen representeras modulo 2 8. Det innebär att alla tal som är större än 2 8 = 255 kommer att representeras med en osäkerhet (fel) i form av termen n 2 8, där n är ett heltal (n =, 2,...). Talet 943 = 2 = = representeras alltså med åtta bitar av talet 2 = 75 och felet är = = 768.

26 Decimal addition för heltal utan tecken, S = X + Y Exempel med två heltal X och Y med fyra sifferpositioner: X = 7396 Y = sifferposition minnessiffra (carry) X Y = S = 3238 = Additionen ger en summa som kräver 5 siffror. Overflow (spill) för tal utan tecken har inträffat eftersom den femte siffran c 4 =. Overflow vid addition av heltal utan tecken innebär att talområdets övre gräns har passerats. Den femte siffran c 4 har vikten 4 =, så värdet med endast 4 sifferpositioner blir Summan av två heltal med vardera 4 siffror ryms alltid i 5 sifferpositioner. Talområdet för 4-siffriga heltal utan tecken är [, 4 - ] = [, 9999].

27 Decimal subtraktion för heltal utan tecken, D = X Y Exempel med två heltal X och Y med fyra sifferpositioner: X = 7396 Y = sifferposition lån (borrow) X Y = D Overflow vid subtraktion av heltal utan tecken inträffar om det krävs ett lån vid subtraktionen av siffrorna längst till vänster. Det innebär att resultatet skulle ha blivit negativt, dvs. utanför talområdet. Negativa tal finns ju inte för tal utan tecken. Man kan också utföra subtraktionen med -komplementaritmetik som visas nedan. Byt ut X Y mot 4 + X Y. 4 + X Y = + X Y = X Y = X + (9999 Y) + = X + Y 9k Y = Y 9k som kallas (siffervis) 9-komplement av Y. Man bildar Y 9k genom att byta ut alla siffror i Y mot 9 y i (9 siffran). Med samma värden på X och Y som ovan får vi: Y 9k = sifferposition minnessiffra (carry) X Y 9k = D = Lägg märke till att vi har satt minnessiffran längst till höger till (c = ) och att minnessiffran ut c 4 =. c 4 har ju vikten 4 =, som vi lade till från början. Vi får alltså den korrekta skillnaden genom att stryka c 4. Overflow vid subtraktion med -komplementaritmetik upptäcks genom att minnessiffran som bildas (c 4 i exemplet ovan) vid additionen av siffrorna längst till vänster blir. Eftersom c 4 = i exemplet blir det inte overflow i detta fall.

28 Binär addition för heltal utan tecken, S = X + Y Exempel med två 8-bitars heltal X och Y: X = 2 = 73 Y = 2 = bitposition minnessiffra (carry) X + +Y = S = 275 = Additionen ger en summa som kräver 9 bitar. Overflow (spill) för 8-bitars heltal utan tecken har inträffat eftersom den nionde biten c 8 =. Overflow vid addition av heltal utan tecken innebär att talområdets övre gräns har passerats. Den nionde biten c 8 har vikten 2 8 = 256, så värdet med endast 8 bitar blir 9. Summan av två 8-bitars heltal ryms alltid i 9 bitar. (Summan av två n-bitars heltal ryms alltid i n + bitar.) Talområdet för 8-bitars heltal utan tecken är [, 2 8 ] = [, 256 ] = [, 255 ]. (Talområdet för n-bitars heltal utan tecken är [, 2 n ].)

29 Binär subtraktion för heltal utan tecken, D = X Y Exempel med två 8-bitars heltal X och Y: X = 2 = 73 Y = 2 = bitposition lån (borrow) X - -Y = D = 7 Overflow vid subtraktion av heltal utan tecken inträffar om det krävs ett lån vid subtraktionen av siffrorna längst till vänster. Det innebär att resultatet skulle ha blivit negativt, dvs. utanför talområdet. Negativa tal finns ju inte för tal utan tecken. Addition och subtraktion utförs olika och kräver därmed olika grindnät ( = kretsar). Vi använder istället 2-komplementaritmetik, på samma sätt som vi tidigare använde -komplementaritmetik och kan då utföra subtraktionen som en addition. Byt ut X Y mot 2 n + X Y, där n är antalet bitar vi arbetar med. Exempel med n = 8: X Y = X Y = X Y = X + ( 2 Y) + = X + Y k + 2 Y = Y k som kallas (siffervis) -komplement av Y. Man bildar Y k genom att invertera alla bitar i Y. Med samma värden på X och Y som ovan får vi: bitposition minnessiffra (carry) X + +Y k = D = 7 Lägg märke till att vi har satt minnessiffran längst till höger till (c = ) och att minnessiffran ut c 8 =. c 8 har ju vikten 2 8 = 256, som vi lade till från början. Vi får den korrekta skillnaden genom att stryka c 8. Overflow vid subtraktion med 2-komplementaritmetik upptäcks genom att minnessiffran (c 8 i exemplet ovan) vid additionen av siffrorna längst till vänster blir. Eftersom c 8 = i exemplet blir det inte overflow i detta fall.

30 Decimal aritmetik för heltal med tecken -komplementrepresentation av decimala heltal med tecken Först två definitioner: De tal som används för att representera verkliga tal i en dators register eller minne kallas ofta maskintal. Operationen n X = (99 9 X) + = X 9k + kallas -komplementering av X och resultatet blir "-komplementet av X", som skrivs X k. Ex. Antag att vi har tre positiva decimala heltal A, B och C med vardera 4 siffror. A = 7652, B = 253 och C = 4789 Vi bildar maskintalen för A, B och C genom att lägga till en teckensiffra längst till vänster i talen för att tala om att de är positiva: A = 7652, B = 253 och C = 4789 Som maskintal för de negativa talen A, B och C används -komplementen av maskintalen de positiva talen A, B och C. A k = 5 A = (99999 A) + = A 9k + (Detta tal är alltså maskintalet för A.) B k = 5 B = (99999 B) + = B 9k + (Detta tal är alltså maskintalet för B.) C k = 5 C = (99999 C) + = C 9k + (Detta tal är alltså maskintalet för C.) -komplementering av maskintalet innebär byte av tecken från positivt till negativt eller tvärt om. Talet A = 7652 motsvaras av maskintalet A k = = = Talet B = 253 motsvaras av maskintalet B k = = = Talet C = 4789 motsvaras av maskintalet C k = = = 952 Maskintal för positiva tal inleds med och negativa med 9. (Man kan även tänka sig att maskintal för positiva tal inleds med någon av siffrorna -4 och maskintal för negativa tal med någon av siffrorna 5-9, men detta skulle komplicera identifieringen av talets tecknet.) Med och 9 som teckensiffror i 5-siffriga decimala maskintal blir talområdet [-, +9999] -komplementaritmetik för decimala heltal Vi använder talen A, B och C ovan som exempel. Addition (Alla beräkningar nedan utförs med endast 5 siffror.) (+A) + (+B) = = 985 (Korrekt eftersom teckensiffrorna + =.) (+A) + (+C) = = 244 (Overflow eftersom teckensiffrorna + =.) (+A) + ( B) vilket motsvarar A + B k = = 5499 (Korrekt, olika tecken.) (+A) + ( C) vilket motsvarar A + C k = = 2863 (Korrekt, olika tecken.) ( A) + (+B) vilket motsvarar A k + B = = 945, dvs (Korrekt, olika tecken.) ( A) + (+C) vilket motsvarar A k + C = = 9737, dvs (Korrekt, olika tecken.) ( A) + ( B) = vilket motsvarar A k + B k = = 995 (Korrekt, = 9.) ( A) + ( C) = vilket motsvarar A k + C k = = (Overflow, = 8.) Subtraktion (Alla beräkningar nedan utförs med endast 5 siffror.) (+A) (+B) vilket motsvarar A + B 9k + = = 5499 (Korrekt, olika tecken.) (+A) (+C) vilket motsvarar A + C 9k + = = 2863 (Korrekt, olika tecken.) (+A) ( B) vilket motsvarar A + (B k ) 9k + = (97847) 9k + = = 985 (Korrekt, + = ) (+A) ( C) vilket motsvarar A + (C k ) 9k + = (952) 9k + = = 244 (Overflow, + = ) ( A) (+B) vilket motsvarar A k + B 9k + = = = 995, dvs. 985 (Korrekt, = 9) ( A) (+C) vilket motsvarar A k + C 9k + = = = (Overflow, = 8) ( A) ( B) vilket motsvarar A k + (B k ) 9k + = (97847) 9k + = = 945, dvs 5499 (Korrekt) ( A) ( C) vilket motsvarar A k + (C k ) 9k + = (952) 9k + = = 9737, dvs 2863 (Korrekt)

31 Binär aritmetik för heltal med tecken 2-komplementrepresentation av binära heltal med tecken Först två definitioner: De tal som används för att representera verkliga tal i en dators register eller minne kallas ofta maskintal. Operationen 2 n X = ( 2 X) + = X 2k + kallas 2-komplementering av X och resultatet blir "2-komplementet av X", som skrivs X 2k. Ex. Antag att vi har tre positiva binära heltal A, B och C med vardera 7 bitar. A = 2 (= 89 ) B = 2 (= 38 ) C = 2 (= 57 ) Vi bildar maskintalen för A, B och C genom att lägga till en teckensiffra längst till vänster i talen för att tala om att de är positiva: A = 2 B = 2 C = 2 Som maskintal för de negativa talen A, B och C används 2-komplementen av maskintalen för de positiva talen A, B och C. A 2k = 2 8 A = ( 2 A) + = A k + (Detta tal är alltså maskintalet för A ) B 2k = 2 8 B = ( 2 B) + = B k + (Detta tal är alltså maskintalet för B ) C 2k = 2 8 C = ( 2 C) + = C k + (Detta tal är alltså maskintalet för C ) 2-komplementering av maskintalet innebär byte av tecken från positivt till negativt eller tvärt om. Talet A = 2 motsvaras av maskintalet A 2k = ( 2 ) k + = 2 + = 2 (motsvarar 89 ) Talet B = 2 B 2k = ( 2 ) k + = 2 + = 2 ( 38 ) Talet C = 2 C 2k = ( 2 ) k + = 2 + = 2 ( 57 ) Maskintal för positiva tal inleds med och negativa med. Talområdet med 8-bitars maskintal: [ 2, + 2 ] = [ 28, +27 ]. Man ser att talet 28 inte har någon positiv motsvarighet. 2-komplementaritmetik Vi använder talen A, B och C ovan som exempel. Addition (Alla beräkningar nedan utförs med 8 bitar.) (+A) + (+B) = = 2 = +27 (Korrekt eftersom teckensiffrorna + =.) (+A) + (+C) = = 2, motsv. (Overflow eftersom teckensiffrorna + =.) (+A) + ( B) motsvaras av A + B 2k = = 2 = +5 (Korrekt, olika tecken.) (+A) + ( C) A + C 2k = = 2 = +32 (Korrekt, olika tecken.) ( A) + (+B) A 2k + B = = 2, motsv. 5 (Korrekt, olika tecken.) ( A) + (+C) A 2k + C = = 2, motsv. 32 (Korrekt, olika tecken.) ( A) + ( B) A 2k + B 2k = = 2 motsv. 27 (Korrekt, + =.) ( A) + ( C) A 2k + C 2k = = 2 = + (Overflow, + =.) Subtraktion (Alla beräkningar nedan utförs med 8 bitar.) (+A) (+B) motsvaras av A + B k + = = 2 = +5 (Korrekt, olika tecken.) (+A) (+C) A + C k + = = 2 = +32 (Korrekt, olika tecken.) (+A) ( B) A + (B 2k ) k + = = 2 = +27 (Korrekt, + = ) (+A) ( C) A + (C 2k ) k + = = 2 motsv. (Overflow, + = ) ( A) (+B) A 2k + B k + = = = 2 motsv. 27 (Korrekt, + = ) ( A) (+C) A 2k + C k + = = = 2 = + (Overflow, + = ) ( A) ( B) A 2k + (B 2k ) k + = = 2, motsv. 5 (Korrekt, olika tecken.) ( A) ( C) A 2k + (C 2k ) k + = = 2, motsv. 32 (Korrekt, olika tecken.)

32 Flaggorna N, Z, V och C som sätts vid aritmetiska operationer. När man utför de aritmetiska operationerna addition eller subtraktion mellan två maskintal i en dator är det oftast resultatet, dvs summan eller skillnaden man söker. Man vill också veta om resultatet är korrekt med det antal sifferpositioner som används. I vissa fall vill man veta om resultatet är noll eller om det är positivt eller negativt om det är ett tal med tecken. Av dessa skäl bildar man förutom resultatet också ett antal flaggor som innehåller information om resultatets giltighet, värde och tecken. N-flaggan (Negative) sätts till resultatets mest signifikanta bit (msb), dvs teckenbiten för tal med tecken. Z-flaggan (Zero) sätts till värdet om resultatet är noll. V-flaggan (overflow) sätts till värdet om overflow för tal med tecken har inträffat, dvs resultatet av en addition eller subtraktion är felaktigt eftersom det korrekta resultatet ligger utanför det tillgängliga talområdet (= inte ryms med det antal sifferpositioner som används). C-flaggan (Carry/Borrow): C-flaggan sätts till värdet om overflow för tal utan tecken har inträffat vid addition, dvs resultatet av additionen ligger utanför talområdet (= inte ryms med det antal sifferpositioner som används). C-flaggan har en annan funktion för subtraktion av tal utan tecken. Den sätts till värdet om resultatet av en subtraktion skulle bli negativt. (Det finns ju inga negativa tal för tal utan tecken.)

33 Principen och grindnät för addition av två n-bitars tal c n c n- c n-2... c i+ c i...c minnessiffror a n- a n-2... a i...a a augendsiffror + b n- b n-2... b i...b b addendsiffror s n s n- s n-2... s i...s s summasiffror För att addera två n-bitars tal krävs det enligt uppställningen ovan n st grindnät som bildar utsignalerna s i och c i+ av insignalerna a i, b i och c i, dvs n st heladderare med symbol och funktionstabell nedan. a i b i c i P Q C Heladderare s i CO c i+ ai bi ci ci+ si Ur funktionstabellen får man fram s i och c i+ på SP normal form: s i = a i 'b i 'c i + a i 'b i c i ' + a i b i 'c i ' + a i b i c i c i+ = a i 'b i c i + a i b i 'c i + a i b i c i ' + a i b i c i (4.2 i KMP) (4.3 i KMP) Förenkling ger: s i = (a i b i ) c i c i+ = a i b i + (a i b i ) c i (4.4 i KMP) (4.5 i KMP) Motsvarande grindnät: a i = a i b i = s i b i a i b i c i+ c i

34 Genom att koppla ihop fyra heladderare enligt figuren nedan får man en fyrabitars heladderare som adderar två st fyrabitars tal enligt uppställningen till höger. a P s c 4 c 3 c 2 c a 3 a 2 a a + b 3 b 2 b b s 4 s 3 s 2 s s b Q c = C CO a P s b Q C CO a 2 P s 2 b 2 Q C CO a 3 P s 3 b 3 Q C CO c 4 = s 4 Symbol för en fyrabitars heladderare: a 2 3 b b b 2 b 3 } P 3 { 3 } Q 3 s s s 2 s 3 c CI CO c 4

35 Realisering av heladderare med AND/OR-nät 4.26 a i a i ai b i c i b i b i c i c i produkttermer SP-uttryck s i c i+....

36 Realisering av heladderare med AND/OR-nät (Lösning) 4.26 ai bi ci ai ai bi bi ci ci si = ai'bi'ci + ai'bici' + aibi'ci' + aibici ci+ = ai'bici + aibi'ci + aibici' + aibici = = ai'bici + aibi'ci + aibi produkttermer SP-uttryck s i c i+....

37 Aritmetikuppgifter 6.5 Beräkna 2-komplementet till följande tal a) 2 c) 2 f) I en dator representeras heltal av kodord x 7 x 6 x 5 x 4 x 3 x 2 x x. För positiva tal är x 7 = medan x 6 x 5 x 4 x 3 x 2 x x anger talets storlek enligt naturlig binärkod. Negativa heltal representeras som 2-komplementet till motsvarande positiva tal. Datorn arbetar med binär aritmetik. Subtraktion utförs som addition av subtrahendens -komplement med additionskretsens minnessiffra in (CI) ettställd. c) Visa hur additionen (+73) + (+45) utförs i datorn. d) Visa hur subtraktionen (+73) (+45) utförs i datorn. i) Visa hur additionen (+23) + (+45) utförs i datorn. Vilket decimalt tal motsvaras summan av? Observera, att alla tal representeras av 8-bitars kodord i datorn. Diskutera resultatet. j) Visa hur subtraktionen (-45) (+23) utförs i datorn. Vilket decimalt tal motsvaras skillnaden av? Observera, att alla tal representeras av 8-bitars kodord i datorn. Diskutera resultatet.

38 Subtraktionskrets b n b n- b n-2...b i...b lånesiffror x n- x n-2...x i...x x minuendsiffror - y n- y n-2...y i...y y subtrahendsiffror s n- s n-2...s i...s s skillnadsiffror } P-Q P 3 P-Q 3 } { Q 3 BI BO Figur 6.5 Istället för kretsen ovan utför man subtraktion med additionskretsen nedan enligt: D = A + B k + A B a 2 3 b b b 2 b P Q 3 d d d 2 d 3 D c = CI CO c 4 '= b 4 Inverteringen av c 4 förklaras av att man vill att b 4 = om A < B, dvs om A är mindre än B. Man utför ju operationen D = A + B k + = A B, som är mindre än 2 4 om A < B. Det innebär att c 4 = om A < B. Genom att invertera c 4 får vi därför rätt värde på b 4.

39 Aritmetik- logikenhet för FLEX (FLEX-ALU) D(8) E(8) Funktion (f 3 f 2 f f ) C in ALU Flaggor U(8) ALU:ns logik- och aritmetikoperationer på indata D och E definieras av ingångarna Funktion (F) och C in enligt tabellen nedan. F = (f 3, f 2, f, f ). I kolumnen Operation förklaras (där det behövs) hur operationen utförs. Tecknen "+" och " " avser aritmetiska operationer. Med D k menas att samtliga bitar i D inverteras. f 3 f 2 f f U = f(d,e,f,c in ) Operation Resultat Bitvis nollställning D E Bitvis invertering D k Carryflaggan (C) innehåller minnessiffran ut (carry-out) från den mest signifikanta bitpositionen (längst till vänster) om en aritmetisk operation utförs av ALU:n. Vid subtraktion gäller för denna ALU att C = om lånesiffra (borrow) uppstår och C = om lånesiffra inte uppstår. Carryflaggans värde är vid andra operationer än aritmetiska. Bitvis invertering E k Bitvis OR D OR E Bitvis AND D AND E Bitvis XOR D XOR E D + + C in D + C in D + FFH + C in D + C in D + E + C in D + E + C in D + D + C in 2D + C in D +E k + C in D E + C in Bitvis nollställning Bitvis nollställning Bitvis ettställning FFH Overflowflaggan (V) visar om en aritmetisk operation ger "overflow" enligt reglerna för 2- komplementaritmetik. V-flaggans värde är vid andra operationer än aritmetiska. Zeroflaggan (Z) visar om en ALU-operation ger värdet noll som resultat på U-utgången. Signflaggan (N) är identisk med den mest signifikanta biten (teckenbiten) av utsignalen U från ALU:n.

40 Kapitel 5 Sekvensnät 5. Grundläggande minneselement (Latchar) SR-latch: S ' q S ' S q R ' q' R ' R q' Figur 5. SR(RS)-latch. Koppling och symbol. S S' q S S q R R' q R R q' Figur 5. Annan SR-latch. Koppling och symbol. Grindad (Klockad) SR-latch: S q S S q C C R q' R R q Figur 5.2 Grindad SR-latch. Koppling. Figur 5.5 Grindad SR-latch. Symbol. Klockad D-latch: D S q D D q C C R q q Figur 5.7 Klockad D-latch. Koppling och symbol.

41 Kapitel 5 Sekvensnät 5.2 Vippor D- och SR-vippan: D D q S S q C C q' R R q' Figur 5.24 Symboler för D-vippa med triggning på positiv flank och SRvippa med triggning på negativ flank (högra figuren). D q q' Nivå A Nivå B Nivå C Figur 5.25 D-vippa med triggning på positiv flank. JK-vippan: J S S q C K R R q Figur 5.26 Principen för JK-vippan. J C K Figur 5.27 Symbol för JK-vippan.

42 T-vippan: T-vippan är en JK-vippa med insignalen T kopplad till både J- och K-ingången. T C Symbol för T-vippan. Asynkrona ingångar för ettställning och nollställning: När en vippa ansluts till matningsspänningen vet man inte om den startar med Q = eller. Man kan dock förse vipporna med extra ingångar som tvingar dem att starta med ett känt Q-värde. Figuren nedan visar symbolen för en D-vippa med asynkrona Set- och Resetingångar. Att ingångarna är asynkrona innebär att de inte är beroende av klocksignalen. Det innebär att när t ex S är aktiv, så kommer Q att anta värdet (S = Set, ettställ) oberoende av övriga insignaler. Om R är aktiv får Q värdet (R = Reset, nollställ) på motsvarande sätt. Endast en av S och R skall vara aktiv samtidigt. S D C R D-vippa med asynkrona Set- och Resetingångar. Funktionstabeller för de olika vipptyperna: D q + S R q + J K q + T q + q? q q' q q'

43 D-vippa med "load enable"-ingång En vanlig D-vippa laddas med nytt innehåll från D-ingången vid varje klockpuls. I ett system där en gemensam klocksignal är ansluten till alla vippor är detta inte lämpligt. Där vill man ha möjligheten att välja vilka vippor, som skall ladda ett nytt värde. I sådana fall krävs en extra ingång som bestämmer om vippan skall laddas med ett nytt värde. Man kan komplettera en vanlig D-vippa så att den kan förberedas för att ladda eller inte ladda ett nytt värde vid positiv klockpulsflank. För att möjliggöra selektiv laddning skall vippan alltså kompletteras så att den också får en "grindande" ingång G, som är en s k "load enable"-ingång. Ett exempel på en sådan D- vippa ges av Prosamsymbolen i figuren nedan, där LD, står för "load enable". Denna D- vippa har som synes också asynkrona Set- och Reset-ingångar. D LD S 2D C2 G R Q SEK Prosam-symbol för en D-vippa med "load enable"-ingång Funktionsbeskrivning Genom att komplettera en vanlig D-vippa med en av 2 väljare enligt figuren nedan kan man välja med insignalen LD, om vippan skall laddas med ett nytt värde Q = D vid aktiv klockpulsflank eller behålla det gamla värdet Q. När LD= laddas den med det nya värdet D och när LD = återladdas den med sitt gamla värde Q. LD är således en styrsignal, som styr hur vippan skall laddas vid klockpulsens aktiva flank, i detta fall den positiva flanken. D M U X D S D C Q LD R Q'

44 Studium av latchar och vippor 5. I figuren visas en RS-latch jämte tidsdiagram för S'- och R'-signalerna. Rita upp tidsdiagrammet för Q om Q = från början. S' S' S Q R' Q R' R Q' 5.3 I figuren visas en klockad D-latch jämte tidsdiagram för D- och -signalerna. Rita upp tidsdiagrammet för Q om Q = från början. D D D Q Q C Q' 5.7 I figuren visas en flanktriggad D-vippa jämte tidsdiagram för - och D-signalerna. Rita upp tidsdiagrammet för Q om Q = från början. D D D Q Q C Q' 5.8 I figuren visas en flanktriggad JK-vippa jämte tidsdiagram för -, J- och K-signalerna. Rita upp tidsdiagrammet för Q om Q = från början. J J J Q K C K K Q' Q

45 Kapitel 5.3 Register k- k-2 2 Figur 5.32 Vanligen använd symbol för k bitars register. C R D D D D Figur 5.33 Fyrabitars register med asynkron nollställning M M M2 C3,3D 2,3D,3D 2,3D,3D 2,3D,3D 2,3D Figur 5.34 Fyrabitars 2-ingångs register

46 q q 2 q 3 q 4 D D D D D C C C C Figur bitars skiftregister uppbyggt med 4 stycken D-vippor. SRG4 D C/ D q q 2 q 3 q 4 Figur 5. Symbol för ett 4-bitars skiftregister. M SRG4 M M2 C3/,3D 2,3D 2,3D 2,3D 2,3D Figur 5.38 Symbol för 4-bitars skiftregister med parallellinskrivning. SRG4 R m M m } 3 C4 /2,4D 3,4D 3,4D 3,4D 3,4D 2,4D Figur 5.39 Prosamsymbol för skiftregistret 7494.

47 4. Möjligheter att koppla ihop logikkretsars utgångar (Grundregeln är att logikkretsutgångar inte får kopplas ihop.) Grind A u A u B Grind B u Grind A Grind B +5V g A = sluten switch u A u B öppen switch g B = +5V V g A = öppen switch u sluten switch g B = V Figur 4.9 Två standardgrindar med ihopkopplade utgångar. Trådningsbara grindar w x f = wx+yz y z Figur 4.2 Wired-OR. Tabell 4.8 Operation ELLER-bildning i föreningspunkt (wired-or) Svensk standard OCH-bildning i föreningspunkt (wired-and)

48 E E... E n- g f = E g + E g +... E n- g g n- Figur 4.2 Väljarfunktion genom ELLER-bildande trådning. D D... D n- g g... g n-... Figur 4.22 Väljarfunktion genom OCH-bildande trådning.

49 Kap 7.2 Ihopkoppling av utgångar via "three-state"-buffert Tabell 7. OE g f g OE g f Z Z Figur 7.2 Three-state buffert Utöver de två tillstånden och kan utgången f också inta ett tredje tillstånd Z, där utgången är bortkopplad från ingången, dvs bortkopplad från g-signalen. Signalen som styr switchen i figur 7.2 kallas för OE (Output Enable). När OE = så är switchen sluten, vilket innebär att f = g. Standardsymbolerna för "three-state" bufferten ges i tabell 7.2. Tabell 7. (EN = Enable) Operation Svensk standard Amerikansk symbol "threestate" g OE EN f g OE f buss LD A Register A LD B Register B LD C Register C LD D Register D OE A OE B OE C OE D Figur 7.23 Registerutgångars anslutning till buss via "three-state" buffertar.

50 Kapitel 7 Systemexempel Grindad D-vippa: D LD 2D C2 G Q Register med laddingång: D in7 D in6 D in5 D in4 D in3 D in2 D in D in 2D q 7 2D q 6 2D q 5 2D q 4 2D q 3 2D q 2 2D q 2D q C2 C2 C2 C2 C2 C2 C2 C2 G G G G G G G G LD D ut7 D ut6 D ut5 D ut4 D ut3 D ut2 D ut D ut Figur 7. Principen för ett 8-bitars laddbart register. LD G C2,2D,2D,2D,2D,2D,2D,2D,2D LD Register a) standardsymbol b) förenklad symbol Figur 7.2 Symboler för ett 8-bitars laddbart register.

51 buss LD A Register A LD B Register B LD C Register C LD D RegisterD Val av register: s s MUX Figur 7.7 Registerutgångars anslutning till buss via väljare. buss LD A Register A LD B Register B LD C Register C LD D Register D OE A OE B OE C OE D Figur 7.23 Registerutgångars anslutning till buss via three-state buffertar.

52 Kapitel 7 Systemexempel (forts.) Hur man kan koppla ett av registerinnehållen till bussen. buss LD A Register A LD B Register B LD C Register C LD D RegisterD Val av register: s s MUX Figur 7.7 Registerutgångars anslutning till buss via väljare. Alternativ utan väljare (multiplexer): buss LD A Register A LD B Register B LD C Register C LD D Register D OE A OE B OE C OE D Figur 7.23 Registerutgångars anslutning till buss via three-state buffertar.

53 Nu vill vi även koppla in en ALU till bussen. buss D E LD A OE A Register A LD B OE B Register B funktionsval C in ALU U flaggor (N, Z, V, C) Figur 7.25 Dataväg med två register och en aritmetik-logik-enhet (ALU). Vi gör det i flera steg. D E funktionsval C in ALU flaggor U LD CC Reg CC flaggor Figur 7.26 ALU där flaggvärdena lagras i ett flaggregister CC. (CC står för Condition Code.) Se till att C in till ALU'n kan väljas på alla nödvändiga sätt. Då passar det bra med en multiplexer. (C tas från flaggregistret.) D E M U C 2 X C 3 2 funktionsval C in ALU U LD CC flaggor Reg CC g g flaggor Figur 7.27 Inkoppling av väljare (multiplexer) för val av C in.

54 Eftersom ALU'n är ett kombinatoriskt nät så måste alla insignaler finnas samtidigt på ingångarna. Därför kopplar vi in ett register (T) till E-ingången för den ena invariabeln till ALU'n. Den andra invariabeln kopplar vi direkt till D-ingången från bussen. buss LD T Reg T M U C 2 X C 3 2 g g funktionsval D C in LD R OE R ALU U Reg R E LD CC flaggor Reg CC flaggor Figur 7.28 Användning av temporärregister, T och R, för E respektive U. Bussen är upptagen av invariabeln till ALU'ns D-ingång. Vi kopplar därför ALU'ns utsignal U till ingången på ett register (R), som vi senare kan koppla ut på bussen via en three-state buffert, när bussen är ledig.

55 För att kunna välja om flaggorna skall laddas från ALU'n eller från bussen ansluter vi en väljare till CC-registrets ingång. Vi ansluter också CC-registrets utgång till bussen via en "three-state" buffert. buss LD T Reg T M U C 2 X C 3 2 g g funktionsval D C in LD R OE R ALU U Reg R E g 2 LD CC flaggor OE CC MUX Reg CC flaggor Figur 7.29 Inkoppling av väljare (multiplexer) för val av indata till CC-registret. Den fullständiga kopplingen visas nedan: buss LD A OE A Register A LD B OE B Register B M U C 2 X C 3 2 g g funktionsval D C in LD R OE R LD T ALU U Reg R Reg T E g 2 LD CC flaggor OE CC MUX Reg CC flaggor Figur 7.3 Dataväg med register och ALU.

56 Principen för en minnesmodul med läs- och skrivbart minne (RWM). "register" nr minnesadress, n bitar dataord på adress 2 n olika adresser kräver n-bitars adress 2 dataord på adress dataord på adress 2 Skriv Läs OE ADRESS Minnesmodul DATA UT DATA IN 2 n - dataord på adress 2 n - buss a) adresseringsprincip b) förenklad symbol Figur 7.3 RWM, minnesmodul för läsning och skrivning. Datavägen kompletterad med läs- och skrivbart minne (RWM). buss minnesadress LD A OE A Register A LD B OE B Register B M U C 2 X C 3 2 g g funktionsval D C in LD R OE R LD T ALU U Reg R Reg T E g 2 LD CC flaggor OE CC MUX Reg CC flaggor Skriv Läs OE M ADRESS Minnesmodul DATA UT DATA IN Figur 7.32 Dataväg med RWM.

57 En styrenhet för datavägen. styrsignaler val av operation sekvensnät = styrenhet... LDA OEA LDB OEB ALU funktionsval Figur 7.33 Generering av styrsignaler till datavägen. Komplettera med ett register för operationsnummer. nästa operationskod styrsignaler LD IR Instruktionsregister (IR) operationskod Styrenhet LDA OEA LDB OEB ALU funktionsval Figur 7.34 Operationskoden finns i instruktionsregistret. Dataväg med styrenhet. buss minnesadress LD A OE A Register A LD B OE B Register B M U C 2 X C 3 2 g g funktionsval D C in LD R OE R LD T ALU U Reg R Reg T E g 2 LD CC flaggor OE CC MUX Reg CC flaggor Skriv Läs OE M ADRESS Minnesmodul DATA UT DATA IN nästa operationskod flaggvärden styrsignaler LDA OEA LDB OEB ALU funktionsval LD IR Instruktionsregister (IR) operationskod reset Styrenhet Figur 7.35 Dataväg med styrenhet.

58 RTN-beskrivning och styrsignaler för operationer i en enkel dataväg För övningsuppgifterna 7.3 och 7.4 gäller systemet i figur 7.3 eller För ALU:n gäller: D(8) E(8) f 3 f 2 f f U = f(d,e,c in ) Funktion D C in ALU Flaggor E D k U(8) ALU:ns logik- och aritmetikoperationer på indata D och E definieras av ingångarna Funktion (F) och Cin enligt tabellen. F = (f3, f2, f, f) "+" och " " i tabellen avser aritmetiska operationer med D k menas att samtliga bitar i D inverteras E k D OR E D AND E D XOR E D + C in D + C in D + E + C in D + D + C in D E + C in FFH

59 buss LD A OE A Register A LD B OE B Register B C 2 M U X C 3 2 g g funktionsval C in D LD R LD T U ALU Reg R Reg T E g 2 LD CC flaggor MUX Reg CC flaggor OE R OE CC Figur 7.3 Dataväg med register och ALU.

60 buss minnesadress LD A OE A Register A LD B OE B Register B M U C 2 X C 3 2 g g funktionsval D C in LD R OE R LD T ALU g 2 Figur 7.32 Dataväg med RWM. U Reg R Reg T E LD CC flaggor OE CC MUX Reg CC flaggor Skriv Läs OE M ADRESS Minnesmodul DATA UT DATA IN Figur 7.32 Dataväg med RWM.

61 7.3 Gör för respektive operation en tabell med tabellhuvudet: Klockcykel OE A OEB OER LDA LDB LDT LDR LDCC g2 g g ALUfunktion RTN och fyll sedan i styrsignalernas värden för de klockcykler som behövs för att verkställa operationen. Tag inte hänsyn till eventuellt overflow. Kolumnen Klockcykel längst till vänster skall ange klockcykelns nummer. ALU-funktion skall ange funktionen som ALU:n skall utföra. Kolumnen RTN skall ge RTN beskrivningen för deloperationerna på aktuell rad. a) Innehållet i register A skall användas för att göra bitvis-och-operation med innehållet i register B. Resultat skall placeras i register B. RTN: A AND B B, Innehållet i register A får inte ändras. e) RTN: 5 B - 3 A A, flaggor CC, register B får inte ändras. Diskutera flaggbildningen.

62 7.4 Gör för respektive operation en tabell med tabellhuvudet: Klockcykel OE A OEB OER LDA LDB LDT LDR LDCC g2 g g ALUfunktion Läs Skriv Minnesadress RTN Kolumnen Klockcykel längst till vänster skall ange klockcykelns nummer. Kolumnerna Läs och Skriv skall ange när läsning eller skrivning skall utföras i minnet. Vid läsning i minnet (Läs=) läggs minnesinnehållet ut på bussen på samma sätt som ett registerinnehåll. Skrivning i minnet (Skriv = ) verkställs vid positiv klockpulsflank. I kolumnen ALU-funktion skrivs vilken operation som avses t ex D+E+Cin. Val av C in som, eller C-värdet från register CC anges i kolumnerna g och g. Det får förutsättas att summan ryms i 6 bitar. Innehållen i register A och B får inte ändras. 6-bitars tal lagras i minnet med mest signifikant del på den lägsta av två närliggande adresser. Tecknet : i RTN-beskrivningen A:B betyder att innehållen i register A och B betraktas som ett 6-bitars tal, dvs skrives ihop till ett 6-bitars tal. a) Innehållen i register A och B betraktas tillsammans som ett 6-bitars tal med den mest signifikanta delen i register A. Detta 6-bitars tal skall adderas till ett annat 6-bitars tal som finns i minnet på adresserna 2H och 2H. Resultatet (6 bitar) skall läggas på adresserna 22H och 23H. RTN: A:B + M(2H):M(2H) M(22H):M(23H), flaggor CC

63 Läs- och skrivbart minne (RWM) 256*8 RWM A A A 2 A 7 f f f 2 f i f Write LD f Read Register (8) OE f 255 D 7 -D Read Write f i Write LD Register (8) f i Read OE i f 255 Write LD f 255 Read Register (8) OE 255

64 5. Räknare En räknare är ett antal sammankopplade vippor som registrerar antalet inkommande klockpulser. Med n st vippor kan maximalt 2 n st klockpulser räknas. Antalet klockpulser registreras i form av n-bitars kodord. En räknare som registrerar klockpulser från till m- kallas för en modulo-m räknare. Om antalet inkommande klockpulser överstiger m- så kommer klockpulserna med numren m, m+,... att registreras som pulser med numren,,... (jämför med vägmätaren i en bil). I detta avsnitt skall ett antal vanliga räknare visas. I figur 5.4 visas kopplingen för en 3-bitars (upp)räknare som räknar med naturlig binärkod (NBC), dvs. sekvensen q 3 q 2 q :,,,,,,,,, J J J q q 2 q 3 C C C K K K Figur bitars binärräknare Symbolen för räknaren visas till vänster i figur 5.46, tillsammans med två andra räknare för nedräkning, respektive reversibel räkning. CTR3 + CTR3 - CTR3 s M M2 +/2- [] q [] q [] q [2] q 2 [2] q 2 [2] q 2 [4] q 3 [4] q 3 [4] q 3 Figur 5.46 Symboler för 3-bitars binärräknare som räknar a) uppåt (+), b) nedåt (-) och c) uppåt eller nedåt (+/2-).

65 Figur 5.47 visar symbolen för en dekadräknare med sekvensen q 4 q 3 q 2 q :,,,,,,,,,,,, som alltså räknar i NBCD-kod ( 9) och börjar om på igen efter 9. CTRDIV + [] q [2] [4] [8] q 2 q 3 q 4 Figur 5.47 Symbol för dekadräknare. Figur 5.5 visar symbolen för en 4-bitars räknare som räknar i naturlig binärkod q 4 q 3 q 2 q : 2 2, dvs. ( 5). Räknaren är konstruerad så att man enkelt kan utöka antalet bitar i steg om 4 bitar genom att ansluta nya likadana räknare. Denna räknare kommer vi att använda i styrenheten till den processor som vi har börjat konstruera. M CTR4 5CT= M 3CT=5 M2 G3 G4 C5 2,3,4+,5 D [],5 D [2],5 D [4],5 D [8] Figur 5.5 PROSAM-symbol för en ofta använd binärräknare.

66 5.3 Analys av synkrona räknare med JK- och SR-vippor I figuren visas kopplingen för en räknare. Rita en tillståndstabell och en tillståndsgraf med tillstånden numrerade (Q2QQ). Rita också tidsdiagram för Q2 - Q om alla vipporna har Q = från början. J J Q J J Q J 2 J Q 2 K K C K K C K 2 K C Lösning: J 2 = K 2 = J = K = J = K = Q 2 Q Q J 2 K 2 J K J K Q + 2 Q + + Q J K Q + Q 2 Q Q Q Q Q 2

67 5.4 I figuren visas kopplingen för en räknare. Rita en tillståndstabell och en tillståndsgraf med tillstånden numrerade (Q2QQ). Rita också tidsdiagram för Q2 - Q om alla vipporna har Q = från början. S S Q S S Q S 2 S Q 2 R R C R R C R 2 R C Lösning: S 2 = R 2 = S = R = S = R = Q 2 Q Q S 2 R 2 S R S R Q + 2 Q + + Q S R Q + Q 2 Q Q Q Q Q 2

68 Analys av synkron räknare medt-vippor T T 2 T 3 T 3 = T 2 = T = x q 3 q 2 q T 3 T 2 T q 3 q 2 + q + T Q + Q Q'

69 Funktionstabeller för de olika vipptyperna: Excitationstabeller för de olika vipporna: D q + S R q + q? J K q + q q' T q + q q' q q + T q q + D q q + S R - - q q + J K

70 Konstruktion (syntes) av autonom synkron räknare q x q y q z q + x q + y q + z J x K x J y K y J z K z

71 Tentaexempel på syntes av räknare Tenta 2--7 uppgift nr 3 b) Realisera en autonom räknare med räknesekvensen q 2 q q :,,,,,,,. T-vippor, NAND-grindar med valfritt antal ingångar och NOT-grindar får användas. Tenta uppgift nr 3 b) Realisera en räknare med räknevillkoret x och räknesekvensen q q : x = :,,,,, x = :,,,,, T-vippor, NAND-grindar med valfritt antal ingångar, XOR-grindar och NOT-grindar får användas.

72 Användning av T-vippan vid konstruktion av binärräknare T-vippor passar utmärkt när man skall konstruera räknare för naturlig binärkod eftersom man kan ta fram enkla villkor för när en bit skall ändra värde, dvs när T =. Exempel: 4-bitars räknare (Uppräkning).. b 3 b 2 b b (Nedräkning). b 3 b 2 b b Vid binär uppräkning skall alla bitar till höger i talet ha värdet för att en given bit skall ändras, dvs bit b i ändras om bitarna b i- = b i-2 = = b =. Se tabellen till ovan vänster. Vid binär nedräkning skall alla bitar till höger i talet ha värdet för att en given bit skall ändras, dvs bit b i ändras om bitarna b i- = b i-2 = = b =. Se tabellen till ovan höger. Om man använder D-vippor kan man "konvertera" dem till T-vippor enligt beskrivningen nedan. T Q Q + D T D Q D = T Q + TQ = T Q = T D D C Q

73 Konstruktion av en 4-bitars räknare för styrenheten i FLEX-eller FLIS-processorn Räknaren som bestämmer tillståndet hos styrenheten skall ha tillståndsgrafen nedan: RESET NF NF NF RESET är en yttre styrsignal som skall nollställa räknaren. Q Q Q2 Q3 Q4 NF Q5 NF Q5 NF är en styrsignal som skall sätta räknarvärdet till 2 = 3. NF Vi börjar med att konstruera en 4-bitars autonom räknare. (Räknesekvens:,, 2,, 4, 5,,, 2, ) Tillstånden numreras q 3 q 2 q q. T-vippor är det naturliga valet enligt tidigare resonemang. För T-vippor gäller att q + = Q för T = och q + = Q för T =. Q ändras alltså om T =. Räknarens utsignaler : q 3 q 2 q q När man betraktar de binära värdena vid uppräkning ser man att bit q alltid ändras efter klockpuls och att övriga bitar bara ändrar sig om alla bitar med lägre nummer är ettor. Det innebär att följande uttryck fås för T: T = ; T = q ; T 2 = q q ; T 3 = q 2 q q Omskrivning ger: T = ; T = q ; T 2 = q T ; T 3 = q 2 T 2 q T = q T T 2 q 2 T 3 q 3 T T T T C C C C Vi byter ut T-vipporna mot D-vippor (D-vippa + XOR-grind, enligt tidigare) och får då kopplingen: q = d D = d 2 = d D D T T T 2 C C C q q 2 T 3 = d 3 D C q 3 XOR-grinden längst till vänster, som bildar d, ersätts av en inverterare. Vi kompletterar till sist räknaren med ett grindnät för synkron nollställning via insignalen RESET och med möjligheten att ladda värdet q 3 q 2 q q = via insignalen NF, som står för New Fetch. Utsignalerna d 3, d 2, d och d från XOR-grindarna ovan kopplas inte direkt till D-ingångarna på vipporna. Vi kopplar istället in dem i kretsen nedan och kopplar sedan signalerna D 3, D 2, D och D till vippornas D- ingångar. NF d d d 2 d 3 RESET D D D 2 D 3

74 von Neumanndatorn (Ext-8) Figur F. Databehandlande enhet med minne. von Neumanns idé "Man kan koda de olika operationerna som binära tal på samma sätt som data och lagra både operationer och data i minnet." = "Det lagrade programmets princip." Data kan behandlas genom att en följd av instruktioner och data växelvis hämtas från minnet. Instruktionerna utför de önskade operationerna på data och skriver vid behov tillbaka data i minnet. En instruktion är alltså kodad som ett binärt tal. En del av bitarna i detta tal är koden för en operation medan övriga bitar är en eller flera operander (data). En typisk instruktion består alltså av två delar enligt figuren nedan. Operationskod Operand(er) Operanden är antingen data (datavärdet) eller någon form av adress till data. Vissa instruktioner saknar dock operand och därmed också operanddel.

75 Figur F.2 Kombinationen von Neumannprocessor-minne. Figur F.3 Kombination av en utökad von Neumannprocessor och minne.

76 Figur F.4 Programmeringsmodell för enkel von Neumanndator. Figur F.5 Minnesdisposition för von Neumanndator.

77 Figur F.6 Instruktionernas längd och innehåll följer ett sk instruktionsformat. Figur F.7 Tillståndsgraf för instruktionernas två faser. Reg MA Adressbuss LD A Reg A LD B Reg B M U C 2 X C 3 2 D Funkt C in LD R LD T ALU U Reg R Reg T E Flaggor g 2 LD CC MUX Reg CC LD X Reg X IncS DecS LD S SP IncPC LD PC PC LD MA g g OE A OE B OE R OE CC OE X OE S OE PC Databuss LD I Reg IR Styrsignaler från OP-kod Till styrenheten Figur F.8 FLEX-processorns dataväg.

78 Figur F.9 FLEX-processorns styrenhet Figur F. Instruktionscykeln kompletterad med s k återställningsfas.

79 Tabell F. Detaljerad beskrivning av RESET-fasen för FLEX-processorn Klockcykel (State nr) RTNbeskrivning Styrsignaler FF 6 R ALU-funktion = F 6, LD R =. R MA OE R = LD MA =. 2 M PC MR=, LD PC =. Kommentar ALU-funktionen väljs så att talet FF 6 finns på ALU:ns utgång. Laddingången på R-registret ettställs så att utvärdet från ALU n (FF 6 ) laddas i R-registret vid nästa klockpuls. Talet FF 6 i R-registret kopplas ut på bussen. Talet FF 6 på bussen laddas i minnesadressregistret vid nästa klockpuls. Minnesinnehållet på adressen FF 6 läses genom att minnet aktiveras för läsning. Det dataord som läses placeras i PC vid nästa klockpuls. Nästa klockcykel skall vara den första i fetchfasen. Figur F.

80 Tabell F.2 Detaljerad beskrivning av FETCH-fasen för FLEX-processorn Klockcykel (State nr) RTNbeskrivning PC MA, PC+ PC Styrsignaler OE PC =, LD MA =, IncPC=. M IR MR=, LD I =. Kommentar Adressen för nästa instruktions operationskod kopieras från PC till minnesadressregistret MA. Adressen som finns i PC ökas med ett. Läs operationskoden från minnet. Placera den i instruktionsregistret IR. Nästa klockcykel skall vara den första i executefasen. Figur F.2

81 Tillståndsgraf för FLEX-processorns arbetsfaser Figur F.3 Tillståndsgraf för styrenheten till FLEX-processorn.

82 MA Adressbuss LD A Reg A LD B Reg B M U C 2 X C 3 2 g g Funkt C in D LD R LD T U ALU Reg R Reg T E Flaggor g 2 LD CC MUX Reg CC LD X Reg X IncSP DecSP LD SP SP IncPC LD PC PC LD MA MR MW Adress Minne Data ut Data in OE A OE B OE R OE CC OE X OE SP OE PC MR Styrsignaler LD I Reg I Reset Styrenhet FLEX-datorn i detalj

83 FLEX- eller FLIS-datorn utifrån sett Start (Reset) FLEXeller FLIS-processorn Adressbuss A7-A Läs(MR) Skriv(MW) Read Arbetsminne (Main memory) 256*8 Write C Databuss D7-D Arbetsminne (Main memory) 256*8 Adressbuss A7-A Databuss Läs(MR) Skriv(MW) D7-D Read Write C Adress Data(8) (Hex) Data i ord Data i ord 2 Data i ord FD Data i ord FD FE Data i ord FE FF Data i ord FF

84 Programmerarens bild av FLEX-processorn FLEX-processorn Styrenhet Instruktionsregister IR(8) ALU (8) Ackumulator A(8) Ackumulator B(8) Flaggregister CCR(8) Databuss (8) Indexregister X X(8) Stackpekare SP(8) Adressbuss (8) Programräknare PC(8) Flaggregister CCR N 2 Z V C

85 Programmerarens bild av FLIS-processorn FLIS-processorn Styrenhet Instruktionsregister IR(8) Ackumulator A(8) Databuss (8) ALU (8) Flaggregister CCR(8) Indexregister X X(8) Indexregister Y Y(8) Stackpekare SP(8) Adressbuss (8) Programräknare PC(8) Flaggregister CCR I 3 N 2 Z V C

86 Maskinprogram i datorns minne En del av ett datorprogram (ett maskinprogram på binär form) kan se ut som i figuren nedan när det hamnar i datorns minne. För en människa är väl detta närmast obegripligt. Adress Data?? Man kan komprimera de binära värdena för adress och data genom att skriva dem på hexadecimal form enligt nedan, men de är fortfarande obegripliga. Vi kan dessutom inte avgöra om minnesinnehållet bara är datavärden som är lagrade i minnet eller om de är en del av ett program. Adress Data 7F 6? 8 6 F A E F ? Man använder därför ett speciellt språk, assemblerspråk, för att göra maskinprogrammet begripligt för oss människor. I detta språk används mnemoniska (till stöd för vårt minne) beteckningar och symboler som förklarar instruktionernas och ibland även de använda adressernas och datavärdenas funktion. Nedan visas programavsnittet ovan översatt till FLIS-processorns assemblerspråk.? LDA #5 Ladda register A med talet 5 ADDA 48 Addera innehållet på minnesadress 48 till register A STA 5 Lagra innehållet i register A på adress 5 i minnet? Vilka adresser instruktionerna finns på i minnet framgår dock inte av assemblerprogrammet i detta fall.

87 Ö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 följande hexadecimala innehåll: a) F, 2, E, 2, 96, F, A9, 25, 6, 97,. Den första byten (F 6 ) är en operationskod för FLIS-processorn. Översätt sekvensen till assemblerspråk, dvs disassemblera sekvensen. F.3 Ge en sekvens av LDA- och STA-instruktioner (dvs ett programavsnitt) som flyttar innehållet på adresserna A 6 -C 6 till adresserna 2A 6-2C 6. F.5 Manuell översättning från assemblerspråk till maskinkod kallas ofta "handassemblering". a) Handassemblera följande instruktionssekvens. Första instruktionen skall placeras på adress 8 6. Hur många minnespositioner upptar instruktionssekvensen? LDA $ ANDA #$F ORA $ EORA #$44 ANDA #$EE COMA STA $ b) Antag att talet 2 finns på adress 6. Ange i hexadecimal form det tal som kommer att finnas i denna minnesposition efter exekvering av instruktionssekvensen ovan, om adress 6 innehåller 6 före exekveringen. F.6 a) Skriv en instruktionssekvens som inverterar bitarna b och b7 i A-registret och ettställer bitarna b2 och b5 samt nollställer bit b4. b) Handassemblera instruktionssekvensen. Första instruktionen skall placeras på adress 2 6.

88 F.7 I minnet finns data enligt figuren till höger. Skriv en instruktionssekvens som ökar innehållet på adressen 8 6 med 5 och minskar innehållet på adressen 8 6 med 7. Vidare skall instruktionssekvensen addera innehållen på minnesadresserna 82 6 och 83 6 samt placera summan på adressen Översätt instruktionssekvensen till maskinkod (hexadecimal form) och placera den i minnet med början på adressen 2 6. Adr B7 6 F. a) "Jump"-instruktionen JMP $5 är placerad med början på adress Vad är dess maskinkod? b) "Branch"-instruktionen BRA $5 är placerad med början på adress Vad är dess maskinkod? F.2 a) "Jump"-instruktionen JMP $5 är placerad med början på adress 2 6. Vad är dess maskinkod? b) "Branch"-instruktionen BRA $5 är placerad med början på adress 2 6. Vad är dess maskinkod? F.4 I följande instruktionssekvens genereras en puls i position på utport FB 6. Läge Operation Operand Kommentar START CLR $FB LDA #25 SCOUNT DECA BNE SCOUNT a) Rita en maskinberoende flödesplan för sekvensen. b) Antag att FLIS-processorn har klockfrekvensen MHz och att sekvensen startas vid tidpunkten t =. När i tiden genereras pulsen? Hur lång är den? c) Kommentera instruktionerna på lämpligt sätt. Kommentarerna skall helst vara maskinoberoende. d) Översätt instruktionssekvensen till maskinkod. Antag att START skall läggas på adressen 2 6. Måste den maskinkod du nu producerat alltid ligga på dessa adresser?

89 F.5 Vad blir den effektiva adressen i följande instruktioner om innehållet i X-registret = 2 6. För instruktioner som arbetar med data är effektiva adressen adressen till data. Översätt instruktionerna till maskinkod. a) LDA,X b) LDA 6,X c) LDA -6,X d) LDA,X+ e) LDA,-X F.6 Skriv en instruktionssekvens som omvandlar ett 4-bitars binärt tal till Graykod. Det binära talet skall kontinuerligt läsas från bit b-b3 på inport FB 6. Bit b4-b7:s värden är ej kända och kan variera mellan läsningarna. Graykoden skall matas ut på bit b-b3 på utport FB 6 med bit b4-b7 nollställda. Graykoden för siffrorna 6 -F 6 finns lagrade i bit b-b3 i adress 3 6-3F 6, med bit b4-b7 nollställda. F.9 En tabell med 5 olika 8-bitars tal utan tecken lagras med början på adress 8 6 i minnet. Skriv en instruktionssekvens som letar upp det största talet. Talets värde och läge skall anges i minnespositionerna VALUE resp PLACE, vilka anses fördefinierade. F.2 Ge en sekvens av instruktioner som definierar en stack med början på adress F 6 och placerar operanderna 6 6, 35 6 och 28 6 på stacken. Vad är stackpekarens innehåll när sekvensen genomlöpts av processorn? F.23 Skriv ett programavsnitt som läser ett tal från inport FB 6. Om talet är 6 skall en subrutin FALL anropas. Talet skall då ligga i A- registret för att subrutinen skall kunna använda det för bearbetning. Om talet är 8 6 skall på motsvarande sätt en subrutin FALL2 anropas. Om talet inte är lika med något dessa värden skall en subrutin FALL3 anropas. Rita också en flödesplan.

90 F.25 En enkel datorstyrd tvättmaskin har tre olika tvättprogram - 4 C Fintvätt / 6 C Kulörtvätt / 9 C Vittvätt. När tvättmaskinen startats agerar den enligt flödesplanen nedan. TVÄTT CASE 4 övrigt 6 9 FIN KULÖR VIT STOPP a) Rita om flödesplanen så att fyrvalssituationen realiseras som en följd av tvåval (if-then-else)! b) Användaren kan trycka på tre olika knappar som svarar mot de olika tvättprogrammen. Den valda tvättemperaturen är åtkomlig för processorn via inporten FB 6 enligt figuren nedan. Observera att vissa värden på x2xx representerar ogiltiga val (t.ex. om både x och x är ett). Dessa fall motsvaras av alternativet "övrigt" i flödesplanen. De olika tvättprogrammen är subrutiner med början på de symboliska adresserna "Fin", "Kulör" respektive "Vit". Omsätt den nya flödesplanen i ett program skrivet med FLISP instruktioner. Ledning: Varje tvättemperatur motsvaras av ett unikt bitmönster i de tre minst signifikanta positionerna i data från inport FB 6, 6 C Kulörtvätt motsvaras t.ex. av: x2xx =. FB 6 x 7 x 6 x 5 x 4 x 3 x 2 x x "" om 4 "" om 9 "" om 6

91 FLIS-dator med in- och utport inkopplad på adress- och databussen. Adressbuss MW MR I/Oavkodning OE FB LD FB Adress Minne MW Skriv Indata OE FB OE FC MR Läs Data ut Data in OE FB Inport FB 6 Databuss LD FB Register Utport FB 6 Utdata På adressen FC 6 finns också en inport och en utport inkopplade enligt samma princip som portarna på adressen FB 6.

92 Beräkning av exekveringstid (körtid) för programsekvens med slingor F.4 I följande instruktionssekvens genereras en puls i position på utport FB 6. Läge Operation Operand Kommentar START CLR $FB LDA #25 SCOUNT DECA BNE SCOUNT LDA #% STA $FB LDA # PCOUNT DECA BNE PCOUNT CLR $FB a) Rita en maskinberoende flödesplan för sekvensen. b) Antag att FLIS-processorn har klockfrekvensen MHz och att sekvensen startas vid tidpunkten t =. När i tiden genereras pulsen? Hur lång är den? c) Kommentera instruktionerna på lämpligt sätt. Kommentarerna skall helst vara maskinoberoende. d) Översätt instruktionssekvensen till maskinkod. Antag att START skall läggas på adressen 2 6. Måste den maskinkod du nu producerat alltid ligga på dessa adresser?

93 Uppgift F.4 b) och d) Läge Operation Operand Maskinkod Klockcykler Adress (Hex) Minnes- Innehåll (Hex) START CLR $FB 2 35 FB 3 ; LDA #25 22 F 9 2 SCOUNT DECA BNE SCOUNT FD 4 ; LDA #% 27 F 2 STA $FB 29 E FB 3 ; LDA # 2B F 64 2 PCOUNT DECA 2D 8 3 BNE PCOUNT 2E 25 FD 4 ; CLR $FB 3 35 FB 3 t = 3 t t 2 t 3 t t 2 = t (3 + 4) = = 85 t 3 = t (3 + 4) + 3 = = 89 Utport FB bit t t 2 t 3 t

94 c) Läge Operation Operand Kommentar Programavsnitt för generering av -puls START CLR $FB Noll till utport (bit ) ; LDA #25 Räknarinitiering för loop SCOUNT DECA Minska loopräknare BNE SCOUNT Färdigt? Nej ; Ja LDA #% Bit noll skall ettställas STA $FB Ett till utport (bit ) ; LDA # Räknarinitiering för loop2 PCOUNT DECA Minska loopräknare BNE PCOUNT Färdigt? Nej ; Ja CLR $FB Noll till utport (bit )

95 Reset NF CTR4 3CT= M M2 C3 2+,3 D [],3 D [2],3 D [4],3 D [8] q q q 2 q 3 BIN/HEX Q Q Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Q 8 Q 9 Q Q Q 2 Q 3 Q 4 Q 5 RESET FETCH EXECUTE f f f 2 f 3 MR LD PC OE PC IncPC LD R LD I i i i 2 i 3 i 4 i 5 i 6 i 7 I I I 2 I 3 I 4 I XX BIN/2 8 LD MA NF OE R LD A NF I FD I FE I FF Q i I XX

96 FLIS-datorn i detalj

97 FLIS-processorns ALU D (d 7 -d ) E (e 7 -e ) F (f 3,f 2,f,f ) C in ALU N,Z,V,C U (u 7 -u ) funktion operation resultat (U) flaggor f 3 f 2 f f RTN N Z V C U = 6 U = FD 6 FD 6 U = FE 6 FE 6 U = FF 6 FF 6 U = E E u () 7 U = D k + C in D + C in u () (9) (8) 7 U = D E bitvis D OR E u () 7 U = D E bitvis D AND E u () 7 U = D E bitvis D XOR E u () 7 U = D + C in D + C in u () (2) (3) 7 U = D + FF 6 D u () (2) (3) 7 U = D + E + C in D + E + C in u () (2) (3) 7 U = D + E k + C in D E + C in u () (2) () 7 U = D(C in )<< 2D + C in d () (6) (4) 6 U = (C in ) D >> 2 7 C in + D/2 C () (7) (5) in U = (d 7 ) D >> D/2 (med tecken) d () 7 (5) Anm: () (2) Z = då samtliga bitar i värdet U är. Z = annars. V = vid overflow enligt reglerna för 2k-aritmetik. V = annars. (3) C = om summan är större än 255. C = annars. (4) C = utskiftad bit, dvs. bit d 7. (5) C = utskiftad bit, dvs. bit d. (6) V = d 7 d 6 dvs. sätts till om skiftet ger teckenbyte. (7) V = C in d 7 dvs. sätts till om skiftet ger teckenbyte. (8) C = om D = 2. C = annars. (9) V = om D= 2. V = annars. () C = om summan är mindre än 256. C = annars.

98 FLIS-processorns styrenhet I I I2 I3 I4 I5 I6 I7 N Z V C Kombinatoriskt nät OEA OER OECC OEX OEPC OESP INCSP DECSP INC MR MW LDA CLRT LDT LDR LDCC LDX LDPC LDSP LDTA LDI RESET d d d2 d3 RESET COUNT/ LOAD C q q q2 q3 NF F(f3,f2,f,f) G(g4,...,g) Det kombinatoriska nätet I I 2 I 47 Q 6 i I 3 I F Q 6 LD A i i 2 i 3 i 4 i 5 i 6 Q 3 i 7 I FD I FE I FF I F Q 5 I 5D Q 5 OE PC N Z V C C C Z C+Z N V Z Q 2 I 5D Q 7 LD PC Q Q q Q 2 Q 5 I q q 2 q 3 I 47 Q 6 I F Q 6 NF Q 3 Q 4 I 5D Q 7 Q 5

99 Styrenhetens tillståndsgraf RESET NF NF NF Q Q Q2 Q3 Q4 NF Q5 NF Q5 NF

100 Implementering av ovillkorlig branch-instruktion i den fasta styrenheten för FLISP BRA Adr Operationsbeskrivning: Flödesplan: PC+Offs PC Instruktion: BRA Adr Format: Ord: 2 6 (Opkod) Ord2: Offset Tillstånd Summaterm RTN-beskrivning Styrsignaler Q 4 Q 4 I 2 M(PC) T, PC+ PC MR, LD T, INC PC Q 5 Q 5 I 2 PC+T R, T OE PC, f 3, f, f, LD R, CLR T Q 6 Q 6 I 2 R PC, (New Fetch) OE R, LD PC, NF M(PC) T PC+ PC PC+T R T R PC Implementering av villkorliga branch-instruktioner med fast styrenhet för FLISP Metodiken för implementering av villkorliga instruktioner belyses av följande exempel: Ex) BCS Adr Operationsbeskrivning: Flödesplan: If C=: PC+Offs PC Instruktion: BCS Adr Format: Ord: 28 6 (Opkod) Ord2: Offset State Summaterm RTN-beskrivning Styrsignaler Q 4 Q 4 I 28 M(PC) T, PC+ PC MR, LD T, INC PC Q 5 Q 5 I 28 PC+T R, T OE PC, f 3, f, f, LD R, CLR T Q 6 Q 6 I 28 C If C=: R PC OE R, LD PC Q 6 I 28 New Fetch NF M(PC) T PC+ PC PC+T R T C (Tom) R PC Man kan modifiera den villkorliga branch-instruktionen BCS så att den exekveras enligt flödesplanen nedan till höger. Beskriv EXECUTE-fasen i RTN-tabellen nedan. Använd opkod 3 6. BCS Adr Operationsbeskrivning: Flödesplan: If C=: PC+Offs PC Instruktion: BCS Adr Format: Ord: 3 6 (Opkod) Ord2: xx 6 (offset) State Summaterm RTN-beskrivning Styrsignaler Q 4 Q 5 C PC+ PC M(PC) T PC+ PC PC+T R T R PC Q 6

101 Assemblerspråket för FLIS-processorn. Assemblerspråket använder sig av mnemoniska beteckningar liknande dem som processorkonstruktören MOTOROLA (FREESCALE) specificerat för maskininstruktioner för mikroprocessorerna 68XX och instruktioner till assemblatorn, s k pseudoinstruktioner eller assemblatordirektiv. Pseudoinstruktionerna listas i tabell. Tabell Direktiv ORG N Förklaring Placerar den efterföljande koden med början på adress N. (ORG för ORiGin = ursprung) L RMB N Avsätter N bytes i följd i minnet (utan att ge dem värden), så att programmet kan använda dem. Följden placeras med början på adressen L. (RMB för Reseve Memory Bytes) L EQU N Ger symbolen L konstantvärdet N. (EQU för EQUates) L L FCB N, N2 Avsätter en byte för varje argument i följd i minnet. Respektive byte ges konstantvärdet N, N2 etc. Följden placeras med början på adressen L. (FCB för Form Constant Byte) FCS ABC Avsätter en byte för varje tecken i teckensträngen ABC i följd i minnet. Respektive byte ges ASCIIvärdet för A B C, etc. Följden placeras med början på adressen L. (FCS för Form Character String)

102 ; Demoprogram för yttre enheter som kan anslutas till FLIS-processorn ; ; I/O-enheter ; ;************************************************************************************* ; Det finns två inportar och två utportar i FLISP-datorn på adresserna $FB OCH $FC ; ; På adressen $FB finns både en inport och en utport. Adressen är det enda som dessa ; har gemensamt, så data som skrivs på t ex utport $FB har inget att göra med data som ; läses på inport $FB. ; ; Det finns ett antal inenheter och utenheter som man kan ansluta till portarna. ; ; Inenheter som kan anslutas till inportar: ; "DIPSWITCH" (FB,FC), med åtta strömbrytare (switchar), som kan ställas in på /. ; "Keyboard" (FB,FC), där koden för en nedtryckt tangent kan avläsas. ; "Drill" (FB), där tre givare från en borrmaskin kan avläsas. ; "Console" (FC), där man kan läsa ASCII-tecken från din dators tangentbord. ; ; Utenheter som kan anslutas till utportar: ; "LED" (FB,FC), med åtta lysdioder (lampor), som kan tändas () eller släckas (). ; "HEXDISPLAY" (FB,FC), där man kan visa ett 8-bitars dataord som två hexsiffror. ; "7-SEGMENT" (FB,FC), där man kan styra varje segment i ett 7-segments sifferfönster. ; "Console" (FB), där man kan skriva ut tecken på en bildskärm. ; "Drill" (FC), där man kan styra olika funktioner hos en borrmaskin. ;************************************************************************************* ; ; Assemblera programmet ("Debug Assemble") och ladda det i minnet ("Load New"). ; ; Anslut inenheten "DIPSWITCH" till inport $FB och utenheten "LED" till utport $FB. ; ; Kör sedan programmet,först instruktion för instruktion med "Step", ; sedan med "Run Slow" och till sist med "Run Fast". ; Ändra på strömbrytarna på "DIPSWITCH" medan du kör och iakttag utenheten. ; ; Stoppa programmet och byt i tur och ordning utenhet till "HEXDISPLAY", "7-SEGMENT" ; och "CONSOLE" och kör programmet på samma sätt med dessa. ; ; Stoppa programmet och byt både inport och utport till adressen $FC, assemblera ; och ladda det. ; Anslut sedan "DIPSWITCH" till inport $FC och "DRILL" till utport $FC och kör ; programmet. ; ;************************************************************************************* ORG Programmets startadress START LDA $FB Läs av de åtta databitarna från ansluten inenhet STA $FB Mata ut de åtta databitarna till ansluten utenhet JMP START Upprepa förloppet STOP ;Här är första adressen efter programmet

103 Enkel borrmaskinsstyrning (uppgift 6.6 från arbetsboken, modifierad) FLIS-datorn skall användas för att styra en komplett borrning av ett hål med borrmaskinen. En flödesplan för borrningen ges på nästa sida. Borrningen skall starta när man med hjälp av en switch ändrar värdet på bit 7 på inport FC 6 från "" till "". När ett hål är färdigborrat skall arbetsstycket vridas ett steg medurs. Skriv ett program enligt flödesplanen och översätt till maskinspråk. Ange även vilka adresser som de olika instruktionerna placeras på. Startadressen för programmet skall vara 6. Kommando från operatör: Borra och vrid ett steg om bit 7 ändras från till. Styrsignaler till borrmaskinen Borrmaskin Statussignaler från borrmaskinen INPORT FC 6 FLISP-dator med borrprogram i minnet UTPORT FC 6 larm på/av / sänk/höj / start/stop / INPORT FB 6 med-/moturs / vridpuls -- Statussignaler = om: bit : skiva i ref. pos. bit : borr i toppläge bit 2: borr i bottenläge Utport FC 6

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

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #7 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Aritmetik i digitala system Speciella egenskaper: Systemet

Läs mer

LV6 LV7. Aktivera Kursens mål:

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #7 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Speciella egenskaper: Systemet arbetar med kodord (s k

Läs mer

Digital- och datorteknik

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 Aritmetik i digitala system Grindnät för addition: Vi

Läs mer

Grundläggande Datorteknik Digital- och datorteknik

Grundläggande Datorteknik Digital- och datorteknik Grundläggande Datorteknik Digital- och datorteknik Kursens mål: Fatta hur en dator är uppbggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW samverkar Digital teknik Dator teknik Grundläggande

Läs mer

ALU:n ska anslutas hur då?

ALU:n ska anslutas hur då? 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

Läs mer

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011 EDA 451 - Digital och Datorteknik 2010/2011 Ur innehållet: Vi repeterar kursens lärandemål Diskussion i kring övningstentor t Övriga frågor 1 Lärandemål Det övergripande målet är att den studerande ska

Läs mer

LEU431. Digital- och datorteknik. Diverse kompletterande material

LEU431. Digital- och datorteknik. Diverse kompletterande material LEU43 Digital- och datorteknik Diverse kompletterande material Diverse kompletterande material (pdf): Positionssystem. Samband mellan binära och headecimal tal. Eempel på ecess-8 kod. Grafiska symboler

Läs mer

Digital- och datorteknik

Digital- och datorteknik Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronikingenjör (samt data- och elektroingenjör) Åk / lp

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #13 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad kännetecknar en tillståndsmaskin? En synkron tillståndsmaskin

Läs mer

Digital- och datorteknik

Digital- och datorteknik Dessa sidor innehåller ett antal typ-prov som delas ut vid laborationerna. Syfte med dessa prov är att du skall känna att du hänger med på kursen att vi som godkänner dig på laborationsmomenten ser att

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 3 27--29 8.5 2. My Talsystem Binära tal har basen 2 Exempel Det decimala talet 9 motsvarar 2 Den första ettan är MSB, Most Significant Bit, den andra ettan är LSB Least

Läs mer

TENTAMEN(Nu anpassad till FLIS- processorn)

TENTAMEN(Nu anpassad till FLIS- processorn) Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN(Nu anpassad till FLIS- processorn) KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR

Läs mer

Binär addition papper och penna metod

Binär addition papper och penna metod EDA4 - Digital och Datorteknik 9/ EDA 4 - Digital och Datorteknik 8/9 Dagens föreläsning: Aritmetik, lärobok kapitel 6 Ur innehållet: hur man adderar och subtraherar tal i det binära talsystemet hur man

Läs mer

EDA215 Digital- och datorteknik för Z

EDA215 Digital- och datorteknik för Z EDA25 Digital- och datorteknik för Z Tentamen Måndag 7 december 2007, kl. 08.30-2.30 i M-salar Examinatorer Rolf Snedsböl, tel. 772 665 Kontaktpersoner under tentamen Som ovan. Tillåtna hjälpmedel Häftet

Läs mer

Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4

Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4 Ext-6 (Ver 2010-08-09) 1(5) Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4 Tecken-beloppsrepresentation av heltal Hur skall man kunna räkna med negativa tal i ett digitalt system,

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik halmers tekniska högskola Vi har sett att man bör kunna bygga en komponent (ett grindnät)

Läs mer

exempel på Tentamen 2

exempel på Tentamen 2 7 Digital- och datorteknik, tentamen 00-0-YY (9) Digital- och datorteknik - har du uppnått kursmålen? exempel på Tentamen. Blandade frågor: a) I figur visas den kodskiva som du arbetat med på laboration.

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP

Digital- och datorteknik. Lars-Eric Arebrink. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk 1/ lp 4 EDA216 EXAMINATOR Lars-Eric Arebrink TID

Läs mer

Sekvensnät vippor, register och bussar

Sekvensnät vippor, register och bussar ekvensnät vippor, register och bussar agens föreläsning: Lärobok kap.5 Arbetsbok kap 8,9,10 Ur innehållet: Hur fungerar en -latch? Hur konstrueras JK-, - och T-vippor? er och excitationstabeller egister

Läs mer

TENTAMEN. Digital- och datorteknik. Institutionen för data- och informationsteknik Avdelningen för datorteknik LEU431. Lars-Eric Arebrink

TENTAMEN. Digital- och datorteknik. Institutionen för data- och informationsteknik Avdelningen för datorteknik LEU431. Lars-Eric Arebrink Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: Data-, elektro- och mekatronikingenjör åk / lp och 2 KURSBETECKNING LEU43

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-08-27 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2011-08-26 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel

Läs mer

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronik-, data- och elektroingenjör Åk / lp o2 LEU43 EXAMINATOR

Läs mer

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik EDA 45 - Digital och Datorteknik Dagens föreläsning: Centralenheten och dess byggblock, läroboken kapitel 7 arbetsbokens kapitel 0-4 Ur innehållet: Laddbara register och bussar Överföring mellan register,

Läs mer

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl Tentamen TSEA22 Digitalteknik 5 juni, 2015, kl. 08.00-12.00 Tillåtna hjälpmedel: Inga. Ansvarig lärare: Mattias Krysander Visning av skrivningen sker mellan 10.00-10.30 den 22 juni på Datorteknik. Totalt

Läs mer

Digital- och datorteknik

Digital- och datorteknik Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING EXAMINATOR Data-, elektro- och mekatronikingenjör Åk / lp och

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: Data-, elektro- och mekatronikingenjör åk / lp och 2 KURSBETECKNING LEU43

Läs mer

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

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Data-, elektro- och mekatronikingenjör Åk / lp och LE43 EXAMINATOR

Läs mer

Tentamen i Digital Design

Tentamen i Digital Design Kungliga Tekniska Högskolan Tentamen i Digital Design Kursnummer : Kursansvarig: 2B56 :e fo ingenjör Lars Hellberg tel 79 7795 Datum: 27-5-25 Tid: Kl 4. - 9. Tentamen rättad 27-6-5 Klagotiden utgår: 27-6-29

Läs mer

Centralenheten: ALU, dataväg och minne

Centralenheten: ALU, dataväg och minne Centralenheten: ALU, dataväg och minne Dagens föreläsning: Kompendium kapitel 7 Arbetsbokens kapitel 11,12 RTN - Register Transfer Notation Förenklat skrivsätt för att specificera operationer där register

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR

Läs mer

TENTAMEN (Något redigerad)

TENTAMEN (Något redigerad) Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN (Något redigerad) KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Data-, elektro- och mekatronikingenjör Åk /

Läs mer

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

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen 3 EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU Måndag xx Oktober 20xx, kl. 8.30-12.30 Examinator

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #2 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Talomvandling Principer för omvandling mellan olika talsystem:

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Tentamensfrågor med lösningsförslag Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista

Läs mer

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU Onsdag 12 Januari 2011, kl. 14.00-18.00 Examinatorer

Läs mer

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik E (Något redigerad) PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26/DIT790 EXAMINATOR

Läs mer

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

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ? Styrteknik grundkurs Digitala kursmoment Binära tal, talsystem och koder Boolesk Algebra Grundläggande logiska grindar Minneselement, register, enkla räknare Analog/digital omvandling SR-latch med logiska

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Allmän information Exaator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204) Tentamensuppgifterna behöver

Läs mer

IE1205 Digital Design: F9: Synkrona tillståndsautomater

IE1205 Digital Design: F9: Synkrona tillståndsautomater IE25 Digital Design: F9: Synkrona tillståndsautomater Moore och Mealy automater F8 introducerade vippor och vi konstruerade räknare, skift-register etc. F9-F skall vi titta på hur generella tillståndsmaskiner

Läs mer

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod inär addition papper och penna metod Dagens föreläsning: Lärobok, kapitel rbetsbok, kapitel Ur innehållet: hur man adderar och subtraherar tal i det binära talsystemet hur man kan koda om negativa binära

Läs mer

Exempel 2 på Tentamen med lösningar

Exempel 2 på Tentamen med lösningar Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Exempel 2 på Tentamen med lösningar Grundläggande datorteknik Examinator Kontaktperson under tentamen Tillåtna hjälpmedel Häfte

Läs mer

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

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

Läs mer

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790 Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik E PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26/DIT790 EXAMINATOR Lars-Eric Arebrink

Läs mer

Exempel 3 på Tentamen

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #9 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola ekvensnät Vad kännetecknar ett sekvensnät? I ett sekvensnät

Läs mer

Kapitel 7 Systemexempel (forts.)

Kapitel 7 Systemexempel (forts.) Kapitel 7 Systemexempel (forts) Hur man kan koppla ett av registerinnehållen till en L A L B L C Register C L Register Val av register: s s 0 X Figur 77 Registerutgångars anslutning till via väljare Alternativ

Läs mer

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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:,

Läs mer

Tentamen i Digitalteknik, EITF65

Tentamen i Digitalteknik, EITF65 Elektro- och informationsteknik Tentamen i Digitalteknik, EITF65 3 januari 2018, kl. 14-19 Skriv anonymkod och identifierare, eller personnummer, på alla papper. Börja en ny uppgift på ett nytt papper.

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings universitet

Försättsblad till skriftlig tentamen vid Linköpings universitet Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen 08-03-3 Sal (5) Tid 8- Kurskod TSEA Provkod TEN Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som

Läs mer

DIGITALA TAL OCH BOOLESK ALGEBRA

DIGITALA TAL OCH BOOLESK ALGEBRA DIGITALA TAL OCH BOOLESK ALGEBRA Innehåll Talsystem och koder Aritmetik för inära tal Grundläggande logiska operationer Logiska grindar Definitioner i Boolesk algera Räknelagar BINÄRA TALSYSTEMET Binärt

Läs mer

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU Måndag 17 December 2012, kl. 8.30-12.30 Examinatorer

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #5 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad är ett bra grindnät? De egenskaper som betraktas som

Läs mer

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

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

Läs mer

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/ Tentamen med lösningar i IE04/5 Digital Design Måndag 7/0 04 9.00-3.00 Allmän information Examinator: Ingo Sander. Ansvarig lärare: Elena Dubrova /William Sandvist, tel 08-7904487 Tentamensuppgifterna

Läs mer

Tentamen i IE1204/5 Digital Design måndagen den 15/

Tentamen i IE1204/5 Digital Design måndagen den 15/ Tentamen i IE1204/5 Digital Design måndagen den 15/10 2012 9.00-13.00 Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204), Tentamensuppgifterna

Läs mer

Exempel 1 på Tentamen med lösningar

Exempel 1 på Tentamen med lösningar Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Exempel 1 på Tentamen med lösningar Grundläggande datorteknik Examinator Kontaktperson under tentamen Tillåtna hjälpmedel Häfte

Läs mer

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Lösningsförslag till tentamen i Digitalteknik, TSEA22 Försättsblad till skriftlig tentamen vid Linköpings universitet, Datorteknik, ISY (4) Lösningsförslag till tentamen i Digitalteknik, TSEA Datum för tentamen 3009 Salar U4, U7, U0 Tid 4.00-8.00 Kurskod

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2009-08-28 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2009-06-04 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

Läs mer

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60

Läs mer

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

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform:

Läs mer

TSEA22 Digitalteknik 2019!

TSEA22 Digitalteknik 2019! 1(39) 2019 Mattias Krysander Ingemar Ragnemalm 1(39) Föreläsning 5. Sekv1. enna föreläsning: Vippor Sekvensnät Moore och Mealy 2(39)2(39) Förra föreläsningen: Labb 1. Adderare. Carryaccelerator Och ännu

Läs mer

Tentamen med lösningar

Tentamen med lösningar Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningar EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU Måndag xx Oktober 20xx, kl. 8.30-12.30

Läs mer

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

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll: F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer

Läs mer

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 5 27-2-2 8.5 2. Naxos Demonstration av uartus programvara. Genomgång av uartus flödesschema. Detta dokument finns på kurshemsidan. http://www.idt.mdh.se/kurser/cl9/ VHDL-kod

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #6 Biträdande proessor Jan Jonsson Institutionen ör data- och inormationsteknik Chalmers tekniska högskola Kursutvärderingsprocessen Kursrepresentanter i LEU43: Följande

Läs mer

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Digitala kursmoment D1 Binära tal, talsystem och koder D2 Boolesk Algebra D3 Grundläggande logiska grindar D4 Minneselement, register,

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2008-08-29 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Johan Eriksson Tel 070 589 7911 Tillåtna

Läs mer

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

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar Moment 2 - Digital elektronik Föreläsning 1 Binära tal och logiska grindar Jan Thim 1 F1: Binära tal och logiska grindar Innehåll: Introduktion Talsystem och koder Räkna binärt Logiska grindar Boolesk

Läs mer

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/ Omtentamen med lösningar i IE24/5 Digital Design Fredag /4 25 8.-2. Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandvist, tel 8-794487 / Fredrik Jonsson Tentamensuppgifterna behöver

Läs mer

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1 Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1 Från Wikipedia: Sekvensnät Ett sekvensnäts utgångsvärde beror inte bara på indata, utan även i vilken ordning datan kommer (dess sekvens).

Läs mer

MANUALBLAD MODULER TILL DIGITALMASKINEN

MANUALBLAD MODULER TILL DIGITALMASKINEN MANUALBLAD MODULER TILL DIGITALMASKINEN Inst för Datorteknik 2006. v2.02, 061014 1 DIGITALMASKINEN... 3 MANÖVERPANELEN... 5 2-INGÅNGARS AND... 6 2-INGÅNGARS NAND... 7 3-INGÅNGARS NAND... 8 4-INGÅNGARS

Läs mer

Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar

Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU Tentamen Måndag 23 oktober 2006, kl. 08.30 12.30 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Kontaktpersoner under tentamen Som

Läs mer

Laboration i digitalteknik Introduktion till digitalteknik

Laboration i digitalteknik Introduktion till digitalteknik Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 6 Laboration i digitalteknik Introduktion till digitalteknik TSEA Digitalteknik D TSEA5 Digitalteknik Y TDDC75

Läs mer

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

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas.

Läs mer

EDA Digital och Datorteknik

EDA Digital och Datorteknik EDA 45 - Digital och Datorteknik Dagens föreläsning:, Arbetsboken kapitel 5-8 Ur innehållet: Läs- och skrivbart minne Dataväg med manuell styrenhet Centralenhetens t arbetssätt: FETCH/EXECUTE Vi ansluter

Läs mer

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl Institutionen för systemteknik, ISY, LiTH Tentamen i Digitalteknik TSIU05/TEN1 Tid: 2016 10 26 kl. 14 18 Lokal : TER3 TER4 Ansvarig lärare: Michael Josefsson. Besöker lokalen kl 16. Tel.: 013-28 12 64

Läs mer

Introduktion till digitalteknik

Introduktion till digitalteknik Inledning Introduktion till digitalteknik Stefan Gustavson 997, lätt uppdaterat 2004-09-06 Digitalteknik är grunden till alla moderna datorer. I datorernas barndom förekom visserligen så kallade analogimaskiner,

Läs mer

SMD033 Digitalteknik. Digitalteknik F1 bild 1

SMD033 Digitalteknik. Digitalteknik F1 bild 1 SMD033 Digitalteknik Digitalteknik F1 bild 1 Vi som undervisar Anders Hansson A3209 91 230 aha@sm.luth.se Digitalteknik F1 bild 2 Registrering Registrering via email till diglabs@luth.se Digitalteknik

Läs mer

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/ Tentamen med lösningar för IE4/5 Digital Design Torsdag 5/ 5 9.-. Allmän information Eaminator: Ingo Sander. Ansvarig lärare: Kista, William Sandqvist, tel 8-79 44 87. KTH Valhallavägen, Fredrik Jonsson,

Läs mer

F2 Binära tal EDA070 Datorer och datoranvändning

F2 Binära tal EDA070 Datorer och datoranvändning Datarepresentation F2 Binära tal EDA070 Roger Henriksson I en dator lagras och behandlas all information i form av binära tal ettor och nollor. En binär siffra kallas för en bit BInary digit. Ett antal

Läs mer

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson Repetition TSIU05 Digitalteknik Di/EL Michael Josefsson Här kommer några frågeställningar och uppgifter du kan använda för att använda som egenkontroll på om du förstått huvudinnehållet i respektive föreläsning.

Läs mer

CHALMERS TEKNISKA HÖGSKOLA

CHALMERS TEKNISKA HÖGSKOLA Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA217 Grundläggande Datortekik, Z EDA433 Grundläggande Datortekik, IT EDA452 Grundläggande Datortekik, D DIT790 Digital-

Läs mer

Tentamen i IE Digital Design Fredag 21/

Tentamen i IE Digital Design Fredag 21/ Tentamen i IE204-5 Digital Design Fredag 2/0 206 09.00-3.00 Allmän information (TCOMK, Ask for an english version of this exam if needed) Examinator: Ingo Sander. Ansvarig lärare: Kista, William Sandqvist

Läs mer

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tentamen i IE1204/5 Digital Design Torsdag 29/ Tentamen i IE1204/5 Digital Design Torsdag 29/10 2015 9.00-13.00 Allmän information ( TCOMK, Ask for an english version of this exam if needed ) Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist

Läs mer

Digital- och datorteknik

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

Läs mer

Omtentamen IE Digital Design Måndag 14/

Omtentamen IE Digital Design Måndag 14/ Omtentamen IE204-5 Digital Design Måndag 4/3 206 4.00-8.00 Allmän information ( TCOMK, Ask for an english version of this exam if needed ) Examinator: Ingo Sander. Ansvarig lärare: Kista, William Sandqvist

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik 7,5 högskolepoäng läsperiod 1+2 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Kursens organisation Föreläsningar (29

Läs mer

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik EDA45 - Digital och Datorteknik 2009/200 EDA 45 - Digital och Datorteknik Dagens föreläsning: entralenheten och dess byggblock, läroboken kapitel 7 arbetsbokens kapitel 0-4 Ur innehållet: Laddbara register

Läs mer

IE1204 Digital Design

IE1204 Digital Design IE1204 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multiplexor KK2 LAB2 Låskretsar, vippor, FSM

Läs mer

Digitala system EDI610 Elektro- och informationsteknik

Digitala system EDI610 Elektro- och informationsteknik Digitala system EDI610 Elektro- och informationsteknik Digitala System EDI610 Aktiv under hela första året, höst- och vår-termin Poäng 15.0 Godkännande; U,3,4,5 Under hösten i huvudsak Digitalteknik Under

Läs mer

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje position sakapas en summasiffra oh en minnessiffra.

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE1204 F9 Tillståndsautomater del1 william@kth.se IE1204 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska kretsar

Läs mer