Architektura počítačů Logické obvody

Podobné dokumenty
Architektura počítačů Logické obvody

Principy počítačů a operačních systémů

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

SWI120 ZS 2010/ hookey.com/digital/

Úvod do informačních technologií

Úvod do informačních technologií

Binární logika Osnova kurzu

Číslicové obvody základní pojmy

12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace.

4. Elektronické logické členy. Elektronické obvody pro logické členy

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

BDIO - Digitální obvody

Projekt realizovaný na SPŠ Nové Město nad Metují. s finanční podporou v Operačním programu Vzdělávání pro konkurenceschopnost Královéhradeckého kraje

SEKVENČNÍ LOGICKÉ OBVODY

Obsah DÍL 1. Předmluva 11

Logické řízení. Náplň výuky

Typy a použití klopných obvodů

SČÍTAČKA, LOGICKÉ OBVODY ÚVOD TEORIE


KOMBINAČNÍ LOGICKÉ OBVODY

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Pohled do nitra mikroprocesoru Josef Horálek

Způsoby realizace této funkce:

Projekt Pospolu. Sekvenční logické obvody Klopné obvody. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych.

Úplný systém m logických spojek. 3.přednáška

KOMBINAČNÍ LOGICKÉ OBVODY

DIGITÁLN LNÍ OBVODY A MIKROPROCESORY 1. ZÁKLADNÍ POJMY DIGITÁLNÍ TECHNIKY

Strojový kód. Instrukce počítače

Booleova algebra. ZákonyBooleovy algebry Vyjádření logických funkcí

Sylabus kurzu Elektronika

Logické funkce a obvody, zobrazení výstupů

LOGICKÉ OBVODY X36LOB

Struktura a architektura počítačů (BI-SAP) 3

Sekvenční logické obvody

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení

Aritmetické operace a obvody pro jejich realizaci

Struktura a architektura počítačů (BI-SAP) 4

Úvod do počítačových architektur

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

2.7 Binární sčítačka Úkol měření:

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení. N Měřicí a řídicí technika 2012/2013. Logické proměnné

Klopný obvod typu D, dělička dvěma, Johnsonův kruhový čítač

1 z :27

Matematická logika. Rostislav Horčík. horcik

5 Přehled operátorů, příkazy, přetypování

Sekvenční logické obvody

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Příklady popisu základních obvodů ve VHDL

Operace ALU. INP 2008 FIT VUT v Brně

Základy číslicové techniky z, zk

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

Zvyšování kvality výuky technických oborů

Programování. řídících systémů v reálném čase. Střední odborná škola a Střední odborné učiliště - - Centrum Odborné přípravy Sezimovo Ústí

Násobení. MI-AAK(Aritmetika a kódy)

PROGRAMOVATELNÉ LOGICKÉ OBVODY

Výroková logika - opakování

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

STRUKTURA POČÍTAČŮ JIŘÍ HRONEK, JIŘÍ MAZURA KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

Algoritmizace a programování

mové techniky budov Osnova Základy logického Druhy signálů

Booleovy algebry. Irina Perfilieva. logo

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Instrukční sada pro používání ControlLogix a CompactLogix výňatek

Operátory. Základy programování 1 Tomáš Kühr

2. LOGICKÉ OBVODY. Kombinační logické obvody

Návrh synchronního čítače

BI-JPO (Jednotky počítače) Cvičení

Cíle. Teoretický úvod

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Registry a čítače část 2

Systém řízení sběrnice

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, Booleova algebra, De Morganovy zákony Student

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Jak do počítače. aneb. Co je vlastně uvnitř

MODERNIZACE VÝUKY PŘEDMĚTU ELEKTRICKÁ MĚŘENÍ

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

MQL4 COURSE. By Coders guru -4 Operace & Výrazy

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Velmi zjednodušený úvod

PROTOKOL O LABORATORNÍM CVIČENÍ

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

Otázka 10 - Y36SAP. Zadání. Logické obvody. Slovníček pojmů. Základní logické členy (hradla)

Logické obvody. Přednáška 6. Prof. RNDr. Peter Mikulecký, PhD.

Princip funkce počítače

LOGICKÉ OBVODY

Testování jednotky ALU a aplikace metody FMEA

Základy logického řízení

LOGICKÉ OBVODY J I Ř Í K A L O U S E K

3. Sekvenční logické obvody

Paměť počítače. alg2 1

Transkript:

Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Digitální počítač Dvě úrovně napět Vyšší úroveň Logická 1, high, true, asserted Nižší úroveň Logická 0, low, false, deasserted Hodnoty jsou vzájemně inverzní a doplňkové Kombinační obvody Výstup závisí pouze na vstupu (neobsahují paměť) Reprezentace logických funkcí Sekvenční obvody Výstup závisí na vstupu a vnitřním stavu (paměť) Umožňují zachytit posloupnost kroků výpočtu Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 2/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 3/36 Logické funkce a pravdivostní tabulky Logická funkce (též Booleovská funkce) Výstupní hodnota je funkcí vstupních hodnot f: B k B, kde B = {0, 1} a k N je arita Pravdivostní tabulka Definice logické funkce výčtem hodnot vstupů a výstupů (pro k vstupů má tabulka 2 k řádků) Vstupy Výstup a b f(a, b) 0 0 0 0 1 1 1 0 1 1 1 1

Booleova algebra Algebraická reprezentace logických funkcí Logické proměnné s oborem hodnot B = {0, 1} Základní logické operátory primitivní logické funkce Negace (NOT): x, x,!x Logický součin, konjunkce (AND): x y, x y, x && y Logický součet, disjunkce (OR): x + y, x y, x y Další logické operátory (16 pro 2 proměnné) NAND, NOR, XOR atd. Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 4/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 5/36 Booleova algebra (2) Vstupy Základní operátory Univerzální operátory Další operátory a b NOT a a AND b a OR b a NAND b a NOR b a XOR b a XNOR b... 0 0 1 0 0 1 1 0 1 1 1... 0 1 0 1 1 0 1 1 0 1 0 1 0... 0 1 1 0 0 0 1 1 0 1 0 0 1... 0 1 1 1 0 1 1 0 0 0 1 1 1... 0 1

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 6/36 Booleova algebra (3) Axiomy a odvozené vlastnosti Idempotence: a + a = a, a a = a Komutativita: a + b = b + a, a b = b a Asociativita: a + (b + c) = (a + b) + c, a (b c) = (a b) c Absorpce: a (a + b) = a, a + (a b) = a Distributivita: a (b + c) = (a b) + (a c), a + (b c) = (a + b) (a + c) Neutralita 0 a 1: a + 0 = a, a 1 = a Agresivita 0 a 1: a + 1 = 1, a 0 = 0 Komplementarita: a + a = 1, a a = 0 Absorpce negace: a ( a + b) = a b, a + ( a b) = a + b De Morganovy zákony: (a + b) = a b, (a b) = a + b Dvojitá negace: ( a) = a

Booleova algebra (4) Geogle Boole (1815 1864) Matematik, filozof, logik Systematizace aristotelské logiky Symbolická logika (algebraická reprezentace logických výroků) V mnoha ohledech předběhl dobu Před axiomatizací teorie množin atd. Retrospektivně považován za jednoho ze zakladatelů informatiky [1] Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 7/36

Logické operace Rozšíření logických funkcí na operace s (konečnými) posloupnostmi bitů Slovo = konečná posloupnost bitů Délka slova = počet bitů konečné posloupnosti Výstupní hodnota logické operace je funkce vstupních hodnot f: (B n ) k B n, kde B = {0, 1}, k N je arita a n N je délka slova Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 8/36

Logické operace (2) Typické logické operace Logický součin, logický součet, logická negace atd. po bitech slova (bitwise) Operátory &,, ~ atd. v jazycích C, Java Odpovídající logická funkce aplikována na jednotlivé bity vstupního slova, výsledky po jednotlivých bitech uloženy do výstupního slova Umožňují izolovat (AND), vynulovat (AND, NOR), nastavit (OR), invertovat (XOR) vybrané bity slova, resp. invertovat bity celého slova (NOT) Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 9/36

Logické operace (3) Typické logické operace Logické posuny vlevo a vpravo Operátory << a >> v jazycích C, Java Přesun bitů ve slově o i pozic vlevo nebo vpravo Uvolněné bity jsou nahrazeny hodnotou 0 Pro reprezentaci přirozených čísel jako posloupnost bitů Posun o i bitů vlevo odpovídá násobení číslem 2 i Posun o i bitů vpravo odpovídá dělení číslem 2 i Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 10/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 11/36 Logická hradla Fyzická realizace logických operátorů Základní NOT, OR, AND a a a a b a + b b a b

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 12/36 Logická hradla (2) Fyzická realizace logických operátorů Odvozené NAND, NOR, XOR a b (a b) a a b a b b (a + b)

Logické obvody Fyzická realizace složitějších logických funkcí a logických operací Spojení více logických operátorů Logické signály jako proměnné Logická hradla jako operátory V praxi nejčastější kombinace hradel NAND a NOR Funkční blok Seskupení logických obvodů do větších celků Abstrakce vnitřní struktury Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 13/36

Logický obvod sčítání Součet dvou 1-bitových čísel a b Nejjednodušší případ Vstup: operand a, operand b Výstup: součet s, přenos c s = a b + a b = a XOR b c = a b = a AND b c ½ s Vstupy Výstupy a b s c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 14/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 15/36 Logický obvod sčítání (2) a b c AND XOR ½ s

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 16/36 Logický obvod sčítání (3) Sčítání n-bitových čísel Spojení n ½-sčítaček pro jednotlivé bity? a n-1 b n-1 a 2 b 2 a 1 b 1 a 0 b 0 ½... ½ ½ ½ n-bit c n-1 s n-1 c 2 s 2 c 1 s 1 c 0 s 0 ½-sčítačka neumí propagovat přenosy mezi řády (málo vstupů)

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 17/36 Logický obvod sčítání (4) Úplná sčítačka Součet dvou 1-bitových čísel s přihlédnutím k přenosu z nižšího řádu Vstup: operand a, operand b, přenos c 0 Výstup: součet s, přenos c a b c c 0 s

