___ 1. Maszyna W
(pierwsza para nawiasów), której adres znajduje się w komórce pamięci (droga para) wskazywanej przez rejestr A.
Prosta modyfikacja maszyny cyfrowej W jest układ zawierający dodatkowo połączenie magistral: magA i magS (tak powstałą strukturę będziemy nazywać maszyna cyfrowa W+).
1.2. Rozkazy
Przedstawiana na wykładzie maszyna W, podobnie jak jej sprzętowa realizacja, posiada stała listę rozkazów. W programie SYMULATR pozwala się użytkownikowi na definiowanie, w oparciu o zadana architekturę, dowolnych rozkazów (sposób definiowania jest opisany w dalszej części pracy). Na początku tego punktu przypomnijmy zatem listę rozkazów maszyny W przedstawiona na wykładzie (tablica 1.1). Następnie, na przykładzie rozkazów dodawania i skoku warunkowego, omówimy zasady projektowania rozkazu.
Tablica 1.1
Lista rozkazów maszyny wykładowej
LISTA ROŻKA |
z6n maszyny w | ||
Ul |
POB |
((AD;) - AK |
pobtanie z PaO do AK |
101 |
SOM |
IL) - l gdy Z - 0 |
skok warunkowy przy Z « 1 |
!M» - L gdy Z » 0 |
(liczba ujemna w AK! | ||
10C |
S03 |
(AD) - L |
o kok b* mrunkow; |
Cli |
on t. |
(AK) - ( IAD) | AK |
odejmowanie |
MO |
mc |
(AK) - IAD) |
wpisanie z AK do PaO |
001 |
DOD |
(AK) * ( (AD) ) - AK |
dodawania |
1.2.1. Synteza rozkazu
Działanie rozkazu sprowadza się do wykonania, w odpowiedniej kolejności, określonych przesyłów między rejestrowych. A zatem pierwszym etapem syntezy rozkazu jest określenie sekwencji przesyłów międzyrejestrowych, odpowiadającej działaniu danego rozkazu. Następnie należy pogrupować przesyły w takty i wreszcie określić dla każdego taktu, które sygnały sterujące maja być aktywne w tym takcie.
1.2.1.1. Rozkazy arytmctyczno-logiczne oa przykładzie rozkazu DOD
Zadanie rozkazu DOD, którym jest dodanie do akumulatora AK zawartości komórki pamięci o adresie wskazanym przez część adresowa rozkazu, zrealizowane zostanie w następujących etapach (obok określenia danego przesyłu podano nazwy sygnałów, powodujących jego wykonanie):
a) pobranie rozkazu do rejestru instrukcji ((A)) - S : czyt
(S) -* I : wys, aya
b) inkremcntacja licznika rozkazów
(L) + 1 - L : U
c) odczy t argumentu
(AD) -* A : wy ad, węą
((A)) - S : czyi
d) dodanie argumentu do akumulatora
($)+(AK) — AK : wys, weja, dod, weak
e) przygotowanie do pobrania następnego rozkazu
(L) -* A : wył. wea
Przyjęto tu, że przygotowanie do pobrania aktualnie rozważanego rozkazu następuje, dla oszczędności czasu, na końcu wykonywania rozkazu poprzedniego. Obecnie należy podzielić czynności związane z wykonaniem rozkazu na takty i określić sygnały aktywne w każdym z taktów. Zauważmy, że czynności określone w punktach a) i b) można wykonać w jednym takcie zegara. Po wykonaniu tego taktu następuje dekodowanie rozkazu (na podstawie zawartości rejestru instrukcji 1) i w drugim takcie można przesłać adres argumentu rozkazu do rejestru adresowego pamięci (pierwszy przesył z punktu c)). W ostatnim trzecim takcie możliwe jest wykonanie wszystkich pozostałych czynności związanych z realizacją omawianego rozkazu. Przebiegi czasowe sygnałów mikrosterujących przedstawia rysunek 1.2.
Rozkaz dodawania musi się składać z trzech taktów. W poszczególnych taktach powinny być aktywne następujące sygnały sterujące:
- takt 1: czyt, wys, wei, ii
- takt 2: wy ad. wea
- takt 3: czyt, wys, weja, dod, wcak. wyl, wea
1.2.1.2. Rozkaz skoku warunkowego SOM
Realizacja rozkazu SOM zależy od zawartości akumulatora. Jeżeli zawartość jest ujemna (Z = 1), to zadanie rozkazu SOM polega na przerwaniu sekwencyjnej realizacji programu i rozpoczęciu nowej sekwencji od adresu wskazanego w części adresowej rozkazu. W przypadku nieujemnej zawartości akumulatora (Z = 0) należy przejść do realizacji następnego rozkazu. Realizację tego rozkazu można rozbić na następujące etapy:
a) pobranie rozkazu
((A)) - S : czyt
(S) -* 1 : wys. E£|
b) inkrementacja licznika rozkazów (L) + I - L : ii
c) testowanie bitu Z akumulatora, jeśli bit Z = 0, to przejście do punktu c, w przeciwnym
razie do punktu d