Co je 2bitová úplná tabulka pravdy zmije?


Nejlepší odpověď

Tabulky pravdy je tabulka, která vám poskytne výstup booleovské funkce pro jakoukoli možnou kombinaci vstupy. Plná sčítačka je booleovská funkce (nebo část hardwaru, která ji implementuje), která vám dá dvě 2-bitová celá čísla a dá vám součet těchto celých čísel včetně přenosu. (Poloviční zmije pouze sčítá čísla, ale ignoruje přenos). Pokud máte jako vstup dvě 2bitová celá čísla, existuje 16 možných vstupů, takže vaše tabulka bude mít 16 řádků. Jak to může vypadat, pokud jsou vaše vstupy aab s bity, výstup je 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 10 100 10 11 101 11 00 011 11 01 100 11 10 101 11 11 110

Odpověď

Odpověď glib zní „bez ohledu na to, co návrhář chce“.

Když jsem se na konci 70. let začal zabývat počítačovým designem, měl jsem znalosti z matematiky a v menší míře z počítačového programování. Některé z raných prací, které jsem dělal, zahrnovaly návrh a implementaci instrukčních sad a zejména z aritmetických operací. To vše vyžadovalo, abych musel porozumět počítačové aritmetice, a kvůli pozadí jsem to udělal z trochu abstraktního, matematického hlediska. To bylo v rozporu s tím, co bylo uvedeno v mnoha učebnicích elektroniky a počítačového designu, které uvádějí funkce (např. doplňky) a jejich implementaci, ale ne vždy motivují.

Motiv ion pro implementaci sčítače je vzít dvě sady bitů („slova“), představující čísla, a vytvořit výstup představující součet těchto bitů. Zde si můžete položit tři klíčové otázky. Nejprve, jaká jsou čísla, která se snažíme reprezentovat. Za druhé, jak jsou tato čísla reprezentována jako bity. A za třetí, co se má stát, pokud součet dvou čísel nelze reprezentovat jako sadu bitů.

Běžná situace (N-bit, malý endian, celé číslo bez znaménka) je, že N-bitové slovo se používá k vyjádření celých čísel [0,2^N-1], a slovo B[N-1]...B[0] představuje hodnotu ΣB[i]2^i: i in [0,N-1]. Třetí otázka je otázkou – součet dvou vstupů může být v rozsahu [0,2*(2^N-1)] , takže existují výsledky, které nelze reprezentovat.

A jednoduchá učebnicová implementace „N-bitového sčítače“ jej staví z N „1-bitových plných doplňků“. Kromě 2 sad N bitů operandů existuje bit pro přenos (vynucený na nulu) a bit pro přenos. Pokud lze reprezentovat matematický výsledek sčítání, pak N-bity výsledku ze sčítače budou správným vyjádřením výsledku a realizace bude 0. Pokud naopak bude matematický výsledek sčítání nemůže být reprezentováno, pak N-bity výsledku ze sčítače budou správnou reprezentací výsledku modulo 2 ^ N a realizace bude 1. Abychom to shrnuli, tato sčítačka vždy vytvoří správný výsledek modulo 2 ^ N a provedení znamená, že správný výsledek není reprezentovatelný. Některé počítačové systémy s tím budou chtít zacházet jako s chybou, možná to zaznamenají do vlajky nebo způsobí výjimku.

Další běžná situace (N-bit, malý endian, celé číslo se znaménkem dva) je, že N-bitové slovo se používá k vyjádření celých čísel [-2^(N-1),2^(N-1)-1], a slovo B[N-1]...B[0] představuje hodnotu -B[N-1]*2^N + ΣB[i]2^i: i in [0,N-1]*. Opět existují výsledky, které nelze reprezentovat. Výše popsaná zmije vytvořila správný výsledek pro všechny reprezentativní výsledky (proto se používá aritmetika dvojice doplňků). Provedení však neznamená, zda je výsledek reprezentativní. (Zvažte -1 + 1 = 0, která produkuje realizaci, a 0 + 0 = 0, která nikoli). Pro doplněk dvou je podmínkou, která představuje nepředstavitelný výsledek (běžně nazývaný „overflow“), že signální bit (nejvýznamnější bit) výsledku je „neočekávaný“ – to znamená, že součet dvou záporných čísel se jeví jako kladný, nebo součet dvou kladných čísel se zdá být záporný (cvičení pro čtenáře, aby se ukázalo, že součet dvou čísel různých znaků lze vždy vyjádřit).

Některá další vyjádření mohou být schopna používat stejné sčítače jako podepsaná a nepodepsaná celá čísla. U zlomkových reprezentací, kde hodnota slova je hodnota slova, považovaná za celé číslo vydělená mocninou dvou, vytvoří sčítač správný výsledek, když je hodnota reprezentovatelná. V systémech využívajících tyto reprezentace je však někdy požadováno, aby výsledky „nasycovaly“ – to znamená, že výsledek je mimo rozsah, přičemž součet představuje nejpozitivnější nebo nejnegativnější hodnotu. Jiné systémy 2 jednu z hodnot (obvykle 10… 0) pro použití jako chybová hodnota, která se poté rozšíří prostřednictvím dalších operací. V tomto případě bude zapotřebí speciální sčítačka.

* Tato formulace výslovně vysvětluje tvar doplňku obou – podepsaná hodnota slova je nepodepsaná hodnota slova minus 2 ^ N krát horní bit (znakový bit). Ekvivalentně lze zapsat hodnotu -B[N-1]*2^(N-1) + ΣB[i]2^i: i in [0,N-2], která odpovídá hornímu bitu představujícímu 0 nebo -1 místo 0 nebo +1.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *