240 likes | 486 Views
Kombinatoorsete süsteemide disain. L2. Arvusüsteemid ja kahend-loogika L3. Loogikafunktsioonide esitamine ja teisendamine. Kasutajaliides. Operatsiooni- süsteem. Pooljuhid: Si, GaAs & Co. sümbolid / kümnendarvud. reaalarvud. Rakendus- programmid. Progr. keeled.
E N D
Kombinatoorsete süsteemide disain • L2. Arvusüsteemid ja kahend-loogika • L3. Loogikafunktsioonide esitamine ja teisendamine I207 - Digitaalloogika ja -süsteemid - L2
Kasutajaliides Operatsiooni- süsteem Pooljuhid: Si, GaAs & Co sümbolid / kümnendarvud reaalarvud Rakendus- programmid Progr. keeled Transistorid / traadid Assembler / binaarkood Loogika- elemendid Arvutisüsteem: CPU + RAM RTL: ALU & Co Loogika- funktsioonid Protsessor Abstraktsioonitasemed kahendarvud / kahendloogika I207 - Digitaalloogika ja -süsteemid - L2
Arvusüsteemid • J.F. Wakerly “Digital Design: Principles and Practices” - 2.1-2.4 • Positsionaalsed arvusüsteemid • väärtus = numbrite kaalutud summa • 173.4 = 1·100 + 7·10 + 3·1 + 4·0.1 • 173.4 = 1·102 + 7·101 + 3·100 + 4·10-1 • D = di·ri, i = -n, …, p-1 • dp-1 dp-2 … d2 d1 d0 .d-1 d-2 ...d-n • r - baas (radix) I207 - Digitaalloogika ja -süsteemid - L2
Kahendarvud • Binary numbers • D = di·2i, i = -n, …, p-1 • 101.0012 = 1·4 + 0·2 + 1·1 + 0·0.5 + 0·0.25 + 1·0.125 = 5.12510 • MSB - most significant bit • vanim järk • LSB - least significant bit • noorim järk I207 - Digitaalloogika ja -süsteemid - L2
8- ja 16-arvud • Octal numbers – D = di·8i • 0, 1, 2, 3, 4, 5, 6, 7 • 1000110011102 = 100 011 001 1102 = 43168 • Hexadecimal numbers – D = di·16i • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F • 111011011101010012 = 0001 1101 1011 1010 10012 = 1DBA916 I207 - Digitaalloogika ja -süsteemid - L2
8- ja 16-arvud • Püsikomaarvud • 10.10110010112 = 010 . 101 100 101 1002 = 2.54548 • 10.10110010112 = 0010 . 1011 0010 11002 = 2.B2C16 • 8-arv (16-arv) -> 2-arv • 1 byte - 8 bits, 1 nibble - 4 bits I207 - Digitaalloogika ja -süsteemid - L2
Teisendamine • Teisendus üle 10-süsteemi • Üldistatud teisendus • dp-1 dp-2 … d2 d1 d0 • D = di·ri ( i = 0, …, p-1) = dp-1·rp-1+ dp-2·rp-2+… + d2·r2+d1·r1+d0·r0= ((( … ((dp-1)·r+ dp-2)·r+…)·r + d2)·r+d1)·r +d0 • rekurssiivne jagamine • jääk annab koha väärtuse I207 - Digitaalloogika ja -süsteemid - L2
Teisendamine – näited • D = di·ri ( i = 0, …, p-1) =((( … ((dp-1)·r+ dp-2)·r+…)·r + d2)·r+d1)·r +d0 • F1AC16 = (((15)·16+1)·16+10)·16+12 = 61868 • 61868 / 16 = 3866 jääk 12 • 3866 / 16 = 241 jääk 10 • 241 / 16 = 15 jääk 1 • 5410 = ??13 (Kui palju on 6x9?) • 54 / 13 = 4 jääk 2 • 5410 = 4213 I207 - Digitaalloogika ja -süsteemid - L2
Hulgad • hulk on elementide (objektide) kogum • [Georg Cantor, 1845-1918] • hulk - set , element - element, member • x A - element x kuulub hulka A • |A| , N(A) - hulga võimsus (kardinaalsus) • lõplikud (finite) ja lõpmatud (infinite) hulgad • loenduvad (countable) hulgad I207 - Digitaalloogika ja -süsteemid - L2
Hulgad • P Q - alamhulk (subset) • hulk P on on hulga Q alamhulk kui iga hulga P element on ka hulga Q element • ühisosata hulgad (disjoint sets) • tühi hulk (empty set) - • universaalhulk (universal set) - I I207 - Digitaalloogika ja -süsteemid - L2
Tehted hulkadega • ühend (union) • A B = { x | xA V xB } • ühisosa (intersection) • A B = { x | xA & xB } • täiend (complement) • A = { x | xI & xA } (AC) • vahe (difference) • A \ B = { x | xA & xB } • sümmeetriline vahe • A D B = { x | (xA & xB) V (xA & xB) } I207 - Digitaalloogika ja -süsteemid - L2
I B C A • A B = A • A B = B • B C • B \ A Tehted hulkadega • Venn’i diagramm • A B • A C = • B C I207 - Digitaalloogika ja -süsteemid - L2
Boole’i algebra • J.F. Wakerly “Digital Design: Principles and Practices” - 4.1 • Loogikafunktsioonide formaalne analüüs • George Boole • 1854 – kahevalentne algebrasüsteem – Boole’i algebra • 1938 – Claude E. Shannon • releeskeemide analüüs (switching algebra) • Üksühene vastavus Cantor’i algebra (hulgad) ja Boole’I algebra (kahendloogika) vahel! I207 - Digitaalloogika ja -süsteemid - L2
Boole’i algebra • Liitmine - a+b, ab, a|b • Korrutamine - a·b, ab, a&b • Aksioomid • (1) X=0 kui X1 X=1 kui X0 • (2) kui X=0, siis X’=1 kui X=1, siis X’=0 • (3) 0 · 0 = 0 1 + 1 = 1 • (4) 1 · 1 = 1 0 + 0 = 0 • (5) 0 · 1 = 1 · 0 = 0 1 + 0 = 0 + 1 = 1 I207 - Digitaalloogika ja -süsteemid - L2
Boole’i algebra • Ühemuutuja teoreemid • (1) X + 0 = X X · 1 = X identsus • (2) X + 1 = 1 X · 0 = 0 konstandid • (3) X + X = X X · X = X idempotentsus • (4) (X’)’ = X topelteitus • (5) X + X’ = 1 X · X’ = 0 täiendid I207 - Digitaalloogika ja -süsteemid - L2
Boole’i algebra • Kahe- ja kolmemuutuja teoreemid • (6) X+Y = Y+X X·Y = Y·X kommutatiivsus • (7) (X+Y)+Z=X+(Y+Z) (X·Y)·Z=X·(Y·Z) assotsiatiivsus • (8) (X·Y)+(X·Z)=X·(Y+Z) (X+Y)·(X+Z)=X+(Y·Z) distributiivsus • (9) X+(X·Y)=X X·(X+Y)=X X+(X’·Y)=X+Y X·(X’+Y)=X·Y neeldumine • (10) (X·Y)’=X’+Y’ (X+Y)’=X’·Y’ De Morgan I207 - Digitaalloogika ja -süsteemid - L2
a a a b b y y b a b 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 a y 1 1 1 1 1 1 0 1 1 0 a a’ a Loogikafunktsioonid a·b a+b JA, AND VÕI, OR EI, NOT I207 - Digitaalloogika ja -süsteemid - L2
a a a b b b y y y 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 Loogikafunktsioonid ab a’+b ab (a·b)+(a’·b’) ab (a·b’)+(a’·b) implikatsioon ekvivalents (XNOR) välistav-või (XOR) I207 - Digitaalloogika ja -süsteemid - L2
a a b b c c y y a a b b y y 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 Loogikafunktsioonid (a·b)’ a’+b’ (a+b)’ a’·b’ JA-EI NAND VÕI-EI NOR 3-NAND 3-XOR I207 - Digitaalloogika ja -süsteemid - L2
AND muutujate järjestus? a a a a a a b b b b b b y y y y y y 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 OR 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 NAND NOR Kahendloogika pööratavus 0 ↔ 1 I207 - Digitaalloogika ja -süsteemid - L2
Miks kahendloogika? • J.F. Wakerly “Digital Design: Principles and Practices” - 1.2 • Analoog • suvaline väärtus • 0..5 V, -10..+10 mA, jne. • Digitaal • diskreetsed väärtused • 0/1, tõene/väär, true/false, high/low, jne. I207 - Digitaalloogika ja -süsteemid - L2
Miks kahendloogika? • Digitaali eelised • Tulemuste korratavus • samad sisendid annavad alati sama tulemuse • analoog - temperatuur, toitepinge, vananemine, ... • Projekteerimise lihtsus • loogikafunktsioonid, optimeerimisalgoritmid • Paindlikkus ja funktsionaalsus • erinevad algoritmid, sama funktsionaalsus • võimsustarve, loogikalülide arv, ... I207 - Digitaalloogika ja -süsteemid - L2
Miks kahendloogika? • Digitaali eelised (järg) • Programmeeritavus • programmeerimiskeeled / riistvara kirjelduskeeled • Töökiirus • Turg ja tehnoloogia areng • Analoogi eelised • Diferentsiaalvõrrandite realiseerimine • Energeetiline efektiivsus • Kõrge töösagedus I207 - Digitaalloogika ja -süsteemid - L2
Mitmevalentne loogika • Nivoo loogika • kindel pingevahemik (vooluvahemik) • 0 - <0.8V, 1 - >3.8V • Mitmevalentne loogika • rohkem kui kaks diskreetset väärtust • suurem infotihedus • mälud - 4- & 16-valentsed • Boole’i algebra edasiarendus • funktsioonide süsteemi minimiseerimine I207 - Digitaalloogika ja -süsteemid - L2