Logický obvod sčítání (5) Úplná sčítačka Součet dvou 1-bitových čísel s přihlédnutím k přenosu z nižšího řádu Vstup: operand a, operand b, přenos c 0 Výstup: součet s, přenos c s = c 0 (a b + a b) + c 0 (a b + a b) s =... s = c 0 XOR (a XOR b) c = a b + c 0 (a b + a b) c = (a AND b) OR (c 0 AND (a XOR b)) c 0 a b c s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 18/36

Logický obvod sčítání (6) a b c 1 AND c OR XOR c 0 c 2 AND s 1 XOR s 2 Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 s 19/36

Logický obvod sčítání (7) Abstrakce: a + b + c 0 = (a + b) + c 0 a b c OR c 1 ½ s 1 c 0 c 2 ½ s 2 Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 s 20/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 21/36 Logický obvod sčítání (8) a n-1 b n-1 a 1 b 1 a 0 b 0 n-bit... c 0 s n-1 s 1 s 0 Funkční blok: a b add s

Logický obvod odčítání Využit vlastnost dvojkového doplňku Základní stavební blok: Sčítačka Použití XOR hradla jako řízeného invertoru Příklad: 2-bitová ALU s podporou sčítání a odčítání Vstup: operand a 1 a 0, operand b 1 b 0 Řídící vstup: určení typu operace SUB SUB = 0 sčítání SUB = 1 odčítání Výstup: součet/rozdíl s 1 s 0, přenos c Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 22/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 23/36 2-bitová ALU pro sčítání a odčítání SUB = 1 invertuje bity druhého operandu a přičítá 1 (opačné číslo) a ALU s b op 2-bit ALU a 1 b 1 XOR a 0 b 0 XOR SUB c s 1 s 0

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 24/36 Logický obvod znaménkového rozšíření 16 to 32 bit Sign Extend y 31 = x 15 y 16 = x 15 x 15 y 15 = x 15 x 0 y 0 = x 0

Sekvenční obvody Kombinační obvody + paměťové prvky Paměťové prvky udržují vnitřní stav Vstup a obsah paměťových prvků určuje výstup a následující stav (nový obsah paměťových prvků) Synchronní vs. asynchronní sekvenční obvody Způsob a okamžik změny stavu Nutnost docílit stability vstupních hodnot (vstupní hodnoty se nemění) Paměťový prvek 1 Kombinační obvod Paměťový prvek 2 Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 25/36

Synchronní sekvenční obvody Hodinový signál synchronizuje změny stavu Změna stavu během jednoho cyklu hodin Hodnoty vstupů kombinačních obvodů se během čtení nemění Zápis výstupů do paměťových prvků probíhá s náběžnou/sestupnou hranou hodinového signálu náběžná hrana sestupná hrana perioda signálu Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 26/36

Paměťové prvky Dvojice invertorů se zpětnou vazbou Asynchronní obvod se dvěma stabilními stavy Stav slouží pro uložení 1 bitu informace Logický základ paměťových obvodů Reálná konstrukce je složitější q q Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 27/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 28/36 Klopný obvod Set-Reset (R-S, latch) s q r q Vstupy Výstupy r s q n q n 0 0?? 0 1 0 1 1 0 1 0 1 1 q n-1 q n-1

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 29/36 Klopný obvod Set-Reset (R-S, latch) r q s q Vstupy Výstupy r s q n q n 0 0 q n-1 q n-1 0 1 1 0 1 0 0 1 1 1??

Další klopné obvody Odvozené od R-S Clocked R-S latch Synchronní varianta R-S Mění stav, kdykoliv je nastaveno r, s a hodinový signál je logická jednička R-S master/slave (R-S flip-flop) Mění stav jen s náběžnou/sestupnou hranou hodinového signálu S Q R Q Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 30/36

Další klopné obvody (2) Odvozené od R-S J-K master/slave (J-K flip-flop) Rozšíření R-S (J = S, K = R), pro J = K = 1 provede inverzi aktuálního stavu Clocked D latch, D flip-flop Jen jedna vstupní hodnota T flip-flop Dělič vstupního hodinového signálu J Q D Q T Q K Q Q Q Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 31/36

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 32/36 Registr pomocí klopných obvodů q n 1... q 1 q 0 D Q D Q D Q... CLOCK DATA d n 1... d 1 d 0

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 33/36 Posuvný registr pomocí klopných obvodů q n 1... q q 1 0 DATA D Q D Q D Q... CLOCK

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 34/36 32-bitová sekvenční násobička A 32-bit Shift Arith. Right Write Control Test 64-bit A B

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 35/36 32-bitová sekvenční dělička B 32-bit ALU Shift Right Shift Left Write Control Test A mod B 64-bit A div B

Architektura počítačů, Architektura procesoru, LS 2016/2017, 14. 3. 2017 36/36 Reference [1] http://upload.wikimedia.org/wikipedia/commons/c/ce/george_boole_color.jpg