Mikä on 2-bittinen täsmällisyyden totuustaulukko?


Paras vastaus

Totuustaulukot on taulukko, joka antaa loogisen funktion tuloksen kaikille mahdollisille tulot. Täydellinen summain on Boolen funktio (tai sen toteuttava laitteisto), joka antaa kaksi 2-bittistä kokonaislukua antaa sinulle näiden kokonaislukujen summan, mukaan lukien siirrot. (Puolisummain lisää vain numerot, mutta jättää huomiotta siirron). Jos syötteenä on kaksi 2-bittistä kokonaislukua, on 16 mahdollista syötettä, joten taulukossasi on 16 riviä. Näin voi näyttää, ovatko syötteesi a ja b ja bittiä, lähtö on xabx 00 00 000 00 01 001 00 10 010 00 1 1011 01 00 001 01 01 010 01 10 011 01 11 100 11 00 011 10 01 011 10 10100 10 11 101 11 00 011 11 01 100 11 10 101 11 11 110

Vastaus

Hämmentävä vastaus on ”mitä suunnittelija haluaa”.

Kun aloitin tietokonesuunnittelun tarkastelun 1970-luvun lopulla, minulla oli tausta matematiikassa ja vähemmässä määrin tietokoneohjelmoinnissa. Osa varhaisesta työstäni käsitteli ohjeistusten suunnittelua ja toteutusta. Kaikki tämä edellytti, että minun piti rakentaa ymmärrys tietokoneen aritmeettisesta toiminnasta, ja taustan takia tein sen hieman abstraktista, matemaattisesta näkökulmasta.Tämä oli ristiriidassa esitetyn kanssa monissa elektroniikan ja tietokonesuunnittelun oppikirjoissa, joissa esitetään toiminnot (esim. lisäykset) ja niiden toteutus, mutta jotka eivät aina antaneet motivaatiota.

Motivaatio ionin summaimen toteuttamiseksi on otettava kaksi sarjaa bittejä (”sanoja”), jotka edustavat lukuja, ja tuottaa tuotos, joka edustaa näiden bittien summaa. Tässä on esitettävä kolme avainkysymystä. Ensinnäkin, mitkä ovat numerot, joita yritämme edustaa. Toiseksi miten nämä luvut esitetään bitteinä. Ja kolmanneksi, mitä on tarkoitus tapahtua, jos kahden luvun summaa ei voida esittää joukkoina bittejä.

Yleinen tilanne (N-bittinen, pieni endiaani, allekirjoittamaton kokonaisluku) on, että N-bittistä sanaa käytetään edustamaan kokonaislukuja [0,2^N-1], ja sanaa B[N-1]...B[0] edustaa arvoa ΣB[i]2^i: i in [0,N-1]. Kolmas kysymys on ongelma – kahden syötteen summa voi olla alueella [0,2*(2^N-1)] , joten on olemassa tuloksia, joita ei voida edustaa.

A ”N-bittisen summaimen” yksinkertainen oppikirja-toteutus rakentaa sen N: stä ”1-bittisestä täydestä summaimesta”. Kahden N-operandibitin joukon lisäksi on siirtobitti (pakotettu nollaan) ja siirtobitti. Jos summauksen matemaattinen tulos voidaan esittää, summaimen tuloksen N-bitit edustavat tuloksen oikeaa esitystä ja toteutus on 0. Jos toisaalta laskutoimituksen matemaattinen tulos lisäystä ei voida esittää, summaimen tuloksen N-bitit edustavat tuloksen oikeaa esitystä modulo 2 ^ N, ja suoritus on 1. Yhteenvetona voidaan todeta, että tämä summain tuottaa aina oikean tuloksen modulo 2 ^ N ja suoritus osoittaa, että oikea tulos ei ole edustettavissa. Jotkut tietokonejärjestelmät haluavat käsitellä tätä virheenä, ehkä tallentaa sen lippuun tai aiheuttaa poikkeuksen.

Toinen yleinen tilanne (N-bittinen, pieni endiaani, signeerattu kahden komplementtiluku) on, että N-bittistä sanaa käytetään edustamaan kokonaislukuja [-2^(N-1),2^(N-1)-1], ja sanaa B[N-1]...B[0] edustaa arvoa -B[N-1]*2^N + ΣB[i]2^i: i in [0,N-1]*. Jälleen on olemassa tuloksia, joita ei voida esittää. Aikaisemmin kuvattu summain tuotti oikean tuloksen kaikille edustettavissa oleville tuloksille (minkä vuoksi käytetään kahta komplementtiaritmeettistä). Suoritus ei kuitenkaan osoita, onko tulos edustettavissa. (Tarkastellaan -1 + 1 = 0, joka tuottaa suorituksen, ja 0 + 0 = 0, joka ei tuota). Kahden täydennyksen osalta ehto, joka edustaa ennennäkemättömän tuloksen (kutsutaan yleisesti ”ylivuodoksi”), on, että tuloksen merkkibitti (merkittävin bitti) on ”odottamaton” – eli kahden negatiivisen luvun summa näyttää olevan positiivinen tai Kahden positiivisen luvun summa näyttää olevan negatiivinen (harjoita lukijaa osoittamaan, että kahden lukumäärän erilaisten merkkien summa voidaan aina edustaa).

Jotkut muut esitykset saattavat pystyä käyttämään samoja summaimia allekirjoitettuina ja allekirjoittamattomina kokonaislukuina. Murtoluvuissa, joissa sanan arvo on sanan arvo, jota käsitellään kokonaislukuna jaettuna kahden voimalla, summain tuottaa oikean tuloksen, kun arvo on edustettavissa. Näitä esityksiä käyttävissä järjestelmissä halutaan kuitenkin joskus, että tulokset ”kyllästyvät” – toisin sanoen tulos on alueen ulkopuolella, summa on positiivisin tai negatiivisin arvo, tapauksen mukaan. Muut järjestelmät 2, yksi arvoista (tyypillisesti 10… 0) käytettäväksi virhearvona, joka etenee sitten muiden toimintojen kautta. Tällöin tarvitaan erityinen summain.

* Tämä muotoilu tekee selväksi kahden täydennysmuodon – sanan allekirjoitettu arvo on sanan allekirjoittamaton arvo miinus 2 ^ N kertaa ylimmän bitin (merkkibitti). Vastaavasti arvo voidaan kirjoittaa -B[N-1]*2^(N-1) + ΣB[i]2^i: i in [0,N-2], joka vastaa yläbittiä, joka edustaa 0 tai -1 eikä 0 tai +1.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *