Binär aritmetik TSIU02 Datorteknik

Storlek: px
Starta visningen från sidan:

Download "Binär aritmetik TSIU02 Datorteknik"

Transkript

1 Binär aritmetik TSIU02 Datorteknik Michael Josefsson Version 1.2

2

3 Innehåll 1. Addition och tvåkomplement Talbaser Addition Exempel Exempel Talrepresentationer Exempel Basen Exempel Höger- och vänsterskift Omvandling från binär till decimal form och tvärtom Exempel Hexadecimal representation Omvandling binär till hexadecimal form Exempel Olika skrivsätt Omvandling hexadecimal till decimal form Exempel Negativa binära tal komplement Exempel Exempel Två anmärkningar Exempel Aritmetiska operationer: addition, subtraktion, skift Ett hjälpmedel: cirkulärgrafen Exempel Spill Hårdvara Exempel Multiplikation Multiplikation snitsigare metod Matematisk beskrivning av metoden Men tvåkomplement då? Utökat talområde

4 Innehåll Exempel Spillkompensering av (a + b)/ Metod 1 Med utökat talområde Exempel Metod 2 Utan utökat talområde Exempel Robertsons algoritm Exempel A. Robertsons algoritm 35 Exempel Metod 2 genom användning av spillflaggan Exempel Exempel

5 1. Addition och tvåkomplement Från digitaltekniken har vi behandlat binära tal och vet hur de är uppbyggda. I denna kurs ska vi tillämpa dessa kunskaper mer praktiskt. För att kunna hänga med i svängarna har det visat sig att en repetition är nödvändig. Även om du kan mycket om det binära talsystemet bör du läsa igenom detta så att inget hamnat mellan stolarna Talbaser Innan vi går in på de egentliga talrepresentationerna måste vi definiera begreppet talbas. Våra vanliga, hederliga tal har basen 10 och den mest framträdande egenskapen är kanske att övergången från 9 till 10 innebär att entalssi ran här börjar om från noll samtidigt som talet begåvas med en tiotalssi ra. Det är emellertid inget speciellt med basen 10. Man kan mycket väl tänka sig, exempelvis, basen 5 istället. I det senare fallet byggs alla tal upp av fem symboler 0, 1, 2, 3 och 4 och en uppräkning från noll sker enligt 0, 1, 2, 3, 4, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24,... Då 10 ovan är farligt likt det vi normalt kallar tio, fastän det numeriska värdet inte alls motsvarar detta, är det vanligt att ange talbasen i petitstil vid sidan av talet, à la Våra vanliga decimaltal anges på samma sätt med exempelvis Lägg märke till att basen alltid anges i decimal form! 1 Det är lätt att hitta symboler för alla tal upp till 9, om vi skulle behöva. Vi tar bara våra gamla bekanta 0,..., 9. Så för talbaser mindre än 10 uppstår inga problem, vi har redan en uppsättning lämpliga symboler. Men vad händer när vi ska använda en talbas större än 10? Exempelvis talbasen 16? Symbolerna 0 till 9 återanvänder vi som vanligt, och när dom tagit slut fortsätter vi med alfabetets bokstäver, A, B, C, D, E och F, och har på så sätt erhållit 16 symboler. Att räkna med denna talbas kommer bli vardagsmat under kursen och det är väl redan nu ingen större överraskning att man räknar upp talen så här: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C,... 1 Varför då? Försök själv att ange 10 5 helt i basen 5, dvs med basen

6 1. Addition och tvåkomplement Att kunna hantera och översätta mellan olika talbaser är viktigt och några metoder för detta kommer att presenteras snart. Om detta och andra operationer verkar svårt kan det kanske vara lämpligt att betrakta hur motsvarande operationer utförs under talbasen 10. Alla operationer har naturligtvis sin motsvarighet i den decimala talbasen och de avmystifieras ofta om övergång till decimaltal görs. Innan vi lämnar dessa preliminärer skall bara nämnas den mest använda talbasen i digitala sammanhang basen 2. Vi behöver här två symboler och väljer naturligt dessa som 0 och 1. Mycket förvirring skulle kunna undanvaras om de en gång hade valts till 0 och X eller något annat som inte förekommer i basen 10, men vi anpassar oss till bruket i branschen och använder 0 och 1. Med bara två symboler sker uppräkning från 0 av teckenlösa tal som 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011,... För att inte blanda ihop 1000 ovan med det decimala tusen, är det viktigt att skriva talbasen så fort sammanhanget kan vara osäkert för läsaren, dvs talet bör anges som Märk att detta är en tjänst åt läsaren. Som vanligt gör man som man vill i egna anteckningar, men resultat och liknande bör förses med gällande talbas uttalas dessutom aldrig tusen utan ett-noll-noll-noll. Tabellen nedan visar förhållandet mellan baserna 10 (decimal bas), 5 och 2. Bas 10 bas 5 bas : : : 1.2. Addition Vi har ju ovan redan lärt oss addera i varje fall med ett vid uppräkningen av talen från noll och uppåt. Vi ska emellertid behandla addition lite för att kunna gå vidare och lära oss hantera negativa tal och andra räknesätt. 6

7 1.2. Addition Addition är enkelt, det finns egentligen bara fyra summor att hålla reda på (talbasen är förstås 2): Det enda märkvärdiga med addition är här den fjärde summan, där resultet blir två si ror. Resultatet kan delas upp i en-talsdelen (här 0) och två-talsdelen (här 1). 2 Tvåtalsdelen kallas som vanligt för minnessi ra eller, vanligare i datorsammanhang, carry som är det engelska uttrycket. Addition av flersi riga tal utförs som man förväntar sig, om bara ordlängden är given: Exempel Addera de båda binära talen och 10111! Antag ordlängden Additionen sker bitvis med början i den minst signifikanta biten. Det viktiga är här att komma ihåg att 1+1+0=10 och 1+1+1=11 som alltså genererar en carry till nästa bit. Vi ser också att denna addition ger ett resultat om sex bitar medan termerna bara var fem si ror långa. Om ordlängden är fem bitar kallas den extra, sjätte, biten för carry. Om ordlängden däremot är, exempelvis åtta, har ingen carry generats i detta fall: Exempel Addera de båda binära talen och 10111! Antag ordlängden Jämför med additionen = 10, här får vi en en-talssi ra och en tio-talssi ra. 7

8 1. Addition och tvåkomplement Begreppet ordlängd är viktigt att förstå. Ordlängden anger det antal bitar som används i beräkningen, med undantag för eventuell genererad minnessi ra. Antagligen låter detta begrepp lite egendomligt, men det klarnar då vi ser att registren i en mikroprocessor har en konstant längd som just är lika med ordlängden Talrepresentationer Det finns två sorters tal i datorsammanhang fixtal och flyttal: Ett fixtal är av typen..., 2, 1, 0, 1, 2,... d v s ett positivt eller negativt tal. Fixtal behöver däremot inte enbart vara heltal. Det går utmärkt att införa en decimalpunkt i talet, men då har denna decimalpunkt ett bestämt läge. Precis som kassaapparater som räknar i ören och har en fast decimaldel som omfattar de två minst signifikanta si rorna. När vi räknar med fixtal behöver vi aldrig bry oss om decimalpunkten. Den finns där på ett fast läge och påverkar inte uträkningarna. Flyttalen skiljer sig mot fixtalen genom att de kan innehålla en decimalpunkt var som helst i talet. Praktiskt görs detta genom att talet delas upp en mantissa och en exponent. Talets värde erhålls sedan ur mantissa 2 exponent.oftanormaliseras mantissan, vilket innebär att den görs så stor den kan utan att bli störe än ett. Med decimala tal kan exempelvis talet 42 anges som = = Mantissan är här 0.42 och exponenten 2. Talet är dessutom normaliserat eftersom vi inte kan multiplicera mantissan med 10 utan att den blir större än 1. Talen , och är däremot inte normaliserade. Addition av flyttal går till på samma sätt som addition av fixtal. På samma sätt som vi ställer upp de tal som skall adderas så att talens minsta signifikanta bitar står under varann o s v måste man göra för flyttal. För att kunna addera två flyttal måste alltså mantissornas respektive bitar med samma vikt stå under varann. För att åstadkomma detta måste ofta talen avvnormaliseras så att detta är fallet. Exempel Addera de båda flyttalen 63 och 398! Inget av talen är normaliserade (de är inte ens skrivna på mantissaexponentform) så vi gör det först: 63 = = = och 8

