Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

temata:02-kombinacni_obvody:main [2013/02/02 14:04]
marho [Kodér]
temata:02-kombinacni_obvody:main [2013/02/03 12:39] (aktuální)
marho [Binární sčítačka]
Řádek 92: Řádek 92:
 </box> </box>
  
-==== Dekodér ====+==== Dekodér (DC) ====
  
 <box round blue 90%> <box round blue 90%>
 **Popis**\\ **Popis**\\
-logický obvod převádějící n vstupů na m výstupu (převod mezi dvěma binárními kódy). Pokud je <m>m = 2^n</m>, potom se jedná o binární dekodér 
  
-**použití**\\+Logický obvod převádějící __N vstupů na. M výstupu__ (převod mezi dvěma binárními kódy). Pokud je <m>M = 2^N</m>, potom se jedná o __binární dekodér__. Některé výstupy mohou být nevyužity – např. BCD dekodér. 
 + 
 +**Použití**\\
   * dekódování adres   * dekódování adres
   * převod BCD na číslo 1-10   * převod BCD na číslo 1-10
   * dekodéry pro sedmisegmentové displeje   * dekodéry pro sedmisegmentové displeje
  
-**dekodér adres**\\+**BCD dekodér** 
 +Dekóduje 4-bitový __kód BCD__ (prvních deset binárních čísel) na __kód dekadický__ (vždy pouze jeden z deseti výstupů je aktivní). 
 + 
 +**Dekodér adres**\\
 {{:temata:02-kombinacni_obvody:dekoderadres.jpg?300}} {{:temata:02-kombinacni_obvody:dekoderadres.jpg?300}}
  
-**struktura dekodéru**\\+**Struktura dekodéru**\\
 {{:temata:02-kombinacni_obvody:dekodestruktura.jpg?300}} {{:temata:02-kombinacni_obvody:dekodestruktura.jpg?300}}
  
-**dekodér 4 na 16**\\+**Dekodér 4 na 16 složený z dvoch 2 na 4 (maticová struktura)**\\
 {{:temata:02-kombinacni_obvody:dekoder4to16.jpg?400}} {{:temata:02-kombinacni_obvody:dekoder4to16.jpg?400}}
  
-<m>f(P, X, Q) = Σm(0,1,4,6,7)</m>+**Implementace funkce** <m>f(P, X, Q) = Σm(0,1,4,6,7)</m>
  
 {{:temata:02-kombinacni_obvody:dekoderlogfce.jpg?300}} {{:temata:02-kombinacni_obvody:dekoderlogfce.jpg?300}}
  
 +**Dekodér pro sedmisegmetnové displeje**\\
 +Na __vstupu__ je __BCD kód__ a na __výstupu__ je __7 signálů pro řízení__ světelných segmentů __dispeje__ tak, aby tvořily dekadická číslice od 0 po 9.
  
-pocet_datovych_vystupu = 2 ^ pocet_datovych_vstupu 
 </box> </box>
  
Řádek 124: Řádek 129:
 <box round blue 90%> <box round blue 90%>
 **Popis**\\ **Popis**\\
-Princip je sčítání jednotlivých bitů na stejných pozicích spolu s přenosem, pokud dojde k sečtení dvou jedniček. \\+Princip je sčítání jednotlivých bitů na stejných pozicích spolu s přenosem, který vzniká pokud dojde k sečtení dvou jedniček. \\
 \\ \\
 </box> </box>
Řádek 131: Řádek 136:
  
 <box round blue 90%> <box round blue 90%>
-Taková, která neuvažuje přenos (carry) z nižšího řádu (pro sčítání nejnižších bitů)+Taková, která __neuvažuje přenos__ (carry) z nižšího řádu (pro sčítání nejnižších bitů)
  
-<m>S_0 = \overline{A_0}B_0 + A_0\overline{B_0}</m>+<m>S_0 = \overline{A_0}B_0 + A_0\overline{B_0} = A_0 ⊕ B_0</m>
  
 <m>C_1 = A_0B_0</m> <m>C_1 = A_0B_0</m>
Řádek 146: Řádek 151:
  
 <box round blue 90%> <box round blue 90%>
-Bereme enos s nižšího řádu+Oproti poloviční sčítačce __uvažujeme enos__ z nižšího řádu
  
 {{:temata:02-kombinacni_obvody:scitacka1.jpg?200}} {{:temata:02-kombinacni_obvody:scitacka1.jpg?200}}
  
 {{:temata:02-kombinacni_obvody:scitacka2.jpg?300}} {{:temata:02-kombinacni_obvody:scitacka2.jpg?300}}
 +
 +**Úplnou sčítačku je také možné vytvořit pomocí polovičních**
 +
 +{{:temata:02-kombinacni_obvody:02-uplna-scitacka.png?300}}
  
 </box> </box>
  
