21zlen – přednáška č. 12 · atari 800 commodore pet sinclair zx spectrum. historie ibm pc -...
TRANSCRIPT
Historie
První počítače
v dnešním slova smyslu se začaly objevovat v průběhu 2.světové války a těsně po ní. Největší vliv na utváření představ,jak by počítače měly být konstruovány, měly týmy odborníků vUSA, zejména na universitě v Pensylvánii
• Mark 1 (Howard Aiken, 1944 - elektronkový)• ENIAC (J.Presper Eckert a J.Mauchly, 1945 elektronkový)• MANIAC (John von Neumann, 1946 elektronkový)• EDVAC (dokončen 1952 podle projektu J.von Neumanna• v Bellových laboratořích, elektronkový)• M1 - 1.počítač čs. dokončen ve VÚMS 1952, reléový
Ale historie počítacích strojů je mnohem starší …
• mechanické počítací (a jiné) stroje
– Pascal
– Leibnitz
– Babbage
– Zuse
Historie
• mechanický počítač Pascaline (1642)– Blaise Pascal
– sčítání a odčítání
zdroj: http://www.cs.uakron.edu/~margush/465/01_intro.html
Historie
• Analytical Engine (1834)– Charles Babbage
– výpočet hodnot výrazů
– řízen programem na děrném štítku
Historie
• Z1 (1936)– Konrad Zuse– mechanický počítač, dvojková soustava, 22 bitů
– program na papírové pásce
Historie
• Mark1 (1944)– Howard Aiken
– elektromechanický počítač
– program na papírové pásce, data na děrných štítkách
Historie1. generace – elektronky
(1945 – 1955)
• ENIAC (1945-1946)– John Mauchley a J. Presper Eckert
– Electronic Numerical Integrator and Calculator
– programován přepínači a propojkami
Historie
• EDVAC (1952)– J. von Neumann, John Mauchley a J. Presper Eckert
– Electronic Discrete Variable Automatic Computer
SAPOV roce 1957 byl dokončen vývoj 1. Československého samočinného počítače nazvaného „SAPO“ ve Výzkumném ústavu matematických strojů. Byl zkonstruován ze 7000 relé a 400 elektronek. Byl vybaven magnetickou bubnovou pamětí o kapacitě 1024 slov a slovo mělo délku 32 bitů (4 byty). Pracoval s pohyblivou řádovou čárkou rychlostí 3 operace za vteřinu. Instrukce byly pětiadresové. Samočinně opravoval nahodilé chyby ve výsledcích operací bez přerušení výpočtů. Aritmetická jednotka (ALU) byla 3x zálohována a každá jednotka prováděla stejné aritme-tické operace nezávisle na druhých jednotkách ALU. Dále obsahoval tzv. prověřovací (diagnostické) obvody v řadiči, které kontrolovaly svou vlastní činnost počítače.
Historie2. generace – tranzistory
(1955 – 1965)
• DEC PDP-1 (1960)– Programmed Data Processor-1
– zpracovával 18 – bitová slova
– první textový editor
• další počítače:
– IBM 7090, 1401, CDC 6600 (Seymour Cray)
Historie3. generace – integrované obvody
(1965 – 1980)
• IBM 360 (1965)– 32 bitová architektura
– max. 16 MB
– naše ekvivalenty – EC 1024/1027
Historie
• DEC PDP-11 (1970)– 16 bitová architektura
– na PDP-11 první implementace UNIXu a překladače C
HistorieDEC VAX (1976)• 32-bitový mini počítač
• operační systém VMS
– jeden z nejspolehlivějších OS
Historie4. generace – obvody VLSI
(1980 - )
• éra domácích a osobních (stolních) počítačů
– Altair, Sinclair ZX Spectrum, Atari, Commodore,
Apple, IBM PC, ...
• pracovní stanice (WorkStation)
– pro profesionální práci
• HP, SunSparc, DEC Alpha
Von Neumannova architektura
Číslicový počítač se skládá z bloků:• Ř … řadič (controller)
– načítá a zpracovává instrukce, řídí ostatní bloky
• AJ … aritmeticko-logická jednotka (arithmetical and logical unit)– provádí aritmetické a logické operace
• HP … hlavní paměť (main memory) – slouží k uložení programu a dat (operační
paměť)
• VST … vstupní jednotka (input device) - zajišťuje vstup dat
• VÝST … výstupní jednotka (output device) -zajišťuje výstup dat
• vstupní a výstupní jednotky = periferní zařízení
• řadič + AJ = procesor• procesorů může být i více - multiprocesorový
(paralelní) počítač
Von Neumannova architektura
Základní znaky architektury(von Neuman):
1. Architektura je nezávislá na zpracovávané úloze, činnost je řízena obsahem paměti –tedy programem (tokem instrukcí) .
2. Paměť je společná pro program i zpracová-vaná data; data ani program nejsou nijak odděleny ani explicitně označeny.
3. Paměť je rozdělena na buňky - lineární organi-zace; k obsahu buňky se přistupuje pomocí jejího pořadového čísla neboli adresy.
4. Pro reprezentaci instrukcí, adres, dat i řízení se používají dvojkové signály (dvojková soustava)
5. Instrukce se vykonávají sekvenčně v pořadí, jak jsou zapsány v paměti (zpravidla od nižších k vyšším adresám); pořadí lze změnit speciální instrukcí skoku.
6. V instrukci není zpravidla uveden operand (co se zpracovává), ale jeho adresa.
Von Neumannova architektura
Hardware• technické vybavení počítačů
Software• programové vybavení počítačů, které není
hmatatelné – elektronický zápis programu,
textové informace, obrázky, apod.
Architektura počítačů
Paměťový systém počítače
Paměť je důležitou součástí počítače, procesor si s ní neustále vyměňuje data.
• vnitřní paměť = operační paměť (umístěná na motherboard, komunikuje přímo s procesorem)
• vnější paměť (není na základní desce)Vnitřní paměti jinak� ROM – Read Only Memory
Jsou v ní nahrány základní programy pro otestování počítače a nahrání operačního systému, po vypnutí počítače se nenuluje. V ní jsou též inicializační programy při zapnutí počítače.
� RAM – Random Access MemoryJe to hlavní paměť a je energeticky závislá, tj. po vypnutí napájení se obsah paměti ztratí
Organizace paměťového systém počítače
Hierarchie paměťového systému -
Je několika úrovňové uspořádání pamětí různých velikostí s různou přístupovou dobou. Cílem je dosáhnout výhodného poměru výkonnosti a ceny paměťových modulů. Cena paměti je přímo úměrná kapacitě a přibližně nepřímo úměrná době přístupu.
Paměťová hierarchie:
Typ paměti Typická realizace Doba přístupu Kapacita
Registry klopné obvody jednotky ns desítky – stovky B Vyrovnávací pam. statická RAM 10 – 15 ns stovky kB – jedn.MB Hlavní paměť dynamická RAM 40 – 50 ns stovky MB – jedn.GB Vnitřní paměť ROM permanentní pam. 50 – 120 ns stovky kB – jedn. MB
Vnější paměť pevný magn.disk 4 – 10 ms desítky GB – stovky GB Záložní paměti optické disky CD,DVD 40 ms – 500ms 600MB až 17GB
magnet. páska stovky ms – xs stovky GB – desítky TB
Hierarchické uspořádání pamětí řeší konflikty mezi požadavky na rychlost a na její kapacitu.
Lineární organizace paměti v PC
• Příklad: paměť EPROM 27C512 - 64 KB, organizace po slabikách (bajtech)– paměťová buňka má velikost 8 bitů, tj. datových
vodičů je 8– paměťových buněk je 65536, s adresami 0 až
65535, tj. adresových vodičů je 16
00001111
00101110
...
...
11111111
00000000
10101001
buňka pamětiadresa buňky
0 = 0000000000000000B = 0000H
desítkově dvojkově šestnáctkově
1 = 0000000000000001B = 0001H
2 = 0000000000000010B = 0002H
65535 = 1111111111111111B = FFFFH
Adresace paměti v PC
Little a Big Endian
• způsoby uložení dat v paměti
• little endian
– slabiky nižšího řádu na nižších adresách
• big endian
– slabiky nižšího řádu na vyšších adresách
Paměť 27C512
Signály:– Vss – zem, Vcc – napájení– Q0 – Q7
• datové výstupy
– A0 – A15• adresa
– \E • chip enable (vstup – povolení
funkce)
• aktivní v log. 0
• pokud je vstup v log. 1, obvod je zablokován (nereaguje na ostatní signály)
– \G • povolení výstupu (aktivní v log. 0)
• pokud je vstup v log. 0, na výstupu jsou platná data
Blokový diagram
kolečko a negace
značí invertovaný
signál, tj. aktivní v
log.0
Propojení jednotek:• minimálně se používá propojení pomocí
dvoubodových spojů
• výhodnější: propojení pomocí sběrnic– sběrnice (bus) – vícebodový spoj
• datová
• adresová
• řídicí
Operační paměť (vnitřní):• RAM
– Random Access Memory – paměť s náhodným přístupem (čtení i zápis), po vypnutí napájení ztrácí obsah – je volativní
• ROM – permanentní pameť – Read Only Memory – paměť pouze pro čtení
dat, neztrácí obsah po vypnutí napájení
– obsahuje základní programy pro start počítače a pro ovládání hardware
– vývoj pamětí typu ROM – ROM, PROM, EPROM, EEPROM
• kapacita: v KB, MB
Vývoj pamětí typu ROM
• ROM
– programovatelné maskou při výrobě, do
paměťových pouze lze zapsat obsah pouze
1x („vypálením“)
– zákazník musí výrobci dodat obsah paměti,
který chce mít zapsán
Vývoj pamětí typu ROM
• PROM (Programming ROM)
– paměť je programovatelná 1x uživatelem
– výrobce dodává paměť, kde všechny buňku
obsahují log. 1 („prázdná“)
– programování uživatelem - destrukcí
• uživatel vloží paměť do speciálního zařízení
(programátor)
• přivedením vyššího napětí se zničí tranzistory v
buňkách, kde má být uložena log. 0
• obsah nelze již vymazat
Vývoj pamětí typu ROM
• EPROM (Erasable PROM)
– paměťová buňka je tvořena kondenzátorem,
který je izolován od okolí (princip izolace náboje
– paměť je mazatelná UV zářením
• na pouzdře je okénko (viditelný čip)
• paměť se vloží do mazačky, která obsahuje UV
lampu
• osvícením UV zářením specifické vlnové délky se
obsah paměť vymaže
– elektrony v kondenzátoru získají energii a překonají energetickou bariéru izolace
Vývoj pamětí typu ROM
• EPROM (Erasable PROM)
– programování
• opět v programátoru
• připojením na vyšší (cca 12V) programovací napětí
• zápisový cyklus
– zápis náboje do kondenzátoru v paměťové buňce
• Poznámka:– některé paměti EPROM jsou bez okénka, jsou
programovatelné 1x (OTP – one time programming) jako
PROM, ale pracují na principu EPROM
Vývoj pamětí typu ROM
• EEPROM (Electrically EPROM)
– princip uchování informace je shodný s typem
EPROM
– maže se elektricky v programátoru (odčerpání
náboje je elektrické)
– FLASH EEPROM
• paměť EEPROM programovatelná po blocích
– „normální“ EEPROM
• lze přepisovat samostatně jednotlivé buňky
Paměti typu RAM
• RAM = Random Access Memory
– paměť s možností libovolného čtení i zápisu
– nevýhoda: není trvalá
• po vypnutí napájení ztrácí paměť svůj obsah
• dva typy pamětí RAM
– statická
– dynamická
Struktura paměťového modulu II
Kapacita paměťového obvodu je dána šířkou jeho adresové a datové sběrnice. V tomto případě 2i+1 slov po k+1 bitech.
Dekodér řádků: dekóduje binární kód 1 z n (přesněji 1 z 2i+1)
Obvod výběru sloupců: jeden multiplexer pro každý datový bit.
Paměťová buňka : např. bistabilní klopný obvod u statické paměti RAM.
Řídící signály:
Struktura statické paměti II
Při zápisu dojde k sepnutí přenosových hradel P1 a P2 a současně k aktivaci budičů B1 a B2. Tím se hodnota z vodiče D0 zapíše do klopného obvodu KO, protože přenosová hradla a budiče jsou „silnější“ (mají menší odpor v sepnutém stavu) než tranzistory v klopném obvodu. Při čtení se stav klopného obvodu KO přenese přenosovým hradlem P1 na první vstup multiplexoru MX a je-li tento vstup vybrán, objeví se na vodiči D0.
Dynamické paměti RAM
• příklad: dynamická paměť RAM 41256
– kapacita 256 kbitů, šířka dat 1 bit
• 256 kbitů ⇒ potřebujeme 18 adr. vodičů
– vyšších 9 bitů adresy je řádek
– nižších 9 bitů adresy je sloupec
– paměť má pouze 9 adresových vodičů díky multiplexovaným vodičům
• signály:
– AD0-8 – adresové vodiče (řádek i sloupec)
Dynamické paměti RAM
– \RAS – Row Address Strobe• zápis řádkové adresy do záchytného registru
– \CAS – Column Address Strobe• zápis sloupcové adresy do záchytného registru
– Q - data out• výstup dat
– D – data int• vstup dat
– \W – write enable• povolení zápisu dat
Struktura dynamické paměti IIV dynamické paměti je adresa časově multiplexována, polovina adresy při signálu RAS = 0 (řádek), druhá polovina adresy při signálu CAS = 0 (sloupec).
Zápis : Na datový (sloupcový) vodič se přivede zapisovaná úroveň a aktivuje se zvolený řádek. Paměťový kondenzátor se nabije nebo vybije (1 nebo 0).
Čtení: Při výběru řádku se kondenzátory vybijí do vstupů čtecích zesilovačů (čtení je destruktivní a přečtenou informaci je nutno bezprostředně zapsat zpět – provede se refresh).
Obnovení: Stejně jako u čtení. Protože čtecí zesilovače jsou umístěny ve všech sloupcích, obnovují se všechny sloupce jednoho řádku najednou.
Asociativní paměť cache IIPoužití plně asociativní paměti
Data zapsaná v paměťové matici asociativní paměti budou kopie „často“ používaných položek dat v hlavní paměti.
Klíčem bude adresa, která každou položku jednoznačně identifikuje
Jak bude probíhat čtení?
Začne pokus se současným čtením z cache paměti i z hlavní paměti. Pokud se položka v cache nalezne, použije se a cyklus v hlavní paměti se nedokončí. V opačném případě se data přečtou z hlavní paměti (zpravidla se i současně uloží do ceche).
Jak to bude se zápisem?
Pokud položka v cache není přítomna, zapíše se (zpravidla) jen do hlavní paměti.
Pokud je v cache přítomna, postupuje se dvěma způsoby:
Asociativní paměť cache IIIzapíše se nová hodnota současně do cache a do hlavní paměti –
- jedná se o tzv. „průběžný zápis“ (write through)
zapíše se nová hodnota jen do cache – jedná se o tzv. „odložený“ zápis (write back)
Asociativní cache paměť 80486 – popis
Funkce : Při pokusu o čtení z cache paměti procesoru 80486 se v každém modulu (jsou 4 moduly) porovná klíč uložený v příslušném řádku (udávající adresu bloku dat, jehož kopie se v tomto řádku nachází) s klíčem odvozeným z adresy hledané položky dat. Shoda klíčů znamená, že hledaná položka byla v příslušném modulu nalezena.
1. Úvod do počítačů
Základní části počítačemotherboardprocesorsběrnicepaměť – hierarchie pamětívstupní zařízenívýstupní zařízeníporty
Procesory Intel
Zvýšený výkon znásobováním procesůČtyřjádrové procesory Intel už i pro stolní počítače
Procesor Intel Core 2 Quad přináší do PC čtyři jádra, a tím i strhující rychlost práce a odezvy ve stále náročnějším prostředí moderních multimediálních aplikací. Procesor je v prodeji samostatně, i v počítačích všech větších výrobců. Intel dále představil dva čtyřjádrové procesory pro základní servery. Zmíněné produkty vychází z řady dvoujádrových procesorů Intel Core 2 Duo a
čtyřjádrových procesorů Intel Core 2 Q
Dvoujádrový procesorový čip-(Dual procesor) – vedle na obrázku.
1. Úvod do počítačů - komunikace po sběrnici
Sběrnice je skupina vodičů, které mají speciální funkci a spojují jednotlivé součásti počítače. Sběrnice zajišťuje komunikaci a propojení procesoru s ostatními částmi počítače.
Přidělování sběrnice: PS - přidělovač sběrnice, P1,P2 – procesory
VV1, VV2 – vstupně/výstupní zařízení,
HP1,HP2 - moduly hlavní paměti
1.Úvod do počítačů – systém sběrnic1. a 2. - lokální sběrni-
ce systémová
3. – lokální sb. systém.
4. – V/V sběrnice
5. – specializovaná sb.
vnější
6. – komunikační sběrnice
Registry
• speciální paměťové buňky uvnitř procesoru
– pro ukládání výsledků a mezivýsledků operací
– pro ukládání stavu procesoru, chyb, atd.
Registry
• Programový čítač (PC) - Program Counter
– obsahuje adresu právě prováděné instrukce
– u procesorů Intel se nazývá IP (Instruction
Pointer)
• Střadač (A) - Accumulator
– ukládají se zde výsledky a mezivýsledky
operací
– některé instrukce pracují pouze se středačem
Registry
• Příznakový (stavový) registr (F nebo S) -Flags, Status
– je zde uložen stav procesoru, informace o
chybách, výsledky operací ve smyslu např.
výsledek je nulový, kladný/záporný
1. Úvod do počítačů - instrukce
Instrukce = příkaz, který je zakódovaný jako „číslo“
Obsahuje tyto informace(popřípadě může obsahovat):
1. jaká se má provést operace (typ operace)
2. s čím se má operace provést (operandy) a
kam se má uložit výsledek
3. kde se má dále pokračovat – adresa následující
instrukce
Tyto informace mohou být obsaženy:
- explicitně v instrukci, kupř. zmíněné SAPO s 5 adresovou
instrukcí: k bodu 1. tzv. operační znak
k bodu 2. 2+1 adresa
k bodu 3. 2 adresy – následující instrukce při záporném
a nezáporném výsledku
1. Úvod do počítačů - instrukce
Z části explicitně v instrukci, z části určeny implicitně architekturou procesoru, např.
K bodu 1. Operační znak OZ instrukce, K bodu 2. adresová část instrukce
K bodu 3. von Neumannova koncepce
další instrukce na následující adrese architektura
Operační kód = soubor instrukcí : OZ - kód operace
1. Úvod do počítačů -
1 adresová instrukce
zvláštní registr – střadač S - střadač (Accumulator)
1. operand a výsledek např. : ⟨S⟩ - ⟨a⟩ → S
operace přesunu : ⟨a⟩ → S a ⟨S⟩ → a
Př.: ⟨ x⟩ - ⟨ y⟩ → z ≡
Více střadačů ⇒ číslo střadače ∈ instrukce
⇒ lze provést operace mezi střadači
OZ a
z S
S y S
Sx
→
→→
→
1. Úvod do počítačů -
2 adresová instrukce OZ a1 a2
výsledek se ukládá na místo prvního operandu, např.:
⟨ a1⟩ − ⟨ a2⟩ → a1
je třeba zavést „neproduktivní“ operaci přesun: ⟨ a2⟩ → a1
Př.: ⟨ x⟩ − ⟨ y⟩ → z ≡
z y -z
z x
→
→
3 adresová instrukce OZ a1 a2 a3
„ nejpřirozenější „ : 2 operandy + 1 výsledek
instrukce je poměrně dlouhá
Druhy instrukcí
• aritmetické – ADD (sečti), SUB (odečti), MUL (vynásob), DIV (vyděl), INC
(zvyš o 1), DEC (sniž o 1), CMP (porovnej)
• logické– AND, OR, XOR, NOT, TEST
• posuvy a rotace– SHL (posuv vlevo), SHR (posuv vpravo), ROL (rotace vlevo), \
• přesuny dat - MOV, IN, OUT, PUSH, POP
• skoky– JMP, JZ, JAE
• volání– CALL, RET, RETZ, RETI
• cykly– LOOP
Příklad zakódování instrukce
• procesor Intel
• instrukce
MOV RW,DATA16– uložení 16-bitové konstanty do registru– konstanta je uložena v instrukci za
operačním znakem
1. Úvod do počítačů - přerušovací systémPřerušení způsobí, že procesor(dočasně) přestane provádět právě
probíhající program a na místo toho začne provádět jiný program, který přerušení tzv. obslouží – tedy reaguje na jev, který přerušení vyvolal.
Vnější přerušení – periferie, uživatel, havarijní stavy apod.
nemaskovatelné - vstup NMI
maskovatelné (z řadiče přerušení)
Vnitřní přerušení - chyby operandů, výsledků, zvolené krokování - instrukce INT n – n je 8-bitová konstanta
a) Před obsluhou přerušení se uloží na zásobník informace o tom, jaký program se právě prováděl (FLAGS, CS, IP)
b) Zakáže se další přerušení
c) Zjistí se, jak daný typ přerušení obsloužit – nastaví se nové CS a IP
d) Při návratu z přerušení je třeba obnovit informace o původním programu- ze zásobníku se vyzvedne IP, CS a FLAGS
1. Úvod do počítačů – RISC architekturaRISC – Reduced Instruction Set Computers – počítače s redukovaným souborem instrukcíCharakteristické rysy:Poměrně malý počet instrukcí - < 128 a velmi jednoduchýchVelmi krátká doba provedení instrukce – vždy v jednom cyklu„Klasický“ řadič – obvodově realizovaný Proudové zpracování instrukcí – paralelní překrývání při zpracováníJedna instrukce = 1 slovo Malý počet formátů instrukcí - ≤ 4 Malý počet způsobů adresace - ≤ 4 Velký počet registrů – desítky až stovky registrů Komunikace s hlavní pamětí : pouze instrukcemi „přesun“
Protipól RISC architektury: Počítače typu CISC – Complex Instruction Set Computers
1. Úvod do počítačů - přerušení
1 – v počítači došlo k požadavku na přerušení, např. periferie nebyla ready, ….. 2 – přes konektor V/V je vyslán signál IRQ x do řadiče přerušení, který signál vyhodnotí a určí typ přerušení 3 – řadič přerušení vyšle zprávu o požadavku na pře-rušení do procesoru 4 – procesor pak vyšle zpátky do řadiče signál INTA potvrzující přerušení. 5 – poté řadič přerušení vyšle do procesoru zjištěnou informaci o typu přerušení
6 - procesor pak uloží informace o probíhajícím programu, tj. uloží obsah registru PC, PSW (FLEGS) event. počáteční adresu Code Segmentu(registru CS) do zásobníku
1. Úvod do počítačů - přerušení
7 - procesor vyhledá na počátku paměti k typu přerušení odpovídající vektor přerušení a podle něho pak určuje počáteční adresu obslužné procedury.
8 – tuto adresu pak nastaví procesor do registru PC a spustí se vyhledaná procedura
9 – po skončení obslužné procedury procesorvyzvedne ze zásobníku návratovou adresu a uloží do PC, jakož i původní obsah stavového slova PSW do registru FLEGS. Pak může přerušený program pokračovat dále ve své činnosti