9 1.4. Basen = = = = Nu är talen normaliserade och den egentliga additionen kan inledas. Först gäller det att få si ror med samma vikt i samma position eller, vilket är samma sak, se till att talen har samma exponent. Ett av talen måste alltså avnormaliseras. Här väljer vi att avnormalisera det mindre talet, dvs = När nu talen har samma exponent kan vi addera mantissorna: = Vi ser att inte kan multipliceras med 10 utan att bli större än ett varför mantissan är normaliserad redan nu, d v s exponenterna behöver inte röras och talet kan slutligen skrivas: som alltså är summan av 63 och 398. Ibland kan additionen av mantissorna ge ett tal som är större än ett. I sådana fall måste slutresultatet normaliseras, genom att mantissan divideras med 10 och exponenten ökas med ett. Beräkningar med flyttal ingår inte i kursen men kännedom om dess princip enligt ovan gör det Basen 2 10 I talbasen 2 representeras talen av dess binära representant som enbart kan utgöras av talbasens två symboler 0 respektive 1. Exempel Översätt det binära talet till sitt decimala värde: 9

10 1. Addition och tvåkomplement Den enskilda binära si ran kallas en bit (av engelskans binary digit). En grupp av fyra sådana si ror kallas en nibble (ev nybble) medan en åtta-grupp kallas för oktett eller numera vanligare byte. Det är viktigt att kunna översätta mellan olika talbaser. Speciellt baserna 2, 10 och 16 är vanliga. Förr användes även den oktala talbasen 8 men den är numera sällsynt Höger- och vänsterskift Man ser snart att man kan multiplicera ett tal med 2 genom att skifta det binära talet ett steg åt vänster 3 Att detta fungerar kan man se av likheten P x i 2 n i 2 = P x i 2 n i 2 1 = P x i 2 (n+1) i. På motsvarande sätt kan naturligtvis en divison med 2 utföras genom högerskiftning. För talet ovan är det trivialt att genomföra denna operation, och svaret blir rätt. Om talets minst signifikanta bit är 1 kommer divisionen resultera i en precisionsförlust eftersom denna bit kommer att skiftas ut ur talet. En påföljande multiplikation med 2 kommer inte att resultera i det ursprungliga talet! Exempel: 1.6. Omvandling från binär till decimal form och tvärtom Med kännedom om positionsvikterna hos ett binärt tal är det lätt att översätta ett sådant tal till dess decimala motsvarighet. Omvändningen är dock inte helt lika enkel. Här skall två metoder presenteras, dels en med hjälptabell över tvåpotenser och dels en genom upprepad division med 2 och inspektion av divisionens rest. 3 Jämför med hur vi i det decimala talsystemet lätt kan multiplicera ett tal med 10 genom att skifta talet åt vänster och lägga till en nolla. 10

11 1.6. Omvandling från binär till decimal form och tvärtom Exempel Översätt till dess binära motsvarighet! Metod 1. Med hjälptabell Leta reda på, och subtrahera med, närmast mindre tvåpotens. Om subtraktionen gav ett negativt resultat, notera en nolla, återställ resultatet och börja om. Om subtraktionen gav ett positivt resultat noteras en etta och resultatet använs i nästa omgång. Alltså: D v s = Man läser högra kolumnen uppifrån. Och man ser då också varför metoden fungerar, den skiljer precis ut de jämna tvåpotenser som bygger upp talet. Just här använde vi ingen tabell men det är lätt att upprätta en tabell över tvåpotenser för att underlätta översättningen. Metod 2. Genom upprepad division med 2 Samma tal som ovan ger följande beräkningar. Lägg märke till om rest uppstår vid divisionen.... som ger samma svar som förra metoden, Men man måste läsa nerifrån och upp i det senare fallet. 11

12 1. Addition och tvåkomplement 1.7. Hexadecimal representation Förutom det rent binära talsystemet förekommer även det hexadecimala talsystemet, med basen ofta i fortsättningen. Det är i allmänhet inga svårigheter att omvandla ett binärt tal till dess hexadecimala motsvarighet och tvärtom. Med följande hjälptabell är det särskilt enkelt. Decimaltal Binärtal Hexadecimaltal A B C D E F Omvandling binär till hexadecimal form Exempel Översätt talet till basen 16 10! Vi använder tabellen ovan. Översätt varje fyr-grupp till sin hexadecimala motsvarighet och saken är klar: Det kan faktiskt vara idé att lära sig tabellen utantill, åtminstone tills kursen är avslutad. 12

13 1.8. Negativa binära tal Olika skrivsätt Förutom att skriva ett litet index som anger talbasen signaleras i allmänhet hexadecimala tal genom att det inleds med ett $-tecken, men även andra skrivsätt förekommer. Således är detta sant: $62 = 0x62 = H 0 62 = Omvandling hexadecimal till decimal form Översättningen mellan hexadecimala tal och decimaltal görs med kunskap om talpositionen: Exempel Översätt det hexadecimala talet $3AF till decimaltal! 1.8. Negativa binära tal För teckenlösa binära tal har vi sett att talvärdet kan erhållas genom addition av tvåpotenser. Närmare bestämt tvåpotenserna..., 2 3, 2 2, 2 1, 2 0 dvs talen..., 8, 4, 2, 1. Ett fyrabitars positivt tal, X, som består av bitarna x 3,x 2,x 1,x 0 får alltså det decimala värdet: Vi har även behov av att kunna representera negativa tal. Det finns flera möjliga representationer för dessa. Vi fastnar för en som har trevliga egenskaper och dessutom enkelt kan implementeras i hårdvara, 2-komplement. 13

14 1. Addition och tvåkomplement komplement Ett tal, X = {x 3,x 2,x 1,x 0 }, kan i 2-komplement skrivas: Vi ser att talets bitar får positionsvikterna 4, 2, och 1 som vanligt men att mest signifikant bit har störst och negativ vikt. Bitarna {x 2,x 1,x 0 } bygger upp ett positivt tal men eftersom x 3 :s vikt är störst och negativ kommer denna att byta tecken på hela talet om den är ett-ställd. Mest signifikant bit kallas därför för teckenbit. För att sammanfatta: Ett tvåkomplementstal med mest signifikant bit ett-ställd är alltså alltid ett negativt tal. Ett tvåkomplementstal med mest signifikant bit noll-ställd är alltså alltid ett positivt tal. Exempel Översätt det binära talet 1011 till ett decimaltal under förutsättning att vi vet att det är ett tvåkomplementstal! För att tydlighets skull gör vi detta i två steg: Först bygger vi upp ett positivt tal med bitarna {x 2,x 1,x 0 } enligt formeln ovan: Sedan applicerar vi teckenbiten, x 3 : Tydligen betyder = Och det verkar rimligt eftersom teckenbiten är satt och talet således är negativt. 14

15 komplement En tabell över decimaltal och trebitars tvåkomplementstal kan konstrueras på samma sätt som i exemplet: Decimaltal Tvåkomplementtal Vi ser att tvåkomplementsrepresentationen kan representera både positiva och negativa tal. De negativa binärtalen utmärks av att teckenbiten är ett-ställd. De positiva kännetecknas av att teckenbiten är nollställd. Detta gäller generellt, oavsett vilken ordbredd som används. Fördelen med tvåkomplementsrepresentationen är att vi kan genomföra additioner och subtraktioner precis som förut. D v s det behövs ingen speciell additionsmetod bara för att talen är tvåkomplementerade. En direkt följd av detta är att det inte finns något som överhuvudtaget skiljer tvåkomplementstal från teckenlösa tal. Man kan inte se på dem om de är det ena eller det andra. Det är upp till betraktaren att avgöra om ett tal skall tolkas som ett tvåkomplementstal eller inte. Exempel Visa att addition med tvåkomplementstal fungerar och ger rätt resultat! Vi kan göra det med tabellen ovan som hjälp. 15

16 1. Addition och tvåkomplement I och med att vi kan addera vilka tal som helst kan vi också subtrahera dom, ty subtraktion kan ses som addition med omvänt tecken på ena termen. En kunskap vi ju faktiskt redan använde i exemplet ovan. Tvåkomplementsrepresentationen av ett binärt tal är lätt att beräkna: Invertera alla bitar och addera 1, dvs Om man lever i en tvåkomplementsvärld sker alltså teckenbyte av ett tal genom att tvåkomplementera det. Teckenbytet gäller förstås både övergång från positiva till negativa tal och tvärtom. Två anmärkningar Ett vanligt missförstånd är att tvåkomplementstal med nödvändighet är negativa. Det är inte sant. De kan vara negativa men det hänger på teckenbiten om de är det. Ett positivt tal kan tvåkomplementeras till ett negativt och ett negativt tal kan tvåkomplementeras till ett positivt. Ett tvåkomplementstal byter inte tecken bara genom att ändra teckenbiten. Det byter förstås tecken men talet blir samtidigt något annat. Man måste tvåkomplementera det för att beloppet ska vara detsamma. Exempel 1) Vad blir 7 uttryckt som ett binärt (tvåkomplements) tal? 2) Vad blir i decimal form? Talet är negativt då teckenbiten, längst till vänster i talet, är ett-ställd. För att ta reda på vilket negativt tal det är tar vi först fram vilket positivt det handlar om. Vi vet ju sedan att det skall förses med ett negativt tecken. 16

17 1.10. Aritmetiska operationer: addition, subtraktion, skift Talets belopp är således 3 och med rätt tecken är svaret Aritmetiska operationer: addition, subtraktion, skift Med några enkla prov kan vi konstatera att följande gäller även för tvåkomplementrepresentationen: 1. Addition fungerar som vi förväntar oss. 2. Subtraktion genomförs som addition med negativt tal, d v s a b = a +( b). 3. Vänsterskift av alla bitar ett steg innebär multiplikation med två. 4. Högerskift av alla bitar är nästan division med två: = = =2 10, som är korrekt, men = = = +6, som är fel! Problemet löser vi här genom att införa ett speciellt högerskift som bara ska användas vid tvåkomplementkodade tal 4, det aritmetiska (höger)skiftet som bevarar teckenbitens värde: = = = 2, ok. Det aritmetiska högerskiftet kan alltså 5 ritas som Man ser att teckenbiten längst till vänster bevaras (kopieras till sig själv) medan biten längst till höger går förlorad. 4 Och strängt taget bara nödvändigt vid högerskiftning av negativa tvåkomplementkodade tal. 5 Istället för att kasta bort den minst signifikanta biten lagras den ofta i carryflaggan. Det viktiga är här vad som händer vid den mest signifikanta biten den måste bevaras, den innehåller ju talets tecken. 17

18 1. Addition och tvåkomplement Ett hjälpmedel: cirkulärgrafen Addition och subtraktion kan göras mer åskådliga med cirkulärgrafen. Cirkulärgrafen är i princip en tallinje med den skillnaden att den tar hänsyn till att vi rör oss med en begränsad ordlängd och att vi dessutom föredrar tvåkomplementrepresentation framför allt: Som på en tallinje kan addition genomföras genom att gå åt höger, vilket blir medurs ihär. Och omvänt med subtraktion. Det man speciellt ska lägga märke till är vad som händer vi addition av tal med lika tecken. Exempel Addera 3 10 och 2 10 I basen 2 börjar vi vid 011 och stegar sedan fram medurs genom 100 till 101 och summan är tydligen 101 = 3 10! Det var ju egendomligt att en addition av positiva tal kan ge ett negativt tal som resultat, men det är helt konsekvent med vår cirkulärgraf. Orsaken kan naturligtvis härledas till vår begränsade ordlängd. Med en längre ordlängd skulle ovanstående addition fungera ända tills vi adderar oss över gränsen mellan positiva och negativa tal Spill Fenomenet ovan kallas spill (eng overflow) och ställer till problem för oss då vi efter varje addition måste kontrollera om spill uppstått. Om spill föreligger är resultatet alltså felaktigt. Lägg märke till att det inte är något fel i själva additionen, bitarna har adderats 18

19 1.12. Hårdvara på rätt sätt, det är vår tvåkomplementstolkning som ställer till det. Om vi istället för tvåkomplementstal enbart tänker oss positiva tal hela cirkeln runt så stämmer additionen. Spill uppkommer om tal med lika tecken ger en summa med annat tecken. Spill är bara intressant vid 2-komplementstal, annars är ju annat tecken omöjligt! En följd av detta är att om addition av teckenlösa tal ger spill kan man bortse från detta. På ungefär samma sätt visualiserar cirkulärgrafen när en minnessi ra, carry skapas vid övergång mellan och Lägg märke till att närvaron av en carry inte innebär något problem om talen är tvåkomplementkodade, i detta fall är övergången från negativa till positiva tal helt legitim. Carry uppstår även vid övergång från andra hållet dvs subtraktion, men motsvarar då en lånesi ra och kallas borrow. Carry uppkommer vid övergång mellan och Borrow vid omvänd övergång Hårdvara Med addition avklarad på papper ska vi se hur den även kan klaras av i hårdvara. Från digitaltekniken är heladderaren bekant och det är heladderaren som är det fundamentala byggblocket i fortsättningen. Inte bara för addition och subtraktion utan även för multiplikation och division. x y cut FA cin s Fulladderaren 6 adderar x, y och en inkommande carry c in och genererar en summa s och en utgående carry, c ut. Med en dylik fulladderare kan man konstruera en godtyckligt bred adderare genom att lägga flera FA bredvid varann och knyta ihop carry-kedjorna. För att lättare hantera de kommande uttrycken inför vi nu en definition av de vektorer av 1:or och 0:or som utgör de enskilda talen: 6 Fulladderaren kallas även heladderare. Eftersom förkortningen för heladderare, HA, även kan misstolkas för halvadderare undviker jag det namnet. 19

20 1. Addition och tvåkomplement X = {x 3 x 2 x 1 x 0 } Y = {y 3 y 2 y 1 y 0 } S = {s 3 s 2 s 1 s 0 } Med dessa beteckningar kan en fyra-bitars fulladderare tillverkas enligt nedan: Vi får en utgående carry och en inkommande carry från höger som alltid är noll. Om den var 1 skulle vi utföra x + y + 1 och det vill vi ju inte. Men spill då? Adderaren är tämligen värdelös om den inte kan säga till om den räknat fel... Vi har tidigare sett när spill uppstår i cirkulärgrafen, men när är det egentligen? Om vi specialstuderar fulladderaren längs till vänster det är ju i den änden teckenbiten sitter kan vi skapa en liten tabell: Om vi nu kommer ihåg när spill kan inträ a kan vi tillfoga en kolumn för dessa fall också. Resonemanget är vår kunskap om att addition av två positiva tal aldrig kan ge negativt resultat. Om resultatet byter tecken har spill inträ at. Kom ihåg att vi betraktar talen som tvåkomplementkodade, dvs de har en teckenbit. 20

21 1.12. Hårdvara Som tur är inträ ar spill bara i två fall. Kan vi nu bara konstruera logik för att identifiera vilka insignalkombinationer som ger detta kan vi tillverka oss en spillindikator. Nu kan man naturligtvis sätta sig att tillverka Karnaugh-diagram för att reda ut logiken, men lite inspektion av tabellen räcker faktiskt. Det är inte ofta naturen är på vår sida, men i just det här fallet blir logiken mycket enkel: Det är en enkel sak att komplettera vår adderare med denna indikator och har nu plötsligt en fungerande adderare för tvåkomplementstal, den kan addera positiva såväl som negativa tal. Men vi behöver kunna utföra subtraktion också. Visst vore det bra om samma hårdvara kunde utnyttjas? Vi har ovan sett att addition och subtraktion hänger intimt ihop enligt X Y= X + Y, där Y = Y + 1. Alltså, sammantaget, Allt i högerledet additioner kan vi redan utföra. Men vi behöver också kunna invertera ena talet för subtraktionen. Vid addition ska talet förstås inte inverteras. Således måste vi ordna till en styrbar inverterare, dvs styrbar så att den kan fås att invertera eller inte beroende på en yttre styrsignal. Det visar sig att det är precis vad en xor-grind gör: Så nu kan vi införa en styrsignal add/sub som automatiskt genomför till inverteringen av Y. Om signalen är låg adderas talen och om den är hög inverteras Y. Återstår avslutningsvis att även addera 1 vid subtraktion. Det kan lösas genom att låta en 1:a anslutas till c in vid minst signifikant bit. Och denna 1:a tar vi naturligtvis från add/sub som ju är hög vid subtraktion och låg annars. Exempel Avgör om nedanstående beräkningar ger spill och/eller carry! Vilka har gett korrekt resultat? (+6) (+8) = (+14) C= V= (+127) (+1) = ( 128) C= V= (+4) ( 2) = (+2) C= V= 21

22 1. Addition och tvåkomplement (+2) ( 4) = ( 2) C= V= ( 2) ( 4) = ( 6) C= V= ( 127) ( 62) = (+67) C= V= 22

23 2. Multiplikation Vi har fortfarande ingen multiplikator. Man kan helt säkert syntetisera en multiplikation med hjälp av upprepade additioner, men det är en hejdlöst långsam metod. Kan multiplikationen genomföras direkt i hårdvara är det definitivt en tidsvinst. I vissa fall kan det vara enkelt att beräkna resultaten i förväg och lägga dem som en tabell i ett programmerbart minne. Då behöver man inte utföra några beräkningar när man vill ha resultatet vilket ger snabb åtkomst. Minnet adresseras med operanderna som ingångsvärden, vilket kan bli ohanterligt om dessa är långa. Men vid korta tabeller är det ofta smidigt. Ett typexempel på en situation där det kan löna sig att beräkna iförväg är de transcendenta funktionerna sin x, cos x etc 1. I fortsättningen ska dock vi behandla det mer generella fallet. Först måste vi dock klura ut en lämplig algoritm oavsett om vi ska multiplicera i hårdvara eller mjukvara. Problemet är alltså: X = {x 3 x 2 x 1 x 0 } =8 x 3 +4 x 2 +2 x 1 + x 0 Y = {y 3 y 2 y 1 y 0 } =8 x 3 +4 x 2 +2 x 1 + x 0 X, Y 0 Z = {z 7 z 6 z 5 z 4 z 3 z 2 z 1 z 0 } = 128 x x 0 Z 0 Hur multiplicerar man egentligen? De med gott minne kommer ihåg grundskolan då man gjorde ungefär så här, där vi utgår från att vi har enbart med heltal att göra: 1 I dessa fall räcker det dessutom att tillverka en tabell över en halv kvadrant med sinusfunktionen och sedan kan man med speglingar och trigonometriska identiteter relativt lätt beräkna övriga. 23

24 2. Multiplikation Såg ni vad som hände? Den ena faktorns minst signifikanta bit angav om summering skulle ske eller inte. Där den var noll hände inget annat än att vi skiftade resultatet ett snäpp åt vänster. Ovanstående beräkning kan utföras i mindre steg om vi adderar så tidigt vi kan: Det är intressant att notera hur vissa tal aldrig kommer att adderas, de bara faller ner till slutresultatet. Redan efter första additionen vet vi hur resultatet kommer att sluta! För tydlighetens skull formaliserar vi detta med symboler i stället för binära tal 2. Med beteckningar enligt problemdefinitionen har vi: 2 De binära talen 1 och 0 är ju i och för sig symboler för nåt också... 24

25 Vi kan redan nu få en uppfattning om vilken hårdvara som behövs. Tydligen behövs AND-grindar och 3 nivåer med fulladderare i huvudsak. Med våra fyra bitar kan resultatet se ut så här: y1 y2 y3 y4 x4 0 & & & & y1 y2 y3 y4 x3 & & & & FA FA FA FA c_in=0 y1 y2 y3 y4 x2 & & & & FA FA FA FA c_in=0 y1 y2 y3 y4 x1 & & & & FA FA FA FA c_in=0 z1 z2 z3 z4 z5 z6 z7 z8 Totalt behövs här 12 heladderare och 16 AND-grindar. Heltalen rinner igenom konstruktionen med början vid toppen och när signalerna nått nedre delen av är resultatet klart. Det är en mycket snabb multiplikator: en heladderare fördröjer signalen kanske 10 ns och en AND-grind tar ännu kortare tid 3. Med tre nivår heladderare kan vi alltså multiplicera med en hastighet av cirka 1/( ca10) nanosekunder 25 miljoner multiplikationer per sekund! En högst respektabel hastighet och antagligen mycket snabbare än vi, dvs processorn, hinner förse den med uppgifter. Men det gick åt en del hårdvara för att komma hit. Hur mycket hårdvara skulle det gå åt om man utökade multiplikatorn till 8 eller kanske 16 bitar? Vi kan se att arean av ritningen ökar ungefär med kvadraten på antalet bitar i talen. En 16-bitars multiplikator skulle med detta resonemang bli fyra gånger högre och fyra gånger bredare, dvs 16 gånger 3 Tiderna är tagna från motsvarande TTL-logik. Grindfördröjningen i modernt kisel är bråkdelar av nanosekunder. 25

26 2. Multiplikation större, fastän bitbredden bara ökade fyra gånger! En sådan tingest vill vi antagligen inte ens försöka tillverka i varje fall inte med lösa integrerade kretsar den blir omfattande. Slutsats är alltså: Det är snabbt, men rätt komplicerat och dyrt. Däremot är det en fullt möjlig väg att gå, metoden fungerar Multiplikation snitsigare metod Varför blev det såhär? Tydligen är hårdvaru- skiftningen orsaken till den kvadratiska ökningen. Kan man eliminera det skiftet är mycket av problemen lösta, det skulle bli en lineär ökning av hårdvaran i stället för en kvadratisk. I stället för att skifta vänster och addera borde man kunna skifta resultatet åt höger och på så sätt återanvända hårdvaran? I och med att vi vill multiplicera två fyrabitars tal kan vi vara säkra på att svaret högst kan ha åtta bitar så vi ansätter ett 8bits startvärde. Och istället för att skifta längre och längre åt vänster skiftar vi varje partialprodukt åt höger: Vi döper partialprodukterna p 0, p 1, p 2, p 3 och p 4 där p 4 det önskade svaret. Matematisk beskrivning av metoden Tydligen fungerar denna metod också. Vi har kommit fram till en multiplikator med modesta krav på hårdvaran och som dessutom kan utökas till att hantera fler bitar utan att hårdvaran och komplexiteten växer oss ur händerna. Metoden verkar så lovande att vi måste beskriva den matematiskt. Våra förutsättningar är: 26

27 2.1. Multiplikation snitsigare metod heltalet X =< x 3 x 2 x 1 x 0 >=8 x 3 +4 x 2 +2 x 1 + x 0 och heltalet Y=< y 3 y 2 y 1 y 0 >=8 y 3 +4 y 2 +2 y 1 + y 0, samt p 0 = 0, som för tydlighetens skull skrivs Genom inspektion av den tidigare uträkningen kan vi formulera de fem partialprodukterna som Alltså slutligen: p i+1 =(p i + Y x i 2 4 )2 1 för i =0, 1, 2, 3. där P 4 är den önskade produkten. Det här kan man göra hårdvara för: 4 Åtta bitars partialresultat och vi vet varför. 27

