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
Registry Vyrovnávací pam. Hlavní paměť Vnitřní paměť ROM
klopné obvody statická RAM dynamická RAM permanentní pam.
Vnější paměť Záložní paměti
pevný magn.disk 4 – 10 ms desítky GB – stovky GB optické disky CD,DVD 40 ms – 500ms 600MB až 17GB magnet. páska
jednotky ns 10 – 15 ns 40 – 50 ns 50 – 120 ns
Kapacita desítky – stovky B stovky kB – jedn.MB stovky MB – jedn.GB stovky kB – jedn. MB
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
buňka paměti
65535 = 1111111111111111B = FFFFH
2 = 0000000000000010B = 0002H 1 = 0000000000000001B = 0001H 0 = 0000000000000000B = 0000H desítkově
dvojkově
šestnáctkově
00001111 00101110 ... ... 11111111 00000000 10101001
Paměť 27C512 Blokový diagram
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 kolečko a negace značí invertovaný signál, tj. aktivní v log.0
• 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 – 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í 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ě 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:
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)
Čtecí cyklus RAS to CAS delay
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ě: dvojkově
desítkově
A=
1
1 a0
3
B=
0
1 b0
1
0
4
2 přenosy
1
1
1
0
1
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
Mapa pro přenos do vyššího řádu
q:
ab
p
0
0
0
1
1
1
0
1
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
Vysvětlivky XOR
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 =100002 = 1610 • rozsah čísel: 00002 – 11112 = 0 - 1510 • 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
Příklad řadiče počítače :
JŘ
- jádro řadiče
SP
- ukazatel zásobníku
AJ
- aritmetická jednotka
Instrukce = 1 slovo (pojaté obecně, např. 32 bitů. Šířka datové sběrnice 1 slovo
Jádro řadiče • konečný automat • 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