1 / 17

Architektura a vývoj PC 2.

Architektura a vývoj PC 2. Ing. Vladislav Bezouška, Ph.D. ES –Extra Segment DS – Data Segment SS – Stack Segment CS – Code Segment Segmentování paměti po 64KB. Adresová sběrnice 20bit = 1MB Částečný multiplex s Datovou sběrnicí 16bit tj. 0-65635. Architektura 8086.

Download Presentation

Architektura a vývoj PC 2.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Výhody : • Segmentace • Dynamická přemístitelnost • Adresy jsou relativná vzhledem k adrese segmentu Architektura 8086 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 216 = 64KB – počátek segmentu je v SS,CS,DS, ES. Paměť je organizována do 2 bank – sudá a lichá adresa.

  4. 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 Architektura 8086 • 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 16 bit OFFSET OPERAND Limit SEGMENT BASE 16 bit OPERAND = SEGMENT + OFFSET 16 bitů  216 = 64k

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

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

  8. Přerušení 8086 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ŠÍ 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. Přerušení instrukcí: Přerušení je vyvoláno instrukcí. Odpovídá volání podprogramu. Procesy při přerušení: VNITŘNÍ • Registr příznaků do zásobníku • Do CS 16bit adresa vektoru přerušení • IP+1 do zásobníku • IP se přepíše adresou programu přerušení

  9. Ostatní prvky architektury 8086 • I/O: • Adresování přímé (16bit) • 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. 24bit…16MB 1GB virtuální paměti Architektura 80286 4 paralelně pracující části AU-přepočet adres BU – R/W do paměti • Procesor může pracovat ve dvou režimech • Realný (jako 8086) • Chráněný (s virtuální pamětí) EU – provedení instr. IU- zprac. instrukcí Obrázek převzat z lit. č.1

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

  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 • 80286 • 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. OFFSET 16 bitů64k rozsah 48 bitů celkem24 bitů na bázovou adresu224 = 16M paměťového prostoru Limit segmentu 64k OPERAND BASE BASE ADDRESS 16 bitů celkem13 bitů na index213 = 8k deskriptorů přesun SELEKTOR deskriptor Tabulka deskriptorů 8k položek BASE GDTR nebo LDTR 48 bitů celkem24 bitů na bázovou adresu224 = 16M paměťového prostoru položka tabulky64 bitů celkem 48 bitů deskriptor24 bitů na adresu Princip segmentace80286

  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 80286 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 80286 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.

More Related