28 2. Multiplikation y1 y2 y3 y4 x4,x3,x2,x1 & & & & FA FA FA FA c_in=0 D D D D D D D D Reset, nollställning Genom att ha ett partialproduktregister vet vi automatiskt var svaret kommer att hamna. Vi kommer att behöva nollställa det innan varje multiplikation, men det är enkelt. Ett krux kanske är att ena faktorn måste matas in bit för bit i den övre delen av schemat (hur gör vi det?). För att utföra beräkningen måste systemet ovan klockas fyra gånger. Ett sätt att mata fram X är att från början lägga X i ett register och sedan skifta detta register bit för bit... Men vi har ju redan ett register, och vi laddar det med nollor nollor som skiftas ut och aldrig blir del av resultatet. Så varför inte kombinera dessa faktum? Det vill säga: ladda in X ilägre halvan av partialregistret (i rätt ordning) och anslut den utskiftade biten till AND-grindarna högst upp. Det är klart vi gör så. Vi återanvänder isåfall dessutom hårdvaran på ett smidigt sätt Men tvåkomplement då? Nu har vi i varje fall, efter en stunds resonemang och prov, en algoritm som verkar fungera. Åtminstone för positiva heltal. Hur var det nu med tvåkomplement? Det vill säga hur ska vi kunna multiplicera tal med tecken? Det går naturligtvis utmärkt att göra båda talen positiva och sedan multiplicera ihop dem. Följt av att möjligen ändra tecken på resultatet. Men vi letar i första hand efter att på något sätt använda multiplikationshårdvaran ovan och det är förstås bra om vi inte behöver manipulera talen innan. Och det visar sig att vi får hjälp av att ha beskrivit den tidigare algoritmen matematiskt. Vi ser att 28

29 2.2. Men tvåkomplement då? X =< x 3 x 2 x 1 x 0 >= 8 x 3 +4 x 2 +2 x 1 + x 0 vilket betyder att om vi adderar Y x 3 vid sista additionen i algoritmen får talet rätt tecken, eftersom x 3 är teckenbiten i tvåkomplementttal. Själva multiplikationsalgoritmen är i stort sett oförändrad Utökat talområde Allt är dock inte frid och fröjd än. Vi måste också hantera att addition med tvåkomplementstal kan ge spill och det kan vi förstås inte tillåta. Om vi studerar den tidigare algoritmen ser vi att spillet 5 kan uppstå vid additionen med p i i varje steg. Vi kan införa logik som letar efter detta och kompenserar på något sätt, men faktum är att problemet är hävbart redan nu: Vi högerskiftar alltid efter en addition 6! Med andra ord kommer ett eventuellt spill alltid automatiskt infogas i det tillåtna talområdet. Men det krävs att vi sparar den carry som skapades av additionen. Det kan vi göra om vi har ett utökat talområde. Vi tittar först på vad utökat talområde egentligen är med ett exempel. Exempel Utökat talområde på positiva tvåkomplementstal... och på negativa tal Spillkompensering av (a + b)/2 Det finns två metoder att korrigera resultatet om spill vid operationen (a+b)/2 inträ at. Den metod som först beskrivs är metoden med utökat talområde och den sista är metoden utan utökat talområde. I båda beskrivningarna nedan antas att talen är fyrabitars tvåkomplementskodade tal. 5 Vi påminner oss om att spill uppstår då addition av två tal med lika tecken ger en summa med omvänt tecken. 6 Detta skrivs i algoritmen som multiplikation med 2 1, dvs ett aritmetiskt högerskift, eftersom vi handskas med tvåkomplementstal. 29

30 2. Multiplikation Metod 1 Med utökat talområde Med utökat talområde ser man till att, i varje fall just vid additionen, ha tillgång till en ytterligare bit till vänster om teckenbiten. Det är denna bit som måste sparas för att man ska kunna genomföra det aritmetiska högerskiftet på ett korrekt sätt. Om vi vid additionen har tillgång till ytterligare en bit, en mestare signifikant bit, kommer additionen inte att kunna ge spill i detta nya utökade talområde. Och med tillgång till den biten kan det aritmetiska högerskiftet utföras utan att resultatet blir fel teckenbiten kommer att bevaras och spill kan undvikas Exempel Beräkna (3 + 5)/2 och( 4 6)/2! Metod 2 Utan utökat talområde Om vi inte kan använda metoden med utökat talområde har vi fortfarande en möjlighet att korrigera (a + b)/2 så att resultatet blir korrekt. Vi har hittills inte använt spillflaggan, V, där V = c i c o enligt förra föreläsningen. Om vi ser på spillflaggan att spill inträ at kan vi förstås också kompensera för det. Spillkompensationen är i detta fall enkel: Om summan av två lika tal bytt tecken måste vi kompensera genom att byta tillbaka teckenbiten! Observera att det inte handlar om att byta tecken på talet, bara att flippa teckenbiten. Exempel Beräkna (3 + 5)/2 och( 4 6)/2! 30

31 2.3. Robertsons algoritm I en del böcker står det att man nu utför addition med 1 i teckenpositionen. Detta är iochför sig sant, men eftersom vi nu inte har utökat talområde kan vi strunta i den genererade carryn och få samma e ekt genom att helt enkelt invertera teckenbiten! Vad hårdvaran anbelangar är den enklare om vi väljer att använda en inverterare än att använda ytterligare en adderare. Och eftersom det är rätt tecken på (a + b)/2 vi söker, korrigerar vi efter det aritmetiska skiftet som vanligt Robertsons algoritm Om vi använder den samlade kunskapen ovan, dvs Tvåkomplementstal divideras med två genom aritmetiskt högerskift, spill kan kompenseras men någon av metoderna, samt en avslutande addition med Y x 0 sätter tecknet på tvåkomplementstal kan vi sammanställa detta till Robertsons algoritm. Vi formaliserar även denna algoritm innan ett exempel kommer: Med förutsättningen att båda talen X och Y är tvåkomplementkodade: X = {x 3 x 2 x 1 x 0 } = Y = {y 3 y 2 y 1 y 0 } = 8 x 3 +4 x 2 +2 x 1 + x 0,där x 3 är teckenbit 8 y 3 +4 y 2 +2 y 1 + y 0,där y 3 är teckenbit När vi multiplicerar två fyrabitars tal som vardera har en teckenbit kommer resultatet bara ha en teckenbit z 6, så att Z = {z 6 z 5 z 4 z 3 z 2 z 1 z 0 } 31

32 2. Multiplikation och vi kan skriva algoritmen som Resultatet av multiplikationen är den sist erhållna partialprodukten P 4 och beviset kan göras med insättning som förut. Exempel Multiplicera Y = 7 och X = 5 med Robertsons algoritm! Slutligen kan vi konstatera att vi kan använda den tidigare utvecklade hårdvaran även för Robertsons algoritm, med undantag för det sista steget i algoritmen, som är en addition med omvänt tecken. Vi behöver en styrbar subtraherare/adderare som tydligen ska addera i allmänhet men inte sista gången. Det löser vi enkelt genom att låta sekvensen 0, 0, 0, 0, 1 styra ett gäng inverterare för ena operanden och, för att få det sista steget att verkligen addera med omvänt tecken, låta samma sekvens samtidigt gå in på fulladderarnas minst signifikanta bit enligt figuren nedan: 32

33 2.3. Robertsons algoritm y0 y1 y2 y3 & & & & & =1 =1 =1 =1 =1 SUB 0,0,0,1 FA FA FA FA FA D D D D D D D D Reset x0 x1 x2 x3 Vi har nu behandlat den binära aritmetik som kan ingå i en enkel processor och sett i detalj hur den fungerar. För att vara ännu mer kompletta skulle vi kunnat titta även på division, men de aritmetiska funktionerna är i allmänhet bara addition och subtraktion åtminstone i billigare processorer. I dyrare processorer kan även multiplikation och kanske till och med division förekomma. Division används förhållandevis sällan i verkligheten, mycket mer sällan än multiplikation, 33

34 2. Multiplikation 34

