EDA216. Digital- och datorteknik. Diverse kompletterande material

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

EDA216 Digital- och datorteknik Ext-1 Ext-17 (Ext-16 saknas) VT14

EDA216 Digital- och datorteknik Ext-1 Ext-17 (Ext-16 saknas) VT14 EDA26 Digital- och datorteknik Ext- Ext-7 (Ext-6 saknas) VT4 Kompletterande material Ext- - Ext-7 (pdf): Ext- Introduktionsexempel. Ext-2 Omvandling mellan talsystem. Ext-3 Mintermer. Disjunktiv (SP) normal

Läs mer

Digital och Datorteknik

Digital och Datorteknik Digital och Datorteknik Dig o Dat = DoD LEU43 LP-LP2 Mekatronik Digital och Datorteknik OH LV Kursens mål: Fatta hur en dator är uppbyggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW

Läs mer

Tentamen med lösningar i IE Digital Design Fredag 21/

Tentamen med lösningar i IE Digital Design Fredag 21/ Tentamen med lösningar i IE04-5 Digital Design Fredag /0 06 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

Läs mer

Sekvensnät. William Sandqvist

Sekvensnät. William Sandqvist Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör att utsignalen påverkas av både nuvarande och föregående insignaler!

Läs mer

ÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist

ÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist ÖH 8.4 7-4-2-1 kod Kodomvandlare 7-4-2-1-kod till BCD-kod. Vid kodning av siffrorna 0 9 användes förr ibland en kod med vikterna 7-4-2-1 i stället för den binära kodens vikter 8-4-2-1. I de fall då en

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

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 och en minnessiffra.

Läs mer

2-14 Binära talsystemet-fördjupning Namn:

2-14 Binära talsystemet-fördjupning Namn: 2-14 Binära talsystemet-fördjupning Namn: Inledning I detta kapitel skall du få lära dig lite mer om det talsystem som datorerna arbetar med. Du skall lära dig att omvandla decimala tal till binära samt

Läs mer

Laboration Kombinatoriska kretsar

Laboration Kombinatoriska kretsar Laboration Kombinatoriska kretsar Digital Design IE1204/5 Observera! För att få laborera måste Du ha: bokat en laborationstid i bokningssystemet (Daisy). löst ditt personliga web-häfte med förkunskapsuppgifter

Läs mer

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Logikgrindar Från data till digitala byggblock: Kursens

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2012-12-17 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

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson, John Berge 203 DIGITALTEKNIK I Laboration DE2 Sekvensnät och sekvenskretsar Namn... Personnummer... Epost-adress... Datum för

Läs mer

Tentamen (Svar och lösningsförslag)

Tentamen (Svar och lösningsförslag) Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen (Svar och lösningsförslag) LEU430 Digital- och datorteknik Måndag 19 oktober 2009, kl. 8.30-12.30 Examinator Lars-Eric

Läs mer

Tentamen i EDA320 Digitalteknik för D2

Tentamen i EDA320 Digitalteknik för D2 CHALMERS TEKNISKA HÖGSKOLA Institutionen för datorteknik Tentamen i EDA320 Digitalteknik för D2 Tentamenstid: onsdagen den 2 mars 997 kl 4.5-8.5. Sal: vv Examinator: Peter Dahlgren Tel. expedition 03-772677.

Läs mer

IE1204/IE1205 Digital Design

IE1204/IE1205 Digital Design TENTAMEN IE1204/IE1205 Digital Design 2012-12-13, 09.00-13.00 Inga hjälpmedel är tillåtna! Hjälpmedel Tentamen består av tre delar med sammanlagd tolv uppgifter, och totalt 30 poäng. Del A1 (Analys) innehåller

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE24 F2 : Logiska Grindar och Kretsar, Boolesk Algebra william@kth.se IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska

Läs mer

Digital Aritmetik Unsigned Integers Signed Integers"

Digital Aritmetik Unsigned Integers Signed Integers Digital Aritmetik Unsigned Integers Signed Integers" Slides! Per Lindgren! EISLAB! Per.Lindgren@ltu.se! Original Slides! Ingo Sander! KTH/ICT/ES! ingo@kth.se! Talrepresentationer" Ett tal kan representeras

Läs mer

Quine McCluskys algoritm

Quine McCluskys algoritm Quine McCluskys algoritm Tabellmetod för att systematiskt finna alla primimplikatorer ƒ(a,b,c,d) = m(4,5,6,8,9,0,3) + d(0,7,5) Moment : Finn alla primimplikatorer Steg: Fyll i alla mintermer i kolumn.

Läs mer

D0013E Introduktion till Digitalteknik

D0013E Introduktion till Digitalteknik D0013E Introduktion till Digitalteknik Slides : Per Lindgren EISLAB per.lindgren@ltu.se Ursprungliga slides : Ingo Sander KTH/ICT/ES ingo@kth.se Vem är Per Lindgren? Professor Inbyggda System Från Älvsbyn

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

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 03-05-3 Salar U, KÅRA, U3 Tid -8 Kurskod TSEA Provkod TEN Kursnamn Digitalteknik Institution ISY Antal uppgifter som ingår

Läs mer

Lösningsförslag tenta

