Jan Genoe KHLim. Reken schakelingen. Jan Genoe KHLim

Vergelijkbare documenten
Inleiding Digitale Techniek

Antwoorden vragen en opgaven Basismodule

2 Elementaire bewerkingen

Inleiding Digitale Techniek

2 Elementaire bewerkingen

Praktisch bestaan er enkele eenvoudige methoden om een decimaal getal om te zetten naar een binair getal. We bespreken hier de twee technieken.

OPGAVEN BIJ HET VAK INLEIDING DIGITALE TECHNIEK MET UITWERKINGEN

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 19 januari 2005, 14:00u-17:00u

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 19 januari 2005, 14:00u-17:00u

Sequentiële schakelingen

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 19 januari 2004, 9:00u-12:00u

VOORBLAD SCHRIFTELIJKE TOETSEN

vrijdag 20 januari 2006 Blad 1 tijd: uur achternaam: voorletters: identiteitsnummer: opleiding:

Deeltoets Digitale technieken

Examen computerarchitectuur

REGISTERS. parallel in - parallel uit bufferregister. De klok bepaalt het moment waarop de data geladen worden. Mogelijke bijkomende ingangen:

Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig)

Talstelsels en getalnotaties (oplmodel)

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 26 november 2003, 14:00u-17:00u

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 8e hoorcollege

4,7. Praktische-opdracht door een scholier 1959 woorden 1 juni keer beoordeeld

Kernbegrippen Handig met getallen 1, onderdeel Bewerkingen

Registers & Adressering. F. Rubben, ing

Hoofdstuk 6: Digitale signalen

Labo digitale technieken

Inleiding Digitale Techniek

Proeftentamen Digitale technieken

Studentnummer:... Opleiding:...

Logische poorten. Invertor (NOT) Samenvatting Computer Architectuur Hoofdstuk 7 Klaas Lauwers 1

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 17 november 2004, 9:00u-12:00u

VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Hoofdstuk 4. Digitale techniek

Antwoorden zijn afgedrukt!!!!!!!

Interne voorstelling. types en conversies. Binaire en andere talstelsels. Voorstelling van gegevens: bits en bytes

8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde

Digitaal is een magisch woord

EE1410: Digitale Systemen BSc. EE, 1e jaar, , vragencollege 1

Informatica 2. Met uitwerkingen n.a.v. document van Elvire Theelen in Luc bijgewerkt door Peter van Diepen

Inleiding Digitale Techniek. Week 7 Schuifregisters Jesse op den Brouw INLDIG/

Logische functies. Negatie

No part of this book may be reproduced in any form, by print, photoprint, microfilm or any other means without written permission of the publisher.

Hexadecimale en binaire getallen

Inleiding Digitale Techniek

Talstelsels, getalnotaties en Ascii code

Rekenen met computergetallen

8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde

Examen computerarchitectuur

Inleiding Digitale Techniek

Digitale technieken Deeltoets II

Inleiding Digitale Techniek

logische schakelingen & logica

Tentamen Computersystemen

Wouter Geraedts Processen & Processoren

3.1 Haakjes wegwerken [1]

slides12.pdf December 14,

Tentamen Elektronische Schakelingen (ET1205-D2)

Multiplexers en demultiplexers MULTIPLEXERS

WISNET-HBO. update aug. 2011

Getallenrepresenta*e. Processen en Processoren 7 februari 2012

Les A-03 Binaire en hexadecimale getallen

Logische Schakelingen

Afspraken cijferen derde tot zesde leerjaar

Willem van Ravenstein

Alles op de kop. Dobbelsteen D02i werkt precies andersom! Johan Smilde

Het grondtal van het decimaal stelsel is 10. Voorbeeld: het getal Poorten De tellereenheid Mevr. Loncke 1

1 Rekenen met gehele getallen

Rekenen aan wortels Werkblad =

REKENTECHNIEKEN - OPLOSSINGEN

Onthoudboekje rekenen

Hoofdstuk 20. Talstelsels

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

logische schakelingen & logica antwoorden

Groepen, ringen en velden

Hoe werkt een computer precies?

Uitwerkingen Rekenen met cijfers en letters

DEC SDR DSP project 2017 (2)

Processoren. Marc Seutter & David N. Jansen 12 November 2013

CIJFEREN: DE TRAPVERMENIGVULDIGING

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008

Tentamen Elektronische Schakelingen (ET1205-D2)

Project Digitale Systemen

Veeltermen. Module Definitie en voorbeelden. Een veelterm met reële coëfficiënten in één veranderlijke x is een uitdrukking van de vorm

Scan-pad technieken. Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave):

Elementaire rekenvaardigheden

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

Zomercursus Wiskunde. Module 1 Algebraïsch rekenen (versie 22 augustus 2011)

1 Rekenen in eindige precisie

Logische schakelingen

Domeinbeschrijving rekenen

Hoe werkt een rekenmachine?

Opmerking 2: laat de tussenstap aanvankelijk luidop doen, later (als het vlot gaat) in stilte.

Kameel 1 basiskennis algebra

BEWERKINGEN. B0 Doelstellingen

Operationele versterkers

EXACT- Periode 1. Hoofdstuk Grootheden. 1.2 Eenheden.

Klasse B output buffer voor een Flat Panel Display Kolom aansturing

Algebra, Les 18 Nadruk verboden 35

THEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)

VAKANTIEWERK WISKUNDE

Transcriptie:

Jan Genoe KHLim

Meestal aangewend in digitale computers optellers optellers-aftrekkers Vermenigvuldigers ingebed in een grotere rekeneenheid ALU (Arithmetic and logical unit) 2

Talstelsels definitie Tiendelig talstelsel 32,46 = 3. 2 + 2. +. + 4. - +. -2 + 6. -3 r-delig talselsel N = a n.r n + a n-.r n- +... + a.r + a -.r - + a -2.r -2 + met a i r- (r noemt men de radix of basis van het talstelsel) Binair talstelsel N = a n.2 n + a n-.2 n- +... + a.2 + a -.2 - + a -2.2-2 +... + a -m.2 -m met a i = of 3

Nodig aantal digits om een binair getal voor te stellen tel het cijfer bevat k digits in het tiendelig stelsel: k- N < k We zoeken het aantal digits n in het binair stelsel 2 n- N < 2 n dan moet gelden n > 3.33 k 4

Optelling binair Vermenigvuldiging binair + = + = + = + = met een carry Voorbeeld overdracht (3) x + () (24) 5

Negatieve getallen in het binair stelsel Toevoegen van een tekenbit voor een negatief getal 2-complement : alles inverteren +» - wordt Dit geeft een continue evolutie» optelling, aftrekking, vermenigvuldiging en deling werken onafhankelijk van het feit of het getal negatief of positief is -4-5 -3-6 -2-7 - -8 + +7 + +6 +2 +3 +4 +5 6

Vlottende komma voorstelling X = M.R E»M: mantisse»e:exponent» R : grondtal van de exponent (2 of 6) Laat toe van zeer grote en zeer kleine getallen weer te geven grondtal 2 geeft de nauwkeurigste resolutie grondtal 6 geeft het grootste bereik 7

Andere talstelsels Octaal talstelsel Basis = 8 elke groep van 3 bits wordt door één cijfer weergegeven cijfers tussen en 7 Hexadecimaal talstelsel Basis = 6 elke groep van 4 bits wordt door één cijfer weergegeven cijfers tussen en 9 en letters tussen A (=) en F (=5) 8

Omzetten van talstelsel Gedeelte voor de komma Herhaaldelijk uitvoeren van een gehele deling deeltal: basis rest: evolueert van minst beduidend cijfer naar meest beduidend cijfer Gedeelte na de komma Herhaaldelijk uitvoeren van een vermenigvuldiging vermenigvuldigtal: basis gedeelte voor de komma afkappen 9

Half-Adder Realiseert het optellen van 2 bits resulteert in OM bit (EXOR) arry bit (AND) + = + = + = + = +carry A B A B A B 2 poorten, elke uitgang heeft poortvertraging

Full Adder Houdt rekening met een carry van lagere orde i A B o i A B A B i HA Σ o Σ i o HA o Σ o 2 poortvertragingen ( t.o.v. i ) o 3 poortvertragingen (2 t.o.v. i ) 5 basispoorten Een full-adder is een schakeling die 3 bits optelt en als resultaat een sombit en een carry-out. Een full-adder kan gemaakt worden uit 2 achter elkaar geplaatste half-adders, waarbij beide som-bits worden samengenomen in een OR poort. Hierdoor bekomen we dan een poort opgebouwd uit 5 basispoorten. Hieruit kunnen we dan ook onmiddellijk de vertragingen van de uitgangen afleiden, als de basispoorten een elementaire poortvertraging hebben. Maar de full-adder hoeft niet gemaakt te worden op basis van 2 halfadders. De uitgangen kunnen ook rechtstreeks gesynthetiseerd worden op basis van de waarheidstabel. Hierdoor kan de o bekomen worden na 2 poortvertragingen ten opzichte van alle ingangen. Oefening: Teken een MO schakeling die o realiseert in functie van A, B en i. Bepaal de booleaanse functie aan de hand van de Karnaugh kaart.

Implementatie optelling in bouwblokken A B in A um B F A in out um out A A um HA B B arry in A B um HA arry OF um out b co a FA ci s b co a FA ci s b co a FA ci s b co a FA ci s 2

Parallel opteller met carry save (N-bits) arry wordt niet doorgegeven aan de volgende bit 3N ingangen 2N uitgangen Het resultaat is nog niet de werkelijke som Vertraging is niet afhankelijk van het aantal bits snelle opteller 3 4 3 2 I Σ Σ Σ O Σ I O 74L83 6 5 8 3

Parallel opteller met carry ripple A + B A3A2AA + B3B2BB 432 A B A B A2 B2 2 2 4 3 2 3 5 7482 A3 B3 Vertraging van de laatste arry-out is groot 3 4 4

Propagatie vertraging ten opzichte van de carry A B @2 @2 A B @3 2 @4 A 2 B 2 2 2 @5 3 @6 A 3 B 3 3 3 @7 4 @8 In de bovenstaande schets worden full-adders gebruikt waarbij de uitgangen gevormd worden 2 poortvertragingen na de ingangen, behalve de sombit, die al poortvertraging na de carry-in kan gevormd worden indien A en B reeds eerder toekwamen. 5

Wanneer kunnen we carry-save gebruiken? Wanneer we veel getallen na elkaar moeten optellen zonder het tussenresultaat te moeten kennen. Na de laatste optelling moeten we wel nog een optelling met carry ripple uitvoeren om het uiteindelijke resultaat te bekomen. 6

Timing schema ripple carry adder, Valid, 2 Valid 2, 3 Valid 3, 4 Valid + slechtste geval optelling T T2 T4 T6 T8 T: Inputs voor de opteller zijn beschikbaar T2: trap carry out () T4: trap carry out (2) T6: trap 2 carry out (3) T8: trap 3 carry out (4) 2 delays om een optelling te doen maar de laatste carry komt pas 6 delays later beschikbaar 7

arry-lookahead: principe De carry-in is meestal het signaal dat het laatst stabiel wordt. We zorgen ervoor dat alle carry s gevormd worden op basis van de carry-in op and-or vertraging. Hiervoor herwerken we alle vergelijkingen naar de carry-in We hebben als gevolg een veel grotere logica (meer I oppervlakte) maar een veel sneller systeem. 8

arry-lookahead: uitwerking = A.B + i.(a O+ B ) = A.B +.(A O+ B ) 2 = A 2.B 2 +.(A 2 O+ B 2 ) Progagate(P i ) en Generate (G i ) termen worden gemaakt van de input data Een binnenkomende i levert snel alle s = A.B + A.B.(A O+ B ) + i.(a O+ B ).(A O+ B ) G =G +G P P =P P G 2 2 = A 2.B 2 + A.B.(A 2 O+ B 2 ) + A.B.(A O+ B ).(A 2 O+ B 2 ) + i.(a O+ B ).(A O+ B ).(A 2 O+ B 2 ) P 2 9

arry-lookahead: schema i A B G P A B P P 2 A2 B2 2 2

arry Lookahead Implementatie Ai Bi i Pi @ gate delay i @ 2 gate delays Gi @ gate delay Opteller met Propagate en Generate Outputs Toenemende complexe logica steeds 2 niveaus P G P P G P G 2 P P P2 G P P2 G P2 G2 3 P P P2 P3 G P P2 P3 G P2 P3 G2 P3 4 G3 2

