Kombinatorisen logiikan laitteet



Samankaltaiset tiedostot
C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

Yhden bitin tiedot. Binaariluvun arvon laskeminen. Koodin bittimäärä ja vaihtoehdot ? 1

Ehto- ja toistolauseet

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

ELEC-C3240 Elektroniikka 2 Digitaalielektroniikka Karnaugh n kartat ja esimerkkejä digitaalipiireistä

Digitaalitekniikan matematiikka Luku 8 Sivu 1 (23) Kombinaatiopiirielimet MUX X/Y 2 EN

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena

811120P Diskreetit rakenteet

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Luku 8. Aluekyselyt. 8.1 Summataulukko

Tietokonearitmetiikka

Yhden bitin tiedot. Digitaalitekniikan matematiikka Luku 1 Täsmätehtävä Tehtävä 1. Luettele esimerkkejä yhden bitin tiedoista.

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Rinnakkaistietokoneet luento S

SISÄLLYS - DIGITAALITEKNIIKKA

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Tietokonearitmetiikka

c) loogiset funktiot tulojen summana B 1 = d) AND- ja EXOR-porteille sopivat yhtälöt

Rinnakkaistietokoneet luento S

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Luku- ja merkkikoodit. Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15)

Tietokonearitmetiikka

Ohjelmoinnin perusteet Y Python

Digitaalitekniikan matematiikka Harjoitustehtäviä

Tietokonearitmetiikka

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

F = AB AC AB C C Tarkistus:

Elektroniikan laboratorio Lisätehtävät Mallivastauksia

6. Analogisen signaalin liittäminen mikroprosessoriin Näytteenotto analogisesta signaalista DA-muuntimet 4

ELEC-C5070 Elektroniikkapaja (5 op)

Signaalien datamuunnokset. Näytteenotto ja pito -piirit

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

9 Matriisit. 9.1 Matriisien laskutoimituksia

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto

Ohjelmoijan binaarialgebra ja heksaluvut

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Mikrokontrollerit. Mikrokontrolleri

Peruspiirejä yhdistelemällä saadaan seuraavat uudet porttipiirit: JA-EI-portti A B. TAI-EI-portti A B = 1

Lukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe

(0 desimaalia, 2 merkitsevää numeroa).

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Rinnakkaistietokoneet luento S

Successive approximation AD-muunnin

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Käytännön logiikkapiirit ja piirrosmerkit

5. Laskutoimitukset eri lukujärjestelmissä

Kuva 1. Jokaisen tavallisen kuvan tasotyökalussa näkyy vain yksi taso, tässä nimellä tausta.

13. Loogiset operaatiot 13.1

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

Johdatus tekoälyn taustalla olevaan matematiikkaan

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

Olkoon S(n) kutsun merge-sort(a, p, q) tilavaativuus kun p q + 1 = n. Oletetaan merge toteutetuksi vakiotyötilassa (ei-triviaalia mutta mahdollista).

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Laskennan vaativuus ja NP-täydelliset ongelmat

Ohjelmoinnin perusteet Y Python

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Julkaiseminen sallittu vain koulun suljetussa verkossa.

Matriisipotenssi. Koska matriisikertolasku on liitännäinen (sulkuja ei tarvita; ks. lause 2), voidaan asettaa seuraava määritelmä: ja A 0 = I n.

Nopea kertolasku, Karatsuban algoritmi

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

SMG-2100: SÄHKÖTEKNIIKKA

13. Loogiset operaatiot 13.1

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.

KAAVAT. Sisällysluettelo

Kappale 20: Kantaluvut

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit

Kytkentäkentät, luento 2 - Kolmiportaiset kentät

ELEC-C3240 Elektroniikka 2

Rinnakkaistietokoneet luento S

Digitaalilaitteen signaalit

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Ortogonaalinen ja ortonormaali kanta

Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s

Java-kielen perusteet

Diskreetit rakenteet. Juha Kortelainen

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut

Matriisilaskenta (TFM) MS-A0001 Hakula/Vuojamo Ratkaisut, Viikko 47, 2017

c) loogiset funktiot tulojen summana B 1 = C 2 C 1 +C 1 C 0 +C 2 C 1 C 0 e) logiikkakaavio

1 Aritmeettiset ja geometriset jonot

Datatähti 2019 loppu

kwc Nirni: Nimen selvennys : ELEKTRONIIKAN PERUSTEET 1 Tentti La / Matti Ilmonen / Vastaukset kysymyspapereille. 0pisk.

Toisessa kyselyssä alueella on 1 ruudussa A ja 3 ruudussa B, joten suosituin ehdokas on B.

1. Keskusyksikön rakenne

Signaalien datamuunnokset

Käänteismatriisi 1 / 14

Verkon värittämistä hajautetuilla algoritmeilla

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Algoritmit 1. Luento 13 Ti Timo Männikkö

Taitaja2008, Elektroniikkalajin semifinaali

A/D-muuntimia. Flash ADC


BL40A1711 Johdanto digitaalielektroniikkaan: Johdanto ja lukujärjestelmät

Transkriptio:

Kombinatorisen logiikan laitteet Kombinatorinen logiikka tarkoittaa logiikkaa, jossa signaali kulkee suoraan sisääntuloista ulostuloon Sekventiaalisessa logiikassa myös aiemmat syötteet vaikuttavat ulostuloon (muisti) Käsiteltävät piireihin kuuluvat mm. yhteenlaskimet, ALUt, dekooderit, vertailijat ja rotaatiopiirit

Kombinatorisen logiikan laitteet In C o m b in a tio n a l L o g ic C irc u it In O ut C o m b in a tio n a l L o g ic C irc u it S ta te C o m b in a tio n a l O u t = f ( In ) S e q u e n tia l O u t = f ( I n, P r e v io u s I n ) O ut

Yhteenlasku Yhteenlasku tapahtuu -järjestelmässä laskemalla luvun kaksi alinta numeroa yhteen ja siirtämällä mahdollinen muistinumero seuraavaksi ylempien numeroiden yhteenlaskuun Biteillä lasku tapahtuu samalla tavalla, mutta vaihtoehtoja tulokselle on vähän syötebiteillä on vain 4 erilaista mahdollista arvoa

Yhteenlasku Piireissä erityinen huomio kohdistuu muistinumeroon jos bittejä on monta, saadaan ylimpien bittien yhteenlaskuun tarvittava muistibitti vasta kun alemmat bitit on laskettu yhteen Yhteenlaskupiireissä optimointi tarkoittaa muistibitin polun lyhentämisen ja piirin koon tasapainottamista Tasapainon määrää piirin aikakriittisyys suorituspolulla

Eri yhteenlaskimia Ripple-carry adder Koko pienin, nopeus hitain Muistibitti siirtyy aina alemmasta laskennasta ylempään Carry-look-ahead generator Lasketaan muistibitin arvoa eteenpäin Lisää veräjiä, mutta nopeampi suoritus

Yhteenlasku 2:n komplementilla Yhteenlasku onnistuu helposti 2:n komplementtiesityksessä Jos laskusta saadaan muistibitti, se heitetään pois Jos operandien merkki on sama, mutta tuloksen eri, on kyseessä ylivuoto

Yhteenlasku 2:n komplementilla Totuustaulu esittää yhteenlaskimen toiminnan bittien A ja B yhteenlaskulle, kun otetaan muistibitti huomioon Jos A ja B ovat nollia, ei muistibittiä välitetä Jos A B, välitetään muistibitti eteenpäin Jos A=B=, luodaan muistibitti

Yhteenlasku 2:n komplementilla Määritellään seuraavat funktiot: Generate: Gi = Ai Bi Propagate: Pi = Ai Bi Delete: Di = A i B I

Full adder A C in B F u ll adder C out Sum Määritellään seuraavat funktiot: Generate: Gi = Ai Bi Propagate: Pi = Ai Bi Delete: Di = A i B I S = A B C i = A B C i + A B C i + A B C i + A B Ci C o = A B + B C i + A C i Summa ja Carry-out voidaan nyt ilmaista seuraavasti: S (G,P) = P Ci Co (G,P) = G + PCi

Ripple-carry adder Pahimmassa tapauksessa viive on td=o(n), missä n=bittien lukumäärä Monessa tilanteessa turhan hidas Yhteenlaskua suoritetaan prosessorissa koko ajan

Carry-look-ahead adder Hitaus ripple-carryssa johtui siitä, että laskennan piti edetä biteittäin vähiten merkitsevistä eniten merkitseviin bitteihin Tilanne voidaan korjata laatimalla kaavat muistibitin laskemiseen eteenpäin, ei siis vain seuraavaa bittiä varten C = G + PC C2 = G + PC = G + PG + PPC C3 = G2 + P2C2 = G2 + P2G + P2PG + P2PPC C4 = G3 + P3C3= G3 + P3G2 + P3P2G + P3P2PG + P3P2PPC

Carry-look-ahead (CLA) adder Nyt voidaan adderiin lisätä logiikkaa, joka osaa laskea lyhyellä suorituspolulla muistibitit Sen tuloksena voidaan yhteenlasku suorittaa biteittäin rinnakkain eikä peräkkäin Yleensä lasketaan 4 bittiä eteenpäin Jos tarvitaan enemmän bittejä, voidaan laatia muistibitin laskijoista hierarkia, jossa tarvitaan log4 n tasoa (n=bittien määrä)

Carry-look-ahead adder Aiempi kaava oli C = G + PC C2 = G + PC = G + PG + PPC C3 = G2 + P2C2 = G2 + P2G + P2PG + P2PPC C4 = G3 + P3C3= G3 + P3G2 + P3P2G + P3P2PG + P3P2PPC Se voidaan myös kirjoittaa muotoon Generate G*= G3 + P3G2 + P3P2G + P3P2PG Propagate P*=P3P2PP ja C4 = G* + P*C Tämä on Carry-look-ahead generator, jolla voidaan laskea C4 suoraan ilman tarvetta laskea C..C3:a

Carry-look-ahead adder

Carry-look-ahead adder

CLA viive vs ripple-carry viive

Carry-look-ahead adder C a r r y C h a in C (X,Y ) to C 4 R ip p le D e la y 9,2 (2 3,4 ) O n e -L e v e l C L A 4,8 ( 3, ) T w o -L e v e l C L A 4,8 ( 3, ) C (X,Y ) to C 8 3 8,4 (4 2,6 ) 9,6 ( 7,8 ) 5,6 ( 6,2 ) C ( X,Y ) to C 2 5 7,6 (6,8 ) 4,4 (2 2,6 ) 6,4 ( 7, ) C ( X,Y ) to C 6 7 6,8 (8, ) 9,2 (2 7,4 ) 4,8 ( 9,4 )

Kertolasku binaariluvuilla x + M u lt ip lic a n d M u lt ip lie r P a r t ia l p r o d u c t s R e s u lt

Kertolasku binaariluvuilla x xy 2 x3 x2 x x y4 y3 y2 y y x 4y x 3y x 2y x y x y xy 2 x 4y x 3y x 2y x y x y + xy2 22 x 4y 2 x 3y 2 x 2y 2 x y 2 x y 2 xy3 23 x 4y 3 x 3y 3 x 2y 3 x y 3 x y 3 xy4 24 x 4y 4 x 3y 4 x 2y 4 x y 4 x y 4 z9 x4 z8 z7 z6 z5 z4 z3 z2 z z

Kertolasku binaariluvuilla Kertolasku voidaan suorittaa addereilla Tässä ratkaisussa kriittisiä polkuja on monia: sekä summa- että X3 muistipolut X X 3 FA Z 7 3 6 X 3 X FA X X X 2 X X X FA 5 Y H A Z 4 X Y Z 3 3 Z 2 2 Z Y Y H A H A X FA FA Z X H A FA 2 X 2 2 FA FA Z X Z

Carry-save multiplier H A H A HA H A HA FA FA F A HA FA FA FA FA F A H A H A V e c t o r M e r g in g A d d e r Carry-save multiplierissa muistibitit siirtyvät vertikaalisesti

Wallace-tree multiplier y y 2 C FA y C y 3 i FA C i FA C y y 2 i 3 y 4 y 5 FA C i C i C i C i C i 4 C y y FA C y y i FA i C i 5 FA i FA C S Normaali carry-save C S Wallacen puurakenne

Wallace-tree multiplier

2:n komplementin vähennin Vähennyslasku voidaan tehdä siten, että otetaan B:stä komplementti, lisätään ja lasketaan A:n kanssa yhteen Tässä tapauksessa :n lisääminen onnistuu parhaiten laittamalla sisääntulomuistibitti ykköseksi

Logical unit LU Tavoitteena on saada loogiset funktiot samaan piiriin Jos on kaksi muuttujaa, saadaan totuustaulukkoon 4 riviä (mintermiä) Mintermeistä saadaan 24=6 erilaista kombinaatiota Kukin näistä vastaa yhtä mahdollista funktiota, jonka LU voi toteuttaa Haluttu funktio valitaan 4:llä kontrollibitillä

LU

