SPRAWOZDANIE Z LABORKI 3

Wojskowa Akademia Techniczna

im. Jarosława Dąbrowskiego

Laboratorium

Architektury i organizacji komputerów I

Prowadzący mgr inż. Artur Miktus

Sprawozdanie z ćwiczenia laboratoryjnego

nr 3

Temat ćwiczenia: Mikroprogram pobrania rozkazu. Pobieranie rozkazów w formacie zwykłym dla adresowania pośredniego.

Wykonał: Konrad Bosiek

Grupa: I0X3S1

Data wykonania ćwiczenia: 21.12.2010r.

Podczas wykonywania symulacji pracy procesora na komputerze laboratoryjnym wykonano cztery pobrania rozkazów.

1. Pamięć operacyjna

WYDRUK PAMIĘCI OPERACYJNEJ ZAWARTY NA STRONIE

W komórkach 0-4, 24, 34, 159 i 255 pamięci operacyjnej znajdują się dane o odpowiednich wartościach dziesiętnych wg kolejności: 230, 14, 24, 3, 2, 1, 4, 19148, 103.

Natomiast w komórkach 154-158 znajdują się rozkazy w formacie zwykłym.

Nr komórki Operacja Kod operacji Tryb adresowania Rezultat wykonania rozkazu
154 MUL 3 Pośrednie Mnożenie zawartości akumulatora przez zawartość komórki pamięci operacyjnej o adresie określonym w rejestrze adresu efektywnego. Najbardziej znaczące bity zostaną umieszczone w akumulatorze, mniej znaczące w rejestrze mnożnika
155 BXP 18 Względne jeśli rejestr indeksowy jest dodatni to sterowanie zostanie przekazane do komórki pamięci operacyjnej o adresie zawartym w rejestrze adresu efektywnego
156 BXN 20 Modyfikacja jeśli rejestr indeksowy jest ujemny to sterowanie zostanie przekazane do komórki pamięci operacyjnej o adresie zawartym w rejestrze adresu efektywnego
157 BAZ 23 niedozwolone jeśli akumulator ma wartość zero to sterowanie zostanie przekazane do komórki pamięci operacyjnej o adresie zawartym w rejestrze adresu efektywnego
158 LDX 9 względne Rejestr indeksowy jest ładowany zawartością komórki operacyjnej o adresie zawartym w rejestrze adresu efektywnego

Stan początkowy rejestrów

A 4

LR 144

RI 10

Stan pamięci operacyjnej

Adres Zawartość(bin) Hex Wartość
0 0000000011100110b 00E6h 230
1 0000000000001110b 000Eh 14
2 0000000000011000b 0018h 24
3 0000000000000011b 0003h 3
4 0000000000000010b 0002h 2
14 0000000000000001b 0001h 1
24 0000000000000100b 0004h 4
149 0100101011001100b CDABh -12885
255 0000000001100111b 0067h 103

Pola o adresach 154-158 zawierają rozkazy w formacie zwykłym.

Adres Zawartość(bin) hex OP X S I DA
144 0001100100000000b 1900h 3 0 1 0 0
145 1001001100000000b 9300h 18 0 1 1 0
146 1010010100000100b A504h 20 1 0 1 4
147 1011111000000100b BE04h 23 1 1 0 4
148 0100101011001100b 4ACCh 9 0 1 0 204

Gdzie:

OP - kod operacji

X - wskaźnik adresowania indeksowego

S - wskaźnik adresacji względnej

I - wskaźnik adresacji pośredniej

DA - 8-bitowe pole adresu bezpośredniego

Pozostałe komórki PAO są wyzerowane.

Rozkaz pierwszy (Adres 154):
Nazwa mnemoniczna: MUL
Pełna nazwa: Mnożenie
Tryb adresowania: Adresowanie pośrednie AE=PAO[DA] 8‑15
Spodziewany rezultat:
A*PAO[RAE] → A║MQ

Rozkaz drugi (Adres 155):
Nazwa mnemoniczna: BXP
Pełna nazwa: Skocz jeśli RI dodatni
Tryb adresowania: Adresowanie względne AE=PAO[LR+DA]8‑15]

Spodziewany rezultat: jeśli RI>0; RAE→LR

Rozkaz trzeci (Adres 156):
Nazwa mnemoniczna: BXN

Pełna nazwa: Skocz jeśli RI ujemny
Tryb adresowania: Modyfikacja AE=PAO[DA+RI]8‑15

Spodziewany rezultat:
jeśli RI<0; RAE→LR

