Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Architektura a vývoj PC 2. Ing. Vladislav Bezouška, Ph.D.

Podobné prezentace


Prezentace na téma: "Architektura a vývoj PC 2. Ing. Vladislav Bezouška, Ph.D."— Transkript prezentace:

1 Architektura a vývoj PC 2. Ing. Vladislav Bezouška, Ph.D.

2 Architektura 8086 Adresová sběrnice 20bit = 1MB Částečný multiplex s Datovou sběrnicí 16bit tj Dvě nezávislé jednotky. Překrytí fáze čtení a zpracování - zrychlení ES –Extra Segment DS – Data Segment SS – Stack Segment CS – Code Segment Segmentování paměti po 64KB Obrázek převzat z lit. č.1

3 Architektura 8086 Výhody : -Segmentace - Dynamická přemístitelnost - Adresy jsou relativná vzhledem k adrese segmentu Příklad: Moduly procesu „Task“ mají stejný SS, ES, DS, CS. Modul je adresován 16bit posunutím z IP příp. dalších registrů. Paměť je rozdělena na segmenty 2 16 = 64KB – počátek segmentu je v SS,CS,DS, ES. Paměť je organizována do 2 bank – sudá a lichá adresa.

4 Architektura 8086 Způsoby adresace: -přímá: DS,CS + posunutí obsažené v instrukci - nepřímá: v registrech je adresa paměť. místa kde je uložena skutečná adresa. - Bázové : Báze + Offset (posunutí) - Indexové: Index + Offset Výhody segmentace: –Stačí pouze 16bit ALU a interní sběrnice mezi registry! (levnější chip!) –Kratší strojový kód (kratší adresa) –Podpora multitasku (přepínání segmentových registrů, relativní adresace)

5 Princip segmentace OFFSET SEGMENT Limit BASE OPERAND OPERAND = SEGMENT + OFFSET 16 bit 16 bitů  2 16 = 64k

6 Princip segmentace 8086 OFFSET SEGMENT Limit BASE OPERAND OPERAND = SEGMENT * 16 + OFFSET bit 16 bit 16+4=20 bitů  2 20 = 1M Limit = OFFSET = 16 bitů  2 16 = 64k

7 Princip segmentace 8086 Příklad segmentace : 1)SEG = 1F36, OFFSET = 0A5D 1F36 * A5D = 1FDBD 2)SEG = 1FB1, OFFSET = 02AD 1FB1* AD= 1FDBD Pro různé adresy segmentů a offsetů se dostáváme na stejné paměťové místo

8 Přerušení 8086 Ne-maskované přerušení: Procesor při vyvolání přerušení volá rovnou obslužný program. Používá se např. při výpadku napájení. Má větší prioritu a nelze zakázat. Maskované přerušení: Po aktivaci přerušení se dokončí instrukce. Poté 8086 získá od obvodu 8259A na dat. sběrnici tzv. vektor přerušení (8bit kód) a na jeho základě volá obslužný program. VNĚJŠÍ Přerušení instrukcí: Přerušení je vyvoláno instrukcí. Odpovídá volání podprogramu. 1)Registr příznaků do zásobníku 2)Do CS 16bit adresa vektoru přerušení 3)IP+1 do zásobníku 4)IP se přepíše adresou programu přerušení VNITŘNÍ Procesy při přerušení:

9 Ostatní prvky architektury 8086 I/O: 1)Adresování přímé (16bit) 2)Adresování mapované do hlavní paměti DMA (Přímý přístup do paměti): Obvod 8089 – výměna informací DMA-CPU prostřednictvím sdílené paměti. Přenos bloků. Přenos Paměť 1  Paměť 2 Přenos IO 1  IO 2 Řadič sběrnice detekuje stavové signály 8086 a generuje řídící signály

10 Ostatní prvky architektury 8086 Matematický koprocesor: Aritmetické, trigonometrické, exponenciální, logaritmické funkce s pevnou i pohyblivou řádovou čárkou.  Speciální instrukce  80bit registry  Dvě jednotky: řídící CU, Výpočetní NEU schopné pracovat nezávisle Funkce: koprocesor čte čte instrukce spolu s CPU a jestliže pozná výpočetní instrukci převezme řízení Poznámka: Koprocesory mohou mít i jiné funkce než výpočetní. Obecně je takto nazýván jakýkoli podřízený procesor komunikující s CPU po multi-procesorové sběrnici

11 Architektura paralelně pracující části BU – R/W do paměti IU- zprac. instrukcí AU-přepočet adres EU – provedení instr. 24bit…16MB 1GB virtuální paměti Procesor může pracovat ve dvou režimech -Realný (jako 8086) - Chráněný (s virtuální pamětí) Obrázek převzat z lit. č.1

12 Programátorský pohled na AX SP BP DI SI DX BX CX 16 bitů CS SS DS ES 16 bitů LDTR TR GDTR IDTR 16 bitů 48 bitů Stejné jako u 8086! Instrukční registr nás nebude zajímat. MSW Stavový registr Nové registry ! DESKRIPTORY Změněný význam! SELEKTORY

13 selektory a deskriptory OFFSET relativní odkaz do paměti, počítá se od nějaké bázové adresy 8086 SEGMENT – obsahuje bázovou adresu SELEKTOR – obsahuje INDEX do tabulky bázových adres (deskriptorů)! DESKRIPTOR – obsahuje bázovou adresu a další informace LDTR a GDTR – odkazy na tabulky lokálních (aktivní procesy) a globálních (všechny procesy) deskriptorů

14 Princip segmentace GDTR nebo LDTR BASE 48 bitů celkem 24 bitů na bázovou adresu 2 24 = 16M paměťového prostoru deskriptor SELEKTOR Tabulka deskriptorů 8k položek 16 bitů celkem 13 bitů na index 2 13 = 8k deskriptorů BASE ADDRESS 48 bitů celkem 24 bitů na bázovou adresu 2 24 = 16M paměťového prostoru položka tabulky 64 bitů celkem 48 bitů deskriptor 24 bitů na adresu přesun BASE OFFSET OPERAND Limit segmentu 64k 16 bitů 64k rozsah

15 80286 Má k dispozici dvě tabulky deskriptorů GDTR a LDTR Každá tabulka může obsahovat až 8k deskriptorů, celkem tedy 16k deskriptorů Deskriptor obsahuje 24 bitovou adresu  adresace až 16M fyzické paměti po 64k segmentech Celkem lze ovšem adresovat 2*8k*64k  1G virtuální paměti Ochrana přístupu deskriptorem pro zabezpečení mutitaskingu

16 Procesor je v chráněném režimu neslučitelný s procesorem 8086 v reálném režimu Důvodem je jiný význam segmentového registru (báze), nyní se jedná o selektorový registr (index) Programátor má k dispozici stále segmenty o maximální velikosti 64k Nicméně tyto segmenty mohou být rozmístěny v prostoru až 16M fyzické paměti a až 1G paměti virtuální Z výše uvedených důvodů, nemohl být procesor v počítačích typu IBM PC AT pořádně využit. Pracoval pouze jako rychlá 8086 ! MS DOS pracuje pouze v reálném módu !

17 Literatura : [1] Hrázský J.: Mikropočítače a počítače II. Informatorium. Praha, 1996.


Stáhnout ppt "Architektura a vývoj PC 2. Ing. Vladislav Bezouška, Ph.D."

Podobné prezentace


Reklamy Google