Principy počítačů Zdroj: Ondřej Čepek
Hrubá osnova Historie počítačů Architektura a organizace počítačů Reprezentace dat Procesory Paměti Propojovací systémy Periferie
Historie počátky obtížné definovat (záleží na definici pojmu „počítač“) computer – z latinského computare, počítat (1646 – Sir Thomas Browne) předchůdci počítačů (výpočetní pomůcky): abacus (sčot), tabulky, pravítka, strojky, mechanické tabulátory a kalkulátory
Abacus (sčot)
Pascalina (1642) Blaise Pascal (1623 - 1662)
Další mechanické počítače Gottlieb Wilhelm von Leibniz (1646 – 1716): jeho stroj uměl + - * / (1674) Thomas de Colmar (1785 – 1870) navrhnul a sestrojil arithmometr (1820), který uměl vynásobit 2 osmiciferná čísla za 18 sekund Piánový arithmometr (1851)
Počítač dnes univerzální programovatelný stroj první stroj vyhovující této definici: programovatelný tkalcovský stav (1805) konstruktér stroje: Joseph-Marie Jacquard (1752 – 1834) čtení vstupu (popis vzoru vyráběné látky) z děrovaného pásu papíru (šablony): Jacques de Vaucanson (1709 – 1782)
Charles Babbage (1791-1871) 1822 Difference Engine hodnoty polynomů 6.stupně paměť, řídící jednotka, vstup/výstup 1842 Analytical Engine univerzální, řízen programem na „děrných štítcích“ podmíněný skok používal dekadickou soustavu čísla až o padesáti místech, paměť pro tisíc čísel stejně jako Difference Engine stroj nikdy nebyl dokončen
Herman Hollerith (1860-1929) mechanický tabulátor vstupní data na štítcích sčítání lidu 1890, výsledky za 6 týdnů: 62 622 250 (výsledky z r. 1880 nebyly ani po 7 letech) 1911 Computer Tabulating Recording Company ( 1924 International Business Machines Corp.)
Počítače 1900-1945 počátek – především Holleritovy tabulátory mezi válkami a během II. světové války: Konrad Zuse Alan Turing John von Neumann Howard Hathaway Aiken (Mark 1) John Mauchly, John Eckert (ENIAC)
Konrad Zuse (1910 – 1995) studium stavebního inženýrství Z1 1936-1938 – mechanický; binární kód Z2 1940 – experiment, Z3 1938-1941 – reléový, děrná páska považován za „první funkční počítač na světě“ binární, 64 slov po 22 bitech floating-point (14 mantissa, 7 exp., 1 znam.) 2400 relé (1800 paměť, 600 výkonná jedn.) 5-10Hz, */ 3s, + 0.7s, 4kW, 1000kg údajně neznal práce Charlese Babbage
Z1 (1936) - původně se jmenoval V-1, po válce ale byl zpětně přejmenován na Z1, aby zabránil zaměňování s raketami V-1 (Zuse byl přítelem Wernera von Brauna)
Z3
Z4 1941-1945 – podobná architektura jako Z1 a Z3 paměť 1024 slov 2 registry R1 a R2 Instrukční sada: + - * / čtení z klávesnice zobrazení R1 uložení registru načtení registru 8-stopá páska podmíněný skok
Alan Mathison Turing (1912-1954) 1936 hypotetické zařízení „Turingův stroj“ během II. Světové války v Británii, pokusy o dešifrování Enigmy 1943 COLOSSUS základy oboru „umělá inteligence“ 1950 „Turingův test“
Turingův stroj hypotetické zařízení řídící jednotka s konečnou množinou stavů (potenciálně) nekonečná páska na zápis symbolů z pracovní abecedy stroje tabulka přechodové funkce dodnes základní model v teorii časové a prostorové složitosti algoritmů Church-Turingova teze
Turingův test Práce A.Turinga směřovaly do oblasti vztahu člověka a stroje, položil základy vědního oboru o „umělé inteligenci“ (AI) navrhl test popisující možnost testování inteligence stroje připojení testující osoby dálnopisy pokud není možno v přijatelném čase rozlišit zda odpovídá stroj nebo člověk, pak stroj „vykazuje znaky inteligence“
Harvard Mark I 1944-1959 Automatic Sequence-Controlled Calculator Howard Hathaway Aiken (1900-1973) standardní elektromechanické prvky + - * /, logaritmy, trigonometrické funkce 18 x 2.5 m, 5 tun, 530 mil drátu, 760 000 součástí, 3304 relé. program na děrné pásce bez návratu plně automatický, možné dlouhé výpočty
ENIAC 1946-1955 Electronic Numerical Integrator And Computer objednán Ballistics Research Laboratory během 2.světové války pro výpočty balistických tabulek nových děl do provozu uveden až po válce a použit pro výpočty při konstrukci H-bomb
Parametry ENIACu Konstruktéři J.W.Mauchly a J.P.Eckert na University of Pennsylvania ve Philadelphii 30 tun, přes 100 m2 plochy, příkon 140 kW desetimístná dekadická čísla, každá číslice reprezentována svazkem 10 elektronek 20 sčítaček, násobička, dělička, a obvody pro výpočet druhé odmocniny použita „rychlá“ (0,2 ms) registrová paměť programoval se pomocí nastavení přepínačů a propojování programových jednotek kabely
ENIAC vs Pentium ENIAC Pentium @ 150MHz rychlost (součtů/s) 5 000 300 000 000 paměť 200 čísel 512 000 Bytů L2 cache prvky 17 500 elektronek 6 000 přepínačů 10 000 kondenzátorů 70 000 odporů 1 500 relé 4 000 000 tranzistorů velikost 3m výška, plocha >100m2 29x21 mm hmotnost 30 tun <20g
John Louis von Neumann 1903- 1957 americký matematik maďarského původu zakladatel „teorie her“ konzultant na projektu ENIAC autor koncepce programovatelného počítače (program, podle kterého stroj pracuje, je uložen v jeho paměti), která se stala základem pro realizaci moderních programovatelných strojů
„von Neumannova architektura“
„von Neumannova architektura“ Počítač se skládá z těchto funkčních jednotek: paměti, ve které jsou uložena jak data tak instrukce (program) aritmeticko-logické jednotky (ALU), která provádí A a L operace s binárními daty řadiče, který interpretuje instrukce v paměti a vykonává je vstupní jednotky (IN) a výstupní jednotky(OUT), které jsou řízeny řadičem
„von Neumannova architektura“ Struktura počítače je nezávislá na řešené úloze, počítač je řízen programem uloženým v paměti. Instrukce i operandy (data) jsou uloženy v téže paměti a jsou nerozlišitelné. Paměť je tvořena buňkami stejné velikosti. Adresa místa v paměti je dána pořadovým číslem tohoto místa, bez ohledu na obsah. Program je tvořen posloupností elementárních příkazů, které určují změnu stavu stroje. V příkazu zpravidla není obsažena hodnota operandu, ale jeho adresa, takže program se při změně dat nemění. Instrukce se provádějí jednotlivě v takovém pořadí, v jakém jsou uloženy v paměti. Změna pořadí provádění instrukcí programu je provedena pouze instrukcemi skoku (podmíněného nebo nepodmíněného). Pro reprezentaci instrukcí i čísel se používají dvojkové signály a dvojková číselná soustava.
EDVAC návrh 1945, dokončen 1949 Electronic Discrete Variable Computer binární aritmetika vnitřní paměť na rtuťových zpožďovacích linkách řízení programem uloženým v paměti následoval UNIVAC
Stojany počítače EDVAC
IAS machine vybudován von Neumannem v Princetonu první „ryze von Neumannovský“ počítač paměť na 1000 „slov“, každé 40 bitů data (číselná): znaménko a 39 bitová hodnota instrukce: 8 bitů kód instrukce, 12 bitů adresa v paměti (tj. 2 instrukce v každém slově) 21 instrukcí 5 základních typů (přenos dat, podmíněný a nepodmíněný skok, aritmetické operace, modifikace adresy
IAS machine - instrukce přenos dat: mezi registry v ALU a pamětí a mezi registry v ALU navzájem (2 registry) nepodmíněný skok: přerušuje sekvenční provádění instrukcí, vhodný pro realizaci cyklů podmíněný skok: umožňuje mít v programu „rozhodovací uzly“ aritmetické instrukce: +, -, *, /, shifty modifikace adresy: umožňuje přesunovat adresy spočítané v ALU do adresových částí instrukcí v paměti, což dává velkou adresovací pružnost
Komerční počítače UNIVAC 1 (Mauchly, Eckert 1950) určen jak pro vědecké tak pro komerční aplikace (Universal Automatic Computer) UNIVAC 2 větší pamět, vyšší výkon IBM 604 (1948) - elektronkový s registry IBM 701 (1953) - programovatelný, elektronkový s paměťovou elektronkou IBM 702 (1955) – zaměřený na komerční aplikace, počátek dominance IBM na trhu IBM 704 (1956) - feritové paměti
Jeden byte akumulátoru v počítači Borroughs 205 (cca 1954)
Desítkový čítač s elektronkami
Ovládací panel bloku počítače
Feritová paměť
Druhá generace počítačů elektronky nahrazeny tranzistory (CPU) výhody: menší, levnější, méně hřeje první stroje od společností NCR a RCA IBM 7090 (1960) IBM 7094 (1962) – datové kanály, multiplexor od cca 10 000 po stovky tisíc tranzistorů jednotlivě pájených na desku obvodu
Rozdíly IBM 701 a IBM 7094 počet instrukcí: 24 vs. 185 paměť: 2K vs. 32K (36 bitových slov) přístupový čas: 30 vs. 1,4 mikrosekundy relativní rychlost CPU: vzrostla 50 krát
Třetí generace počítačů jednotlivě pájené diskrétní komponenty (tranzistory, rezistory, odpory) nahrazeny integrovanými obvody SSI (small scale integration): řádově jen desítky komponent na jednom čipu Mooreův zákon (1965): počet prvků umístěných na jednom čipu se každý rok zhruba zdvojnásobuje
IBM 360 (1964) zřejmě nejvýznamější a nejúspěšnější sálový počítač (mainframe) všech dob
IBM 360/370 postaven na integrovaných obvodech zásadní změny výstavby stavebnicová konstrukce jednotná struktura dat a instrukcí jednotný způsob připojování periferií ochrana dat v paměti tato koncepce zůstala dlouho zachována (více méně dodnes (pro mainframy)
DEC PDP-8 DEC = Digital Equipment Corporation PDP-8 první minipočítač, vešel se na stůl, zatímco mainframe zabíral celou místnost stál $16 000 (mainframe > $100 000) komerčně veleúspěšný, za 12 let prodáno přes 50 000 kusů (různých modelů) pozdější modely jako první využívaly sběrnicovou architekturu (omnibus)
Generace počítačů 0. relé, jednotky operací za sekundu (Z, Harvard Mark1) 1. 1951 – elektronky, elektronková nebo bubnová paměť 1kB, 0.01MIPS (ENIAC, UNIVAC) 2. 1957 – tranzistory, ferritová paměť 10kB, 0.1MIPS (IBM 1401, IBM 7070) 3. 1964 – SSI, ferritová paměť 1MB, 1MIPS (IBM 360) 3.5 1971 – MSI, paměť MSI 1MB, 1MIPS (IBM 370) 4. 1976 – LSI, paměť 10MB, 10MIPS 5. 1980 – VLSI, paměť 100MB, 100MIPS nutno brát s rezervou, co autor to jiné členění
Vývoj v Čechách První návrh počítače představen v Badatelském ústavu matematickém (1947) Některé části návrhu pokusně realizovány, např. elektronková násobička Založeno oddělení počítacích strojů v Ústředním ústavu matematickém ČSAV Projekt M1 - Fourierova transformace (1952)
SAPO (1958) aritmetické jednotky a řadič generátor impulsů ovládací panel a I/O magnetická bubnová paměť
SAPO reléová technologie, 400 elektronek, 700 relé binární aritmetika v pohyblivé řádové čárce délka slova 32 bitů magnetická bubnová paměť 1024 slov pětiadresové instrukce rychlost práce 5 op/s trojnásobná redundance ALU 15 střadačů, paralelní operace
EPOS 1 (1963) Předcházely ověřovací práce na projektech E1a a E1b 8000 elektronek, feritová paměť, 20000 op/s vnější a vnitřní sdílení času (HW) stavebnicovost spolehlivost (samoopravné kódy)
Prof. Antonín Svoboda *14. října 1907 v Praze pracoval na vývoji vojenských zaměřovačů pro řízení protiletecké obrany za války odešel nejdříve do Francie a potom do USA - firma ABAX po roce 1946 koncepční práce na projektech SAPO a EPOS (Svobodovy mapy) 1964 odešel opět do USA †18. května 1980