gebruik opteller met carry-look-ahead A A A2 A3 B B B2 B3 i A4 A5 A6 A7 B4 B5 B6 B7 8 3 7 4 6 9 6 2 5 3 4 8 3 7 4 6 9 6 2 5 2 3 4 5 6 7 Propagate en generate worden steeds complexer een goed compromis kan gevonden worden door een aantal bits samen te nemen 3 4 o 74L83 22

arry lookahead op een hoger niveau 4 4 4 4 4 4 4 4 A [5-2] B [5-2] A [-8] B [-8] 6 4-bit Adder 2 A [7-4] B [7-4] A [3-] B [3-] 4-bit Adder 8 4-bit Adder 4 4-bit Adder P G P G P G P G @ 4 @8 4 @8 4 @7 4 @4 [5-2] [-8] [7-4] [3-] @2 @3 @5 @2 @3 @5 @2 @3 @4 @2 @3 P 3 G 3 3 P 2 G 2 2 P G P G 6 @5 4 Lookahead arry Unit P 3- G 3- @ @3 @5 4 bit optellers met interne carry lookahead 2de niveau carry lookahead unit, breidt lookahead uit tot 6 bits 23

arry-select optellers ontdubbelde hardware om de carry berekening sneller te maken 4 8 8 4-Bit Adder [7:4] 4-Bit Adder [7:4] Adder Low Adder High Belangrijke truc uit de trukendoos van de elektronica 4 maal 2: Mux 4 4-Bit Adder [3:] 8 7 6 5 4 3 2 Bereken de hogere bits van de som 2 maal één optelling veronderstelt carry in = de andere optelling veronderstelt carry in = Je kiest het resultaat naargelang de carry in met een multiplexer Basisprincipe van de carry select opteller. Het duurt een zeker tijd tot de optelling van de minst beduidende bits klaar is en dus zijn carry out heeft geproduceerd. De optelling van de meest beduidende bits moet wachten tot deze carry bekomen is. Hierdoor wordt er veel belangrijke tijd verloren. Maar deze carry-out kan maar 2 waardes aannemen, namelijk of. Wel we kunnen de berekening van de meest beduidende bits twee maal uitvoeren, zowel voor en voor. We bekomen aldus 2 resultaten en van zodra het resultaat gekend is van de minst beduidende bits, selecteren we het juist resultaat, aan de hand van een multiplexer. Hierdoor kunnen we de snelheid van de optelling bijna verdubbelen, maar het kost ons ook redelijk veel I oppervlak. Dit komt nog op veel plaatsen terug. We kunnen vaak snelheid winnen ten koste van oppervlakte. 24

erie opteller A-register -register A3 A2 A A A B F.A. 3 2 B3 B2 B B B-register i u -register Klokimpuls De serie opteller is dan weer het andere uiteste. Deze opteller vereist het minste I oppervlakte maar het duurt ook het langst eer een optelling gemaakt is. De optelling gebeurt heel analoog aan de optelling met de hand. Beide getallen die moeten opgeteld worden worden in een schuifregister geplaatst. De eerste klokpuls worden de minst beduidende bits opgeteld. De sombit wordt in het register opgeslagen en de uitkomende carry wordt in een D FF opgeslagen. De volgende klokpuls wordt deze carry weer gebruikt als carry-in voor de volgende bits. Deze optelling vereist evenveel klokpulsen als er bits moeten worden opgeteld. 25

erie opteller-accumulator A3 A2 A A A B F.A. B3 B2 B B i u -register Klokimpuls Het werkingsprincipe van de serie opteller-accumulator is gelijk aan de normale serie opteller, met het verschil dat het resultaat niet in het - register wordt opgeslagen maar terug in het A-register. Dit heeft vele voordelen: Er wordt de oppervlakte van een register uitgespaard Wanneer er bij het bekomen resultaat nog een derde getal moet worden opgeteld, hoeft dit getal enkel maar in het B register te worden ingeladen. Het vorige resultaat is reeds aanwezig in het A register. 26

BD opteller Wordt gerealiseerd aan de hand van een gewone 4-bit opteller met de volgende correcties Een carry wordt gegenereerd als het bekomen getal groter is dan 9 in plaats van als het groter is dan 5 Als de som groter is dan 9 (indien er een carry overgedragen wordt) moeten we aftrekken van de som. Dit komt op hetzelfde neer als er 6 bij optellen (4-bit opteller) 32 N= Σ 3.Σ 2 + Σ 3.Σ + Σ 4 4 2 8 5 3 9 = Σ 3.(Σ 2 + Σ ) + Σ 4 3 7 5 2 6 4 27

