Procesor 8086, POLITECHNIKA wydział E kierunek I, ARCHITEKTURA SYSTEMOW KOMPUTEROWYCH


Procesor 8086:

Procesor 80286:

Procesor 80386:

COS OBCIĘTEGO

Jednostka arytmetyczno-logiczna - układ elektroniczny służący do wykonywania działań arytmetycznych logicznych(Boole'a, dzialania na liczbach całkowitych)

Rejestr - układ mogący przechowywać informacje. Rejestr może spełniać funkcję akumulatora. Służy do wykonywania i przechowywania wyniku operacji

Dekoder instrukcji

Architektura superskalarna - rownolegle wykonanie wielu rozkazow w ciagu jednego cyklu zegara

Start procesora:

Włączenie zasilania

Sygnał RESET procesora

RESET komputera PC

Wartości początkowe w rejestrze CS:IP=FFFF:FFFE

-pierwsza instrukcja

-ROM systemowy komputera

rejestry 8 bitowe: ah,al.,bh,bl,ch,cl,dh,dl

rejestry 16 bitowe:

Adresowanie:

Adresowanie kodu programu - rejestry CS:IP(CS:EIP)

Adresowanie Danych: Domyślnie DS., można wymusić inny

Adresowanie stosu: rejestry SS:SP(SS:ESP)

Rodzaje adresowań:

-przez rejestr

-bazowe i bazowe z przemieszczeniem

-indeksowe i indeksowe z przemieszczeniem

Adresowanie rejestrowe

Adres znajduje się w rejestrze ogólnego przeznaczenia

-EA=BX:BP,SI,DI

-DS:BX

-SS:BP

np. Mov ax,[bx]

Adresowanie bazowe

-Adres jest sumą zawartości rejestru BX(BP) I wartości podanej w instrukcji.

-EA=BX(BP)+stała 8(16) bitowa

-PS:BX

-SS:BP

-przykład:

mov ax,[bx+1];DS

mov ax,[bp+1];SS

Adresowanie indeksowe - adres jest sumą zawartości rejestru SI(DI) I wartości podanej w instrukcji np. mov ax,[si+1]

Adresowanie bazowe i indeksowe - suma rejestru bx(bp) i wartośći podanej w inst. Np. mov ax,[bx+si+1]

Adresowanie łańcuchów:

-rejestr ds.:si wskazuje łańcuch źródłowy

-rejestr es:di wskazuje łańcuch docelowy

-Po wykonaniu si i di są automatycznie modyfikowane w zależności od wskaźnika df

-operacja może być powtórzona cx razy

Adresowanie pośrednie, typ chroniony

-zawartość rejestru bazowego

-zawartość rejestru indeksowego

-współczynnik skalujący 1,2,4,8

EA=Baza + indeks*skala*stała

Przykład:

Mov ax,[EBX+4*ESI+1]

Wymuszenie segmentu:

Mov ax,[1234h]; segment ds.(domyślnie)

Mov ax,ss:[1234h]; segment ss

Z FORUM:

transmisja asynchroniczna - Strumien danych musi niesc ze soba informacje o czestotliwosci synchronizujacej. Nadajnik i odbiornik musza pracowac z ta sama uzgodniona wczesniej predkoscia. W zamian za zredukowana liczbe linii laczacych korespondentow otrzymujemy bardziej skompikowany protokol komunikacyjny. Dane przesylane sa w paczkach, a procesem steruja bity startu i stopu.

Płaski model pamieci - Adres logiczny do kt?rego odwołuje się procesor 32-bitowy budowany jest ze złożenia zawartości 16-bitowego rejestru segmentowego i 32-bitowego rejestru przesunięcia. W przypadku granulacji 4 kB maksymalny wymiar segmentu wynosi 4 GB. Liczba możliwych segment?w wynosi 214 (213 deskryptor?w lokalnych i tyle samo globalnych) co daje w sumie astronomiczną objętość 64 TB (214 x 2''2). Właściwie już jeden taki segment stanowi wielkość optymalną: 4 GB przestrzeni adresowej zaspokaja przy obecnym rozwoju techniki PC najbardziej wyg?rowane wymagania. Rozwiązanie takie, określane jako "płaski model pamięci" stosowane jest w systemie Windows NT.

Stronicowanie - takie zarządzanie pamiecia, gdzie obszar procesu nie musi byc ciagly.

W wyniku segmentacji otrzymujemy adres liniowy, ktory jest zamieniany na adres fizyczny.

Poszczegolne strony procesu sa pomieszczone w ramkach pamieci sprzetowej, przy czym

zwiazek miedzy stronami a ramkami jest utrzymywany za pomoca sprzetowej tablicy stron.

Strona(ramka) - blok pamieci o rozmiarze 4kB, identyfikowana przez: nr strony (20bit),

polozenie (12bit), atrybuty. Katalog - miesci sie w 1 ramce, wskazuje wlasciwa tablice stron,

tablica przechowuje numery stron (adres fizyczny) rejestr sterujacy CR3 - przechowuje adres

bazowy nr strony w katalogu.

Roznice: adres liniowy, fizyczny, logiczny.

adres fizyczny - (physical address) jest adresem najniższego poziomu. Podczas komunikacji procesora z układem obsługującym pamięć, na jego liniach adresowych wystawiany jest właśnie adres fizyczny. Wykorzystujemy go przy tworzeniu tablic implementujących stronicowanie, lub podczas komunikowania się z dowolnymi urządzeniami. Należy zauważyć, że podczas gdy mechanizm stronicowania pamięci jest wyłączony, adres fizyczny jest r?wny adresowi liniowemu,

adres liniowy - (linear address) jest formą przejściową między adresem fizycznym. Dzięki istnieniu adresu liniowego można uzyskać ciągłość pamięci nawet, jeżeli fizycznie jest ona porozrzucana. Adres liniowy jest zamieniany przez

mechanizm stronicowania na adres fizyczny za pomocą tablic stron. W systemach wielozadaniowych niemożliwa jest wymiana adres?w liniowych pomiędzy zadaniami, gdyż każde z nich może mieć oddzielne tablice stron. Adresy liniowe wykorzystujemy gł?wnie przy tworzeniu deskryptor?w,

adres logiczny - (logical address) jest adresem złożonym z dw?ch człon?w:

identyfikatora segmentu i przemieszczenia w tym segmencie. Dla trybu rzeczywistego

i V86 identyfikatorem segmentu będzie jego adres liniowy podzielony przez 16, dla

trybu chronionego będzie to selektor segmentu. Adres taki zapisujemy w postaci

SEGMENT OFFSET lub SELEKTOR OFFSET. Adres logiczny powinien być

wykorzystywany do zapisywania lub odczytywania danych, procesor automatycznie

zamienia go na adres logiczny a następnie na adres fizyczny,

if - else.(Ten program sprawdza czy AX jest rowne zero, a instrukcje if else mozna rozwiazac za pomoca skokow (JMP) i skokow warunkowych (Jx))

AND AX,AX

JNZ SKOK

...

JMP KONIEC

SKOK:

...

KONIEC

Adresowanie indeksowe - adres jest suma zawartosci konkretnego elementu stosu i wartosci numerycznej np mov ax, [SI+1]

SPI i EPP różnice: Sa to dwa typy portow rownoleglych Centronix drukarek LPT:

SPI pozwala na przesyłanie tylko w jedną stronę (simplex), drukarka odpowiada za drukowanie

EPP pozwala na przesylanie duzych ilosci danych do drukarek (GDI), w systemie fullduplex. Za drukowanie odpowaida jadro systemu.

obszary pamięci:

RAM dzieli sie na:

TPA - pamiec konwencjonalna (gdzie jest ladowana tablica wektorow przerwan)

UMB - tzm pamiec wyższa ( tu z kolei BIOS)

XMS - tylko w trybie chronionym (z HMA )

Na czym polega idea kodowania FM i MFM w zapisie magnetycznym?

Przy odczycie sygnału z nośnika magnetycznego odczyt namagnesowania jest dość trudny, znacznie łatwiejszy jest odczyt zmian namagnesowania (pola magnetycznego), gdyż wywołuje ono powstanie prądu indukcyjnego w głowicy magnetycznej. Przy zapisie FM kierunek pola magnetycznego zmieniany jest na początku komórki bitowej, oraz w jej środku ale tylko wtedy gdy kodowana jest jedynka (binarna).

MFM pozwala na zwiększenie, w stosunku do FM ilości kodowanej informacji przy zadanej częstotliwości maksymalnej sygnału. Kodowanie informacji odbywa się według zasady: nadawanie jedynki zmienia kierunek prądu głowicy zapisującej w środku komórki bitowej, nadawanie zera zmienia kierunek prądu na początku ale tylko wtedy gdy poprzednio nadawanym bitem nie była jedynka. W zapisie występują ciągi o dwóch lub trzech czasach jednostkowych o takim samym kierunku prądu, co pozwala dwukrotnie zwiększyć częstotliwość zmian w stosunku do metody FM

Podobienstwa i roznice w dzialaniu instrukcji CALL i INT

INT odklada na stos rejestr FLAGS, segment w którym aktualnie czytany jest kod oraz adres instrukcji po powrocie. Procedura konczy się instrukcja IRET, która przywraca pierwotny stan stosu. Argumentem INT jest liczba okreslajaca numer przerwania. CALL odklada na stos adres kolejnej intrukcji po powrocie oraz segment zawierajacy akyualny kod, ale tylko w przypadku CALL FAR. Proces odwrotny realizuje instrukcja RET lub RETF (FAR).Argumentem CALL jest adres procedury.

Jak wyglada postac ramki w transmisji RS232C.

Na ramkę składają się, oprócz właściwych bitów danych, znacznik początku ramki (tzw. bit startu), bit kontroli parzystości i znacznik końca ramki (bit stopu). Czas trwania jednego bitu ramki, tj. okres wyimaginowanego przebiegu synchronizującego wynika ściśle z uzgodnionej prędkości transmisji. W ogólności ramka może zawierać 5, 6, 7 lub 8 bitów danych. Bit startu jest obowiązkowy, a liczba bitów stopu może wynosić l lub 2.

Wymienic i podac znaczenie poszczegolnych rejestrow procesora x86.

I Ogólnego użytku:

- akumulator:

EAX (32 bity) = AX (młodsze 16 bitów) + starsze 16 bitów,

AX = AH (starsze 8 bitów) + AL (młodsze 8 bitów)

Rejestr ten najczęściej służy do wykonywania działań matematycznych, ale często w tym rejestrze lub jego części (AX lub AH) będziemy mówić systemowi operacyjnemu i BIOS-owi, co od niego chcemy.

- rejestr bazowy:

EBX (32 bity) = BX (młodsze 16 bitów) + starsze 16 bitów,

BX = BH (starsze 8 bitów) + BL (młodsze 8 bitów)

Ten rejestr jest używany np. przy dostępie do tablic.

- licznik:

ECX (32 bity) = CX (młodsze 16 bitów) + starsze 16 bitów,

CX = CH (starsze 8 bitów) + CL (młodsze 8 bitów)

Tego rejestru używamy np. do określania ilości powtórzeń pętli.

- rejestr danych:

EDX (32 bity) = DX (młodsze 16 bitów) + starsze 16 bitów,

DX = DH (starsze 8 bitów) + DL (młodsze 8 bitów)

W tym rejestrze przechowujemy adresy różnych zmiennych. Jak wkrótce zobaczymy, do tego rejestru będziemy wpisywać adres napisu, który będziemy chcieli wyświetlić.

- rejestry indeksowe:

*indeks źródłowy:

ESI (32 bity) = SI (młodsze 16 bitów) + starsze 16 bitów

*indeks docelowy:

EDI (32 bity) = DI (młodsze 16 bitów) + starsze 16 bitów

Rejestry indeksowe najczęściej służą do operacji na długich łańcuchach danych, w tym napisach i tablicach.

- rejestry wskaźnikowe:

* wskaźnik bazowy:

EBP (32 bity) = BP (młodsze 16 bitów) + starsze 16 bitów.

Najczęściej służy do dostępu do zmiennych lokalnych.

* wskaźnik stosu:

ESP (32 bity) = SP (młodsze 16 bitów) + starsze 16 bitów.

Służy do obslugi stosu - wskazuje na jego szczyt.

* wskaźnik instrukcji:

EIP (32 bity) = IP (młodsze 16 bitów) + starsze 16 bitów.

Mówi procesorowi, skąd ma pobierać instrukcje do wykonywania.

II Rejestry segmentowe (wszystkie 16-bitowe):

o segment kodu CS - mówi procesorowi, gdzie znajdują się dla niego instrukcje.

o segment danych DS - ten najczęściej pokazuje na miejsce, gdzie trzymamy nasze zmienne.

o segment stosu SS - dzięki niemu wiemy, w którym segmencie jest nasz stos.

o segment dodatkowy ES - często używany, gdy chcemy coś napisać lub narysować na ekranie bez pomocy Windows, DOSa czy nawet BIOSu.

o FS i GS (od 80386) - nie mają specjalnego przeznaczenia. Są tu na wypadek, gdyby zabrakło nam innych rejestrów segmentowych.

III Rejestr stanu procesora: FLAGI (16-bitowe), E-FLAGI (32-bitowe)

o Służą one przede wszystkim do badania wyniku ostatniej operacji (np. czy nie wystąpiło przepełnienie, czy wynik jest zerem, itp.). Najważniejsze flagi to CF (carry flag - flaga przeniesienia), OF (overflow flag - flaga przepełnienia), SF (sign flag - flaga znaku), ZF (zero flag - flaga zera), IF (interrupt flag - flaga przerwań), PF (parity flag - flaga parzystości), DF (direction flag - flaga kierunku).

Co to jest i do czego sluzy selektor.

W trybie chronionym procesora selektor jest zawarty w rejestrze segmentowym. Sklada sie on z opisanego na 13 bitach numeru deskryptora - wskaznika do 8-bajtowej struktury opisujacej dany segment. Pozostale bity opisuja prawa dostepu do segmentu (2 bity) oraz okreslaja czy wskaznik ten dotyczy tablicy lokalnej czy globalnej (1 bit). Przemieszczenie w segmencie jest opisane tak samo jak w wypadku pracy w trybie rzeczywistym. Takie adresowanie pozwala na zaadresowanie do 4GB pamieci.

Na czym polega roznica w adresowaniu CHS i LBA?

Adresowanie CHS odbywa się za pomocą trzech parametrów: cylindra, głowicy i sektora. Konwencjonalne funkcje INT 13 używały 24 bitów do reprezentacji adresów, zatem możliwe było jedynie zaadresowanie obszaru o pojemności 8,4 GB (224×512 bajtów/sektor = 8,4 GB). W trybie LBA adresowane są ponumerowane sektory, co zapewnia pełną niezależność od fizycznej architektury dysku. Przy 28 bitowym adresie (obecnie rowniez 48 bitow) zapewnia to adresowanie do 137,4 GB pamieci.

Na czym polega idea transmisji asynchronicznej w interfejsie RS232C ?

Transmisja asynchroniczna -strumień danych musi nieść w sobie informację o częstotliwości synchronizującej. Naturalnie nadajnik I odbiornik muszą pracować stale z tą samą, uzgodnioną prędkością. Ceną, któ®ą płącimy za zredukowaną w tym trybie pracy liczbę linii łączących korespondentów, jest komplikacja protokołu komunikacyjnego.

Bloki funkcjonalne wchodzące w skład płyty głównej komputera PC/ATX

- procesor CPU - kooprocesor FPU - kooprocesor MMX - pamięć podręczna L1 i L2 - RTC - DMA - CTC - AGP - KONTROLER KLAWIATURY - BIOS systemowy - pamięć operacyjna - SA-450 - ST-506/412 - Centronics - RS232-C - IrDA - USB

Różnice i podobieństwa mechanizmu segmentacji w trybie rzeczywistym i chronionym

• Tryb rzeczywisty - tryb zgodny z najstarszymi procesorami rodziny x86 z Intel 8086 włącznie. W trybie tym występuje segmentacja pamięci, rozmiar segmentu jest stały i wynosi 64 KB. Przestrzeń adresowa ograniczona jest do 1 MB, do adresowania wykorzystuje się rejestry segmentowe oraz offset. W trybie tym współczesne procesory pracują jedynie od chwili uruchomienia do przekazania kontroli systemowi operacyjnemu.

• Tryb chroniony - tryb inicjalizowany i w znacznej mierze kontrolowany przez system operacyjny. Pamięć może być zorganizowana w segmenty dowolnej wielkości, fizyczna przestrzeń adresowa ograniczona jest z reguły do 64 GB, liniowa przestrzeń adresowa do 4 GB. Rodzaj adresowania zależy od systemu operacyjnego - może być stosowany tzw. model płaski (bez segmentacji), model z segmentacją analogiczną do trybu rzeczywistego, lub - najczęściej - adresowanie nieliniowe (tzw. logiczne). W adresowaniu nieliniowym adres fizyczny jest zależny od wpisu w systemowej tablicy deskryptorów, na który wskazuje selektor. W trybie chronionym procesor wspiera wielozadaniowość, chroni przed nieupoważnionym dostępem do urządzeń wejścia/wyjścia.

Pentium posiada 8 rejestrow 8 bitowych.

PIC w komputerze AT obsluguje 15 przerwan.

W kodzie ASCII jest 96 znak?w pisarskich.

Instrukcja mov ax[1234] uzywa domyslnie rejestru DS.

Wskazikowi 1234H:5678H odpowiada bajt o adresie (1234 * 10 + 5678)H.

GDTR przechowuje adres początku globalnej tablicy deskryptorow (global descriptor table register).

80286 ma 24 bitowa szyne adresowa.



Wyszukiwarka

Podobne podstrony:
Laboratorium z Architektury systemów komputerowych, Budowa monitorów alfanumerycznych, Politechnika
tranzystory mosfet(1), Architektura systemów komputerowych, Sentenza, Sentenza
sciaga-skrocona, Informatyka Stosowana, Architektura systemów komputerowych, ASK
ukl 74xx, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Archit
Architektura systemów komputerowych przeliczanie systemów, Notatki
T 3 Architektura systemow komputerowych wytyczne
ASK, Informatyka Stosowana, Architektura systemów komputerowych, ASK
R5 Budowa mikroprocesora, Architektura Systemów Komputerowych
Laboratorium z Architektury systemów komputerowych, Nieliniowe, Skład grupy laboratoryjnej:
Laboratorium z Architektury systemów komputerowych, Nieliniowe, Skład grupy laboratoryjnej:
Wyt T 3 Architektura systemow komputerowych
wyk.9, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler
Sprawozdanie 2, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych,
wyk.7.1, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembl
zagadnienia-arch-zaoczne, Architektura systemów komputerowych, Sentenza, Sentenza
pytania na wejściówki - 97-2003, Architektura Systemów Komputerowych
Zegar sciaga, Studia Informatyka 2011, Semestr 1, Architektura systemów komputerowych, Ściągi
sumator i polsumator, Architektura systemów komputerowych, Sentenza, Sentenza
20030829125435, Architektura systemów komputerowych

więcej podobnych podstron