ALU ALU suorittaa laskennan, eli aritmetiikan (+, -) sekä loogiset funktiot Se koostuu loogisesta summaimista sekä loogisesta ja aritmeettisesta osasta aritmeettinen osa huolehtii syötteiden käsittelystä aritmetiikan aikaansaamiseksi Looginen osa vastaavasti huolehtii logiikasta Kontrollibiteillä valitaan, halutaanko käyttää logiikkaa vai aritmetiikkaa (M) ja mikä funktio valitaan (SS)

ALU ALUmme pystyy siis suorittamaan 4 aritmeettista (+, -, increment ja decrement)ja 4 loogista operaatiota (AND, OR, NOT, identiteetti) syötteille Tarvitaan kolme kontrollibittiä valintaan Aritmeettiset operaatiot perustuvat yhteenlaskuun

Arithmetic extender Kontrollibitti M valitsee logiikan tai aritmetiikan välillä S ja S valitsevat halutun funktion c:aa käytetään aritmetiikassa X on syöte A, Y syöte B

AE:n johto

Logic extender LE:ssä toiminta kuten AE:ssä paitsi C on aina Y on aina (ei tarvita yhteenlaskua)

Logic extender

4-bittinen ALU

Dekooderi Dekooderi aktivoi n-bittisen osoitteen mukaan täsmälleen yhden 2n ulostulosta Laitteessa on myös Enable-syöte

4- bittinen dekooderi

3-8 dekooderi Dekooderissa on 3 osoitelinjaa ja 8 ulostuloa Se voidaan toteuttaa monella tavalla

Multiplekseri Multiplekseriä käytetään valitsemaan yksi sisääntulo monesta mahdollisesta Jos sisääntuloja on n, tarvitaan log2 n kontrollibittiä

4- Multiplekseri

8- Multiplekseri Tämä voidaan koota modulaarisesti pienemmistä osista

Väylä (Bus) Väylä liittää laitteita yhteen Vain yksi laite voi lähettää tietoa väylälle kerrallaan Väylälle kytkeydytään kolmitilaisen ajurin kautta Ajuria kontrolloi enable-bitti Kun enable on, on ajurin arvo Z (irti väylästä) Väylän käyttämiseen tarvittava logiikka tapahtuu ylemmällä tasolla

Priority Encoder Enkooderi saa monta syötettä, joista tasan yksi on kerrallaan Enkooderi antaa ulos tiedon siitä, mikä syöte oli Tieto annetaan binaarilukuna, joka kertoo syötteen numeron Ulostulo Any on, jos joku syöte on

4-2 enkooderi

8-3 enkooderi Monimutkaisemman enkooderin voi hierarkisesti koostaa useasta pienemmästä enkooderista ja selektorista

Vertailu Eräs usein tarvittu toiminto on kahden luvun suuruuksien vertailu Tämä kannattaa siis toteuttaa raudalla G=, A>B G=, A B L=, A<B L=, A B A=B: L= ja G= A B: L= ja G=

8-bittinen komparaattori N-bittisen (n>2) komparaattorin toiminnan pohjana on kaava Tässä Gi- on alempien bittien vertailu G ja vastaavasti Li- on alempien bittien L

Shiftit ja rotaatiot Eräs usein tarvittava operaatio on binaariluvun shiftaus ja rotaatio Shift: -> (vasen),-> (oikea) Rotaatio: -> (oikea), -> (vasen)

Shiftit ja rotaatiot Kuvassa oleva Barreltyyppinen rotaattori pystyy rotatoimaan -7 bittiä kerralla oikealle Kontrollibitit S, S ja S2 valitsevat rotaation määrän

ROM n x m bitin ROM-muistissa on n kappaletta m bitin sanoja Tällöin tarvitaan osoitelinjoja log2 n Bitit on tallennettu matriisiin, jossa kohtaavat ohjelmoitava OR-veräjä ja osoitteen aktivoima rivi ROM:issa ROMissa tieto pysyy OTP-ROMissa pystyy tietoa muuttamaan kerran (One Time Programmable)

ROMin käyttö totuustauluna

Ohjelmoitava logiikka (PLA) PLA toteuttaa vain ne rivit, joissa ulostulo ei ole Ohessa 4x8x4 PLA 4 osoitebittiä (6 sanaa) 8 aktiivista riviä 4 bittiä sanassa ANDit dekoodaavat osoitteen Tällä voi toteuttaa totuustaulun, jossa on 8 riviä, joissa on ykkösiä jonkun ulostulon kohdalla

Ohjelmoitava logiikka (PLA) Full Adderin toteutus PLAlla Totuustaulussa on vain 8 riviä, joissa joku ulostulo on, joten PLA onnistuu