Architektura wyklad 3, Architektura


Przykładem rejestrów roboczych są rejestry B,C,D,E,H,L, sa widoczne w asemblerze

Cykl rozkazowy

Realizując program, system mikroprocesorowy wykonuje pewne powtarzające

się czynności, polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i wczytywaniu

ich do układu sterowania mikroprocesora, a następnie realizacji rozkazu,

którego kod został pobrany. W cyklu możemy wyróżnić dwa etapy zwane fazą pobrania

(ang. fetch) i fazą wykonania (ang. execution).

Faza pobrania polega na pobraniu kodu rozkazu z komórki pamięci o a d r e s ie

przechowywanym w liczniku rozkazów, a następnie na umieszczeniu tego k o d a

w rejestrze rozkazów IR znajdującym się w układzie sterowania mikroprocesora. K od i

rozkazu przesyłany jest do mikroprocesora magistralą danych. Następnie z a w a r t o ś ć

licznika rozkazów jest modyfikowana tak, aby wskazywał on na kolejny kod ro z k a z u

przeznaczony do pobrania. Po zakończeniu fazy pobrania następuje faza w y k o n a n ia ,

Polega na zdekodowaniu kodu rozkazu znajdującego się w rejestrze IR, czyli s tw ie rdzeniu,

jaki to rozkaz. Po zdekodowaniu kodu rozkazu układ sterowania w y tw a r z a i

wewnętrzne i/lub zewnętrzne sygnały sterujące realizujące dany rozkaz (patrz sc h e m a t j

blokowy mikroprocesora i systemu mikroprocesorowego).

faza pobrania

1. adresowanie podanie zawartości licznika rozkazów na magistrale adresowa AB(PC)

2. wczytanmie zawartości zaadresowanej komorki pamieci do rejestru rozkazów mikroprocesora IR M(PC)

3. zwiekszenie zawartości licznika rozkazów (PC)(PC)+1

faza wykonawcza

4.zdekodowanie kodu rozkazu i wytworzenie sygnałów sterujących realizujących dany rozkaz

W celu przyspieszenia pracy systemu stosuje się

modyfikację tego cyklu zwaną prefetchingiem, czyli wstępnym pobieraniem instrukcji.

Polega na równoległym wykonywaniu fazy pobrania następnego rozkazu, jeszcze

w t r a k c i e realizacji fazy wykonania rozkazu poprzedniego.

Rozkazem (instrukcją maszynową) nazywamy najprostszą operację, której w y k o n a -

nia programista może zażądać od procesora.

Format rozkazu i tryby adresowania

Rozkazy, jak każdy inny rodzaj informacji w systemie mikroprocesorowym, są

przechowywane w postaci kodów binarnych. Kod rozkazu musi zawierać informacje

niezbędne do jego poprawnej realizacji. Informacje te muszą być rozmieszczone

w rozkazie w określony sposób.

Listą rozkazów nazywamy zestaw wszystkich instrukcji maszynowych (rozkazów),

jakie potrafi wykonać dany procesor.

Rozkazy tworzące listę rozkazów możemy podzielić na kilka podstawowych

Rozróżniamy:

1 . rozkazy przesłań,

2. rozkazy arytmetyczne i logiczne,

3. rozkazy sterujące (skoki, wywołania podprogramów, pętle itp.),

4. inne (np. sterowanie pracą koprocesora, rozkazy testujące, operacje w trybie

' chronionym).

Rozkazy przesłań:

a)ogólnego przeznaczenia (w tym rozkazy przesłania z rejestru do pamieci, z pamieci do rejestru, miedzyrejestrowych, natychmiastowego ładowania do rejestru i dopamieci pamieci)

b)przesłań warunkowych

c) operacji na stosie

d)rozkazy konwersji danych

rozkazy arytmetyczno-logiczne

(rozkaz dodawaniai odejmowania, porównan i negocjacji, mnożenia, dzielenia,arytmetyki dziesiętnej)

rozkazy wejścia i wyjscia

nor AL., `a'

nor DX, 0378h (numer portu)

out DX,AL (wydrukuj literke a)

Przykładowe rozkazy

mov[EBX], DX przesłanie zawartości rejestru DX do kom pamieci rejestrowanej rejestrem EBX

movDX,[EBX] przesuniecie EBX do rejestru DX

push AX przesłanie zawartości rejestru AX na stos

popEBX pobranie ze stosu i załadowanie do rejestru EBX

Kod rozkazu:

1. musi zawierać określenie rodzaju wykonywanej operacji, czyli tak z w a n y k o d I

operacji. Kod operacji musi być określony w początkowej częs'ci ( p i e r w s z y m I

bajcie lub bajtach) kodu rozkazu w celu określenia, w jaki sposób ma p r z e b i e g a l i I

dalsza realizacja rozkazu przez mikroprocesor;

2. może zawierać operandy i/lub adresy operandów wykonywanych operacji (dotyczy

to także adresów wyników). Oczywiście w przypadku rozkazów wymagają- |

cych argumentów informacja ta musi być zawarta w rozkazie.

Z punktem 2 określającym zawartość kodu rozkazu związana jest kolejna d e f i n i c j a

Trybem adresowania nazywamy sposób określenia miejsca przechowywania a r -

gumentów rozkazu.

Argumenty rozkazu (może to dotyczyć zarówno danych, j a k

i w pewnych przypadkach wyników) m o g ą być przechowywane w rejestrach, w p a m i ę -

ci lub w kodzie rozkazu. Poniżej podajemy definicje oraz interpretację podstawowych

trybów adresowania.

Adresowanie NATYCHMIASTOWE

Przy adresowaniu natychmiastowym argument rozkazu zawarty jest w k o d z i e

rozkazu.

Adresowanie BEZPOSREDNIE

kod rozkazu zawiera adres komórki pamięci,

w której przechowywany jest rozkaz.

Konsekwencją takiego określenia adresowania bezpośredniego jest to, że jeśli

używamy tego adresowania, w momencie pisania programu musimy znać (lub inaczej

- zarezerwować) adres przechowywania argumentu.

Adresowanie REJESTROWE

w kodzie rozkazu określony jest rejestr, w którym

przechowywany jest argument.

Zaletami użycia tego trybu adresowania są krótkie kody rozkazów oraz szybkie

ich wykonywanie.

Adresowanie POŚREDNIE

Adresowanie pośrednie, zwane też adresowaniem rejestrowym p o ś r e d n i m ,

umożliwia modyfikację położenia argumentu w pamięci w trakcie wykonywania p ro -

gramu. Inaczej mówiąc, adres przechowywania tego argumentu może zostać wyliczony

przez program, co jest bardzo użyteczną własnością. Ponadto kody takich rozkazów są

krótkie.

W trybie adresowania pośredniego kod rozkazu zawiera określenie rejestru bądź

rejestrów, w których znajduje się adres komórki pamięci zawierającej argument.

Adresowanie INDEKSOWE Z PRZEMIESZCZENIEM

W procesorach rodziny Intel 80x86 istnieje 12 trybów adresowania. Część z n i c h

jest kombinacją dwóch lub trzech trybów podstawowych.

W trybie adresowania indeksowego z przemieszczeniem adres argumentu przechowywanego

w pamięci obliczany jest jako suma zawartości rejestru określonego

w kodzie rozkazu i wartości umieszczonej w kodzie rozkazu, zwanej przemieszczeniem.

Przykładowe rozkazy

1. MOV

Instrukcja MOV przesyła dane pomiędzy dwoma miejscami. Obydwa argumenty

muszą być tego samego rozmiaru.

Składnia:

MOV mem, accum (prześlij zawartość akumulatora do komórki o podanym adresie)

Format:

1010011W address Iow address high

gdzie: address Iow, address high - przemieszczenie względem początku segmentu

w = 1 - operacja na słowach

w = 0 - operacja na bajtach

Ustawiane flagi: żadne flagi nie są ustawiane.

Czas wykonania: 1 cykl.

128 Urządzenia techniki komputerowej. Część 1

2. ADC

Instrukcja ADC sumuje dwie liczby umieszczone we wskazanych miejscach oraz i

bit CF (przeniesienia). Należy do grupy instrukcji arytmetycznych.

Przykład: ADC ax, bx - do liczby umieszczonej w ax dodaj liczbę umieszczoną

w bx oraz bit CF. Wynik umieść w ax. Symbolicznie zapisujemy to następująco:

Ustawiane Hagi: OF, SF, ZF, CF, AF, PF.

3. LOOP etykieta

Dekrementacja rejestru CX, a następnie, jeżeli CX * 0, wykonanie skoku do instrukcji

umieszczonej pod adresem o nazwie symbolicznej etykieta. Jest to równoznaczne

z n-krotnym wykonaniem pętli obejmującej instrukcje od instrukcji

bezpośrednio po nazwie etykieta do instrukcji loop. Liczba obiegów pętli n musi

przed rozpoczęciem realizacji pętli zostać załadowana do rejestru CX.

Symbolicznie możemy to zapisać:

a) CX CX-1

b) Jeżeli CX 0 to IP etykieta

Ustawiane flagi: żadne flagi nie są ustawiane.

NIE WIEM CZY TO BĘDZIECIE DRUKOWAC CHYBA TEGO NEI BĘDZIE WYMAGAŁ PODAŁ NAM TYLKO TRZY ROZKAZY MOV PUSH I POP ALE JAK CHCECIE

Magistrale i sygnały sterujące mikroprocesora

Mikroprocesor komunikuje się z pozostałymi elementami systemu za pomocą

magistral. Są to: magistrala danych, magistrala adresowa i magistrala sterująca. SZEROKOŚĆ (czyli liczba linii) dwóch pierwszych ma istotny wpływ na pewne cechy użytkowe systemu. Szerokość magistrali danych jest zwykle dostosowana do długości operandów dla jednostki arytmetyczno-

logicznej, choć zdarzają się odstępstwa od tej reguły. Zwiększenie szerokości

magistrali danych oznacza więc wzrost mocy obliczeniowej z powodu operowania na

dłuższych argumentach i możliwości szybkiego przesyłania większych ilości informacji.

SZEROKOSCMAGISTRALI adresowej wpływa z kolei na liczbę komórek pamięci, które

potrafi bezpośrednio zaadresować mikroprocesor Jednym z zadań mikroprocesora w systemie mikroprocesorowym jest sterowanie i koordynacja pracy pozostałych elementów systemu, takich jak pamięć czy układy

wejścia/wyjścia. W tym celu mikroprocesor zawiera specjalną magistralę zwaną

sterującą. MAGISTRALA STERUJACA to zestaw sygnałów zarówno

wchodzących, jak i wychodzących z procesora. Pierwsze z nich informują procesor

o określonych stanach współpracujących z nim układów, natomiast drugie sterują

pracą tych układów, czyli powodują wykonanie określonej operacji.

Zadania poszczególnych sygnałów są następujące:

RBSET - restart mikroprocesora (wpis do rejestrów procesora wartości początkowych

i rozpoczęcie nowego cyklu rozkazowego).

CLK - (clock) przebieg taktujący (zegar) pracę procesora.

RDY# - (ready) sygnał gotowości układów współpracujących z procesorem (zwykle

pamięci). # oznacza, że sygnałem aktywnym (gotowości) jest 0 (poziom

niski).

M/IO# - (memory/input/output) sygnał oznaczający operację dotyczącą pamięci

(1) lub układów wejścia/wyjścia (0).

D/C# - (data/code) sygnał oznaczający obecność na magistrali danych danej (1)

lub kodu rozkazu (0).

W/R# - (write/read) sygnał oznaczający operację zapisu (1) lub odczytu (0).

HOLD - sygnał żądania przejścia procesora w stan zawieszenia (czyli przełączenia

wejść i wyjść magistral w stan wysokiej impedancji).

HLDA - (hołd acknowledge) sygnał potwierdzenia przejścia procesora w stan zawieszenia.

1NTR - (interrupt request) sygnał żądania (zgłoszenia) przerwania maskowanego.

NMI - (non-maskable interrupt) sygnał zgłoszenia przerwania niemaskowalnego.



Wyszukiwarka

Podobne podstrony:
PROJEKTOWANIE TERENÓW ZIELENI - wykłady, ARCHITEKTURA KRAJOBRAZU, ze źródła nr 4, ► OGRODNICTWO
ZNACZENIE PERCEPCJI2, PSYCHOLOGIA ARCHITEKTURY - wykłady
2 Architektura sterowników PLC materiały wykładowe
notatki wyklady 1-6 ok, Architektura i Urbanistyka, Studia, Semestr V, Ekonomika procesu inwestycyjn
architektura krajobrazu wykład, Rysowanie, Malowanie
wykład 10, Ochrona Środowiska, Ekologia i architektura krajobrazu
ekologia i architektura krajobrazu wyklady
podstawy relacyjnych baz danych wyklad cz1 architektura
Architektura wykład 1 (bez rysunków), Architektura
wyk.9, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler
Wytyczne lab, student - informatyka, wykłady, Architekt-komp-MarekM
Labor z AK, student - informatyka, wykłady, Architekt-komp-MarekM
wyk.7.1, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembl
Ryby - wykład i ćwiczenia, Architektura krajobrazu Inż
architektura wyklad
wykład 4, Ochrona Środowiska, Ekologia i architektura krajobrazu
Sprawozdanie z laboratorium, student - informatyka, wykłady, Architekt-komp-MarekM

więcej podobnych podstron