Mi az a 2-bites teljes összegző igazságtábla?


Legjobb válasz

Az Igazságtáblák egy olyan tábla, amely egy logikai függvény kimenetét adja meg a bemenetek. A teljes összeg egy logikai függvény (vagy egy hardver, amely megvalósítja azt), amely két 2 bites egész számot ad meg az egész számok összegével, beleértve az átviteleket is. (Egy félösszeadó csak összeadja a számokat, de nem veszi figyelembe az átviteleket) Ha két 2-bites egész szám van bemenetként, akkor 16 lehetséges bemenet van, tehát a táblája 16 soros lesz. Így nézhet ki, ha a bemenetek a és b bitek, a kimenet xabx 00 00 000 00 01 001 00 10 010 00 1 1 011 01 00 001 01 01 010 01 10 011 01 11 100 11 00 011 10 01 011 10 10 100 10 11 101 11 00 011 11 01 100 11 10 101 11 11 110

Válasz

A „glib” válasz „bármi, amit a tervező akar”.

Amikor az 1970-es évek végén elkezdtem a számítógépes tervezéssel foglalkozni, a matematikából és kisebb mértékben a számítógépes programozásból is származtam. A korai munkák egy részében az utasításkészletek tervezésével és megvalósításával foglalkoztam, és Mindez megkövetelte, hogy meg kell építenem a számítógépes aritmetika megértését, és a háttér miatt kissé absztrakt, matematikai szempontból tettem. Ez ellentétben állt a leírtakkal sok elektronikai és számítógépes tervezési tankönyvben, amelyek meghatározzák a funkciókat (pl. kiegészítők) és azok megvalósítását, de nem mindig adtak motivációt.

A motiváció Az összeadó megvalósításához két bitkészletet („szavakat”) kell venni, amelyek számokat képviselnek, és kimenetet kell létrehozniuk, amely a bitek összegét jelenti. Három kulcsfontosságú kérdést kell itt feltenni. Először is, melyek azok a számok, amelyeket megpróbálunk képviselni. Másodszor, hogyan ábrázolják ezeket a számokat bitként. Harmadszor, mi történhet akkor, ha a két szám összege nem ábrázolható bitkészletként.

Gyakori helyzet (N-bit, kis endian, előjel nélküli egész szám), hogy Az N bites szó az [0,2^N-1], egész számok, az B[N-1]...B[0] szó pedig a ΣB[i]2^i: i in [0,N-1]. A harmadik kérdés kérdés – a két bemenet összege a [0,2*(2^N-1)] tartományba eshet, ezért vannak olyan eredmények, amelyek nem ábrázolhatók.

A Az „N-bites összeadó” egyszerű tankönyv-megvalósítása N „1-bites teljes összeadókból” építi fel. A N operandusbit 2 készletén kívül van egy hordozható bit (nullára kényszerítve) és egy kihordó bit. Ha az összeadás matematikai eredménye ábrázolható, akkor az összeadó eredményének N-bitje az eredmény helyes ábrázolása lesz, a végrehajtás pedig 0. Ha viszont a az összeadás nem ábrázolható, akkor az összeadó eredményének N-bitje lesz az eredmény helyes ábrázolása a modulo 2 ^ N eredménynek, és a kivitelezés 1 lesz. Összefoglalva: ez az összeadó mindig a helyes 2 modulo eredményt adja ^ N és a végrehajtás azt jelzi, hogy a helyes eredmény nem ábrázolható. Egyes számítógépes rendszerek ezt hibaként akarják kezelni, esetleg egy zászlóba rögzítve, vagy kivételt okozva.

Egy másik gyakori helyzet (N-bit, kis endian, kettő egészített egész számot írt alá), hogy egy Az N bites szó a [-2^(N-1),2^(N-1)-1], egész számok, az B[N-1]...B[0] szó pedig a -B[N-1]*2^N + ΣB[i]2^i: i in [0,N-1]*. Ismét vannak olyan eredmények, amelyek nem ábrázolhatók. A korábban leírt összeadó az összes reprezentálható eredményhez megfelelő eredményt adott (ezért kettő komplementaritást alkalmazunk). Az elvégzés azonban nem jelzi, hogy az eredmény reprezentálható-e. (Tekintsük -1 + 1 = 0, amely végrehajtást eredményez, és 0 + 0 = 0, amely nem eredményez). Kettő kiegészítéseként az a feltétel, amely példátlan eredményt képvisel (általában „túlcsordulásnak” hívják), hogy az eredmény előjel-bitje (legjelentősebb bitje) „váratlan” – vagyis két negatív szám összege pozitívnak tűnik, vagy két pozitív szám összege negatívnak tűnik (tegye az olvasó elé annak megmutatását, hogy két különböző jel előállításának száma mindig ábrázolható).

Néhány más ábrázolás is képes lehet ugyanazok az összeadók használatára aláírt és aláíratlan egész számokként. Törtrészes ábrázolások esetében, ahol egy szó értéke a szó értéke, egész számként kezelve, kettő hatványával elosztva, az összeadó akkor adja meg a helyes eredményt, ha az érték reprezentálható. Azonban ezeket a reprezentációkat alkalmazó rendszerekben néha az a kívánt viselkedés, hogy az eredmények „telítődjenek” – vagyis az eredmény tartományon kívül van, az összeg a legpozitívabb vagy a leginkább negatív érték, adott esetben. Más rendszerek 2 az egyik értéket (tipikusan 10… 0) hibajelzésként használják, amely ezt követően további műveleteken keresztül terjed. Ebben az esetben speciális összeadóra lesz szükség.

* Ez a megfogalmazás egyértelművé teszi a kettő kiegészítő alakját – a szó aláírt értéke a szó elő nem írt értéke mínusz 2 ^ N-szerese a felső bitnek (előjelbit). Ezzel egyenértékűen az érték felírható -B[N-1]*2^(N-1) + ΣB[i]2^i: i in [0,N-2], amely a legfelső bitnek felel meg, amely 0 vagy -1 helyett 0 vagy +1.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük