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

Architektura a vývoj PC 2

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Architektura a vývoj PC 2

Architektura Architektura a vývoj PC 2.a vývoj PC 2.

Ing. Vladislav Bezouška, Ph.D.

Page 2: Architektura a vývoj PC 2

Architektura 8086

Adresová sběrnice20bit = 1MB

Částečný multiplex sDatovou sběrnicí16bit tj. 0-65635

Dvě nezávislé jednotky.

Překrytí fáze čtení a zpracování - zrychlení

ES –Extra SegmentDS – Data SegmentSS – Stack SegmentCS – Code Segment

Segmentování paměti po 64KB

Obrázek převzat z lit. č.1

Page 3: Architektura a vývoj PC 2

Architektura 8086Vý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 216 = 64KB – počátek segmentu je v SS,CS,DS, ES. Paměť je organizována do 2 bank – sudá a lichá adresa.

Page 4: Architektura a vývoj PC 2

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:Výhody segmentace:

–Stačí pouze 16bit ALU a interní sběrnice mezi Stačí pouze 16bit ALU a interní sběrnice mezi registry! (levnější chip!)registry! (levnější chip!)

–Kratší strojový kód (kratší adresa)Kratší strojový kód (kratší adresa)

–Podpora multitasku (přepínání segmentových Podpora multitasku (přepínání segmentových registrů, relativní adresace)registrů, relativní adresace)

Page 5: Architektura a vývoj PC 2

Princip segmentace

OFFSET

SEGMENT

Limit

BASE

OPERAND

OPERAND = SEGMENT + OFFSET

16 bit

16 bit

16 bitů 216 = 64k

Page 6: Architektura a vývoj PC 2

Princip segmentace 8086

OFFSET

SEGMENT

Limit

BASE

OPERAND

OPERAND = SEGMENT * 16 + OFFSET

0000

0000

20 bit

16 bit

16 bit

16+4=20 bitů 220 = 1M

Limit = OFFSET =16 bitů 216 = 64k

Page 7: Architektura a vývoj PC 2

Princip segmentace 8086Příklad segmentace :

1)SEG = 1F36, OFFSET = 0A5D1F36 * 16 + 0A5D = 1FDBD

2)SEG = 1FB1, OFFSET = 02AD1FB1* 16 + 02AD= 1FDBD

Pro různé adresy segmentů a offsetů se dostáváme na stejné paměťové místo

Page 8: Architektura a vývoj PC 2

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íku2) Do CS 16bit adresa vektoru přerušení3) IP+1 do zásobníku4) IP se přepíše adresou programu přerušení

VN

ITŘ

Procesy při přerušení:

Page 9: Architektura a vývoj PC 2

Ostatní prvky architektury 8086I/O:1) Adresování přímé (16bit)2) Adresování mapované do hlavní pamětiDMA (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

Page 10: Architektura a vývoj PC 2

Ostatní prvky architektury 8086Matematický 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

Page 11: Architektura a vývoj PC 2

Architektura 802864 paralelně pracující

částiBU – R/W do paměti

IU- zprac. instrukcí

AU-přepočet adres

EU – provedení instr.

24bit…16MB1GB 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

Page 12: Architektura a vývoj PC 2

Programátorský pohled na 80286

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

Page 13: Architektura a vývoj PC 2

selektory a deskriptoryOFFSET

relativní odkaz do paměti, počítá se od nějaké bázové adresy

8086SEGMENT – obsahuje bázovou adresu

80286SELEKTOR – obsahuje INDEX do tabulky bázových

adres (deskriptorů)!DESKRIPTOR – obsahuje bázovou adresu a další

informaceLDTR a GDTR – odkazy na tabulky lokálních (aktivní procesy) a globálních (všechny procesy) deskriptorů

Page 14: Architektura a vývoj PC 2

Princip segmentace80286

GDTR nebo LDTRBASE

48 bitů celkem24 bitů na bázovou adresu224 = 16M paměťového prostoru

deskriptorSELEKTOR

Tabulka deskriptorů

8k položek

16 bitů celkem13 bitů na index213 = 8k deskriptorů

BASE ADDRESS

48 bitů celkem24 bitů na bázovou adresu224 = 16M paměťového prostoru

položka tabulky64 bitů celkem 48 bitů deskriptor24 bitů na adresu

přesun

BASE

OFFSET

OPERAND Limit segmentu

64k

16 bitů64k rozsah

Page 15: Architektura a vývoj PC 2

80286Má 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

Page 16: Architektura a vývoj PC 2

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 !

Page 17: Architektura a vývoj PC 2

Literatura :

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