-=== Sériová sčítačka ===+=== Vícebitová sčítačka === 
 + 
 +== Sériová sčítačka ==
  
 <box round blue 90%> <box round blue 90%>
-{{:temata:02-kombinacni_obvody:serscitacka.jpg?300}}\\ +Pomocí __jedné sčítačky__, D klopného obvodu a pomocných registrů víme vypočítat součet dvou __libovolně dlouhých__ binárních čísel. Jedná se o synchronní sčítačku s taktem <m>T_c</m>. Do KO D se ukládá mezivýsledek (hodnota carry). 
-\\ + 
-Jedná se o synchronní sčítačku s taktem <m>T_c</m>. Do KO D se ukládá mezivýsledek.+{{:temata:02-kombinacni_obvody:serscitacka.jpg?300}} 
  
 </box> </box>
  
-=== Paralelní sčítačka ===+== Sčítačka s postupným šířením přenosu ==
  
 <box round blue 90%> <box round blue 90%>
 +
 +  * Je tvořena zřetězení několik jednobitových úplných sčítačiek.
 +  * __Pseudo-paralerní__ (Carry musí procházet přes všechny stupně sčítačky)
 +  * Cenově výhodné řešení
 +  * Pomalé - Zpoždění jednoho logického členu je <m>\Delta</m> => zpoždění jedné sčítačky <m>2\Delta</m>, pro n bitů je doba zpoždění <m>2n\Delta</m>. -> Pro 32, 64 bitové čísla je lepší CLA (Carry Look - Ahead).
  
 {{:temata:02-kombinacni_obvody:parscitacka.jpg?300}} {{:temata:02-kombinacni_obvody:parscitacka.jpg?300}}
  
-Zpoždění jednoho logického členu je <m>\Delta</m> => zpoždění jedné sčítačky <m>2\Delta</m>, pro n bitů je doba zpoždění <m>2n\Delta</m>.\\ 
-Pro 32, 64 bitové čísla nevýhodné, lepší CLA (Carry Look - Ahead). 
  
 </box> </box>
  
-==CLA ===+== Paralelní sčítačka - CLA (Carry Look Ahead) ==
  
 <box round blue 90%> <box round blue 90%>
 +
 +  * Přenos se negeneruje postupně ale __paralelně__.
 +  * Tyto obvody se označují jako sčítačky se __zrychleným přenosem__.
 +  * Dokáže __sečíst__ dvě binární čísla v __logaritmickém čase__.
  
 {{:temata:02-kombinacni_obvody:cla.jpg?400}} {{:temata:02-kombinacni_obvody:cla.jpg?400}}
Řádek 237: Řádek 256:
 | Přeskakování přenosu | O(<m>\sqrt{n}</m>) | O(<m>n</m>) | | Přeskakování přenosu | O(<m>\sqrt{n}</m>) | O(<m>n</m>) |
 | Výběr přenosu | O(<m>\sqrt{n}</m>) | O(<m>n</m>) | | Výběr přenosu | O(<m>\sqrt{n}</m>) | O(<m>n</m>) |
 +
 +
 +=== Detekce přetečení (Overflow) ===
 +
 +<box round blue 90%>
 +
 +  * Přetečení je detekováno když je __součet__ obou čísel v absolutní hodnotě __větší__, než maximální hodnota kterou __je možné uložit__ do výsledku. Př. Když na 8 bitech sečteme 200 a 200, na 8 bitů sa uloží pouze výsledek 144. Proto je nutné brát v potaz i bit vzniklý přetečením.
 +  * Předpokládáme, že čísla jsou reprezentována ve __dvojkovém doplňku__.
 +  * Závisí na hodnotách najvyšších bitov oboch sčítancov, na nejvyšším bite výsledku a na hodnotě přenosu.
 +
 +{{:temata:02-kombinacni_obvody:02-preteceni.png?350}}
 +
 +<m>OV = \overline{A_3 ⊕ B_3} . (C_4 ⊕ S_3)</m>
 +
 +</box>
  
 ===== Odkazy ===== ===== Odkazy =====
temata/02-kombinacni_obvody/main.1359810274.txt.gz · Poslední úprava: 2013/02/02 14:04 autor: marho
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki