AOK I zajęcia laboratoryjne 1
Artur Miktus 2011
Prowadzący zajęcia laboratoryjne
Å›ð ppÅ‚k mgr inż. Artur Miktus
Å›ð http://www.ita.wat.edu.pl/~amiktus/
Miejsce pracy: Pokój 061/ sztab, tel.
(22) 6839404
Å›ð Konsultacje: w poniedziaÅ‚ki, godz.
15:05 - 15:45, sala 061/ sztab.
Å›ð Adres e-mail: miktus@ita.wat.edu.pl
2
Zasady
Najważniejsze jest Państwa bezpieczeństwo, dlatego
Studenci powinni poznać:
Å›ð regulamin Laboratorium,
Å›ð przepisy przeciwpożarowe i bhp,
obowiązujące w trakcie zajęć,
Å›ð które jednak nie zastÄ…piÄ… zdrowego
rozsÄ…dku i dobrego wychowania.
Å›ð Poza tym wymagam punktualnoÅ›ci na
początku każdego 2-godzinnego bloku
zajęć mogę zrobić kartkówkę, spóznieni
mają 0 do średniej z zajęć.
3
Jak obliczÄ™ uzyskanÄ… przez danÄ… osobÄ™
ocenÄ™ zaliczeniowÄ…?
Å›ð JEÅ»ELI(Åšrednia>=4,67;"5 bdb";
JEŻELI(Średnia>=4,27;"4,5 db+";
JEŻELI(Średnia>=3,67;"4 db";
JEŻELI(Średnia>=3,27;"3,5 dst+";
JEŻELI(Średnia>=2,67;"3 dst";
"2 ndst")))))
Å›ð Åšrednia oznacza Å›redniÄ… arytmetycznÄ…
z wszystkich ocen, uzyskanych przez
StudentkÄ™/ Studenta w semestrze.
4
Architektura komputera LABSAG:
Å›ð Instruction Set Architecture
Architektura listy rozkazów:
Å›ð Opisuje budowÄ™ i współdziaÅ‚anie
poszczególnych elementów systemu
komputerowego, widzianego przez
programistę, stosującego język
maszynowy.
5
Artur Miktus 2011
Architektura komputera LABSAG:
Å›ð W skÅ‚ad ISA wchodzÄ… (przeglÄ…d):
Å›ð Model pamiÄ™ci
ð Rozmiar jednostki alokacji najmniejszej porcji pamiÄ™ci,
możliwej do zaadresowania (w LabSag słowo 16-bitowe);
ð Jedno- lub wielowymiarowość pamiÄ™ci np. stosowanie
segmentacji (w LabSag jednowymiarowa pamięć, adresowana
liczbÄ… z zakresu 0..255);
Å›ð Rejestry
ð Rejestry ogólnego przeznaczenia (ang. general purpose
registers) ich liczba, stopień uniwersalności (w LabSag: A,
MQ, X 16-bitowe) ;
ð Rejestry ogólnego przeznaczenia zmiennoprzecinkowe ( w
LabSag brak rejestrów zmiennoprzecinkowych);
ð Rejestry specjalizowane (w LabSag LR, RR, RAE, ZNAK, OFF,
XRO i inne.)
6
Artur Miktus 2011
Architektura komputera LABSAG:
Å›ð W skÅ‚ad ISA wchodzÄ… cd1:
Å›ð Typy danych
ð Liczbowe:
Ë% caÅ‚kowite (ang. integer) (staÅ‚oprzecinkowe, z przecinkiem po cyfrze
dziesiętnej z wagą 1) ze znakiem czy całkowite bez znaku, 8-, 16-,
32-, 64-bitowe (w LabSag liczby 16-bitowe, całkowite, ze znakiem,
z przedziału -32 768 : +32 767, kodowane w kodzie uzupełnieniowym
do 2);
Ë% zmiennoprzecinkowe (ang. floating point) pojedynczej precyzji (32-
bitowe), podwójnej precyzji (64-bitowe), (w LabSag brak liczb
zmiennoprzecinkowych);
Ë% BCD (ang. Binary Coded Decimal) liczby dziesietne, w których każda
cyfra jest kodowana dwójkowo np. 9510 = 1001 0101BCD (w LabSag
brak liczb BCD);
ð Nieliczbowe: znaki (ASCII 8-bitowe, Unicode 16-bitowe), Å‚aÅ„cuchy
znaków (w tym zakończone zerem), zmienne logiczne ( true, false), pola
bitowe (w LabSag brak kodowania znaków ASCII);
7
Artur Miktus 2011
Architektura komputera LABSAG:
Å›ð W skÅ‚ad ISA wchodzÄ… cd2:
Å›ð Formaty instrukcji
ð StaÅ‚ej/ zmiennej dÅ‚ugoÅ›ci (w LabSag wszystkie
rozkazy sÄ… 16-bitowe);
ð Liczba operandów w tym liczba dopuszczalnych
argumentów w pamięci operacyjnej (w LabSag
0,1 lub 2 argumenty, ich liczba i położenie
wynikajÄ… z definicji rozkazu);
ð PoÅ‚ożenie, dÅ‚ugość i sposób kodowania
poszczególnych pól instrukcji kodu operacji,
adresów argumentów;
8
Artur Miktus 2011
Architektura komputera LABSAG:
Å›ð Formaty instrukcji w LabSag (PoÅ‚ożenie, dÅ‚ugość i
sposób kodowania poszczególnych pól instrukcji kodu operacji, adresów
argumentów)
0 4 5 6 7 8 15
OP X S I DA
Rys. 1. Format zwykły rozkazu.
Gdzie:
OP - kod operacji
X - wskaznik adresowania indeksowego
S - wskaznik adresacji względnej
I - wskaznik adresacji pośredniej
DA - 8-bitowe pole adresu bezpośredniego
Patrz skrypt, str. 17 i 25 oraz
intranet http://www.ita.wat.edu.pl/~amiktus/Labsag/skrypt-fragmenty.htm
9
Artur Miktus 2011
Architektura komputera LABSAG:
Å›ð Formaty instrukcji w LabSag cd (PoÅ‚ożenie, dÅ‚ugość
i sposób kodowania poszczególnych pól instrukcji kodu operacji, adresów
argumentów)
0 4 5 6 7 8 9 15
00000 AOP N
Rys. 2. Format rozszerzony rozkazu.
Gdzie:
bity 0-4 przyjmują wartość zero
AOP - rozszerzenie pola kodu operacji na bitach 5-8 (4 bity, 16 kombinacji)
N - dodatnia liczba binarna (7 bitów, 128 kombinacji, 0 127)
Patrz skrypt, str. 18 i 26 oraz
intranet http://www.ita.wat.edu.pl/~amiktus/Labsag/skrypt-fragmenty.htm
10
Artur Miktus 2011
Architektura komputera LABSAG:
Å›ð W skÅ‚ad ISA wchodzÄ… cd3:
Å›ð W LabSag zastosowana jest architektura
akumulatorowa (co to znaczy?);
Å›ð Typy instrukcji
ð PrzesyÅ‚ania danych;
ð Arytmetyczne;
ð Logiczne;
ð Przesunięć arytmetycznych, logicznych, cyklicznych;
ð Skoki bezwarunkowe (jump)/ warunkowe (branch), pÄ™tle
(loop), wywołania procedur (call, ret)
Å›ð Konwencja korzystania z usÅ‚ug systemowych.
11
Artur Miktus 2011
Architektura komputera LABSAG:
Å›ð W skÅ‚ad ISA wchodzÄ… cd4:
Å›ð Tryby adresowania argumentów
(skrypt, str. 24)
Å›ð W formacie zwykÅ‚ym bity X, S, I sÄ… wskaznikami okreÅ›lajÄ…cymi
metodę wyznaczenia adresu efektywnego. Jeśli wartość
wskaznika jest równa 1, to określona przez niego metoda jest
stosowana do wyznaczania adresu efektywnego.
Å›ð W formacie rozszerzonym nie ma bitów X, S, I. Stosowane
jest wtedy czasem adresowanie natychmiastowe.
12
Artur Miktus 2011
Architektura komputera LABSAG:
13
Artur Miktus 2011
Przykłady rozkazów
14
Artur Miktus 2011
Ekran trybu uruchomienia
komputera LABSAG.
15
Artur Miktus 2011
Główne zasoby komputera LABSAG:
16
Artur Miktus 2011
Główne zasoby komputera:
1. Jednostka arytmetyczno logiczna
z rejestrami wejściowymi lewym LALU i prawym RALU
oraz rejestrem wyjściowym ALU
17
Artur Miktus 2011
Główne zasoby komputera LABSAG:
2. Rejestry, służące do kontaktu z pamięcią operacyjną PAO:
RAP Rejestr Adresowy Pamięci Operacyjnej (zapisujemy tam adres komórki PAO, z której
chcemy odczytać zawartość / do której chcemy zapisać zawartość);
RBP Rejestr Buforowy Pamięci Operacyjnej (zapisujemy tam nową zawartość
zaadresowanej w RAP komórki PAO/ PAO umieszcza tam zawartość odczytanej,
zaadresowanej w RAP komórki)
18
Artur Miktus 2011
Główne zasoby komputera LABSAG:
3. Rejestry, służące do przechowywania argumentów i wyników działania rozkazów:
A Akumulator ( akumuluje gromadzi wyniki działania rozkazów arytmetycznych i
logicznych, zwykle jest również miejscem przechowania jednego z argumentów dla wielu
rozkazów;
X Rejestr Pomocniczy X, zwykle jest miejscem przechowania drugiego z argumentów dla
wielu rozkazów;
MQ rejestr mnożnika/ ilorazu, potrzebny dla przechowywania argumentów i wyników
podwójnej długości dla rozkazów mnożenia, dzielenia.
19
Artur Miktus 2011
Główne zasoby komputera LABSAG:
4. Rejestry, służące do przechowywania adresów (części adresów) rozkazów:
LR Licznik Rozkazów, przechowuje adres komórki PAO, w której jest zapisany
następny rozkaz do wykonania;
RI Rejestr Indeksowy, używany czasem do obliczania adresów argumentów
(nie przez wszystkie rozkazy, zależy od użytego trybu adresowania).
RAE Rejestr Adresu Efektywnego, przechowuje adres argumentu dla rozkazu.
20
Artur Miktus 2011
Główne zasoby komputera LABSAG:
5. Magistrala
Za jej pomocą są wewnątrz komputera przesyłane informacje, w tym adresy
rozkazów i argumentów, wartości argumentów, zawartości komórek pamięci
operacyjnej PAO.
Uwaga: okienko BUS nie jest rejestrem, to chwilowy stan magistrali może się
zmienić w następnym takcie zegarowym, jeśli nic nie wystawiamy na
magistralę (np. zawartości wybranego rejestru), stan magistrali to zero .
21
Artur Miktus 2011
Główne zasoby komputera LABSAG:
6. Rejestry, służące do kontaktu z pamięcią sterowania PS, przechowującą
mikroprogramy (UWAGA: PS nie przechowuje rozkazów ani danych w rozumieniu
programu asemblerowego, od tego jest PAO!) :
RAPS Rejestr Adresowy Pamięci Sterowania (zapisujemy tam adres komórki PS, z której
chcemy odczytać zawartość w trakcie wykonania rozkazu, pobranego z PAO);
RBPS Rejestr Buforowy Pamięci Sterowania (PS umieszcza tam zawartość odczytanej,
zaadresowanej w RAPS komórki PS)
22
Artur Miktus 2011
Główne zasoby komputera LABSAG:
7. RR Rejestr Rozkazów, służący do przechowania kopii zawartości
wskazywanej przez LR komórki pamięci operacyjnej PAO . Do niego podłączony
jest (niepokazany na rysunku) dekoder, który rozpoznaje pobrany z PAO do RR
rozkaz, dekoduje go i ustala sekwencję czynności składowych, potrzebnych do
wykonania pobranego rozkazu.
LK, ZNAK, XRO, OFF: rejestry pomocnicze, opisane w skrypcie.
23
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
Stan początkowy rejestrów: A = 100, LR = 10.
Stan poczÄ…tkowy PAO:
PAO[5] = 20
PAO[10] = ADS, X=0, S=0, I=0, DA = 5
co oznacza dodaj do bieżącej zawartości akumulatora zawartość komórki PAO o adresie
w RAE i wynik dodawania prześlij do akumulatora .
24
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
Stan początkowy rejestrów: A = 100, LR = 10.
Stan poczÄ…tkowy PAO:
PAO[5] = 20
PAO[10] = ADS, X=0, S=0, I=0, DA = 5
co oznacza dodaj do bieżącej zawartości akumulatora zawartość komórki PAO o adresie
w RAE i wynik dodawania prześlij do akumulatora .
25
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
1. Pobranie rozkazu z PAO do RR według zawartości LR
a) przesłanie adresu z LR do RAP
b) zainicjowanie odczytu z PAO
c) w RBP znajdzie siÄ™ & ?
26
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
1. Pobranie rozkazu z PAO do RR według zawartości LR
a) przesłanie adresu z LR do RAP
b) zainicjowanie odczytu z PAO
c) w RBP znajdzie siÄ™ & ?
27
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
1. Pobranie rozkazu z PAO do RR według zawartości
LR
a) przesłanie adresu z LR do RAP
b) zainicjowanie odczytu z PAO
c) w RBP znajdzie siÄ™ 0805h czyli kod
szesnastkowy rozkazu dodawania ADS X=0, S=0,
I=0, DA=5 (szczegóły kodowania w skrypcie).
28
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
2. Zdekodowanie rozkazu, ustalenie adresu
argumentu na podstawie bitów X,S,I oraz pola DA
rozkazu w RR. U nas X=S=I=0, DA=5, co oznacza ,
że argument dodawany do bieżącej zawartości
Akumulatora znajduje siÄ™ w PAO[5]. Liczba 5
znajdzie siÄ™ w RAP, a po odczytaniu z PAO w RBP
komputer umieści & ?
29
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
2. Zdekodowanie rozkazu, ustalenie adresu
argumentu na podstawie bitów X,S,I oraz pola DA
rozkazu w RR. U nas X=S=I=0, DA=5, co oznacza ,
że argument dodawany do bieżącej zawartości
Akumulatora znajduje siÄ™ w PAO[5]. Liczba 5
znajdzie siÄ™ w RAP, a po odczytaniu z PAO w RBP
komputer umieści 0014h czyli 20 dziesiętnie.
30
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
3. Przesłanie argumentu dodawania RBP (odczytanego z PAO[5] ) przez
magistralÄ™ do rejestru pomocniczego X.
31
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
4. Przesłanie argumentów z rejestrów A do LALU i z X do RALU .
32
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
5. Obliczenie sumy argumentów z LALU i RALU i przesłanie wyniku do rejestru
wyjściowego jednostki arytmetyczno-logicznej ALU.
33
Artur Miktus 2011
Przykład działania rozkazu ADS komputera LABSAG.
ADS: dodawanie, A + PAO[RAE} -> A
6. Przesłanie wyniku z rejestru wyjściowego jednostki arytmetyczno-logicznej
ALU przez magistralÄ™ do Akumulatora.
34
Artur Miktus 2011
Mikroprogramowanie
Å›ð Mikroprogramowanie to technika
projektowania i realizacji sterowania
w komputerze, w której poszczególne
rozkazy sÄ… wykonywane jako
mikroprogramy, złożone z poleceń,
zwanych mikrorozkazami,
zapamiętywanych w pamięci
sterowania. Każdy mikrorozkaz może
składać się z jednej bądz wielu
mikrooperacji.
Artur Miktus 2011 35
Mikrorozkaz
Każdy mikrorozkaz może składać się z co
najmniej dwóch rodzajów pól:
Å›ð pola, zawierajÄ…cego informacjÄ™ o
niezbędnych sygnałach sterujących
Å›ð pola, zawierajÄ…cego informacjÄ™ o
adresie następnego mikrorozkazu do
wykonania.
Artur Miktus 2011 36
Mikrooperacja
Każda mikrooperacja, występująca w
mikrorozkazie może określać:
Å›ð przesÅ‚anie zawartoÅ›ci wybranego rejestru na
magistralÄ™;
Å›ð wykonanie operacji przez jednostkÄ™
arytmetyczno-logicznÄ…;
Å›ð przesÅ‚anie zawartoÅ›ci magistrali lub staÅ‚ej do
wybranego rejestru;
Å›ð rozpoczÄ™cie lub zakoÅ„czenie okreÅ›lonego
działania przez inny element komputera (np.
rozpoczęcie cyklu odczytu z pamięci
operacyjnej).
Artur Miktus 2011 37
Wyszukiwarka
Podobne podstrony:
tryby adresowania24 Typy instrukcji Tryby adresowania04 tryby adresowania i formaty04 tryby adresowania i formatytryby mieszaniatryby (3)Mikrokontrolery To takie proste, cz 15 (układ licznikowy w 8052C & specjalne tryby pracy 8051)5 3 1 10 Lab Użycie IOS CLI do badania tablicy adresów MAC przełącznikatryby graficzneProgramowane tryby pracyadresowanie pamieciAdresowanieIPSpis Adresow WWWTryby warunkowe8 2 5 5 Lab Konfigurowanie adresów IPv6 w urządzeniach sieciowychwięcej podobnych podstron