Rozkaz czwarty (Adres 157):
Nazwa mnemoniczna: BAZ
Pełna nazwa: Skocz jeśli A=0
Tryb adresowania: niedozwolone AE=PAO[0]
Spodziewany rezultat:
jeśli A=0; RAE→LR

Rozkaz piąty(Adres 158):
Nazwa mnemoniczna: LDX
Pełna nazwa: Ładuj modyfikator RI
Tryb adresowania: Adresowanie względne AE=[LR+DA]
Spodziewany rezultat:
PAO[RAE] → RI

PM

0 Test ___ TINT ___ Brak przerwania

NA ___ 48

48 S1 ___ OLR ___ LR -> BUS

D1 ___ IRAP ___ BUS -> RAP

S3 ___ ORBP ___ RBP -> BUS

D3 ___ IRR ___ BUS -> RR

C1 ___ RRC ___ Rozpoczęcie RRC

49 S1 ___ ORR ___ RR -> BUS

D1 ___ ILK ___ BUS -> LK

S2 ___ IRAE ___ SUMA -> RAE

D2 ___ NSI ___ LR+1 -> LR

C2 ___ CEA ___ Oblicz adres efektywny

Test ___ TIND ___ Adresowanie pośrednie

NA ___ 50

50 S1 ___ ORAE ___ RAE -> BUS

D1 ___ IRAP ___ BUS -> RAP

S3 ___ ORBP ___ RBP -> BUS

D3 ___ IX ___ BUS -> X

C1 ___ RRC ___ Rozpoczęcie RRC

51 S2 ___ OX ___ X -> BUS

D2 ___ IBI ___ BUS -> RAE

C2 ___ OPC ___ OP /AOP+32/ -> RAPS

Mikroprogram pobrania rozkazu rozpoczyna się pobraniem i wykonaniem mikrorozkazu z komórki o adresie 0 w PM, która zawiera mikrooperacje testu TINT. Następnie przechodzimy do komórki o adresie 48. Tam znajduję się mikrorozkaz, którego mikrooperacje powodują zainicjowanie cyklu odczytu z pamięci, załadowanie rejestru buforowego RBP zawartością adresowanej komórki. Zawartość RBP przesyłana jest do rejestru rozkazów. W komórce 49 pamięci, do rejestru pomocniczego LK przesyłana jest część pola DA rozkazu zwykłego. Następnie obliczany jest adres efektywny argumentu, uwzględniająca stan bitów X i S oraz pola DA rozkazu. Wynik tego działania, wysyłany jest do RAE. Później LR jest zwiększany o 1. Jeśli mamy do czynienia z adresowaniem pośrednim, test TIND przekazuje sterowanie do mikrorozkazu o adresie 50. Wtedy RAE jest adresem argumentu. W kolejnym mikrorozkazach zawartość rejestru pomocniczego przesyłana jest do RAE. Kod operacji jest dekodowany. TIND przekazuje tez sterowanie do 50 komórki dla rozkazów rozszerzonych.

Log z wykonanego ćwiczenia laboratoryjnego.

Log zapisano we Wtorek, 2010-12-21

TAKT=6 TAKT=7

Test ___ TINT ___ Brak przerwania

RAPS:=0030h\ 48

-------------------- 48 --------------------

TAKT=0 RBPS:=5006C4000000

TAKT=1

S1 ___ OLR ___ LR -> BUS BUS:=0090h\ 144

D1 ___ IRAP ___ BUS -> RAP RAP:=0090h\ 144

C1 ___ RRC ___ Rozpoczęcie RRC

MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=1900h\ 6400

IA=0 IA=0 TAKT=7

S3 ___ ORBP ___ RBP -> BUS BUS:=1900h\ 6400

D3 ___ IRR ___ BUS -> RR RR:=1900h\ 6400

RAPS:=0031h\ 49

-------------------- 49 --------------------

TAKT=0 RBPS:=68C801830032

TAKT=1

S1 ___ ORR ___ RR -> BUS BUS:=1900h\ 6400

D1 ___ ILK ___ BUS -> LK LK:=0000h\ 0

C2 ___ CEA ___ Oblicz adres efektywny

l:=0000h\ 0 r:=0000h\ 0 aa:=0000h\ 0

TAKT=2 TAKT=5 TAKT=6

S2 ___ IRAE ___ SUMA -> RAE RAE:=0000h\ 0

D2 ___ NSI ___ LR+1 -> LR LR:=0091h\ 145

IA=0 TAKT=7

Test ___ TIND ___ Adresowanie pośrednie

RAPS:=0032h\ 50

-------------------- 50 --------------------

