Obsah

AP2, IN2 Výpočetní systémy II

Zadání

(Procesory, jejich parametry a architektury. Architektura Intel. Vnitřní a vnější paměti a principy jejich funkce. Vstupní a výstupní zařízení počítače a jejich připojování)

Koncepce Johna von Neumanna

• RAM –- paměť pro čtení i zápis
• ROM –- paměť pouze pro čtení
• Paměť s přímým přístupem
• Paměť se sekvenčním přístupem
• Vnitřní (operační) paměť
• Vnější (periferní) paměť
• Registr
• V/V zařízení (I/O equipment)
• Řadič (Controller) – zařízení převádějící příkazy v symbolické formě (instrukce) na posloupnost
signálů ovládajících připojené zařízení

1945: Architektura „von Neumann“
IAS Computer: Priceton Institute for Advanced Studies

  1. Počítač obsahuje operační paměť, ALJ, řadič, V/V zařízení.
  2. Předpis pro řešení úlohy je převeden do posloupnosti instrukcí.
  3. Údaje a instrukce jsou vyjádřeny binárně.
  4. Údaje a instrukce se uchovávají v paměti na místech označených adresami.
  5. Ke změně pořadí prováděných instrukcí se používají instrukce podmíněného a nepodmíněného skoku.
  6. Programem řízení zpracování dat probíhá v počítači samočinně.
  7. Podstatným rysem této architektury je fakt, že instrukce a data jsou (oproti například Harvardské architektuře) uložena ve stejné paměti (viz Wikipedia).

Koncepce Johna von Neumanna

Procesory, jejich parametry a architektury

Procesor je synchronní stroj řízený řadičem.

Základní frekvence = takt procesoru
Strojový cyklus = čas potřebný k zápisu (čtení) slova z paměti (např. 3 takty)
Instrukční cyklus = čas potřebný pro výběr a provedení instrukce

Instrukce se skládá z operačního kódu a nepovinných adres operandů (1 nebo 2 adresy)

Součásti procesoru:

Dělení procesorů:

RISC, CISC, Pipelining

RISC (Reduced Instruction Set Computer) – redukovaná sada instrukcí obsahuje hlavně jednoduché instrukce, větší instrukce vykonávany za pomocí mikroinstrukcí. (Možnost lépe rozložit práci této větší instrukce – př. pipelining)
CISC (Complex Instruction Set Computer)– plná sada instrukcí, větší instrukce vykonávány jako celek.

RISC a CISC procesory podle vnitřní architektury a počtu instrukcí, které procesor umí vykonávat. Současné procesory Intel a kompatibilní jsou vnitřně RISC, kde za pomoci mikroinstrukcí vykonávají složité CISC instrukce a umožňují aktualizaci řídícího mikrokódu. Původně lepší možnosti RISC procesorů byly překonány masivními investicemi firmy Intel získanými masivní výrobou procesorů do osobních počítačů, takže současné CISC procesory překonávají RISC.
Využívají řetězení instrukcí (pipelining).

Pipelining neboli zřetězené zpracování, či překrývání instrukcí. Základní myšlenkou je rozdělení zpracování jedné instrukce mezi různé části procesoru a tím i dosažení možnosti zpracovávat více instrukcí najednou. Fáze zpracování je rozdělena minimálně na 2 úseky.

Zásadním parametrem, který je u procesoru důležitý, je frekvence práce jeho jádra.

Zdánlivě jde o banální záležitost, protože stačí spočítat kolik milionů či miliard instrukcí je procesor schopen vykonat za sekundu, tj. počet MIPS. Ovšem z praktického hlediska je počet MIPS např. u osmibitového procesoru PIC a u procesoru Intel Pentium zcela nesrovnatelnou veličinou, protože instrukční sady těchto procesorů jsou zásadně odlišné a na výpočet v plovoucí čárce, který udělá Pentium v jediném taktu, může PIC potřebovat několik tisíc operací, zatímco jednoduché bitové operace zvládnou oba procesory v několika taktech.

Důležitým faktorem celkového výkonu procesoru je tedy nyní i velikost vyrovnávací paměti procesoru, která se označuje cache.

Ta bývá několikaúrovňová, cache s nejrychlejším přístupem má nyní velikost 32-64 kB na jádro (Level 1 cache), další úroveň má nyní 256-2048 kB na jádro (Level 2 cache), u nejmodernějších procesorů je Level 2 cache pro obě jádra společná.