35 A. Robertsons algoritm Det finns åtskilliga algoritmer för binär multiplikation. På föreläsningarna utvecklades en algoritm för multiplikation av tvåkomplementkodade tal som hade den fördelen att mycket av den hårdvara som den aritmetisk-logiska enheten består av enkelt kan återanvändas. Algoritmen framtogs först av Robertson och är namngiven efter honom som Robertsons algoritm. Detta extramaterial innehåller genomarbetade exempel på Robertsons algoritm. Men först en definition: Definition. Med talen X = x 3 x 2 x 1 x 0 och Y = y 3 y 2 y 1 y 0 kodade som tvåkomplementstal kan produkten p = x y beräknas enligt Robertsons algoritm: p 0 = 0 (A.1) p i+1 =(p i + y x i 2 3 ) 2 1 (A.2) i =0, 1, 2 (A.3) p = p 3 y x (A.4) Vid rad (0.2) i algoritmen adderas två tvåkomplementskodade tal och följaktligen kan talområdet överskridas spill inträ ar. Vi vet sedan tidigare att spill uppstår då addition av tvåkomplementkodade tal med lika tecken resulterar i en summa med annat tecken. 1 För att algoritmen skall kunna implementeras måste vi se till att ett eventuellt spill tas om hand innan nästa steg tas. Det finns två metoder för detta och båda baserar sig på det faktum att algoritmen omedelbart dividerar med två... ) 2 1 ovan efter den potentiellt farliga additionen. Vi vill således spillkompensera uttryck av typen (a+b)/2 och noterar samtidigt att division med två motsvarar aritmetiskt högerskift för tal i den använda representationen. De två metoderna är då: Spillkompensering genom utökat talområde, och Spillkompensering genom användning av spillflaggan. 1 Detta enkla faktum är tydligen lätt att bortse ifrån. Det är dock grunden för hanteringen av multiplikationsalgoritmen i det följande. Så se till att förstå vad detta innebär! 35

36 A. Robertsons algoritm Metod 1 Genom utökat talområde Med utökat talområde ser vi till att, i varje fall just vid additionen, ha tillgång till en ytterligare bit till vänster om teckenbiten. Det är denna bit som måste sparas för att man ska kunna genomföra det efterföljande aritmetiska högerskiftet på ett korrekt sätt. Om vi vid additionen har tillgång till ytterligare en bit, en mestare signifikant bit, kommer additionen inte att kunna ge spill i detta nya utökade talområde. Och med tillgång till den biten kan det aritmetiska högerskiftet utföras utan att resultatet blir fel teckenbiten kommer att bevaras och spill kan undvikas. Exempel Beräkna (3 + 5)/2 respektive ( 4 6)/2. Det utökade talområdet utförs som en extra bitposition till vänster om talet. Aritmetiskt skift markeras med! och den utökade teckenpositionen med. Negativa tal måste teckenutvidgas innan additionen utförs. Den understrukna biten kan kastas direkt och behöver inte tas fram (+3) (+5) ( 8)! 0100 (+4) ( 4) ( 6) ??! 1011 ( 5) Metod 2 genom användning av spillflaggan Om vi inte kan använda metoden med utökat talområde har vi fortfarande en möjlighet att korrigera (a + b)/2 så att resultatet blir korrekt. Spillflaggan innehåller information om huruvida talområdet överskridits 2 och om vi ser på spillflaggan att spill inträ at kan vi förstås också kompensera för det. Spillkompensationen är i detta fall enkel: Om summan av två lika tal bytt teckenbit måste vi kompensera genom att byta tillbaka teckenbiten! Det innebär här att helt enkelt byta värde på teckenbiten, från en etta till en nolla eller tvärtom. Det innebär inte att byta tecken på hela talet genom att invertera och addera ett. 2 Vi vet sedan tidigare att spillflaggan, V, formas av uttrycket V = c i c o,där c i och c o är carry-in respektive carry-out runt mest signifikant bit, vilket motsvarar teckenbiten i vårt fall. 36

37 Exempel Beräkna (3 + 5)/2 respektive ( 4 6)/2. Spillflaggan V :s värde noteras efter additionen. Aritmetiskt skift markeras som förut med!. Metoden med utökat teckenområde visas till vänster och till höger används spillflaggeinformationen (+3) (+5) V= ( 8)! 1100 ( 4) spillkorr 0100 (+4) OK! 1100 ( 4) ( 6) V= (+6)! 0011 (+3) spillkorr 1011 ( 5) OK! Beväpnad med denna information kan vi nu angripa Robertsons algoritm. Innan vi börjar ansätter vi för tydlighetens skull rätt antal bitar i den första partialprodukten, p 0.Dåvi i exemplet antagit fyrabitars tal kommer resultatet att högst kunna ha sju bitar, varav en teckenbit, och p 0 ansättes alltså till , med teckenbiten längst till vänster. Exempel Mutliplicera de två talen Y = y 3 y 2 y 1 y 0 = 6 och X = x 3 x 2 x 1 x 0 = 5 med Robertsons algoritm. Då åtminstone ett av talen har negativt tecken och Robertsons algoritm skall användas förutsätts tvåkomplementrepresentation gälla. Alltså Y = 0110 och X = = Vi behöver även Y = = Till vänster visas metoden med utökat talområde och till höger används spillflaggan. Teckenbiten markeras i båda fallen med # och den utökade teckenpositionen med. Notera att den utökade teckenpositionen vid det aritmetiska skiftet skall användas som mest signifikant bit! 37

38 A. Robertsons algoritm # p x 0 Y ! p x 1 Y ! p x 2 Y ! p x 3 Y p 4 = X Y= 30 # p x 0 Y V = ! p x 1 Y V = ! spillkorr p x 2 Y V = ! p x 3 Y p 4 = X Y= 30 Ibland kan det bli enklare beräkningar om man låter X och Y byta plats. Slutresultatet torde ändå bli detsamma. 38

Binär addition papper och penna metod

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

Läs mer

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

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

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

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

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson! F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Von Neumann-arkitekturen Gemensamt minne för programinstruktioner och data. Sekventiell exekvering av instruktionerna.

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

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #24 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Allmänt Behovet av processorinstruktioner för multiplikation

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

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

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

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Aritmetik i digitala system Grindnät för addition: Vi

Läs mer

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

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

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

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

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

Datorsystem. Övningshäfte. Senast uppdaterad: 22 oktober 2012 Version 1.0d

Datorsystem. Övningshäfte. Senast uppdaterad: 22 oktober 2012 Version 1.0d Datorsystem Övningshäfte Senast uppdaterad: 22 oktober 2012 Version 1.0d Innehåll Innehåll i 1 Introduktion 1 1.1 Errata............................................... 1 2 Datorns grunder 2 2.1 Övningsuppgifter.........................................

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

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

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

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

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

Ö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

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar. FLYTTAL REAL Flyttal används i datorsystem för s k flytande beräkning vilket innebär att decimalkommat inte har någon fix (fast) position. Flyttal består av 2 delar (mantissa och exponent). När ett datorsystem

Läs mer

Bråk. Introduktion. Omvandlingar

Bråk. Introduktion. Omvandlingar Bråk Introduktion Figuren till höger föreställer en tårta som är delad i sex lika stora bitar Varje tårtbit utgör därmed en sjättedel av hela tårtan I nästa figur är två av sjättedelarna markerade Det

Läs mer

IE1204 Digital Design

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

Läs mer

Ö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

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

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

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 1 1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta

Läs mer

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor på boken Lunell: Datalogi-begreppen och tekniken Obs! Andra frågor än dessa kan komma på tentan! 1. Konvertera talet 186 till

Läs mer

Datorteknik Programmering av AVR

Datorteknik Programmering av AVR 1 Datorteknik Programmering av AVR Michael Josefsson Version 0.8 2018-01-15 Innehåll 0. Inledning 7 0.1. Datormodell............................. 10 1. Programmerarmodell 11 1.1. Generella register och

Läs mer

Algoritmer i Treviso-aritmetiken.

Algoritmer i Treviso-aritmetiken. Algoritmer i Treviso-aritmetiken. Staffan Rodhe 7 november 2006 1 Larte de labbacho I Västerlandet trycktes de första böckerna i mitten på 1400-talet. Matematiska texter kunde nog anses vara besvärligare