TAKT=0 MAV=1 RBPS:=900624000000

TAKT=1

S1 ___ ORAE ___ RAE -> BUS BUS:=0000h\ 0

D1 ___ IRAP ___ BUS -> RAP RAP:=0000h\ 0

C1 ___ RRC ___ Rozpoczęcie RRC

MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=00E6h\ 230

IA=0 IA=0 TAKT=7

S3 ___ ORBP ___ RBP -> BUS BUS:=00E6h\ 230

D3 ___ IX ___ BUS -> X X:=00E6h\ 230

RAPS:=0033h\ 51

-------------------- 51 --------------------

TAKT=0 RBPS:=03A801600000

TAKT=1

C2 ___ OPC ___ OP /AOP+32/ -> RAPS TAKT=2 TAKT=5 TAKT=6

S2 ___ OX ___ X -> BUS BUS:=00E6h\ 230

D2 ___ IBI ___ BUS -> RAE RAE:=00E6h\ 230

IA=0 TAKT=7

RAPS:=0003h\ 3

Zmiana zawartości rejestru RAPS - nowa wartość to 0

-------------------- 0 --------------------

TAKT=0 MAV=1 RBPS:=000000020030

TAKT=1 TAKT=2 TAKT=5 TAKT=6 TAKT=7

Test ___ TINT ___ Brak przerwania

RAPS:=0030h\ 48

-------------------- 48 --------------------

TAKT=0 RBPS:=5006C4000000

TAKT=1

S1 ___ OLR ___ LR -> BUS BUS:=0091h\ 145

D1 ___ IRAP ___ BUS -> RAP RAP:=0091h\ 145

C1 ___ RRC ___ Rozpoczęcie RRC

MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=9300h\ -27904

IA=0 IA=0 TAKT=7

S3 ___ ORBP ___ RBP -> BUS BUS:=9300h\ -27904

D3 ___ IRR ___ BUS -> RR RR:=9300h\ -27904

RAPS:=0031h\ 49

-------------------- 49 --------------------

TAKT=0 RBPS:=68C801830032

TAKT=1

S1 ___ ORR ___ RR -> BUS BUS:=9300h\ -27904

D1 ___ ILK ___ BUS -> LK LK:=0000h\ 0

C2 ___ CEA ___ Oblicz adres efektywny

l:=0000h\ 0 r:=0091h\ 145 aa:=0091h\ 145

TAKT=2 TAKT=5 TAKT=6

S2 ___ IRAE ___ SUMA -> RAE RAE:=0091h\ 145

D2 ___ NSI ___ LR+1 -> LR LR:=0092h\ 146

IA=0 TAKT=7

Test ___ TIND ___ Adresowanie pośrednie

RAPS:=0032h\ 50

-------------------- 50 --------------------

TAKT=0 MAV=1 RBPS:=900624000000

TAKT=1

S1 ___ ORAE ___ RAE -> BUS BUS:=0091h\ 145

D1 ___ IRAP ___ BUS -> RAP RAP:=0091h\ 145

C1 ___ RRC ___ Rozpoczęcie RRC

MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=9300h\ -27904

IA=0 IA=0 TAKT=7

S3 ___ ORBP ___ RBP -> BUS BUS:=9300h\ -27904

D3 ___ IX ___ BUS -> X X:=9300h\ -27904

RAPS:=0033h\ 51

-------------------- 51 --------------------

TAKT=0 RBPS:=03A801600000

TAKT=1

C2 ___ OPC ___ OP /AOP+32/ -> RAPS TAKT=2 TAKT=5 TAKT=6

S2 ___ OX ___ X -> BUS BUS:=9300h\ -27904

D2 ___ IBI ___ BUS -> RAE RAE:=9300h\ -27904

IA=0 TAKT=7

RAPS:=0012h\ 18

Zmiana zawartości rejestru RAPS - nowa wartość to 0

-------------------- 0 --------------------

TAKT=0 MAV=1 RBPS:=000000020030

TAKT=1 TAKT=2 TAKT=5 TAKT=6 TAKT=7

Test ___ TINT ___ Brak przerwania

RAPS:=0030h\ 48

-------------------- 48 --------------------

TAKT=0 RBPS:=5006C4000000

TAKT=1

S1 ___ OLR ___ LR -> BUS BUS:=0092h\ 146

D1 ___ IRAP ___ BUS -> RAP RAP:=0092h\ 146

C1 ___ RRC ___ Rozpoczęcie RRC

MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=A504h\ -23292

IA=0 IA=0 TAKT=7

S3 ___ ORBP ___ RBP -> BUS BUS:=A504h\ -23292

D3 ___ IRR ___ BUS -> RR RR:=A504h\ -23292

RAPS:=0031h\ 49

-------------------- 49 --------------------

TAKT=0 RBPS:=68C801830032

TAKT=1

S1 ___ ORR ___ RR -> BUS BUS:=A504h\ -23292

D1 ___ ILK ___ BUS -> LK LK:=0004h\ 4

C2 ___ CEA ___ Oblicz adres efektywny

l:=0004h\ 4 r:=000Ah\ 10 aa:=000Eh\ 14

TAKT=2 TAKT=5 TAKT=6

S2 ___ IRAE ___ SUMA -> RAE RAE:=000Eh\ 14

D2 ___ NSI ___ LR+1 -> LR LR:=0093h\ 147

IA=0 TAKT=7

Test ___ TIND ___ Adresowanie pośrednie

RAPS:=0032h\ 50

-------------------- 50 --------------------

TAKT=0 MAV=1 RBPS:=900624000000

TAKT=1

S1 ___ ORAE ___ RAE -> BUS BUS:=000Eh\ 14

D1 ___ IRAP ___ BUS -> RAP RAP:=000Eh\ 14

C1 ___ RRC ___ Rozpoczęcie RRC

MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=0001h\ 1

IA=0 IA=0 TAKT=7

S3 ___ ORBP ___ RBP -> BUS BUS:=0001h\ 1

D3 ___ IX ___ BUS -> X X:=0001h\ 1

RAPS:=0033h\ 51

-------------------- 51 --------------------

TAKT=0 RBPS:=03A801600000

TAKT=1

C2 ___ OPC ___ OP /AOP+32/ -> RAPS TAKT=2 TAKT=5 TAKT=6

S2 ___ OX ___ X -> BUS BUS:=0001h\ 1

D2 ___ IBI ___ BUS -> RAE RAE:=0001h\ 1

IA=0 TAKT=7

RAPS:=0014h\ 20

Zmiana zawartości rejestru RAPS - nowa wartość to 0

-------------------- 0 --------------------

TAKT=0 MAV=1 RBPS:=000000020030

TAKT=1 TAKT=2 TAKT=5 TAKT=6 TAKT=7

Test ___ TINT ___ Brak przerwania

RAPS:=0030h\ 48

-------------------- 48 --------------------

TAKT=0 RBPS:=5006C4000000

TAKT=1

S1 ___ OLR ___ LR -> BUS BUS:=0093h\ 147

D1 ___ IRAP ___ BUS -> RAP RAP:=0093h\ 147

C1 ___ RRC ___ Rozpoczęcie RRC

MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=BE04h\ -16892

IA=0 IA=0 TAKT=7

S3 ___ ORBP ___ RBP -> BUS BUS:=BE04h\ -16892

D3 ___ IRR ___ BUS -> RR RR:=BE04h\ -16892

RAPS:=0031h\ 49

-------------------- 49 --------------------

TAKT=0 RBPS:=68C801830032

TAKT=1

S1 ___ ORR ___ RR -> BUS BUS:=BE04h\ -16892

D1 ___ ILK ___ BUS -> LK LK:=0004h\ 4

C2 ___ CEA ___ Oblicz adres efektywny

XRO=1

l:=0000h\ 0 r:=0000h\ 0 aa:=0000h\ 0

TAKT=2 TAKT=5 TAKT=6

S2 ___ IRAE ___ SUMA -> RAE RAE:=0000h\ 0

D2 ___ NSI ___ LR+1 -> LR LR:=0094h\ 148

IA=0 TAKT=7

Test ___ TIND ___ Adresowanie pośrednie

RAPS:=0017h\ 23

************************************************************

Symulację zakończono o godzinie 14:21:40.

Ocena końcowa : 0

Ilość błędów : 0

Algorytm obliczania zawartości RAE dla rozkazów w formacie zwykłym:

Opis działania algorytmu

Działanie algorytmu rozpoczyna się od sprawdzenia formatu danego rozkazu. Jeśli OP równa się 00000b, to jest to rozkaz w formacie rozszerzonym. Wtedy na lewe wejście sumatora podajemy zawartość pola N rozkazu, a na prawe 0. Obliczamy sumę i zapisujemy ją w rejestrze adresu efektywnego RAE. W przypadku rozkazu w formacie zwykłym kolejnym krokiem jest sprawdzenie trybu adresowania.

Jeżeli bity X=0 i S=0 to jest to adresowanie, w którym na lewe wejście sumatora podajemy zawartość pola DA rozkazu a na prawe 0.

