Wojskowa Akademia Techniczna
Laboratorium Budowy Komputerów
Sprawozdanie
z ćwiczenia laboratoryjnego
nr 3
Temat ćwiczenia: Mikroprogram pobrania rozkazu.
Pobieranie rozkazów w formacie zwykłym dla adresowania pośredniego.
Dominik Sabat
Grupa I2Y4S1
1. PAO
0 0000000011110000b 00F0h 240
1 0000000000010001b 0011h 17
2 0000000000011011b 001Bh 27
3 0000000000000100b 0004h 4
4 0000000000000011b 0003h 3
17 0000000000000010b 0002h 2
27 0000000000000001b 0001h 1
167 0010000100000011b 2103h OP=4 X=0 S=0 I=1 DA=3
168 1100100000000111b C807h OP=25 X=0 S=0 I=0 DA=7
169 1101101000000001b DA01h OP=27 X=0 S=1 I=0 DA=1
170 1111111100000111b FF07h OP=31 X=1 S=1 I=1 DA=7
171 0011001111001111b 33CFh OP=6 X=0 S=1 I=1 DA=207
172 1101101010111100b DABCh -9540
255 0000000001101000b 0068h 104
Rozkazy:
150 MUL 001 format zwykły, adresowanie: pośrednie
151 BXP 011 format zwykły, adresowanie: pośrednie względne - rejestrowe
152 BXN 101 format zwykły, adresowanie pośrednie: względne - rejestrowe
153 BAZ 110 format zwykły, adresowanie pośrednie: tryb zabroniony -bezpośrednie
154 LDX 010 format zwykły, adresowanie względne - rejestrowe
2. 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
D3 ___ IX ___ BUS -> X
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. Operacja OPC dla rozkazów rozszerzonych dodaje do ich kodu operacji 32.
3. Log
Log zapisano w Piątek, 2013-01-11
-------------------- 0 --------------------
TAKT=0 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:=00A7h\ 167
D1 ___ IRAP ___ BUS -> RAP RAP:=00A7h\ 167
MAV=0 TAKT=2 TAKT=5 TAKT=6 IA=1 RBP:=2103h\ 8451
IA=0 IA=0 TAKT=7
S3 ___ ORBP ___ RBP -> BUS BUS:=2103h\ 8451
D3 ___ IRR ___ BUS -> RR RR:=2103h\ 8451
RAPS:=0031h\ 49
-------------------- 49 --------------------
TAKT=0 RBPS:=68C801830032
S1 ___ ORR ___ RR -> BUS BUS:=2103h\ 8451
D1 ___ ILK ___ BUS -> LK LK:=0003h\ 3
l:=0003h\ 3 r:=0000h\ 0 aa:=0003h\ 3
TAKT=2 TAKT=5 TAKT=6
S2 ___ IRAE ___ SUMA -> RAE RAE:=0003h\ 3
D2 ___ NSI ___ LR+1 -> LR LR:=00A8h\ 168
IA=0 TAKT=7
RAPS:=0032h\ 50
-------------------- 50 --------------------
TAKT=0 MAV=1 RBPS:=900624000000
S1 ___ ORAE ___ RAE -> BUS BUS:=0003h\ 3
D1 ___ IRAP ___ BUS -> RAP RAP:=0003h\ 3
MAV=0 TAKT=2 TAKT=5 TAKT=6 ...
jarevock