Hardware počítačů Architektura počítačů Paměti počítačů Aritmetika - ALU Řadič
5. 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 Memory Je to hlavní paměť a je energeticky závislá, tj. po vypnutí napájení se obsah paměti ztratí
5. 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.
5. Typy pamětí v PC
5. Typy pamětí v PC II
Von Neumannova architektura
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ěť)
Von Neumannova architektura 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č
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í organizace; 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)
Von Neumannova architektura 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.
Architektura počítačů Hardware technické vybavení počítačů Software programové vybavení počítačů, které není hmatatelné elektronický zápis programu, textové informace, obrázky, apod.
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
Adresace paměti v PC adresa buňky 65535 = 1111111111111111B = FFFFH 2 = 0000000000000010B = 0002H 1 = 0000000000000001B = 0001H 0 = 0000000000000000B = 0000H buňka paměti 00001111 00101110...... 11111111 00000000 10101001 desítkově dvojkově šestnáctkově
Paměť 27C512 Blokový diagram kolečko a negace značí invertovaný signál, tj. aktivní v log.0 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
Čtení dat
Pouzdra klíč, určuje orientaci pouzdra
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 Poznámka: zápis náboje do kondenzátoru v paměťové buňce 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í ROM mazací okénko
Vývoj pamětí EPROM
Vývoj pamětí ROM programovací cyklus a zpětné čtení obsahu (ověření, verifikace)
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á
5. Struktura paměťového modulu
5. 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ě 2 i+1 slov po k+1 bitech. Dekodér řádků: dekóduje binární kód 1 z n (přesněji 1 z 2 i+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:
5. Struktura statické paměti
5. 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.
5. Struktura dynamické paměti
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á poze 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
Paměť DRAM 41256 Vcc napájení +5V Vss zem (ground)
RAS to CAS delay Čtecí cyklus Access time from CAS (CAS latency)
Zápisový cyklus do paměti
5. Struktura dynamické paměti II V 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.
5. Vyrovnávací paměť cache I
5. Asociativní paměť cache II Použ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:
5. Asociativní paměť cache III zapíš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.
5. Asociativní paměť cache schéma procesoru Intel 80486 s omezeným stupněm asociativity
Aritmetika počítačů
Dvojková sčítačka sečteme 3 + 1 = 4 (A = 3, B = 1) ve dvojkové soustavě: 2 přenosy A = 1 1 B = dvojkově desítkově 0 1 1 1 1 a 0 b 0 3 1 1 0 0 4
Dvojková sčítačka obvod sčítačky pro jeden bit má: 2 výstupy (součet s a přenos do vyššího řádu q) vstupy: pro nejnižšířád (nultý) dva vstupy 2 bity sčítanců a,b tzv. půlsčítačka (halfadder) pro ostatní (vyšší) řády tři vstupy 2 bity sčítanců a,b a přenos z nižšího řádu p tzv. úplná sčítačka
Půlsčítačka Tabulka a rovnice Schématická značka Zapojení
Úplná sčítačka Tabulka a rovnice q: a b Mapa pro přenos do vyššího řádu 0 0 1 0 0 1 1 1 p Schématická značka
Výraz pro přenos do vyššího řádu upravený pro realizaci pomocí hradel NAND q = a b + b p + a p = a b b p a p
Dvoubitová dvojková sčítačka zapojení půlščítačky a úplné sčítačky do kaskády 1 0 1 1 1 1 1 0 0
Schématicky úplná sčítačka 1 0 1 1 půlsčítačka 1 1 1 0 0
XOR Vysvětlivky náhrada 3 vst. XOR náhrada invertoru 2 vst. NAND
Čísla v počítačích reprezentace na konečný počet bitů konečný rozsah čísel řádová mřížka schéma, které vyjadřuje zobrazitelné řády modul řádové mřížky Z: zde Z =10000 číslo, které již není zobrazitelné v řádové mřížce
Čísla v počítačích řádová mřížka desítková soustava Z =10000 rozsah čísel: 0 9999 nejmenší zobrazitelné číslo: 1 (tzv. jednotka mřížky) dvojková soustava Z =10000 2 = 16 10 rozsah čísel: 0000 2 1111 2 = 0-15 10 nejmenší zobrazitelné číslo: 1 (tzv. jednotka mřížky)
Sčítačka obecněji
Reprezentace záporných čísel -3 je zobrazena číslem 7
Doplňkový kód přímý kód je nevýhodný pro aritmetické operace jeho alternativou je doplňkový kód
Aritmetické operace doplňkový kód
Aritmetické operace sčítání v dopl. kódu
Aritmetické operace sčítání a odčítání
Aritmetické operace - násobení
Aritmetické operace - posuvy
Aritmetické operace - posuvy Příklad na posuvy: Posuv vpravo: 0. bit do CF Co vložit na uvolněný bit 7. řádu?
Pohyblivá řádová čárka skrytá jednička
Pohyblivá řádová čárka - normalizace
Řadiče - úvod
Řadiče úvod II Jsou možné dva pohledy: řadič je řídící jednotka v užším slova smyslu (podle koncepce von Neumanna control unit) řadič je řídící jednotka všeobecně v širším slova smyslu (např. řadič tiskárny, řadič ALU, řadič počítače apod. - controller) Z hw hlediska to je sekvenční obvod, resp. řídící automat, Který má nějaké vstupy stavové signály a nějaké výstupy řídící signály Řídící a stavové signály: skupina samostatných vodičů, jako řídící sběrnice
Řadiče úvod III - hierarchie
Řadič procesoru struktura PC - programový čítač RI - registr instrukcí DOZ - dekodér operačního znaku JŘ - jádro řadiče SP - ukazatel zásobníku AJ - aritmetická jednotka Příklad řadiče počítače : Instrukce = 1 slovo (pojaté obecně, např. 32 bitů. Šířka datové sběrnice 1 slovo
konečný automat Jádro řadiče příklad: načítání instrukce z paměti
Vysvětlivky HOLD HOLD=1: sběrnice není volná PC.OE: output enable povolení výstupu PC na adresovou sběrnici MEM.RD: read čtení signálu z paměti RI.WR: write zápis do registru instrukce MEM.READY paměť předala data
Mikroprogramovaný řadič
Mikroprogramovaný řadič kombinační logiku nahradíme pevnou pamětí (ROM, PROM) místo kombinačníčásti navrhujeme obsah paměti - mikroprogram MOZ mikrooperační znak výstupní písmeno sekvenčního obvodu NS - nový stav mikroprogramovaný řadič měly např. PDP11, Intel 8086-80486