Table of Contents

Počítač Jiří Zacpal

DEPARTMENT OF COMPUTER SCIENCE PALACKÝ UNIVERSITY, OLOMOUC KMI/YUDIT Úvod do informačních technologií

Osnova

  • Předmět KMI/YUDIT
  • Historie počítačů
  • Architektura osobního počítače
  • Číselné soustavy
  • Logické funkce a obvody
  • Reprezentace čísel a znaků

Úvod do informačních technologií

Obsah přednášek:

1. Co je to počítač, historie vývoje počítačů. Architektura počítače (von Neumannova) a princip jeho činnosti.
   Číselné soustavy, logické funkce a obvody. Reprezentace čísel a znaků.
2. Základní deska počítače a interní sběrnice počítače (PCI).
   Princip činnosti mikroprocesoru (CPU) a vnitřních pamětí (RAM, cache).
   Interní součásti počítače, přídavné karty (grafická, zvuková, síťová, multimediální), vnější paměti (pevné disky a disková pole).
   Periferie a externí sběrnice počítače (USB).
   Monitor (CRT, LCD), polohovací zařízení (klávesnice, myš aj.), datové mechaniky a média (floppy, CD, DVD), tiskárna a skener, modem.
3. Operační systém a jeho funkce při ovládání počítače, z uživatelského i administrátorského pohledu.
   Struktura a funkce operačního systému (správa procesů, paměti a disku)
4. Počítačové sítě, technologie a principy fungování. Celosvětová síť Internet a její služby.
5. Základy databázových systémů a zpracování dat.

Způsob výuky

Prezenční výuka. Studenti se dostaví pětkrát za semestr k organizované výuce. Ta probíhá formou přednášek, seminářů a cvičení. Konzultace

  • Prezenční konzultace (úterý, pátek 10.00-11.00, pracovna 5.044)
  • Emailové konzultace (jiri.zacpal@upol.cz)
  • Konzultace telefonem (585 634 706)
  • Na plánovanou konzultaci a její obsah je vhodné tutora předem upozornit emailem. Po dohodě lze sjednat

konzultaci individuálně i mimo stanovené konzultační hodiny. Samostudium a samostatná práce

  • Většina předmětů je zabezpečena studijními texty v elektronické podobě

(http://phoenix.inf.upol.cz/esf/materialy.htm):

  • J. Hronek: Struktura počítačů
  • P. Příhoda: Počítačové sítě
  • J. Hronek: Databázové systémy
  • Vyuka/KMI_YUDIT, složka vyukovy_text_uvt
  • Studenti mají k dispozici studijní literaturu v angličtině i v češtině k zapůjčení v Knihovně Přírodovědecké

fakulty

Historie počítačů

Počítač

  • je elektronické zařízení, které zpracovává data pomocí předem vytvořeného programu
  • skládá se z:
  • hardware, které představuje fyzické části počítače
  • software (operační systém a programy)
  • je zpravidla ovládán uživatelem, který poskytuje počítači data ke zpracování prostřednictvím jeho

stupních zařízení a počítač výsledky prezentuje pomocí výstupních zařízení

  • v současnosti jsou počítače využívány téměř ve všech oborech lidské činnosti

Historie počítačů – Nultá generace

   

mechanické části, relé, (desítky operací/s) 1936 - Turingův stroj (teoretický model), Alan Turing 1937 - dvojková, digitální elektronika, Claude Shannon 1937 - Atanasoff–Berry Computer, dvojkový, neprogramovatelný (soustavy lineárních rovnic), ne turingovsky úplný

  • 1938 - reléový počítací automat Z-1, Konrád Zuse, pomalý, nespolehlivý,
  • 1941 - Z-3 programovatelný,
  • 1943 - Colossus, kryptoanalýza Enigmy (Bletchley Park)

Harvard Mark I

  • počítač nulté generace - mechanický stroj, obsahoval však některé elektromagnetické součástky (relé)
  • sestrojen během 2. světové války firmou IBM
  • později převezen na Harvardskou univerzitu
  • 765 000 komponent
  • instrukce načítal z děrného štítku
  • 0,3 s součet, 6 s násobení, 1 min výpočet jedné periody funkce sinus
  • americké námořnictvo ho využívalo k výpočtu balistických tabulek

Historie počítačů – První generace

  • elektronky, (stovky až tisíce operací/s)
  • 1945 - idea řízení počítače programem uloženým v paměti, John von Neumann
  • 1946 - ENIAC (Electronic Numerical Integrator and Computer),
  • 1951 - EDVAC, Bellovy laboratoře, dvojkový, IAS (1952, John von Neumann), lépe

navržený a univerzálnější než ENIAC - program v paměti spolu s daty, dále UNIVAC,

  MANIAC, JOHNNIAC, IBM 650, Strela (1953)
* paměti: magnetické bubny, děrné štítky a pásky

ENIAC- Electronic Numerical Integrator And Computer

  • počítač první generace, kompletně elektronický
  • vývoj financovaný Armádou Spojených Států

Amerických během 2. světové války (University of Pennsylvania)

  • přibližně 1000 krát rychlejší než Harvard Mark I
  • 30 tun,15m2 (bývalá univerzitní tělocvična),
  • 17460 elektronek, 1500 relé, 174 kW (chlazení vzduchem od vrtulí dvou leteckých motorů),
  • násobení v řádu ms, dekadický, programovatelný pomocí přepínačů a kabelů, výpočet konfigurace vodíkové bomby,
  • 1955 - rozebrán

MANIAC – Matemathical Analyser Numerical Integrator

And Computer počítač první generace inspirovaný ENIACem uveden do provozu John von Neumannem v projektu Manhattan byl použit k vývoji první jaderné bomby

EPOS 1, EPOS 2

  • EPOS 1 byl zkonstruován pod vedením prof. Antonína Svobody
  • roku 1960 ve Výzkumném ústavu matematických strojů
  • počítač první generace, plně elektronkový
  • následník EPOS 2 již osazený tranzistory (počítač druhé generace)

Historie počítačů – Druhá generace

  • tranzistory, desítky až stovky tisíc operací/s
  • 1947 - polovodičový tranzistor, Bellovy laboratoře, Bardeen-Brattain-Shockley
  • 1956 - TX (“tixo”, MIT, 18-bitová slova), další Univac, IBM 7XXX
  • 1963 - PDP-6 (DEC, jen 23 kusů), time sharing, 36-bitová slova
  • paměti: feritové, magnetické disky a pásky
  • různý nekompatibilní hardware
  • (nižší) programovací jazyky: strojový kód, “assemblery”, Fortran, Algol, COBOL

Historie počítačů (1) – Třetí generace

  • integrované obvody, miliony operací/s
  • 1959 - integrovaný obvod (s více tranzistory na křemíkovém čipu)
  • míra integrace v počtu tranzistorů na čipu: SSI (desítky), MSI (stovky, konec 60. let)
  • 1964 - IBM System/360, počátek rodiny mainframů, 32-bitová slova, 8 bitů = byte, adresace bytů
  • 1968 - PDP-10 na univerzitách (MIT, Stanford, Carnegie Mellon), „hackerský“
  • 1970 - mikroprocesor, Intel 4004 (1971, 4-bit), 8008 (1972, 8-bit), 8080 (1974), {8086}

(1978, 16-bit), Motorola 6800 (1974, 8-bit),{68000} (1979, 16/32-bit)

Historie počítačů (2) – Třetí generace

  • 1975 - mikropočítače ALTAIR 8800 a IMSAI 8080, další Apple I (1976)
  • 80. léta - Sinclair ZX 80, Commodore C64, IBM PC (1981), ZX Spectrum, Apple Lisa (1983,

GUI), IBM PC/XT (1983), Apple Macintosh (1984), IBM PC/AT (1984), Atari ST (1985),

  Commodore Amiga (1985), IBM PS/2 (1987)
* paměti: magnetické disky a pásky, elektronické kompatibilní hardware, modulární architektury
* (vyšší) programovací jazyky: Lisp, BASIC, Pascal, C, Smalltalk, ......
* terminální sítě a počítačové sítě

Historie počítačů - Současnost

  • integrované obvody, miliardy operací/s
  • míra integrace: LSI (desetitisíce, 70. léta),
  • VLSI (stovky tisíc až miliardy, od 80. let)
  • paměti: magnetické a optické disky, elektronické (FLASH)
  • (víceúčelové) programovací jazyky: Python, Visual Basic, Java, C#
  • počítačové clustery

Architektura osobního počítače

Kategorie počítačů z hlediska hardware (1)

• mikropočítač (osobní počítač)

  • mikroprocesor
  • na 1 čipu
  • typy: workstation, desktop, server, laptop, notebook, palmtop, PDA, embedded, 1 uživatel, všeobecné použití

• minipočítač (midrange)

  • terminálové serverové počítače, větší diskový prostor,
  • více periferií, hotswap hardware, spolehlivé, více uživatelů (I/O zařízení),
  • použití v obchodní systémech, průmyslu, např. DEC PDP, VAX, IBM
  • HP 3000, Sun SPARC Enterprise,
  • v pol. 80 let (nahrazeny sítěmi) serverů a pracovních stanic

Kategorie počítačů z hlediska hardware (2)

• mainframe (sálový počítač)

  • velký diskový prostor, mnoho periferií,
  • paralelní architektury, vysoký výkon, použití pro výpočty (průmysl),
  • zpracování hromadných dat (statistiky, banky), např. IBM System/360,
  • System z10

• superpočítač

  • paralelní a distribuovaná architektury, velmi vysoký
  • výkon, náročné
  • výpočty nad rozsáhlými daty, použití pro výzkum, meteorologii, seismologii apod. - simulace, např. Cray, IBM Blue Gene, Roadrunner

Osobní počítač

  • vychází z minipočítačů z konce 70. let
  • příbuznost a (částečná nebo úplná) kompatibilita s počítači IBM PC a Apple Macintosh
  • IBM PC (od roku 1981), procesor 8088
  • IBM PC XT (8-bitový) → IBM PC AT (16, 32, dnes 64-bitový)
  • základní koncepce technického provedení počítače - „skládačka“:
    • základní deska s procesorem, pamětí a přídavnými kartami,
    • vstupní a výstupní zařízení

von Neumannova koncepce počítače (1)

  • 1946 - Princeton Institute for Advanced Studies
  • řízení počítače programem uloženým v paměti
  • architektura:
  • procesor (CPU): řadič + aritmeticko-logická jednotka (ALU)
  • operační paměť: lineárně organizovaná, rozdělená na stejně velké buňky, přístup pomocí adres
  • vstupně/výstupní (I/O) zařízení

von Neumannova koncepce počítače (2)

ARITMETICKO-

ŘADIČ

LOGICKÁ JEDNOTKA

OPERAČNÍ PAMĚŤ

ZAŘÍZENÍ

ZAŘÍZENÍ

von Neumannova koncepce počítače (3)

  • program = předpis pro řešení úlohy = posloupnost elementárních kroků, tzv. instrukcí
  • instrukce = interpretovaná binární data se speciálním významem
  • (proměnná) data a program načtené do jedné společné operační paměti
  • činnost počítače řídí řadič: s využitím ALU zpracovává instrukce programu nad daty
  • čtenými z paměti nebo vstupního zařízení, výsledná data se zapisují do paměti nebo výstupního zařízení

von Neumannova koncepce počítače (4)

  • instrukce programu vykonávány sekvenčně, výjimku tvoří instrukce skoků
  • ALU: základní početní operace (sčítání, násobení, logické, bitové posuvy)
  • von Neumann bottleneck: rychlost zpracování instrukcí vs. rychlost komunikace s pamětí

von Neumannova koncepce počítače (5)

  • koncepce, až na drobné odlišnosti, používaná dodnes:
  • rozšíření o koncepci přerušení od I/O a dalších zařízení
  • umožňuje efektivně zpracovávat více programů „zároveň” i na jednom CPU (multitasking)
  • více než jeden procesor (radič, ALU), zpracovávání více programů zároveň
  • postupné načítání programu do paměti podle potřeby

Harvardská koncepce počítače

  • podle počítače MARK I (program na děrné pásce, data na elektromechanických deskách)
  • Architektura podobná von Neumannově, až na:
  • dvě oddělené paměti pro program a pro data
  • paměť programu často jen pro čtení
  • paralelní přístup do pamětí
  • modifikovanou ji interně používají moderní CPU (instrukční a datová cache)
  • DSP procesory v audio/video technice, jednoúčelové (programovatelné) mikrokontroléry (Atmel AVR), kalkulátory

Informace

Informace

  • Jednotkou informace je bit = 2 různé hodnoty (ano-ne, 0-1)
  • Osminásobek jednoho bitu se nazývá byte (označení 1B) = 256 různých hodnot (0-255)

2 ∙ 2 ∙ 2 ∙ 2 ∙ 2 ∙ 2 ∙ 2 ∙ 2 = 28 = 256

Základní jednotky

Jednotka Kilobyte Kibibyte Megabyte Mebibyte Gigabyte Gibibyte

Značka kB KiB MB MiB GB GiB

Terabyte Tebibyte

TB TiB

1 000 1 024 1 000 000 1 048 576 109 ~1,074·109

1012 ~1,1·1012

29

Kódování dat

Kódování dat

  • Jakákoliv informace uložená v počítači musí být nejprve převedena do tvaru, kterému počítač rozumí. Tomuto převodu říkáme kódování.
  • Zpětnému převodu do podoby, která je čitelná pro člověka, naopak říkáme dekódování.

Kódování čísel

  • Obecně se pro zápis čísel používají tzv. číselné soustavy.
  • číslo dané soustavy je posloupností symbolů, které se nazývají číslice (nebo cifry)
  • každá číselná soustava je určena základem z, což je nenulové přirozené číslo, které udává maximální počet použitelných číslic
  • skutečná hodnota každé číslice je pak dána pozicí ve zmíněné posloupnosti symbolů.

Kódování čísel

  • číslo A v číselné soustavě o základu z můžeme napsat jako posloupnost

𝐴 = 𝑎𝑛 𝑎𝑛−1 𝑎𝑛−2 … 𝑎1 𝑎0 ,

  • kde 𝑎𝑛 𝑎𝑛−1 𝑎𝑛−2 … 𝑎1 𝑎0 jsou jednotlivé číslice čísla A, přičemž an je nejvýznamnější číslice a a0 je

nejméně významná číslice

  • hodnota čísla A se pak určí jako součet mocnin základu, které jsou vynásobené jednotlivými číslicemi:

𝐴 = 𝑎𝑛 ∙ 𝑧 𝑛 + 𝑎𝑛−1 ∙ 𝑧 𝑛−1 + 𝑎𝑛−2 ∙ 𝑧 𝑛−2 + ⋯ + 𝑎1 ∙ 𝑧1 + 𝑎0 ∙ 𝑧 0 .

  • takovému zápisu říkáme polynomiální

Kódování čísel

  • Příklad:
  • číslo 1234 v desítkové soustavě je možné napsat jako

(1234)10 = 1 ∙ 103 + 2 ∙ 102 + 3 ∙ 101 + 4 ∙ 100 .

  • číslo 110101 ve dvojkové soustavě zapíšeme takto:

(110101)2 = 1 ∙ 25 + 1 ∙ 24 + 0 ∙ 23 + 1 ∙ 22 + 0 ∙ 21 + 1 ∙ 20 .

Kódování záporných čísel

  • Přímé kódování - první bit je vyhrazen pro znaménko
  • číslo 00001001 ve dvojkové soustavě je 9 v desítkové, a proto 10001001 představuje číslo -9
  • Doplňkový kód - záporné číslo je zaznamenáno jako binární negace (záměna všech 0 za 1) původního čísla

zvětšená o 1.

  • pokud 00001101 je binární vyjádření čísla 13, pak -13 se vypočte jako 11110010 + 1 = 11110011

Kódování záporných čísel

  • Aditivní kód – výsledná binární reprezentace představuje nezáporné číslo, které vznikne součtem

kódovaného čísla a domluvené konstanty (většinou polovina maximálního kladného čísla).

  • číslo (-10)d reprezentujeme pomocí 1 B jako 118 = (-10)d + (256)d /2 = -10 + 128
  • Inverzní kód - kladná čísla se vyjadřují normálním způsobem, záporná čísla se vyjadřují binární negací čísla
  • například -3 vyjádříme kódem 11111100

Kódování čísel s fixní řádkovou čárkou

Příklad: kódování čísla (0,625)10 0,625  2 = 1,250 celočíselná část = 1 0,250  2 = 0,500 celočíselná část = 0 0,500  2 = 1,000 celočíselná část = 1 Odtud je číslo (0,625)10 = (0,101)2

KMI/YUDIT Úvod do informačních technologií

37

Kódování čísel s pohyblivou řádkovou čárkou

  • definované normou IEEE 754
  • formáty
  • jednoduchá přesnost (single) – 32 bitů
  • dvojnásobná přesnost (double) – 64 bitů

X=(-1)s × 2exp-bias × m

  • 2 je báze, někdy také nazývaná radix. U IEEE 754 je to vždy dvojka, protože výpočty s bází dvě jsou

pro číslicové obvody nejjednodušší. V minulosti se používaly i jiné báze, například 8, 16 nebo i 10.

  • exp je vždy kladná hodnota exponentu posunutého o hodnotu bias
  • bias je hodnota, díky které je uložený exponent vždy kladný. Tato hodnota se většinou volí dle

vztahu: bias=2eb-1-1, kde eb je počet bitů vyhrazených pro exponent.

  • m je mantisa, která je u formátů IEEE 754 vždy kladná
  • s je znaménkový bit nabývající hodnoty 0 nebo 1. Pokud je tento bit nulový, je reprezentovaná

hodnota kladná, v opačném případě se jedná o zápornou hodnotu. Vzhledem k tomu, že je jeden bit vyhrazen na uložení znaménka, je možné rozlišit kladnou a zápornou nulu.

Jednoduchá přesnost

X = (-1)s × 2E-127 × (1 + Q) Q = m1 × 2-1 + m2 × 2-2 + … + m22 × 2-22 + m23 × 2-2

  • 127 = 2eb-1-1 = 28–1-1 = 27-1 = 128–1
  • exponent
  • od –127 do 128 (od -126 do 127)
  • -127 (00000000) a 128 (11111111) jsou použity pro speciální účely
  • mantisa – ukládají do ní normalizovaná čísla v intervalu <1;2>
  • vzhledem k tomu, že první bit umístěný před binární tečkou vždy 1, není ho zapotřebí

ukládat, což znamená, že ušetříme jeden bit z třicetidvoubitového slova

Jednoduchá přesnost

  • mezní hodnoty exponentu

podmínka E = 1 až 254 E = 0, Q ≠ 0 E = 0, Q = 0, s = 0 E = 0, Q = 0, s = 1

hodnota X = (-1)s × 2E-127 × (1 + Q) X = (-1)s × 2-126 × Q X=0 X=0

E = 255, Q = 0, s = 0

X = +∞

E = 255, Q = 0, s = 1

X = -∞

E = 255, Q > 0

X = NaN

kladná nula záporná nula kladné nekonečno (výsledek byl příliš vysoký) záporné nekonečno (výsledek byl příliš nízký) není číslo

KMI/YUDIT Úvod do informačních technologií

40

Jednoduchá přesnost

  • příklad: 123,456

1. 123,456=1,929×26 2. s=0 3. E – 127 = 6 → E = (133)10 = (10000101)2 4. mantisa (0,929)10= (11101101110100101111001)2

s bit hodnota

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 0 1

0

0

0

0

1

0

1

1 1

1

0

1

1

0

1

1

1

0

1

KMI/YUDIT Úvod do informačních technologií

0

0

8

7

6

5

4

3

2

1

0

1

0

1

1

1

1

0

0

1

41

Kódování textu

  • Text je počítačem zpracováván jako posloupnost znaků. Problém kódování textu se tedy redukuje na problém kódování jednotlivých znaků dané abecedy
  • ASCII (American Standard Code for Information Interchange) určený pro reprezentaci písmen anglické abecedy.

Kromě písmen (velkých i malých) ASCII kóduje i číslice, speciální symboly (např. !,@,\#,\$)

  a několik tzv. netisknutelných znaků (mezera, tabulátor, posun na nový řádek apod.)
* používá 7 bitů = 128 znaků

Kódování české abecedy

  • Prvním řešením, které se nabízelo, bylo využít osmý bit ASCII kódování. Tím byl získán prostor pro dalších 128 znaků.
  • Brzy se však ukázalo, že i celkový počet 256 znaků je žalostně málo. Pro každou abecedu tak postupně

vznikalo mnoho různých vzájemně nekompatibilních kódování.

  • Jen pro českou abecedu bylo vytvořeno alespoň šest kódování. Nejpoužívanějšími byla jednobytová kódování:
  • Windows-1250 v operačních systémech Windows,
  • ISO 8859-2 v operačních systémech Unix,
  • Kamenických v operačním systému DOS.

Unicode

  • Každý znak v Unicode má jednoznačný číselný kód a svůj název.
  • Tabulka Unicode poskytuje prostor pro 1 114 112 znaků.
  • Tento prostor se dělí na 17 částí, každý o velikosti 216.
  • První část se nazývá Basic Multilingual Plane (BMP) a obsahuje znaky běžně používaných abeced.
  • Původní 16bitový návrh Unicode počítal jen s BMP, následně se ale ukázalo, že pro pokrytí všech používaných abeced to nestačí.
  • Prvních 128 znaků (tj. sedmibitové kódy) obsahuje znakovou sadu ASCII.

UTF

Existuje několik různých způsobů, jak znaky Unicode kódovat. UTF-8 (UCS Transformation Format):

  • nejpoužívanější zobrazení Unicode znaků
  • pokud se znak v ASCII-7, zobrazí se beze změny v 1. bajtu
  • pokud není v ASCII, je zadán dvěma až šesti bajty:
  • 1. bajt: počet jedniček zleva vyjadřuje délku sekvence, nula je oddělovač,
  • další bajty: v nejvyšších dvou bitech vždy 10
  • pro českou abecedu (všechny znaky jsou v rozsahu U+0080 – U+07FF) stačí 2 B pro znaky s diakritikou, 1B pro znaky bez diakritiky
  • Příklad: slovo „Příliš“

50 c5 99 c3 ad 6c 69 c5 a1 P ř í l i š

ř: 1100 0101  

1001 1001 „ř“ v Unicode U+(0159)16 =1010110012

UTF-16 a UTF-32

  • rozšíření základní šířky z 8 na 16 a 32 bitů

UTF-7

  • pro sedmibitový přenos e-mailem

Binární logika

Binární logika (1)

  • Základní operace v počítači = logické operace
  • Formální základ = výroková logika (zkoumá pravdivostní hodnotu výroků → pravda/nepravda →1/0
  • Matematický aparát pro práci s log. výrazy: Booleova algebra (binární, dvoustavová, logika)
  • Fyzická realizace : logické elektronické obvody - základ digitálních zařízení

Binární logika (2)

  • Logická proměnná x
  • veličina nabývající dvou možných diskrétních logických hodnot: 0 (nepravda) a 1 (pravda)
  • Logická funkce f(x1,… , xn)
  • funkce n logických proměnných x1,…,xn nabývající dvou možných diskrétních hodnot 0 (nepravda) a 1 (pravda)
  • Booleova algebra (binární logika)
  • algebra logických proměnných a logických funkcí
  • dvouhodnotová algebra, algebra dvou stavů

Negace (inverze)

  • pravdivá, když operand nepravdivý, jinak nepravdivá

𝑥

𝑥

0

1

1

1

  • operátory: 𝑥, NOT x, :¬𝑥 (výroková negace, algebraicky negace), 𝑋 (množinový doplněk)

Logický součin (konjunkce)

  • pravdivá, když oba operandy pravdivé, jinak nepravdivá

𝑥

𝑦

𝑥∙𝑦

0

0

0

1

0

0

0

1

0

1

1

1

  • operátory: 𝑥 ∙ 𝑦, x AND y, xy (výrokově konjunkce, algebraicky průsek), X  Y (množinový průnik)

Logický součet (disjunkce)

  • nepravdivá, když oba operandy nepravdivé, jinak pravdivá

𝑥

𝑦

𝑥+𝑦

0

0

0

1

0

1

0

1

1

1

1

1

  • operátory: 𝑥 + 𝑦, x OR y, xy (výrokově disjunkce, algebraicky spojení), X Y (množinově sjednocení)

Implikace

  • nepravdivá, když první operand pravdivý a druhý nepravdivý, jinak pravdivá

𝑥

𝑦

𝑥→𝑦

0

0

1

1

0

0

0

1

1

1

1

1

  • operátory: 𝑥 → 𝑦, 𝑦 → 𝑥, (výrokově i algebraicky implikace), X Y (množinově podmnožina)

Ekvivalence

  • pravdivá, když operandy mají stejnou hodnotu, jinak nepravdivá

𝑥

𝑦

𝑥≡𝑦

0

0

1

1

0

0

0

1

0

1

1

1

  • operátory: 𝑥 ≡ 𝑦, 𝑦 ≡ 𝑥, (výrokově i algebraicky ekvivalence), X Y (množinově ekvivalence nebo rovnost)

Nonkvivalence

  • pravdivá, když operandy mají různou hodnotu, jinak nepravdivá

𝑥

𝑦

𝑥⊕𝑦

0

0

0

1

0

1

0

1

1

1

1

0

  • operátory: 𝑥 ⊕ 𝑦, 𝑦 ≢ 𝑥, x XOR y (výrokově i algebraicky negace ekvivalence), X ≢Y (množinově negace

ekvivalence)

Shefferova funkce (negace logického součinu)

  • nepravdivá, když oba operandy pravdivé, jinak pravdivá

𝑥

𝑦

𝑥↑𝑦

0

0

1

1

0

1

0

1

1

1

1

0

  • operátory: 𝑥 ↑ 𝑦, x NAND y

Piercova funkce (negace logického součtu)

  • pravdivá, když oba operandy nepravdivé, jinak nepravdivá

𝑥

𝑦

𝑥↓𝑦

0

0

1

1

0

0

0

1

0

1

1

0

  • operátory: 𝑥 ↓ 𝑦, x NOR y

Logické funkce (1)

  • Logický výraz = korektně vytvořená posloupnost (symbolů) logických proměnných a funkcí (operátorů) spolu se závorkami
  • priority sestupně: negace, log. součin, log. součet
  • např. 𝑥 ∙ 𝑦 + 𝑓 𝑥, 𝑧 = 𝑥 ∙ 𝑦 + 𝑓(𝑥, 𝑧)

= zápis logické funkce

  • Logické rovnice
  • ekvivalentní úpravy: negace obou stran, logický součin/součet obou stran se stejným výrazem, . . . , log.

funkce obou stran se stejnými ostatními operandy funkce

  • NEekvivalentní úpravy: „krácení“ obou stran o stejný (pod)výraz, např. x + y = x + z není ekvivalentní s y

=z

Axiomy (Booleovy algebry)

  • komutativita:

xy=yx

x+y=y+x

  • distributivita:

x  (y + z) = x  y + x  z (x + y)  z = (x + y)  (x + z)

  • identita (existence neutrální hodnoty):

1x=x 0+x=x

  • komplementárnost:

x∙x=0 x+x=1

Vlastnosti základních logických operací

  • nula a jednička:

0x=0 1+x=1

  • idempotence:

xx=x

x+x=x

  • asociativita:

x  (y  z) = (x  y)  z

x + (y + z) = (x + y) + z

  • involuce (dvojí negace):

x=x

  • De Morganovy zákony:

x∙y=x+y

x+y =x∙y

  • absorpce:

x  (x + y) = x

59

Logické funkce

  • zadání pravdivostní tabulkou:
  • úplně - funkční hodnota f (xi) definována pro všech 2n možných přiřazení hodnot proměnným xi ; 0 < i < n
  • neúplně - funkční hodnota pro některá přiřazení není definována (např. log. obvod realizující funkci ji neimplementuje)
  • základní tvary (výrazu):
  • součinový (úplná konjunktivní normální forma, ÚKNF) - log. součin log. součtů všech proměnných nebo jejich negací (úplných elementárních disjunkcí, ÚED)

𝑥0 + ⋯ + 𝑥𝑛−1 ∙ ⋯ ∙ 𝑥0 + ⋯ + 𝑥𝑛−1 , 𝑋𝑖 = 𝑥𝑖 𝑛𝑒𝑏𝑜 𝑥𝑖 ,

  • součtový (úplná disjunktivní normální forma, ÚDNF) - log. součet log. součinů všech proměnných nebo jejich negací (úplných elementárních konjunkcí, ÚEK)

𝑥0 ∙ ⋯ ∙ 𝑥𝑛−1 + ⋯ + 𝑥0 ∙ ⋯ ∙ 𝑥𝑛−1 , 𝑋𝑖 = 𝑥𝑖 𝑛𝑒𝑏𝑜 𝑥𝑖

Převod log. funkce f(xi) na základní tvar

ekvivalentními úpravami a doplněním chybějících proměnných nebo jejich negací tabulkovou metodou: 1. pro řádky s f (xi ) = 0(1) sestroj log. součet (součin) všech xi pro xi = 0(1) nebo xi pro xi = 1(0) ∙ 2. výsledná ÚKNF (ÚDNF) je log. součinem (součtem) těchto log. součtů (součinů) x

y

z

f(x,y,z)

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

ÚED

ÚEK

(x + y + z) ∙ (x + y + z) ∙ (x + y + z) ∙ (x + y + z x ∙ y ∙ z + (x ∙ y ∙ z) + (x ∙ y ∙ z) + (x ∙ y ∙ z)

Zjednodušení výrazu logické funkce

  • optimalizace za účelem dosažení co nejmenšího počtu operátorů (v kompromisu s min. počtem typů operátorů)
  • důvod: méně (typů) log. obvodů realizujících funkci (menší, levnější, nižší spotřeba, . . . )
  • metody:

Karnaughova metoda

  • nahrazení algebraických ekvivalentních úprav geometrickými postupy
  • nalezení minimálního výrazu

1. k výrazu v základním součtovém tvaru se sestaví tzv. Karnaughova mapa = tabulka vyplněná 1 v

 buňkách reprezentující log. součiny, součiny reprezentované sousedními buňkami se liší v 1 proměnné

2. hledání smyček v mapě splňujících jisté podmínky (min. počet, max. oblast vyplněná 1, počet políček

 mocnina 2, mohou se překrývat, pokrytí všech 1)

3. smyčky po vyloučení komplementárních proměnných a jejich negací reprezentují log. součiny výsledného součtového tvaru

Karnaughova metoda

𝑓 =𝑥∙𝑦∙𝑧+𝑥∙𝑦∙𝑧+𝑥∙𝑦∙𝑧+𝑥∙𝑦∙𝑧

𝑥∙𝑦

𝑥∙𝑦

𝑥∙𝑦

𝑧

1

𝑧

𝑓 = 𝑥 ∙ 𝑦 +1 𝑦 ∙ 𝑧 + 𝑥 ∙ 𝑧1

𝑥∙𝑦

1

  • výpočetně náročné

Úplný systém logických funkcí

= množina log. funkcí, pomocí kterých je možné vyjádřit jakoukoliv log. funkci (libovolného počtu proměnných) množina log. funkcí dvou proměnných

  • (1) negace 𝑥, log. součin 𝑥 ∙ 𝑦 a log. součet 𝑥 + 𝑦
  • (2) negace𝑥 a implikace 𝑥 → 𝑦
  • a další
  • Minimální úplný systém logických funkcí

= úplný systém, ze kterého nelze žádnou funkci vyjmout tak, aby zůstal

  • úplný
  • (1) NENÍ: 𝑥 ∙ 𝑦 = 𝑥 + 𝑦, 𝑥 + 𝑦 = 𝑥 ∙ 𝑦 (De Morganovy zákony)
  • (2) je
  • (3) 𝑥, log. součin 𝑥 ∙ 𝑦
  • (4) 𝑥, log. součet 𝑥 + 𝑦
  • a další

Minimální úplný systém logických funkcí

  • Jediná funkce:
  • Sheerova  (negace log. součinu)
  • Piercova  (negace log. součtu)
  • důkaz: vyjádření negace a log. součinu (součtu)
  • Vyjádření logické funkce pomocí Sheerovy nebo Piercovy funkce

1. vyjádření funkce v základním součtovém tvaru 2. zjednodušení výrazu funkce, např. pomocí Karnaughovy metody 3. aplikace De Morganových zákonů pro převedení výrazu do tvaru, který obsahuje pouze Sheerovy nebo pouze Piercovy funkce

Logické členy

Fyzická realizace logických funkcí

  • dříve pomocí spínacích relé a elektronek
  • dnes pomocí tranzistorů v integrovaných obvodech
  • realizace log. operací pomocí integrovaných obvodů – logických členů, hradel
  • vstupy = reprezentované log. proměnné
  • výstup = výsledek realizované log. operace
  • stavy (signály) na vstupech/výstupu = log. (binární) hodnoty 0/I =míra informace s jednotkou 1 bit
  • symbolické značky log. členů ve schématech zapojení logických obvodů realizujících lib. log. funkci

Značky logických členů - hradel

Obrázek: Symbolické značky logických členů (podle normy IEC)

Obrázek: Symbolické značky logických členů (tradiční, ANSI)

Použité logické obvody - značky

𝑥

𝑥

𝑥 𝑥∙𝑦 𝑦

𝑥 𝑥+𝑦 𝑦

Minimální úplný systém log. funkcí - NAND

Realizace operátorů NOT, AND a OR pomocí NAND

  • NOT: 𝑥 = 𝑥 ∙ 𝑥
  • AND: 𝑥 ∙ 𝑦 = 𝑥 ∙ 𝑦 = 𝑥 ∙ 𝑦 ∙ 𝑥 ∙ 𝑦
  • OR: 𝑥 + 𝑦 = 𝑥 + 𝑦 = 𝑥 ∙ 𝑥 ∙ 𝑦 ∙ 𝑦

Minimální úplný systém log. funkcí - NOR

Realizace operátorů NOT, AND a OR pomocí NOR

  • NOT: 𝑥 = 𝑥 + 𝑥
  • AND: 𝑥 ∙ 𝑦 = 𝑥 ∙ 𝑦 = 𝑥 + 𝑦 = (𝑥 + 𝑥) + (𝑦 + 𝑦)
  • OR: 𝑥 + 𝑦 = 𝑥 + 𝑦 = (𝑥 + 𝑦) + (𝑥 + 𝑦)

Nonekvivalence – exclusive OR

  • pravdivá, když operandy mají různou hodnotu, jinak nepravdivá

𝑥

𝑦

𝑥⊕𝑦

0

0

0

1 x XOR 0y (výrokově 1 i algebraicky negace ekvivalence), X ≢Y (množinově negace

  • operátory: 𝑥 ⊕ 𝑦, 𝑦 ≢ 𝑥,

ekvivalence) 0 1 1 1

KMI/YUDIT Úvod do informačních technologií

73

Nonekvivalence pomocí NAND

𝑥⊕𝑦 = 𝑥∙𝑦+𝑥∙𝑦 =𝑥∙𝑦+𝑥∙𝑦 =𝑥∙𝑦∙𝑥∙𝑦 =𝑥∙𝑦∙𝑦∙𝑥∙𝑥∙𝑦

Logické obvody

  • jeden výstup: realizace jedné log. funkce
  • více výstupů: realizace více log. funkcí zároveň realizace vícebitové log. funkce
  • n-tice vstupů: reprezentace vícebitových (n-bitových) log. proměnných = vícebitový log. obvod

druhy:

  • kombinační: stavy na výstupech obvodu (tj. funkční hodnota) závisí pouze na okamžitých stavech na vstupech (tj. hodnotách proměnných)
  • sekvenční: stavy na výstupech obvodu (tj. funkční hodnota) závisí nejen na okamžitých stavech na vstupech (tj. hodnotách proměnných),

ale také na předchozích stavech na vstupech

Komparátor

  • provádí srovnání hodnot dvou log. proměnných A a B na vstupu
  • tři výstupy udávající pravdivost vztahů: A < B, A > B a A = B,
  • realizace tříbitové log. funkce:

Y< = Y (A < B); Y> = Y (A > B);Y= = Y (A = B)

  • jednobitový:

𝑌< = 𝐴 ∙ 𝐵 𝑌< = 𝐴 ∙ 𝐵

Multiplexor

  • přepíná na výstup Q log. hodnotu na jednom z 2n datových vstupů Di

vybraném na základě n-bitové hodnoty na adresním vstupu A

  • kromě výstupu Q navíc ještě negovaný (invertovaný) výstup Q
  • např. čtyřvstupý (4 datové vstupy, dvoubitový adresní vstup) realizuje log. funkci

Q = 𝐴0 ∙ 𝐴1 ∙ 𝐷0 + 𝐴0 ∙ 𝐴1 ∙ 𝐷1 + 𝐴0 ∙ 𝐴1 ∙ 𝐷2 + 𝐴0 ∙ 𝐴1 ∙ 𝐷3

Multiplexor

Binární dekodér

  • nastaví (na I) jeden z 2n výstupů Si odpovídající n-bitové hodnotě na adresním vstupu A
  • použití: dekodér adresy pro výběr místa v paměti

S0

S1

S2

S3

0

0

1

0

0

0

0

1

0

1

0

0

1

0

0

0

1

0

1

1

0

0

0

1

Binární dekodér

Binární sčítačka

  • čísla ve dvojkové soustavě = binárně reprezentovaná
  • 0+0=0

0 + I = I I + I = I0

  • sčítačka sečte binární hodnoty v každém řádu dvou n-bitových proměnných A a B podle pravidel aritmetiky pro sčítání, tj. s přenosem hodnoty do vyššího řádu
  • realizuje log. funkce součtu Si a přenosu ri z řádu i
  • do vyššího řádu:

𝑆𝑖 = 𝐴𝑖 ⨁𝐵𝑖 ⨁𝑟𝑖−1 𝑟𝑖 = 𝐴𝑖 ∙ 𝐵𝑖 + (𝐴𝑖 ∙ 𝐵𝑖 ) ∙ 𝑟𝑖−1

Binární sčítačka

Sekvenční logické obvody

  • stavy na výstupech obvodu (tj. funkční hodnota) závisí nejen na okamžitých stavech na vstupech (tj. hodnotách proměnných),

ale také na předchozích stavech na vstupech

  • předchozí stavy na vstupech zachyceny vnitřním stavem obvodu
  • nutné identifikovat a synchronizovat stavy obvodu v čase
  • čas: periodický impulsní signál = „hodiny” (clock), diskrétně určující okamžiky synchronizace obvodu, generovaný krystalem o dané frekvenci
  • zpětné vazby z (některých) výstupů na (některé) vstupy

Přenos dat

  • přenos dat (hodnot vícebitových log. proměnných):
  • sériový: bity (hodnoty 0=I) přenášeny postupně v čase za sebou po jednom datovém vodiči
  • paralelní: bity přenášeny zároveň v čase po více datových vodičích
  • úlohy transformace mezi sériovým a paralelním přenosem

Klopné obvody

  • nejjednodušší sekvenční obvody
  • druhy:
  • astabilní: nemají žádný stabilní stav, periodicky (např. podle hodinových impulsů) překlápí výstupy z jednoho stavu do druhého;

použití jako generátory impulsů

  • monostabilní: jeden stabilní stav na výstupech, po vhodném řídícím signálu je po definovanou dobu ve

stabilním stavu; použití k vytváření impulsů dané délky

  • bistabilní: oba stavy na výstupech stabilní, zůstává v jednom stabilním stavu dokud není vhodným

řídícím signálem překlopen do druhého; použití pro realizaci pamětí

  • řízení:
    • asynchronně signály (0 nebo I) na datových vstupech
    • synchronně hodinovým signálem
    • hladinou signálu: horní (I) nebo dolní (0)
    • hranami signálu: nástupní (0 → I) nebo sestupní (I → 0)

Klopné obvody (typu) RS

  • nejjednodušíí bistabilní, základ ostatních
  • jednobitový paměťový člen
  • asynchronní vstupy R (Reset) pro nulování log. hodnoty na výstupu Q (v čase i) a S (Set) pro nastavení
  • hodnoty kromě výstupu Q navíc ještě negovaný (invertovaný) výstup 𝑄

Funkce klopného obvodu RS

R

S

𝑸𝒊

𝑸𝒊

0

0

𝑸𝒊−𝟏

𝑸𝒊−𝟏

0

1

1

0

1

0

0

1

1

1

N/A

N/A

Klopné obvody (typu) D

  • realizace pomocí klopného obvodu RS, navíc vstupy R a S
  • signál D (data) nastavuje výstup
  • signál E (enable, česky povolit ) povoluje nebo blokuje nastavení výstupu

Funkce klopného obvodu D

D

E

𝑸𝒊

𝑸𝒊

0

1

0

1

1

1

1

0

0, 1

0

𝑸𝒊−𝟏

𝑸𝒊−𝟏

Klopné obvody (typu) J-K

  • zachovává oba řídící signály: nastavení (J) – nulování (K)
  • typ Master-Slave: dvoufázový (master, slave), synchronní řízení stavu vstupu J nástupní i sestupní hranou

hodinového signálu na vstupu C

Obvody v počítačích

  • sériová sčítačka: (aritmetické) sčítání log. hodnot dodávaných na vstupy v sériovém tvaru po jednotlivých řádech
  • paralelní registr (střádač): vícebitová paměť pro hodnotu dodanou paralelně na více vstupů
  • sériový (posuvný) registr: vícebitová paměť pro hodnotu dodanou sériově na vstupu, použití pro transformaci sériových dat na paralelní
  • čítač: paměť počtu impulsů na hodinovém vstupu, binárně reprezentovaný počet na vícebitovém výstupu

Podrobnější informace

  • Od logických obvodů k mikroprocesorům : základy kombinačních a sekvenčních

obvodů. 1 / Jean-Michel Bernard, Jean Hugon, Robert le Corvec ; přeložili Vladimír Drábek, Jan Hlavička, Zdeněk Pokorný . Praha : SNTL - Nakladatelství technické literatury, 1984 204 s.

  • prezentace na síti (Vyuka\KMI_YUDIT\yudit_prednaska_1_pocitac_informace.pdf)

Příště

  • Základní deska počítače a interní sběrnice počítače (PCI). Princip činnosti mikroprocesoru

(CPU) a vnitřních pamětí (RAM, cache). Interní součásti počítače, přídavné karty (grafická, zvuková, síťová, multimediální), vnější paměti (pevné disky a disková pole). Periferie a externí sběrnice počítače (USB). Monitor (CRT, LCD), polohovací zařízení (klávesnice, myš aj.), datové mechaniky a média (floppy, CD, DVD), tiskárna a skener, modem.

YUDIT/yudit_prednaska_01_pocitac_informace.txt · Last modified: 2015/01/30 07:11 (external edit)
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0