Jeżeli bity X=1 i S=0 to jest to adresowanie indeksowe, w którym na lewe wejście sumatora podajemy zawartość pola DA, a na prawe zawartość rejestru indeksowego RI.

Jeżeli bity X=0 i S=1 to jest to adresowanie względne, w którym na lewe wejście sumatora podajemy zawartość pola DA rozkazu, a na prawe zawartość licznika rozkazów LR, który zawiera adres bieżącego rozkazu.

We wszystkich tych przypadkach obliczana jest suma wejść sumatora i sprawdzana czy jest to wartość większa od 255. Jeśli tak to suma przyjmuje nową wartość, a mianowicie resztę z dzielenia przez 256. Następuje tu ustawienie flagi XRO na 1.

W przypadku adresowania niedozwolonego, czyli gdy bity X=1 i S=1, na lewe i prawe wejście sumatora adresowego podawana jest wartość 0. Suma wynosi wtedy 0 oraz następuje ustawienie flagi XRO na 1.

Kolejnym krokiem jest zapisanie wyliczonej sumy w rejestrze adresu efektywnego RAE oraz sprawdzenie bitu I adresacji pośredniej. Jeśli bit I=1 następuje odczyt zawartości z komórki pamięci o adresie w RAE do rejestru X, przypisanie rejestrowi RAE zawartości rejestru X oraz zakończenie algorytmu. W przypadku gdy bit I=0 to jest to adresowanie bezpośrednie, czyli zawartość RAE jest ostateczna i następuje zakończenie wykonywania się algorytmu.

1 rozkaz: MUL OP=3 X=0 S=0 I=1 DA=0

Zadanie

START

X=S? => TAK

X=0? => TAK

SUMA_L = DA; SUMA_R = 0

RAE = DA + 0 = 0

RAE>256? => NIE

STOP

2 rozkaz: BXP OP=18 X=0 S=1 I=1 DA=0

Zadanie

START

X=S? => NIE

X=1 S=0? => NIE

X=0 S=1 =>TAK

SUMA_L = DA; SUMA_R = LR

RAE = DA + LR = 0 + 145 = 145

RAE>256? => NIE

STOP

3 rozkaz: BXN OP=20 X=1 S=0 I=1 DA=4

Zadanie

START

X=S? => NIE

X=0? => NIE

SUMA_L = DA; SUMA_R = 10

RAE = DA + RI = 14

RAE>256? => NIE

STOP

4 rozkaz: BAZ OP=23 X=0 S=0 I=0 DA=4

Zadanie

START

X=S? => TAK

X=0? => TAK

SUMA_L = 0; SUMA_R = 0

RAE = 0 + 0 = 0

RAE>256? => NIE

STOP


Wyszukiwarka

Podobne podstrony:
WYDZIA~1, Labolatoria fizyka-sprawozdania, !!!LABORKI - sprawozdania, Lab, !!!LABORKI - sprawozdania
Drgania Ćwiczenie nr 13, Politechnika Lubelska, Studia, semestr 5, Sem V, Sprawozdania, Laborka, Lab
ściskanie(lab), Studia, pomoc studialna, Sprawozdania Laborki, Wytrzymałość spr.nr2
Fizyka 25a, Labolatoria fizyka-sprawozdania, !!!LABORKI - sprawozdania, 25 - Interferencja fal akust
sprawozdanie laborki Koagulacja
Wibracje, Górnictwo i Geologia AGH, BHP i egonomia pracy, bhp i ergonomia sprawozdania laborki
spr-122, Labolatoria fizyka-sprawozdania, !!!LABORKI - sprawozdania, Lab, !!!LABORKI - sprawozdania,
Fizyka cw 123 wyniki, Labolatoria fizyka-sprawozdania, !!!LABORKI - sprawozdania, Lab, !!!LABORKI -
półprzewodnikowe złącze p-n, Labolatoria fizyka-sprawozdania, !!!LABORKI - sprawozdania, Lab, !!!LAB
sprawozdanie 2 laborki WtoN9
Sprawozdanie laborki,?danie warystorów
Sprawozdanie Laborki1 pop
wytrzymka12, Studia, pomoc studialna, Sprawozdania Laborki, Wytrzymałość spr.nr2
wytrzymka 5, Studia, pomoc studialna, Sprawozdania Laborki, Wytrzymałość spr.nr5
zapylenie M&M's, Górnictwo i Geologia AGH, BHP i egonomia pracy, bhp i ergonomia sprawozdania labork
sprawozdanie laborki Filtracja, Politechnika Wrocławska

więcej podobnych podstron