BD opteller: schema A B A B A2 B2 2 2 A3 B3 3 4 3 N 28

Oefening Bepaal het kritische pad van een BD opteller en bepaal met hoeveel tijdsvertraging de uitgang hier gevormd wordt. 29

Opteller-aftrekker A 3 B 3 B 3 A 2 B 2 B 2 A B B A B B el el el el A B A B A B A B O + I O + I O + I O + I Add/ubtract 3 2 Overflow A - B = A + (-B) = A + B + Om de opteller-aftrekker te begrijpen moeten we teruggrijpen naar de implementatie van de negatieve getallen in het binair stelsel. Een getal kan een omgekeerd teken krijgen (negatief naar positief of positief naar negatief) door alle bit te inverteren en er bij op te tellen. Dus wanneer we A-B wensen uit te rekenen zullen we alle bit van B inverteren en het resultaat optellen bij A en daar dan nog eens bij op te tellen. Om er echter de laatste bij op te tellen hoeven we echter geen totaal nieuwe optelling uit te voeren. Deze kunnen we gewoon toevoegen aan de carry ingang van de eerste full-adder. Omdat de aftrekker zo goed overeenstemt met een opteller zullen we beiden in de meeste gevallen gewoon combineren. Het signaal waarmee we kiezen tussen optellen en aftrekken (add/substract) gebruiken we als carry-in van de eerste full-adder en als select signaal voor de multiplexers die kiezen tussen B en zijn inverse. Wanneer we werken met negatieve getallen is de detectie van de overflow wel wat moeilijker. Als er enkel positieve getallen gebruikt worden (= geen teken bit) is de overflow de carry-out vaan de meest beduidende bit. Wanneer we wel een teken bit hebben is de overflow de exor van de carry out van de meest beduidende bit en van de bit ervoor. (Ga dit na voor alle gevallen) 3

Implementatie vermenigvuldiger in bouwblokken um In X in Y F A A O B I out um Out A3 A2 A A B A3 B A2 B A B A B B A3 B A2 B A B A B B2 A3 B2 A2 B2 A B2 A B2 B3 A3 B3 A2 B3 A B3 A B3 P7 P6 P5 P4 P3 P2 P P Het schema van een vermenigvuldiging volledig in hardware komt sterk overeen met de wijze waarop een vermenigvuldiging met de hand gebeurt. Wanneer de bit van de vermenigvuldiger (B) en het vermenigvuldigtal (A) beide zijn, wordt er (de and) opgeteld bij de bestaande som. Wanneer we de vermenigvuldiger (B) een hogere bit gebruiken, schuiven we het vermenigvuldigtal bit naar links op. Het vermenigvuldigtal wordt langs boven binnengebracht en de vermenigvuldiger langs links. Om de verschillende optellingen niet te vertragen wordt de carry-out niet zijwaarts doorgegeven, maar schuin naar beneden naar het volgende niveau. Hierdoor wordt een belangrijke tijdswinst bekomen. Dit is dus een carry save optelling. Voor de laatste optelling kunnen we dit carry save principe natuurlijk niet meer gebruiken en moeten we de optelling met ripple-carry of een andere methode (bv carry-lookahead) uitvoeren. 3

Vermenigvuldigers ombinatorische vermenigvuldiger N 2 full-adders nodig (veel I oppervlak)» carry save werkwijze voor alle bits» laatste optelrij dient aangevuld te worden met ripple carry opteller carry lookahead opteller carry select opteller equentiële vermenigvuldiger 2N full-adders nodig (veel minder I oppervlak) 2N klokpulsen nodig (snelle klok) alle adders werken in carry save werkwijze 32

equentiële vermenigvuldiger A en B zijn N bits worden aangevuld tot 2N bits A schuift naar links elke klokpuls B schuift naar rechts elke klokpuls We sommeren And(A i,b ), i, i c7 c6 c5 c4 & Σ A3 A2 B3 B2 A A B B c3 c2 c s7 s6 s5 s4 s3 s2 s s 33