Cache – Je zařazena mezi dva subsystémy s různou rychlostí a vyrovnává tak rychlost přístupu k informacím. Cache může být hardwarová a softwarová.

Hardwarová cache

Cache v řídících jednotkách vyrovnává rozdíl mezi nepravidelným předáváním/přebíráním dat počítačem (sběrnici) a pravidelným tokem dat do/z magnetických hlav, jehož rytmus je dán rychlostí otáčení disku. U počítačů je cache elektronický obvod, tvořený z tranzistorů (ty tvoří bistabilní klopné obvody) a její funkce je vyrovnávat rozdílnou rychlost mezi procesorem a operační pamětí. Vyšší rychlosti je dosaženo použitím kvalitnějších tranzistorů (vyšší frekvence) než u operační paměti a cache je také blíže k procesoru než operační paměť. Tudíž je možno použít opět vyšší frekvenci, protože po cestě nejsou tak velké parazitní kapacity.

Cache paměť v procesoru ukládá kopie dat přečtených z adresy v operační paměti. Pokud při čtení obsahu slova z adresy v paměti je tato položka nalezena v cache paměti, je její obsah přečten z cache paměti a ne z operační paměti (angl. cache hit). Mezi procesorem a cache pamětí se přenášejí jednotlivá slova, mezi cache pamětí a operační pamětí se přenášejí rámce slov o velikosti několikanásobku velikosti slova procesoru. Protože asi 90 % operací procesoru je čtení paměti, většinou sekvenční, je tímto způsobem dosaženo větší propustnosti dat z operační paměti do procesoru, tím i vyššího výpočetního výkonu.

Vyrovnávací paměť procesoru bývá dvojstupňová. Část paměti o malé kapacitě je přímo součástí procesoru a je stejně rychlá, jako vlastní procesor (značí se L1). Další paměť, pomalejší, ale s větší kapacitou, je mezi procesorem a operační pamětí, dnes se již umisťuje do pouzdra s procesorem (značí se L2). Protože cena paměti stoupá s její rychlostí (a samozřejmě s kapacitou), je možné tímto uspořádáním najít kompromis mezi cenou a rychlostí.

Softwarová cache

Programově vymezením určité části operační paměti pro potřeby vyrovnávací paměti (např. disková cache v operačním systému), nebo hardwarově paměťovými obvody (např. pro potřeby procesoru).

Fáze procesoru:

výběr instrukce z paměti → provedení instrukce → přerušení, …

Výběr instrukcí je řízen registrem:

Počítač pracuje ve dvojkovém doplňkovém kódu.

registry: A – střádač – 8bitový (Accumulator)
PC – čítač instrukcí – 16bitový

paměť: adresovatelná jednotka = slabika
data – 8bitová

Instrukční soubory (pro programátora viditelné):

LDA adresa – Load A Direct

operační znak16bitová adresa paměti
3Ah nižší slabika adresy / vyšší slabika adresy

STA adresa – Store A Direct

operační znak16bitová adresa paměti
32h nižší slabika adresy / vyšší slabika adresy

JMP adresa – Jump Unconditional

operační znak16bitová adresa paměti
0DAh nižší slabika adresy / vyšší slabika adresy

Instrukce a mikroinstrukce

Interní registry – pro programátora neviditelné

TAL (TA Low - 8 bitů)

Fáze instrukce LDA adresa (mikroinstrukce)

200 → PC počáteční nastavení PC
PC → AR, 0→WR, DR→IR výběr operačního znaku
PC + 1 → AR, 0 → WR, DR → TAL výběr operandu
PC + 2 → AR, 0 → WR, DR → TAH výběr operandu
TA → AR, 0 → WR
DR → A provedení instrukce
PC + 3 → PC provedení aktualizace PC

Fáze aritmetické instrukce INR r (Increment Register)

PC → AR, 0 → WR, DR → IR
r + 1 → r
PC + 1 → PC

Zásobník (Stack):

struktura LIFO (Last In, First Out)
registr SP (Stack pointer)
instrukce PUSH, POP

V/V operace:

OUT zapíše obsah A na V/V sběrnici
IN přečte obsah V/V sběrnice do A
START zahájí V/V operaci
FLAG adresa skok na adresu, není-li operace hotova

Přerušení

Architektura Intel

Architektura procesoru Intel 8086 a 8088

Procesor 8086

Procesor 8088

Zapojení procesoru