Läs mer

Föreläsning 8: Aritmetik och stora heltal

Föreläsning 8: Aritmetik och stora heltal 2D1458, Problemlösning och programmering under press Föreläsning 8: Aritmetik och stora heltal Datum: 2006-11-06 Skribent(er): Elias Freider och Ulf Lundström Föreläsare: Per Austrin Den här föreläsningen

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

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

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 3 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 3, Kent Palmkvist 2017-01-18 2 Dagens föreläsning Ordlängder, minnesrymd Kort introduktion till

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 3, Kent Palmkvist 2018-01-17 4 TSEA28 Datorteknik Y (och U) Föreläsning 3 Kent Palmkvist, ISY Enkel datormodell Ett minne lagrar program, data och stack Vissa

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

Mattias Wiggberg Collaboration

Mattias Wiggberg Collaboration Informationsteknologi sommarkurs 5p, 24 Mattias Wiggberg Dept. of Information Technology Box 337 SE75 5 Uppsala +46 847 3 76 Collaboration Jakob Carlström Binära tal Slideset 5 Agenda Binära tal Talbaser

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Rahim Rahmani (rahim@dsv.su.se) Division of SAS Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Tentamensdatum: 2013-10-30 Tentamen består av totalt

Läs mer

3-5 Miniräknaren Namn:

3-5 Miniräknaren Namn: 3-5 Miniräknaren Namn: Inledning Varför skall jag behöva jobba med en massa bråk, multiplikationstabeller och annat när det finns miniräknare som kan göra hela jobbet. Visst kan miniräknare göra mycket,

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

Potenser och logaritmer på en tallinje

Potenser och logaritmer på en tallinje strävorna 2A 7B Potenser och logaritmer på en tallinje begrepp matematikens utveckling taluppfattning algebra Avsikt och matematikinnehåll I läroböcker är det standard att presentera potenslagarna som

Läs mer

Repetitionsuppgifter inför Matematik 1. Matematiska institutionen Linköpings universitet 2013

Repetitionsuppgifter inför Matematik 1. Matematiska institutionen Linköpings universitet 2013 Repetitionsuppgifter inför Matematik Matematiska institutionen Linköpings universitet 0 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Facit 4 Repetitionsuppgifter inför Matematik Repetitionsuppgifter

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

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

3-3 Skriftliga räknemetoder

3-3 Skriftliga räknemetoder Namn: 3-3 Skriftliga räknemetoder Inledning Skriftliga räknemetoder vad är det? undrar du kanske. Och varför behöver jag kunna det? Att det står i läroplanen är ju ett klent svar. Det finns miniräknare,

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

Matematik klass 4. Vårterminen. Namn: Anneli Weiland Matematik åk 4 VT 1

Matematik klass 4. Vårterminen. Namn: Anneli Weiland Matematik åk 4 VT 1 Matematik klass 4 Vårterminen Namn: Anneli Weiland Matematik åk 4 VT 1 Först 12 sidor repetition från höstterminen. Addition 7+5= 8+8= 7+8= 7+7= 8+3= 7+6= 6+6= 8+5= 6+5= 9+3= 9+5= 6+9= Subtraktion 11-2=

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real

Läs mer

Några satser ur talteorin

Några satser ur talteorin Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor Johan Thim 22 augusti 2018 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför Q

Läs mer

Utvidgad aritmetik. AU

Utvidgad aritmetik. AU Utvidgad aritmetik. AU Delområdet omfattar följande tio diagnoser som är grupperade i tre delar, negativa tal, potenser och närmevärden: AUn1 Negativa tal, taluppfattning AUn Negativa tal, addition och

Läs mer

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014 Repetitionsuppgifter i Matematik inför Basår Matematiska institutionen Linköpings universitet 04 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Funktioner 7 Logaritmer 9 6 Facit 0 Repetitionsuppgifter

Läs mer

Shannon-Fano-Elias-kodning

Shannon-Fano-Elias-kodning Datakompression fö 5 p.1 Shannon-Fano-Elias-kodning Antag att vi har en minnesfri källa X i som tar värden i {1, 2,...,L}. Antag att sannolikheterna för alla symboler är strikt positiva: p(i) > 0, i. Fördelningsfunktionen

Läs mer

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Laboration:. Jämförelser mellan assembler och C. I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Förberedelser:

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Resträkning och ekvationer

Resträkning och ekvationer 64 Resträkning och ekvationer Torsten Ekedahl Stockholms Universitet Beskrivning av uppgiften. Specialarbetet består i att sätta sig in i hur man räknar med rester vid division med primtal, hur man löser

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

Grundläggande Datorteknik Digital- och datorteknik

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

Läs mer

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

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

Repetitionsuppgifter inför Matematik 1-973G10. Matematiska institutionen Linköpings universitet 2014

Repetitionsuppgifter inför Matematik 1-973G10. Matematiska institutionen Linköpings universitet 2014 Repetitionsuppgifter inför Matematik - 7G0 Matematiska institutionen Linköpings universitet 04 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Funktioner 4 Facit Repetitionsuppgifter inför

Läs mer

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 2. Explicita formler och rekursionsformler. Dag mötte vi flera talföljder,

Läs mer

7 november 2014 Sida 1 / 21

7 november 2014 Sida 1 / 21 TANA09 Föreläsning 2 Talrepresentation i datorer. Flyttalssystem. Datoraritmetik och Beräkningsfel. Beräkningsfelsanalys och Kancellation. Serier och Resttermsuppskattningar. Tillämpning - Beräkning av

Läs mer

Denna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk)

Denna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk) UMEÅ UNIVERSITET Institutionen för matematik och matematisk statistik Olof Johansson, Nina Rudälv 2006-10-24 SÄL 1-10p Avsnitt 1.1 Grundläggande begrepp Detta avsnitt behandlar de symboler som används

Läs mer

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Digital- och datorteknik, , Per Larsson-Edefors Sida 1 Digitala it elektroniksystem t Professor Per Larsson-Edefors perla@chalmers.se Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 1 Introduktion Konstruktionsalternativ Kretskort med diskreta standardkomponenter.

Läs mer

Matematik 5 Kap 2 Diskret matematik II

Matematik 5 Kap 2 Diskret matematik II Matematik 5 Kap 2 Diskret matematik II Inledning Konkretisering av ämnesplan (länk) http://www.ioprog.se/public_html/ämnesplan_matematik/struktur_äm nesplan_matematik/struktur_ämnesplan_matematik.html

Läs mer

a = a a a a a a ± ± ± ±500

a = a a a a a a ± ± ± ±500 4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att

Läs mer

TATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter

TATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter TATM79: Föreläsning Absolutbelopp, summor och binomialkoefficienter Johan Thim 15 augusti 015 1 Absolutbelopp Absolutbelopp Definition. För varje reellt x definieras absolutbeloppet x enligt { x, x 0 x

Läs mer

Övningsblad 1.1 A. Tallinjer med positiva tal. 1 Skriv det tal som motsvaras av bokstaven på tallinjen.

Övningsblad 1.1 A. Tallinjer med positiva tal. 1 Skriv det tal som motsvaras av bokstaven på tallinjen. Övningsblad 1.1 A Tallinjer med positiva tal 1 Skriv det tal som motsvaras av bokstaven på tallinjen. A B C D E F 0 5 10 0 10 20 A = B = C = D = E = F = G H I J K L 30 40 50 100 G = H = I = J = K = L =

Läs mer

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

Läs mer

a) A = 3 B = 4 C = 9 D = b) A = 250 B = 500 C = a) Tvåhundrasjuttiotre b) Ettusenfemhundranittio

a) A = 3 B = 4 C = 9 D = b) A = 250 B = 500 C = a) Tvåhundrasjuttiotre b) Ettusenfemhundranittio Övningsblad 2.1 A Heltal 1 Skriv det tal som motsvaras av bokstaven på tallinjen. A B C D E F 0 10 0 50 A = B = C = D = E = F = G H I J K L 10 20 50 100 G = H = I = J = K = L = 2 Placera ut talen från