Lösningsförslag tenta Lösningsförslag tenta 2013-12-16 (Version 5 med reservation för eventuella fel. Uppdaterad 140417.) 1. X = 1010 0101 2 ; Y = 0101 1011 2 (8 bitars ordlängd) a) [0, 2 n 1] = [0, 2 8 1] = [0, 255] b) [ 2

Läs mer

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

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

Läs mer

Tentamen med lösningar i IE Digital Design Fredag 15/

Tentamen med lösningar i IE Digital Design Fredag 15/ Tentamen med lösningar i IE4-5 Digital Design Fredag 5/ 6 4.-8. Allmän information (TCOMK, Ask for an english version of this exam if needed Examinator: Ingo Sander. Ansvarig lärare: Kista, William Sandvist

Läs mer

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D Lars-Erik Cederlöf Per Liljas Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D1 2001-05-28 Tentamen omfattar 40 poäng, 2 poäng för varje uppgift. 20 poäng ger godkänd tentamen. Tillåtet

Läs mer

Datorsystemteknik DVG A03 Föreläsning 3

Datorsystemteknik DVG A03 Föreläsning 3 Datorsystemteknik DVG A03 Föreläsning 3 Datoraritmetik Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Hur stora tal kan vi få med N bitar? Största

Läs mer

Laboration Kombinatoriska kretsar

Laboration Kombinatoriska kretsar Laboration Kombinatoriska kretsar Digital Design IE1204/5 Observera! För att få laborera måste Du ha: en bokad laborationstid i bokningssystemet (Daisy). löst ditt personliga web-häfte med förkunskapsuppgifter

Läs mer

Grundläggande digitalteknik

Grundläggande digitalteknik Grundläggande digitalteknik Jan Carlsson Inledning I den verkliga världen vet vi att vi kan få vilka värden som helst när vi mäter på något. En varm sommardag visar termometern kanske 6, 7 C. Men när det

Läs mer

IE1205 Digital Design: F6 : Digital aritmetik 2

IE1205 Digital Design: F6 : Digital aritmetik 2 IE1205 Digital Design: F6 : Digital aritmetik 2 Talrepresentationer Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers)

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-06-01 Skrivtid 9.00-14.00 (5 timmar) Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376

Läs mer

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

Hur implementera algoritmerna på maskinnivå - datorns byggstenar Hur implementera algoritmerna på maskinnivå - datorns byggstenar Binära tal Boolesk logik grindar och kretsar A A extern representation intern representation minnet i datorn extern representation 1000001

Läs mer

Styrteknik: Grundläggande logiska funktioner D2:1

Styrteknik: Grundläggande logiska funktioner D2:1 Styrteknik: Grundläggande logiska funktioner D2:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik: Grundläggande logiska funktioner

Läs mer

Tentamen EDAA05 Datorer i system

Tentamen EDAA05 Datorer i system LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen EDAA05 Datorer i system 2011 10 17, 8.00 13.00 Tillåtna hjälpmedel: bifogad formel- och symbolsamling. För godkänt betyg på tentamen

Läs mer

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa

Läs mer

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1 igitalteknik F2 Några speciella automater: register räknare Synkronisering av insignaler igitalteknik F2 bild Register Ett register är en degenererad automat som i allt väsentligt används för att lagra

Läs mer

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D Lars-Erik Cederlöf Tentamen i Grundläggande ellära och digitalteknik ETA 03 för D 2000-05-03 Tentamen omfattar 40 poäng, 2 poäng för varje uppgift. 20 poäng ger godkänd tentamen. Tillåtet hjälpmedel är

Läs mer

Låskretsar och Vippor

Låskretsar och Vippor Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen och i processorns register. SR-låskretsen är i princip datorns minnescell Q=1 Q=0

Läs mer

F2 Datarepresentation talbaser, dataformat och teckenkodning

F2 Datarepresentation talbaser, dataformat och teckenkodning F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Jonas Wisbrant Datarepresentation I en dator lagras och behandlas all information i form av binära tal ettor och nollor.

Läs mer

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare IE1205 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska

Läs mer

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Talsystem Teori. Vad är talsystem? Av Johan Johansson Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska

Läs mer

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

Ext-14 (Ver 2005-11-21) Ext-14. FLEX-processorns styrenhet med fast logik Ext-4 (Ver 2005--2) Ext-4 FLEX-processorns styrenhet med fast logik 2 Ext-4 FLEX-processorns styrenhet med fast logik En styrenhet för FLEX-processorn skall kunna generera alla styrsignaler till datavägen

Läs mer

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck KOMBINATORISK LOGIK Innehåll Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck Boolesk algebra Karnaugh-diagram Realisering av logiska funktioner

Läs mer

Talrepresentation. Heltal, positiva heltal (eng. integers)

Talrepresentation. Heltal, positiva heltal (eng. integers) Talrepresentation Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers) ett-komplementet, två-komplementet, sign-magnitude

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE1204 F8 Vippor och låskretsar, räknare 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

Läs mer

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare Sekvensiella System a(t) f(a(t)) Ett sekvensiellt system har ett inbyggt minne - utsignalen beror därför BÅDE av insignalens NUVARANDE

Läs mer

Design av digitala kretsar

Design av digitala kretsar Föreläsningsanteckningar Föreläsning 15 - Digitalteknik Design av digitala kretsar Efter att ha studerat fundamentala digitaltekniska områden, ska vi nu studera aspekter som gränsar till andra områden.

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 2 Lärandemål:

Läs mer

Repetition och sammanfattning av syntes och analys av sekvensnät

Repetition och sammanfattning av syntes och analys av sekvensnät Repetition och sammanfattning av syntes och analys av sekvensnät Sekvensnät = ihopkoppling av sekvenskretsar Består i praktiken av - minnesdel (sekvenskretsar) - kombinatorisk del. Sekvenskretsar = kretsar

Läs mer