INTR Signál žádosti o maskovatelné přerušení.
TEST Signál testovatelný instrukcí WAIT. Při TEST=L program pokračuje další instrukcí.
NMI Signál nemaskovatelného přerušení.
RESET Signál okamžitě ukončující aktivitu CPU a předávající řízení instrukci na adrese 0FFFF0h.
LOCK Uzamčení sběrnice pro procesor, který nastavil LOCK=L instrukčním prefixem LOCK.
M/IO Rozlišuje, zda adresa patří paměti nebo V/V v procesoru 8086.

Typ dat zpracovávané procesory Intel

Procesory 8086 a 8088 používají k ukládání dat metodu Little-Endian (V tomto případě se na paměťové místo s nejnižší adresou uloží nejméně významný bajt (LSB) a za něj se ukládají ostatní bajty až po nejvíce významný bajt (MSB)).
příklad uložení 32bitového čísla 4A3B2C1D na adresu 100:

100101102103
1D 2C 3B 4A

Big-Endian, používající se u jiných procesorů – V tomto případě se na paměťové místo s nejnižší adresou uloží nejvíce významný bajt (MSB) a za něj se ukládají ostatní bajty až po nejméně významný bajt (LSB) na konci.
příklad uložení 32bitového čísla 4A3B2C1D na adresu 100:

100101102103
4A 3B 2C 1D
Adresace paměti v procesorech 8086 a 8088

Adresu zapisujeme ve tvaru segment:offset

takže v podstatě sečteme segment a vpravo posunutý (o jeden řád) offset a dostaneme rozsah adresy.
příklad: Zápis 01A5:001216 představuje tedy dvacetibitovou adresu 01A6216

Zásobník pak funguje jako segment a jeho položky jsou offset. V jednom segmentu tedy nevytečeme dál jak 64 kB.

Příznakový registr procesoru 8086

V tomto 16bitovém registru se nastavuje chování procesoru a různé stavy při výpočtech. Např. (sedmý bit – ZF (Zero Flag) je nastaven při nulovém výsledku právě dokončené operace. Osmý bit – SF (Sign Flag) je kopií znaménkového bitu výsledku operace.)

Zásobník

SS – stack segment
SP – stack pointer
SS:SP – přesné misto v SS zásobníku

Přerušení v 8086

Vnější (gen. technickými prostředky)

Vnitřní (gen. programově)

Každé přerušení je identifikováno svou hodnotou.

Architektura procesoru Intel 80286

zapojení

CAP Mezi tento vývod a vývod GND musí být zapojen kondenzátor kapacity 0,047 μF ±20% 12V
vyhlazující nežádoucí napěťové zákmity.
PEREQ Signálem koprocesor žádá procesor o vyslání operandu.
PEACK Signálem procesor oznamuje koprocesoru, že vysílá operand.
BUSY Aktivní úroveň signálu oznamuje, že koprocesor provádí výpočet. Signál je testován instrukcí WAIT.
ERROR Signálem koprocesor oznamuje chybový stav.

Režimy procesoru 80286

Reálný režim

Chráněný režim

Rozdíl reálného režimu oproti 8086

24bitová adresová aritmetika 80286 vs. 20bitová adresová aritmetika 8086:
8086:
F F F F
+ F F F F
0 F F E F (tj. 65 51910, 64 K je 65 536)

80286:

 F F F F 
 + F F F F 

1 0 F F E F (tj. 1 MB + 65 51910)

především pro informace o režimu. Využito pouze 4 bity z 16

Úrovně oprávnění

úrovně oprávnění (privilege levels) – v příznakovém registru na 2 bitech
nejvyšší po nejnižší
0 1 2 3
úroveň 0 . . . jádro operačního systému (řízení procesoru, V/V operací),
úroveň 1 . . . služby poskytované operačním systémem (plánování procesů, organizace V/V, přidělování prostředků),
úroveň 2 . . . systémové programy a podprogramy z knihoven (systém obsluhy souborů, správa knihoven),
úroveň 3 . . . uživatelské aplikace.

Adresace paměti v chráněném režimu

Virtuální adresa až 1 GB Ta se skládá z 16bitového Selektoru a 16bitového offsetu.
Selektor obsahuje obsahuje ale adresu na 13 bitech (další 3 nesou info o úrovni oprávnění atd.).
Adresa ze selektoru ukazuje do tabulky (GDT/LDT - obsahuje 2^13 položek).
V této tabulce, která popisuje segmenty v reálné paměti, je na jednom řádku (64 bitů) info o segmentu – 1 B, kde segment začíná tzv. báze segmentu – 3 B , limit segmentu – 2 B a 2 B jsou prázdné.
Z báze segmentu a offsetu se složi 24 bitová reálná adresa. → 16 MB

Registry GDTR a LDTR – kde jsou umístěny tabulky GDT a LDT.

Architektura procesoru Intel 80386

Procesor Intel 80386

Architektura procesoru Intel 80386

a 32bitového offsetu (tj. adresuje 64 TB virtuální paměti). Tato adresa je algoritmem segmentační
jednotky převedena na lineární adresu.

lineární adresa ukazuje už přímo do fyzické paměti.

(tj. adresuje 4 GB fyzické paměti). Není-li stránkovací jednotka zapnuta, je fyzická adresa totožná
s lineární adresou.

Stránkování

logická adresa → lineární adresa → fyzická adresa

Rámec a stránka o velikosti 4 kB.
Pro využití se musí zapnout stránkování v procesoru.

Architektura procesoru Intel 80486 (i486)

Oproti 386 je rozšířen o:

opět doplněno o nové informace-položky v registrech (řídící, příznakový specifikátor stránkového adresáře…)

Architektura procesoru Intel Pentium

V procesoru Pentium jsou integrovány všechny vlastnosti procesoru Intel486. Navíc poskytuje tato
významná rozšíření:

Předvídáni podmíněných skoků – (Branch Target Buffer)
Párování instrukcí Režim správy systému (SMM) – podobný reálnému režimu. Nejsou v něm úrovně oprávnění. Lze zde provádět V/V operace a adresovat celou 4GB kapacitu fyzické paměti.

Architektura x86-64

x86-64 architektura

režim, žádný reálný, žádný V86 režim)

Vnitřní a vnější paměti a principy jejich funkce

Vnější paměť představuje v architektuře počítače paměť určenou k trvalému ukládání informací (programů a dat), její obsah se vypnutím počítače neztrácí. K vnější paměti nemá procesor počítače zpravidla přímý přístup. Srovnej s vnitřní pamětí. Vnější paměť můžeme rozdělit na stálou a výměnou paměť. Operační systém k přístupu do vnější paměti používá ovladače zařízení a data jsou organizována do souborů podle pravidel použitého souborového systému. Výměnná paměť obvykle používá pro uložení dat výměnná datová média.

Mezi stálou vnější paměť počítače patří:

Pevný disk

Data jsou na povrchu pevného disku organizována do soustředných kružnic zvaných stopy, každá stopa obsahuje pevný anebo proměnný počet sektorů. Z důvodu efektivnějšího využití plochy disku je povrch většinou rozdělen do několika zón, každá zóna má různý počet sektorů na stopu. Sektor je nejmenší adresovatelnou jednotkou disku, má pevnou délku (donedávna 512 byte na sektor, nyní by se již po domluvě výrobců měly vyrábět disky s 4 KB na sektor). Pokud disk obsahuje více povrchů, všechny stopy, které jsou přístupné bez pohybu čtecí hlavičky, se nazývají cylinder (válec). Uspořádání stop, povrchů a sektorů se nazývá geometrie disku.

Adresa fyzického sektoru na disku se skládá z čísla stopy (cylindru), čísla povrchu a čísla sektoru.

Pro přístup k datům disku se používá starší metoda adresace disku CHS, která disk adresuje podle jeho geometrie (odtud název CHS - cylinder, head, sector). Hlavní nevýhodou je u osobních počítačů IBM PC omezená kapacita takto adresovaného disku (8 GB) a nutnost znát geometrii disku. U disků vyšších kapacit na rozhraní ATA, již neodpovídá zdánlivá geometrie disku skutečné fyzické implementaci (viz CHS).

Novější metoda pro adresaci disku je (u rozhraní ATA) LBA, sektory se číslují lineárně. Není třeba znát geometrii disku, max. kapacita disku je až 144 PB (144 miliónů GB). Rozhraní SCSI používá lineární číslování sektorů disku již od své první verze. Ostatní novější rozhraní již převážně metodu jako je LBA používají.

ATA ADM flash disk

Výměnná vnější paměť počítače patří:

Jako vnitřní paměť se u počítače označuje paměť, ke které má zpravidla procesor přímý přístup. Vnitřní paměť je zpravidla volatilní (nestálá) a po vypnutí počítače se její obsah ztrácí. Vnitřní pamětí se v architektuře počítače označuje paměť určená pro uložení strojového kódu běžících procesů a pro data těmito procesy právě zpracovávaná. Srovnej s vnější pamětí.

O správu obsahu vnitřní paměti, alokace paměti pro jednotlivé procesy se zpravidla stará operační systém, pro přístup do ostatních pamětí (video paměť, konfigurační registry apod.) jsou zpravidla použity ovladače zařízení.

Jako vnitřní paměť se zpravidla označuje:


Ukládání(rep. přístup) dat do vnitřní a vnější paměti se liší.
Do vnitřní paměti se přistupuje, jak již je zmíněno výše, buť přímo (registry, cache) anebo pomocí segmentace resp. stránkování (RAM).

Práce s vnější pamětí je ale jiná (musíme řešit implementační problém přístupu na disk – co nejrychleji číst data popřeházená na disku).

Existuje několik přístupů

  • souvislá alokace datových bloků

soubor je na disku uložen v souvislé posloupnosti datových bloků

  • alokace datových bloků pomocí zřetězeného seznamu

každý datový blok obsahuje data a ukazatel na následující datový blok

  • alokace datových bloků pomocí tabulky

alokace datových bloků je založená na zřetězeném seznamu, ale ukazatele na následující datový blok jsou uloženy v tabulce FAT

  • i-nodes

i-node je struktura, která obsahuje jak atributy souboru, tak adresy datových bloků, ve kterých je uložen obsah souboru

Více o přístupu k vnějšímu disku je v otázce Organizace souborů

Vstupní a výstupní zařízení počítače a jejich připojování

Rozhraní:

Centronics

Rozhraní Centronics (EPSON)
Paralelní rozhraní určené pro výstup informace

  1. Mechanická úroveň: Konektor Cannon 25kolíkový, na počítači je zásuvka.

  1. Elektronická úroveň:
    • „0“ … 0V až 0.4 V – úroveň TTL
    • „1“ … 2.4V až 5V – úroveň TTL
  2. Logická úroveň

RS-232-C (V.24), zapojení, signály

V.24 je rozhraní přizpůsobené pro telefonní linky:

  1. Mechanická úroveň: Konektor Cannon 25 nebo 9kolíkový, na počítači je zástrčka.
  2. Elektronická úroveň:
    • „1“ … -15 V ÷ -3 V
    • „0“ … 3 V ÷ 15 V
  3. Logická úroveň

Rozhraní IRPS (proudová smyčka)

Nulmodem

Nulmodem je metoda propojení dvou počítačů pomocí RS-232 tak, že vodiče pro přenos a pro příjem jsou v obou směrech prohozené. Jedná se o klasické propojení počítačů pomocí „seriového kabelu“.

USB Universal Serial Bus

Idea:

USB 1.x (1996) v.1.0 1994-1996: Compaq, Intel, Microsoft a NEC, v.1.1 1998
Rychlost 1,5 Mb/s nebo 12 Mb/s
USB 2.0 (1999) Rychlost 480 Mb/s (teoretická rychlost)
USB 3.0 (2008) Přenosová rychlost je 5 Gbit/s. Nová technologie má 8 vodičů namísto původních 4, přesto zpětně podporuje USB 2.0.
Master/Slave protokol Komunikace je řízena/vyvolávaná počítačem (host), max. 127 zařízení.
Ochrana proti zkratu a přepětí Dovoluje se připojení/odpojení zařízení bez vypnutí počítače. Nutnost
ochrany proti elstat. výboji - člověk až 15 kV na koberci.

Zapojení Čtyřdrátová sběrnice:
+5V
data -
data +
zem

Příklady V/V zařízení: myš, klávesnice,tablet, tiskárna, monitor, touchpad… prostě vše okolo samotného PC.

Co byste ještě měli znát?

Předměty

Literatura:

Přednášky pro Výpočetní systémy - verze pro tisk, autorem je doc. Ing. Michal Brandejs, CSc.

Vypracoval

Petr Kott
petr.kott@post.cz

Otázku si přečetl pan RNDr. Vlastislav Dohnal a rámcově prošel. Jeho podněty pro doplnění textu, opravy nesrovnalostí a odstranění matoucích či k otázce se nevztahujících textů byly do otázky zaneseny. Tato kontrola je jen rámcová, stále se může stát, že v otázce zůstala zapomenutá chybka či nesrovnalost, vyučující za toto nenese odpovědnost, berte tuto rámcovou kontrolu jako formu pomoci od vyučujících pro studenty.