Läs mer

Datorteknik Programmering av AVR

Datorteknik Programmering av AVR Datorteknik Programmering av AVR Michael Josefsson Version L 0.92 2019-04-02 Innehåll 0. Inledning 7 0.1. Datormodell............................. 10 1. Programmerarmodell 11 1.1. Generella register och

Läs mer

Matematik klass 4. Vårterminen FACIT. Namn:

Matematik klass 4. Vårterminen FACIT. Namn: Matematik klass 4 Vårterminen FACIT Namn: Använd ditt facit ofta för att se om du är på rätt väg och förstår. Om det är något som är konstigt, diskutera med din lärare eller en kompis. Du måste förstå

Läs mer

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg Tema: Pythagoras sats Linnéa Utterström & Malin Öberg Innehåll: Introduktion till Pythagoras sats! 3 Pythagoras sats! 4 Variabler! 5 Potenser! 5 Att komma tillbaka till ursprunget! 7 Vi bevisar Pythagoras

Läs mer

Dra streck. Vilka är talen? Dra pil till tallinjen. Skriv på vanligt sätt. Sätt ut <, > eller =

Dra streck. Vilka är talen? Dra pil till tallinjen. Skriv på vanligt sätt. Sätt ut <, > eller = n se ta l l ta al u at sen nt al rat l r l d d n iotu se hun tiot a ent a hu t tu + + 7 tiotusental tusental 7 tiotal 7 7 7 7 Ju längre till höger, desto större är talet. 7 > 7 Siffran betyder tiotusental

Läs mer

Tisdag v. 2. Speglingar, translationer och skalningar

Tisdag v. 2. Speglingar, translationer och skalningar 1 Tisdag v 2 Speglingar, translationer och skalningar Ofta i matematik och i matematiska kurser är det så att man måste kunna några grundläggande exempel utantill och man måste kunna några regler som säger

Läs mer

Arbetsblad 1:1. Tiondelar på tallinjen 0,1 0,5 0,9 0,2 0,8 0,3 0,8 1,1 1,5 1,6 2,1 2,4 1,1 1,4 2,6 3,2 3,8

Arbetsblad 1:1. Tiondelar på tallinjen 0,1 0,5 0,9 0,2 0,8 0,3 0,8 1,1 1,5 1,6 2,1 2,4 1,1 1,4 2,6 3,2 3,8 Arbetsblad 1:1 Tiondelar på tallinjen 1 Skriv rätt tal på pilarna. 0,1 0,5 0,9 1,2 0 1 2 0,3 0,8 1,1 1,5 0 1 3 1,1 1,6 2,1 2,4 1 2 4 5 0,2 0,8 1,4 2,6 0 1 2 3 1,4 2,6 3,2 3,8 1 2 3 4 6 Sätt ut pilar som

Läs mer

Arbetsblad 1:1. Tiondelar på tallinjen 0,9 1,1 0,8. 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4

Arbetsblad 1:1. Tiondelar på tallinjen 0,9 1,1 0,8. 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4 Arbetsblad 1:1 Tiondelar på tallinjen 1 Skriv rätt tal på pilarna. 0,9 0 1 2 0 1 3 1,1 1 2 4 0,8 0 1 2 3 5 1 2 3 4 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4 0 1 7 Sätt ut pilar som pekar

Läs mer

Arbetsblad 1:1. Tiondelar på tallinjen. 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4

Arbetsblad 1:1. Tiondelar på tallinjen. 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4 Arbetsblad 1:1 Tiondelar på tallinjen 1 Skriv rätt tal på pilarna. 0 1 2 0 1 3 1 2 4 0 1 2 3 5 1 2 3 4 6 Sätt ut pilar som pekar på talen: A = 0,3 B = 0,8 C = 1,4 0 1 7 Sätt ut pilar som pekar på talen:

Läs mer

Göra lika i båda leden

Göra lika i båda leden Modul: Algebra Del 6: Sociomatematiska normer Göra lika i båda leden Cecilia Kilhamn, Göteborgs Universitet och Lucian Olteanu, Linnéuniversitetet Ordet algebra kommer från det arabiska ordet al-djabr

Läs mer

1Mer om tal. Mål. Grunddel K 1

1Mer om tal. Mål. Grunddel K 1 Mer om tal Mål När eleverna har studerat det här kapitlet ska de: kunna multiplicera och dividera med positiva tal mi ndre än veta vad ett negativt tal är kunna addera och subtrahera negativa tal kunna

Läs mer

Lokala kursplaner i Matematik Fårösunds skolområde reviderad 2005 Lokala mål Arbetssätt Underlag för bedömning

Lokala kursplaner i Matematik Fårösunds skolområde reviderad 2005 Lokala mål Arbetssätt Underlag för bedömning Lokala kursplaner i Matematik Fårösunds skolområde reviderad 2005 Lokala mål Arbetssätt Underlag för bedömning Eleven skall år 1 Begrepp Jämförelse- och storleksord, t.ex. stor, större, störst. Positionssystemet

Läs mer

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

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

Läs mer

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

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

Lokala mål i matematik

Lokala mål i matematik Lokala mål i matematik År 6 År 7 År 8 År 9 Taluppfattning (aritmetik) förstår positionssystemets uppbyggnad med decimaler ex: kan skriva givna tal adderar decimaltal ex: 15,6 + 3,87 subtraherar decimaltal

Läs mer

Datoraritmetik. Från labben. Från labben. Några exempel

Datoraritmetik. Från labben. Från labben. Några exempel Datoraritmetik Beräkningsvetenskap I Från labben Två huvudtyper av fel: diskretiseringsfel och avrundningsfel Olika sätt att mäta fel: relativt fel, absolut fel Begreppen ε M, Inf, NaN, overflow, underflow,

Läs mer

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit Vad är en UART? Beteckningen UART är en förkortning för det engelska uttrycket Universal Asynchronous Receiver Transmitter, vilket översatt till svenska blir ungefär Universell Asynkron Mottagare/Sändare.

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

2-1: Taltyper och tallinjen Namn:.

2-1: Taltyper och tallinjen Namn:. 2-1: Taltyper och tallinjen Namn:. Inledning I det här kapitlet skall du studera vad tal är för någonting och hur tal kan organiseras och sorteras efter storleksordning. Vad skall detta vara nödvändigt

Läs mer

Hela tal LCB 1999/2000

Hela tal LCB 1999/2000 Hela tal LCB 1999/2000 Ersätter Grimaldi 4.3 4.5 1 Delbarhet Alla förekommande tal i fortsättningen är heltal. DEFINITION 1. Man säger att b delar a om det finns ett heltal n så att a Man skriver b a när

Läs mer

Ett urval D/A- och A/D-omvandlare

Ett urval D/A- och A/D-omvandlare Ett urval D/A- och A/D-omvandlare Om man vill ansluta en mikrodator (eller annan digital krets) till sensorer och givare så är det inga problem så länge givarna själva är digitala. Strömbrytare, reläer

Läs mer

Tentamen i Digitalteknik, EIT020

Tentamen i Digitalteknik, EIT020 Elektro- och informationsteknik Tentamen i Digitalteknik, EIT020 18 december 2010, kl 8-13 Skriv namn och årskurs på alla papper. Börja en ny lösning på ett nytt papper. Använd bara en sida av pappret.

Läs mer

Övningar och datorlaborationer, Datorer i system

Övningar och datorlaborationer, Datorer i system LUNDS TEKNISKA HÖGSKOLA Datorer i system Institutionen för datavetenskap 2013/14 Övningar och datorlaborationer, Datorer i system Kursen Datorer i system inkluderar under läsperiod HT1 två övningar i seminariesal

Läs mer

Olika sätt att lösa ekvationer

Olika sätt att lösa ekvationer Modul: Algebra Del 5: Algebra som språk Olika sätt att lösa ekvationer Cecilia Kilhamn, Göteborgs Universitet och Lucian Olteanu, Linnéuniversitetet Att lösa ekvationer är en central del av algebran, det

Läs mer