ZE SZ YT Y NAUKOWE POLITECHNIKI Ś L Ą S KI EJ
Seria: I N F O RM AT YK A z. 5 Nr kol. 759
________ 1983
Adam G A C E K
S t an is ła w KOZIELSKI Piotr STRÓ ŻY NA
MO DE LO WA NI E LISTY R O Z K A Z Ó W OLA POTRZEB KOMUNIKACOI
Z O T OC ZE NI EM PRZY W Y K O R Z Y S T A N I U K O MP UT ER A D Y D A K T YC ZN EG O EW
S t r e s z c z a n i e . W pracy p r z e d s ta wi on o an alizę do boru r o zk az ów dla przyjętej s i ru kt ur y systemu prze rw ań i systemu w e j ś c i a- wy jś ci a d y daktycznego- komputera EW. Ro zp a t r z o n o różne m o żl iw oś ci or ga ni za cj i cyklu ro zk azowego z obsługę przerwanie or az różne sp osoby re al iz a
cji w y m i a n y informacji. Dla badanych w a r i a n t ó w fu nk cjonalnych p o d a no ich re al iz ac ję mi kroprogramowę.
1. Wstęp
P r oj ek to wa ni e list y rozk az ów dla komputera ni kr o p r o g r a m o w e n e g o stanowi w swej Istocie za danie optymalizacyjne. Ch od zi przy tym za ró wn o o ok r e ś lenie m i n i ma ln eg o zb io ru rozk az ów u m oż li wi aj ęc yc h z r e a l i zo wa ni e w k o m p u terze pożęda ny ch operacji. Jak i o ustalenie op ty m a l n e g o sposobu re al iz a
cji po sz cz eg ól ny ch rozkazów. W k o mp ut er ze ol k r o p r o g r a a o w a n y m Istnieje z w y
kle m o żl iw oś ć z r e a l i zo wa ni a w l ę k e z o ś c i r o zk az ów kilkoma sposobami w z a leżności od pr zy po rz ęd ko wa ny ch im se kw en cj i ml kr o p r e g r a m o w y c h ze zbioru e l kr o r o z k a z ó w n i e d o s tę pn yc h dla programisty.
S e kw en cj e te okre śl aj ę uż ytkowę listę r e m k az ów komputera. Z kolei w i a domo, że w systemach o p er ac yj ny ch pewne sekwencja r o z k az ów u ż yt ko wy ch m o gę tworzyć tzw. m a k r o r o z k a z y re al lzujęce bardziej zł oż on e operacje. Mo żn a przyjęć, że w komput er ze m l k r o p r o g r a m o w a n y m wy st ę p u j ę trzy po zi om y p r o
gramowania, a mianowicie:
- poziom m l k r o r o z k a z o w y , - poziom rozk az ów użytkowych, - poziom aakrorozkazowy.
U s ta le ni e od po wi ed ni eg o po dziełu funkcji rozkazowych p o m i ę d z y te trzy poziomy progra mo wa ni e stanowi istotne zadanie w proc es ie projektowania lis
ty rozkazów. Rozw ię za nl e tego zadania d e cy du je o e l as ty cz no śc i p r o g r a m o wania komputera, czyli je go po da tn oś ci do prostej 1 łatwej mody- 1 flkacji op ro gr am ow an ia użytkowego, a także określa przy da tn oś ć komputera do w y b r a n y c h zastosowań. Za uw aż my , że w myśl po wy żs zy ch o k r e śl eń n a j w y ż szą elas ty cz no ść p r og ra mo wa ni a posiada komputer, którego lista ro zkazów użytkowych odpowiada liście mikrorozkezów. Oe dnak taki komputer Jest w is-
98 A. Gacek. S. Kozielski, P. Stróżyna
tocio mało użyteczny, gdyż wymaga zapr og ra mo wa ni a przez pr og ra mi st ę każ
dej elooentarnoj operacji, tj. np. pobrania argumentu z pa mięci o p e r ac yj
nej, z w i ę ks ze ni a stanu licznika rozk az ów o Jede n ltp. przez co Jego pro
gramow an ie J e e t “ bardzo złożone, a każdy program uż yt ko wy Jest ba rd zo roz
budowany. P r z e c i w n i e ,ek st re ma ln ie na jn nisjezę elas ty cz no ść programowania posiada ko mp ut er s p e c ja li zo wa ny re ol izujęcy zadanie w e dł ug tzw. programu etałego. W tym przypadku mo dy fikacja programu w y ma ga w y m i a n y ca łe go pro
gramu stałego. Komputer taki Jest Je dn ak w swej klasie zastos ow ań bardzo użyteczny, gd yż raz za pr og r a m o w a n y nie w y m a g a Ju ż ża dnego nadzoru ze stro
ny programisty.
Uw zg lę dn ia ję c po wyższe uwagi można stwierdzić, że zaga dn ie ni e p r o j e k towania listy rozkazów dla komputera o o k re śl on ym przezn ac ze ni u s p ro wa
dza się w rezultacie do ustalenia opty ma ln eg o podziału funkcji r e al iz ow a
nych w komputerze w sp os ób uk ła do wy 1 programowy. Zn a c z n ę część problemów zwięza ny ch z p r o j ek to wa ni em listy ro zkazów można rozwlęzać, stosujęc m e tody symulacyjne ob ej mu ję ce mo de l o w a n i e programowe i układowo. Przy za
stosowaniu symulacji programowej proj ek to wa na lista ro zk az ów jest mo de lo
wa na w komputerze o bardziej rozbudowanej liście rozk az ów 1 d u ż y c h mo ż l i wośc ia ch programowych. W ten s p os ób Je dn ak możliwe Jest st os un ko wo proste zamode lo wa ni a list y ro zkazów w za kresie funkcjonalnym, natomiast znacznie utrudn io ne Jest ze mo de lo wa nl e sp osobu re al iz ac ji p o s z cz eg ól ny ch rozkazów ń e po ziomie ml krorozkazowym.
Symu la cj a uk ładowa polega na ut wo rz en iu u k ła do we go mo de lu c a łs go kom
putera, dla kt órego proj ek to wa na jest lista ro zkazów lub w y d z i e l o n y c h Ja
go b l o k ó w funkcjonalnych. Ten rodzaj s y mu la cj i można zr ee l i z o w a ć ze pomo
cy swobodnie m l k r o p r o g r a m o w a n e g o komputera mo d e l u j ę c e g o o rozbudowanoJ i uniwersalnej st ru kt ur ze logicznej. W tym przypadku w w y ni ku badań s y mu la
cyjnych fragment s t ru kt ur y komp ut er a mo de lu j ę c e g o staje się w z o r c e m stru k
tu ralnym komputera, dl a kt órego proj ek to wa na jest lista rozkazów.
Praca nini ej sz a d o t y c z y za st os o w a n i e sy mu la cj i układowej do p r o j e k t o wa ni a listy rozkazów. W tym przy pa dk u Jako ko mp ut or o o d e l u j g c y z o st ał za
st o s o w a n y ko mp ut er d y d a k t y c z n y E W o p ra co wa ny w 1ICR sp ec ja ln ie dla ce
lów labo ra to ry jn eg o mo de lo wa ni a list rozkazowych. S p o s ó b wykorz ys ta ni e komputera m o d e l u j ę c e g o w pr ocesie p r o j e k to wa ni a listy rozk az ów p r z e ds ta
w i o n o w prac y na pr zy kł ad zi e rozk az ów komu ni ka cj i komp ut er a z otoczeniea.
Ko mputer EW jest ko mp ut er em swobodnie m i k r o p r o g r a m o w a n y m , ale ze w z gl ęd u na swoje d y d a kt yc zn e za st os o w a n i e po siada u p r o sz cz on y strukturę
[3], która nie umożliwia z a mo de lo wa ni a ca łych list rozkazowych, a jedynie pewne gr u p y rozkazowe. Oeet to J e dn ak zupe łn ie w y e t a r c z a j g c e , by w calach dydakt yc zn yc h zobraz ow ać główne p r ob le my zw lyzane z pr oj ek t o w a n i e m liaty rozkazów.
M o de l o w a n i e listy ro zk az ów dl« p o tr ze b komunikacji. 99
2. S y et e* pr zerwań koaputars d y d a k t y c z n e g o EW
P r e z e n t o w a n y sy st aa prze rw ań Jaat sy stem** czteropozioaowy*. Oago struk- turę p r z e ds ta wi a rys. 1.
Zg ło s z e n i a przerwań (z k l aw ia tu ry funkcyjnej oraz sy stemu w a jś cl a- wy j- ścia) pr zy jmowane ag do rejestru zgłoszeń. W y jś ci a z tago rejestru aogę być a a sk ow an a zale Zn la od zs ws r t o ś c l re jestru aaekl. Przy z g ło sz en ia ch na kilku po zi oa ac h w y b ó r najs ta rs za go pozloau nast ęp uj e w uk ładzie h i er ar
chii. Z g ł o s z e n i e w y br an e po wo du je g e ne ra cj ę sy gn ał u przerw an ia INT. będą
cego sygn ał aa stanu w y k o r z y s t a n y * w uk ładzie sterowania. Rozpoznania pr z e r wani a i p r ze jś ci a d o ob sługi pr ze rw an ia w cy kl u rozkazowy* po tw ie rd za na jeat ey gnałe* "a n i * w p l s u j ę c y m przyjęta do ob aługl z g ło az an le do rejestru przerwań. Za pa l a n i a o d p o w i ed ni eg o pr ze rz ut nl ka w ty* rejestrze przerywa pr zy ty* - w u k ł a dz ie sa ao b l o k a d y - możl iw oś ć dalszej g e ne ra cj i sygnału INT z d a ne go pozloau. W rejestrze p r ze rw ań *ogę się zn aleźć równocześnie zg ło sz en ia z kilku pozioaów, pod warunk ie a, ź* zg ło sz en ia ta nadc ho dz ił y w k o le jn oś ci w z r o s t u ich priorytetów. Taka z a wa rt oś ć rejestru prze rw ań o d po wi ad a sytuacji, kiedy została rozpoczęta, a potea zawieszona, reali
zacja kilku pr og r a a ó w obsługi przsrwań (dla o d po wi ed ni ch pezioaów) , przy czy* pr ograa ak tu al ni e re al iz ow an y Jest p r og ra ae a ob sługi ns js ts rs ze go epośród zg ło s z o n y c h pozioaów.
Z e r o w a n i e p r z e r w a ń po winno następie p r z y taki* d z ia ła ni u systemu, po za ko ń c z a n i u prog re su obsługi przerwania. S y gn ał z a r u j ę c y *r l n t * apowoduje w t e d y w y z e r o w a n i a re jestru z g ł o s z e ń 1 re jestru p r ze rw ań na po zy cj i w y b r a nej przez układ hi er a r c h i i z g ł o s z a ń p r zy ję ty ch do obsługi, a w i ę c o d p o wiadaj ęcej pozloaowl, kt órego p r og ra mo wa ob sługa zo st ał a w ł a ś n i e z a k o ń czona.
Praca z a k t y wn y* syst aa a* p r z e r w a ń o pr ze dstawionej s t ru kt ur ze wy *age uw zg l ę d n i e n i a w tr akcie pr oj e k t o w a n i a listy ro zkazów na st ęp uj ęc yc h a s p e k tów, w p ł y w a j ę c y c h na te ch ni kę tworzenia op ro gr am ow an ia p o d s ta wo we go kom
putera :
1) Z a ch ow an ie stanu p r oc es or a w trakcie przejścia d o programu obsługi przerwania.
2) O d t w ar za ni e tego stanu po wy k o n a n i u pr ogramu obsługi.
Z a p a m i ę t a n i e stanu procesora w y k o n y w a n e *oźe być c z ęś ci ow o a u t o m a t y c z nie w trakcie ob sł ug i p r ze rw an ia w cyklu rozkazowym, częś ci ow o z a ś pro
gr amowo w p r og ra mi e ob sł ug i przerwania.
O d t w a r z a n i e stanu pr oc es or a inicjowane jest programowo, przy czym zł o
żo no ść tych operacji z punktu w i d z e n i a pr og r a m i s t y z a le ży od do st ęp ny ch
■u rozkazów.
W kole jn ym rozdziale pr a c y pr ze ds ta wi on a zostanie analiza różnych w a ri an tó w ch owania i od tw arzania stanu procesora w ko mp ut er ze EW.
Rys. 1. Stru kt ur a systemu pr ze rw ań
Modelowanie listy ro zk az ów dla po tr ze b komunikacji. 101
3. Ch owanie i o d t w ar za ni e stanu procesora tr przypadku przerwania; o r g a n i zacja cyklu rozkazowego z uw zg lę d n i e n i e m obsługi przerwania
O a k w s p o m n i a n o poprzednio, układ s t er uj ęc y ko mp ut er a info rm ow an y Jest o wy ot ę p l o n l u z g ło sz en ia w systemie prze rw ań za po śr ed ni ct we m sygnału INT.
Podejmowano w takim przy pa dk u obsługa przerw an ia w cykl u rozkaz ow y» musi zapewnić p r ze jś ci e d o realiz ac ji o d p o w i ed ni eg o pr ogramu ob sł ug i z e w en tu
alnym z a p a m i ęt an ie m etanu procesora w c h wi li przerwania. St an procesora (po za ko ńc ze ni u re al iz ac ji kolejnego rozkazu) ok re ś l o n y Jest z a w a rt oś cl ę licznika r o z k az ów L, rejestru akum ul at or a A K oraz rejestru ro bo cz eg o X.
R o z w a ż y m y 3 typowe dla różnych kompuffegów w a r i an ty obsługi przerwania w cyklu rozkazowym.
a) Przejście do pr ogramu ob sł ug i przerwania na st ę p u j e bez J a k i eg ok ol wi ek ch owania re je s t r ó w procesora.
b) W cyklu ob sł ug i przerwanie chowana Jeat za w a r t o ś ć licznika rozkazów, nato mi as t za wa rt oś ci pozo st ał yc h reje st ró w chowane sę na poczętku p r o
gramu ob sługi przerwania.
c) W cykl u ob sługi przerwania ch owane sę au to ma ty cz ni e z a w a r t o ś c i w s z y s t kich r e je st ró w o k r e ś l aj ęc yc h st an procesora. '
Za uw aż my , te kolejne w a r i a n t y pozwalaję up ro śc ić program obsługi przer
wania, w y m a ga ję natomiast wi ęk s z e g o czes u na realizację, a także liczby zajmowanych komórek pa mi ęc i (czasami niepotrzebnie).
S t os ow ni e do p r ze ds ta wi on yc h w a r i a n t ó w ob sługi przerwania ro zw a ż y m y różne sp osoby w y jś ci a z prog ra mu ob sł ug i przerwania. Obok skoku b e z w a r u n kowego za st os ow ać tu można rozkaz skoku według śladu wr az z dodatkowę moż- liwościę od tw arzania rejestrów arytmetycznych.
Ws zy st ki e te trzy pr ze dstawione w a r i an ty obsługi -przerwanie mogę zo
stać łatwo za mo de l o w e n e w maszynie cyfrowej EW, Om ów im y Je kolejno:
ad 8) W tym n a jp ro st sz ym pr zy pa dk u obsługa przerwania polega na w p r o wadzeniu do rejestru a d re so we go pa mięci operacyjnej adresu przerwania AP, Zapiszemy to następujęco:
A P — — A: w y a p , w e a .
Adres A P tworzony Jast w e d ł u g nu meru najs ta rs ze go po ziomu w p i s a n e g o do RP. A d r e s y prze rw ań gr upuje oię w tzw. w e kt or przerwań, z s w l e r a j ę c y łęcz- nlki (rozkazy skoku) do w ł a ś c i w y c h pr o g r a m ó w obsługi.
W omawianym przypadku za wa rt oś ć licznika ro zkazów pozost an ie (w trak-' cie ob sł ug i przerwania w cyklu rozkazowym) nienaruszona. Programista może spowodować z a p a m i ę t a n i e za wa rt oś ci licznika (śladu p r ze ry wa ne go programu), usleszczajęc w komórce łęcznika rozkaz skoku do podp ro gr am u (rys. 2a).
102 A. Gacek, S. Kozielski, P. Stróżyna
poziom
poziom ^(AP^ )
ś l a d p rz e rw a nego program u
program o b s łu g i p r z e r w a n ia d l a peziom u i
W
Ryt. 2«,b. Orga ni za cj a we kt or a prze rw ań dla rólnych p r zy pa dk ów obsługi przerwania w cykl u rozkazowya
Mode lo wa ni e listy ro zk az ów dl« po trzeb komunikacji. 103
c /
poziom X-1
i ( . P j
•■•oziom i
program o b s łu g i p r z e rw a n ia
/v /ra z z kom ór- . ka;..i do tr z o c h c - ~ S , w ania s ta n u
p r o c e s o r a /
rar.:itt-ć operący jn a
A dres K )P._1
Adres POP.
(l) - ¿lad (AK)
00
POP.
w e k to r i.Tzerv/oil
z a w a rto ść l i c z n i k a rozkazów z a w a rto ść a k u m u la to ra AK z a w a rto ść r e g e s t r u X
Rye. 2c. Or ga ni za cj a we kt or a prze rw ań dla różnych przypadków obsługi prze r
wania w cyklu rozkazowym
Przyjmiemy, Ze rozkaz skoku do podp ro gr am u (SDP ADR) spowoduje z a p a m i ę t a nia óladu w pierwszej komórce podprogramu, co za pl s z e a y następująco:
(L) ♦ 1 — (ADR) ADR + 1 — L
g d z i e :
A D R - argument rozkazu (zawartość części adresowej rejestru rozkazów ADR - (A D)).
L - licznik rozkazów.
Za pa mi ęt an ie , a potem odtw or ze ni e po zo st ał yc h reje st ró w ar yt me t y c z n y c h zape wn ić musi pr og ra mi st a w pr og ra mi e ob sługi przerwanie. O c zy wi śc ie dla ko nk re tn eg o pr ogramu ob sł ug i p r ze rw ań czyn no śc i te (jak ró wn ie Z chowanie śladu) mogę się okazać ni ep otrzebne, co pozwoli z a os zc zę dz ić czas i pa
mięć komputera.
W przy pa dk u z a pa mi ęt an ia śladu powrót z programu obsługi pr ze rw an ia mo
le na stęplć za pomocę rozkazu po wrotu z po dp rogramu lub skoku b e zw ar un ko
wego ad re so w a n e g o pośrednio (przez komórkę śladowę).
Funkcję ra al iz ow an ę przez rozkaz po wrotu z p o d p ro gr am u (FWR ADR) ok re
ślamy następujęcot
(ADR) L.
104 A. Gacek. S. Kozlelaki, P. Stróżyna
Cek Już wspomn ia no po pr ze dn io na za ko ńc ze ni e programu ob sługi pr z e r w a nie powinno na etępić zero wa ni e eysteau przerwań, przez wy ge n e r o w a n i e syg
nału "r l n t *. Operację tę w y ko na ć nożna ze ponocę b e z a r g un en to we go rozkazu Z PR ("zerowanie przerwania"). Ro zk az taki odpowiada pozionowi mikrorozka- zu ( n lk ro ln et ru kc ji ).
Innyn w a rl an ta n rozwięzania tego problemu Jest połęczenle op er ac ji z e rowania pr zerwań oraz funkcji rozkazu ‘powrót z podprogramu" i utworzenie w ten sposób rozkazu "powrót z pr ze rw an ia " (PZP ADR) op is an eg o następuję- c o :
. zero wa ni e syetenu pr zerwań (sygnał "r l n t ") , . (ADR) -— > L, gdzie ADR ws ka zu je konórkę śladowę.
ad b) W przypadku, kiedy w cykl u obaługl przerwania chowana Jast a u tomatycznie zawa rt oś ć licznika rozkazów, or ga ni za cj ę we ktora pr zerwań z i lustrować można rys. 2b.
ślad pr ze ry wa ne go pr ogranu ch ow an y Jest wted y do we ktora pr zerwań pod adres AP, po czym następuje przejście do komórki następnej, w której po
w i ni en znajdować się łęcznik pr ogramu obsługi przerwania. Czynności te za
pi sz em y w n a s t ęp uj ęc y sposób:
A P — A : (L) — S : (S)— (A) :
A P — L :
(L> + 1 — L:
Z a pa mi ęt an ie 1 odtworzenie pozostałych rejestrów ok rs śl aj ęc yc h stan procesora zapewnić musi programista w programie obsługi przerwania. Po
wrót z przerwania wy k o n a ć można identycznie Jak w przypadku poprze dn io o- mówionyn.
ad c) W tym w a ri an ci e założymy, że w cyklu obsługi przerwania a u to ma
tycznie zapami ęt yw an e Jast z a wa rt oś ć ws zy st ki ch reje st ró w określsjęcych stan procesora. Dedrro z możl iw yc h rozwięzań takiej op eracji przedstawiono na r y s . 2 c .
W e kt or pr zerwań zawiera w takim przypadku Jedynie ad re sy prog ra mó w o b sługi. Do zare ze rw ow an yc h po cz ętkowych komórek tych prog ra mó w chowana Jest zawartość licznika rozkazów, ak um ulatora 1 rejestru X.
Operacje te z a pi sz em y następujęco:
AP — A : wyap, w e a .
( (a) ) — — S : czytaj ' A d r e * P ° P i— A ( s ) — •- A : w y a , aa, w e a ,
( U — •- S : wyl, as, wes Z a pa mi ęt an ie śladu w e d ł u g A (s) — •- (a) : pisz
w y a p , wea wyl, as, w e s , p i s z ,
wyap, w e l . lnkrement
Mode lo wa ni e lloty rozkazów dle po tr ze b komunikacji. 105
A P --- -- A : w y e p, w e a, i ((A)) — S : czytaj
(S) ---- -- L : w y s, o s, wal ■ Ad re s POP^ ♦ 1 — *-L, A (l) + 1 L : Inkrement
(L) ---- -- A : *»yi. wgo, .
(AK) ---- «- S : wyak, was Z a pa mi ę t a n i a A K w e dł ug A
( s ) — -(a) : piez
(l) + 1 — *■ L : inkrement Ad re s POP, + 2 — »-L, A (L) — A : w y l , wea
(X) — S : w y x , wee Z a pa mi ęt an ie X we dł ug A
( s ) — «- (A) : pisz
(k) + l — *■ L : inkrement Adre s POP^ + 3 — w L, A (przygoto (L) --- ► A : w y l , wea wani e ad re au na st ęp ne go rozkazu)
W om aw ia ny m przypadku celowe jest za pr o j e k t o w a n i e ro zs ze rz on eg o w a riantu rozkazu "powrót z przerwania", um oż ll wi aj ęc eg o od tw or ze ni e przy p o wrocie z a wa rt oś ci w s zy st ki ch za pa mi ęt yw an yc h rejestrów. Dla od ró żn ie ni a za p i s z e m y ten rozkaz w postaci] PO W ADR ( A D R - edre e komórki śladowej), zaś Jego funkcje z d e f in iu je my następujęco':
• ze ro wa ni e sy st em u prze rw ań (sygnał "r l n t " ) ,
• (ADR) — — L (odtworzenie śladu),
• (ADR+1) — *-A K (odtworzenie za wa rt oś ci akumulatora),
• (a d r+2) — X (odtworzenie z a w a r t o ś c i re jeotru X).
Dla prawidłowej ob sługi przerwania konieczne Jset w ni ek tó ry ch pr zy
padkach ma sk ow an ie przerwań. O p er ac ję takę real iz uj em y za po mocę rozkazu MAS arg, kt órego część adresows zawiera bity maski, przesyłano do rejes
tru maski:
(A D)— »-RM : wyad , wam
Wł ąc z e n i a ob sługi przorw an ia do cyklu rozkazowego
Przeds ta wi on e p o pr ze dn io w a r i a n t y ob sługi pr zo rw an ia na leży wł ą c z y ć do całego cyklu rozkazowego. Problem ton rozważymy no pr zy kł ad zi e rozkazu DOX ADR (dodawania z a wa rt oś ci wokozonaj komórki pamięci do rejestru X). O r g a nizację pr zesłań ralędzyrejoatrowych dla tego rozkazu p r z e d s ta wi on o w p r a
cy [3],
Ob sługo przerw an ia w y ko ny wa na Jeet zazwyczaj po za ko ń c z e n i u ws zy st ki ch op eracji z w ią za ny ch z da ny m rozkazem i s t wi er dz en iu a k ty wn eg o stanu s y g nału INT. C z yn no śc ią ro zp oc zy na ją cą obsługę pr ze rw an ia aiual być zapleenie p rzerwania sygn ał em "oni" d o rejeotru pr zerwań RP.
Or ga n i z a c j ę cy kl u ro zk az ow eg o z uw zg lę d n i e n i e m różnych w e r l e n t ó w ob
sługi przerwania p r z e d s ta wi on o no rya. 3.
106 A. Gacek. S. K o z i e l a k i . P. Strótyna
(
PCCZATłO/
- r a g n e n ty m ik ro p ro -
gramu '
w sp ó ln e clla
w s z y s tk ic h
rozkazuw
\
c z y - . a j , w y s , w e i , i n k r e m e n f c
1
-*r- — — ——
r
w y a d , w c - a . wyj{.pobierz,weak
c z y t a , i , w y s . d o d a . ' i , w e a k
I p o b r a n i e r o z k a z u
~~| zd ek o d o w an i e r o z k a z u -<JX
Wykrywanie i o b s łu g a
5
p rz e rw a n ia
1° P o s ta ć ro z k a z u n ie p rz e ry w a lr.e g o : w y l, w ea, kem
Q
©
2o t r z y w a r ia n ty o b s łu g i p r z e rw a n ia d l a o r z e r y w a ln e j p o s t a c i rozkazów :
Rya. 3a.b. Orga ni za cj a cyklu rozkazowego z obeługę przerwania
M o d e lo wa ni e llaty ro zk az ów dl» po tr ze b komunikacji.. 107
Rya. 3c. Orga ni za cj a cyklu ro z k a z o w e g o z obsługo przerwania
Za le t; pr ze ds ta wi on eg o po de j
ścia jeat jego uniweraalna postać możliwa do wykorzystania dla wszyst
kich rozkazów. Dq ż o c do skrócenia czaau w y k o ny wa ni a rozkazów, nożna jednak w y kr yw an ie 1 ob sług; p r z e r wani a w y ko ny wa ć w pewnya za kreele równoczaśnle z realizacjo saaego rozkazu. Zi lu st r o w a n o to H a rys. 4 dla przypadku rozkazu DOX, w y b i e rając wa riant b obsługi pr z e r w a nia (autonatyczne ch ow an ie śladu).
Zauważmy, że czas realizacji roz
kazu ulega w tym przypadku s k r ó c e niu o Jedno m l k r o i n s t r u k c j ę , Jeśli przerwenla nie było oraz o dwie m i kr ol na tr uk cj e przy w y k r yc iu i ob słudze przerwania.
O c zy wi st o wa d; takiego rozwio- zenia j,eet brak mo żl iw oś ci w y k o rzystania m l k r o p ro gr an u obsługi przerwania dla wi el u rozkazów.
Rys. 4. R ó wn ol eg ła realizacja rozkazu 1 obsługi przerwanie
108A.Gacek.S.Kozielski.P.Str6żyna
Mode lo wa ni e li st y ro zkazów dla p o tr ze b komunikacji.. 109
4. S y s t e m we jś ci a - wył¿cle
S y st em w e / w y d y d a k t yc zn eg o komputera EW obejmuje Je dynie dwa układy interfejsu - czytnika i perforatora (dziurkarki) taśmy p a p i e r o w e j . Na rys.
5 p r z e d e t e w l o n y Jest u p r o sz cz on y schemat bl okowy układu Interfejsu (obwo
du wymiany) czytnika. Część sterujęcę układu stanowię prze rz ut nl kl ST AR T 1 G Ó T O W ze rowane sy gnałem " z e r “ po wł ęc z e n i g zasilania. W y sł an ie Z pr o c e sora sygnału ml k r o s t e r u j ę c e g o "s t a r t " powo du je zapalenie się pr ze rz ut ni ka STAR T i gene ra cj ę sygnału A C C - startu dla czytnika. Ponadto sy gn ał "start"
z e ru je pr ze rz ut nl k GOTOW, jeśli był on zapalony. Po wc zy ta ni u Je dnego rzędka inform ac ji cz ytnik uaktywnia sygnał gotowości SCC, który wp isuje wc zy ta nę Informację do w e j ś c i o w e g o rejestru buforowego 1 ustawia prze- rz utnik GOTOW, co powoduje zgas ze ni e prze rz ut ni ka START. Informacja z re
jestru b u fo ro we go podawana Jest na ma gi st ra lę danych procesora sygnałem ml kr o a t e r u j ę c y m "rwe". G o t o w o ś ć cz ytnika może być testowana dwojako:
a) ak ty wn y sygnał m i k r o s t e r u j ę c y "wyg" powoduje podanie na n a js ta rs zy bit m a gi st ra li da nych (S7) stanu pr ze rz ut ni ka GOTOW; stan bitu S7 może być w proces or ze be zp ośrednio testowany,
b) w mo mencie w y s t a w i e n i a przez cz ytnik sygnału goto wo śc i (SCC) g e ne ro wa
ny Jest Impuls Z G Ł , będęcy sy gn ał em zgłosz en ia dla układu przerwań;
zate m go towość cz ytnika można testować pośr ed ni o przez przerwanie.
Należy zauważyć, że ws zy s t k i e sy gnały mikro' sterujęce dla uk ła dó w we/w y bramko wa ne sę sy gnałem ko
du selekcyjnego. Sygnały sterujęce w y s y ł a n e sę do w s zy st ki ch uk ł a d ó w In t e r fejsu, jednak efekt w y w o łuję tylko w uk ładzie w y br an ym przez kod s e l e k c y j ny ok re ś l o n y przez 3 najmło ds za bity rejestru rozkazów. Fakt ten narzuca format rozk az ów we jś ci a- wy jś ci a przeds ta wi on y ns rys. 6.
Część sterujęca układu interfejsu pe rf or at or a Jest Identyczna Jak w u k ładzie czytnika. Różnice wy st ę p u j ę Jedynie w kierunku transmisji dB- nych. Inform ac je z ma gi st ra li da nych pr oc es or a wp is y w a n e sę do w y j ś c i o w e go rejestru bu fo r o w e g o sygnałem ml kr o a t e r u j ę c y m "r w y *.
Z e s t a w dwóc h ur zędzeń z e wn ęt rz ny ch w ma sz yn ie EW o pr ze ci wn yc h k i e r u n kach transm is ji Jest w y s t e r c z a j ę c y d o zobr az ow an ia pr ac y systemu we / w y dla celó w dy da ktycznych. S y st em we / w y w ma sz yn ie EW można w łatwy sposób rozbudować, dołęcz aj ęc nowe u k ła dy Interfejsu ws pó łp r a c u j ę c e z procesorem ns zasa da ch a n a l o g ic zn yc h Jak opisane powyżej.
dowolne
, a _
W
kod op er ac ji kod selekcyjny
ur zę dz en ia zewn.
Rye. 6. Format rozkazów wjJ śclarwyjścla
110 A. Pacek, S. Kozielski, P. Stróżyna
5. Tryb y w y w i a n y l n f o r « a d 1 w ko mp ut er ze EW
Biorąc pod uwagę mo żl iw oś ci sprzętowe koaputero E W można w y r ó ż n i ć trzy różne - z p r og re so we go punktu wi dz en ia - możliwe ep oe ob y realizacji wy
siany inforeecji, które określimy Jako: pętle ai kr op ro gr ea ow e (połęczenie a i k r o p r o g r e e o w e ) . pętle progresowe (połęczenie p r o g r a m o w e ) , prace z przer
waniami. K r yt er lu e w y o d r ę bn ie ni a tych trybów Jeet e p oe ób te st ow an ia goto
wości urzędzenla zewnętrznego.
5.1. Pętle »I kr op ro gr aa oB e
Testowanie goto wo śc i realizowane jeet w pętli mi kr o p r o g r o m u rozkazu o- czekiwanle ne gotowość, który k o ńc zy elę dopiero po jej nadejściu. Zatee testowania to odbywa się w ep oeób n i e w id oc zn y dla p r o g r a a l a t y (pozioau w y nikowego eaezyny). Rozkaz testowania trwa tek długo, jak dł ug o urzędzenla zewnętrzne wyko nu je op erację wy pr o w a d z a n i a (wprowadzania) danej e l em en
tarnej (np. znaku).
W ty» przypadku c z yn no śc i zwięzane z wyalenę informacji (inicjacja pra
cy urzędzenla zewnętrznego, pr ze eł en le danej i testowanie gotowości) aogę być wy ko na ne przez je de n rozkaz.
Bako przykład rozkazów w y a i a n y in fo rm ac ji w trybie pętli aikroprogre- mowej zostanę z a p r ez en to wa ne ro zkazy CZYT i PERF w foraie sc he m a t ó w blo
kowych m i k r o p r o g r a m ó w :
a) Rozkaz CZYT - w c zy ta ni e jednego znaku z cz yt ni ka do a k u m u l a t o r a . W czę
ści argumentowej rozkazu (podobnie jak w przypadku rozkazu PERF) jest kod e e le kc yj ny urzędz en la (rys. 7).
b) Rozkaz PERF - wy p e r f o r o w a n i e na taśmie papierowej zn ak u znajdujęcego alę w a k u m ul at or ze (rya. 8).
Przykładem za st osowania p o wy żo zy ch ro zkazów jeet pr og ra m m a s z y n y EW kopiujęcy na perf or at or ze taśmę p a pi er ow ę w p r o w e d z a n ę z czytnika. Proces kopiowania ko ńczy elę po wy p a r f o r o w a n i u znaku z g od ne go ze w z o r c o m umiesz
czonym w pa mięci operacyjnej, w komórce o ad re al e s y mb ol ic zn ym WZÓR.
W programie ak or zy at an o ponadto z rozkazów:
- ODE - odjęcie od za wa rt oś ci A K z a wa rt oś ci komórki o ad reale wskazanym przez argument rozkazu:
(AK) - (ADR) — ► A K
- SOW - skok wa ru n k o w y (przy zerowej za wa rt oś ci akumulatora) : (AK) - (fi = > ADR — w- L, A D R — w - A
(AK) f If = » (L) ♦ 1 — L - S T O P - za tr zymanie pr ac y maszyny.
M o d e lo wa ni a llety ro zk az ów dl « p o tr ze b komunikacji. 111
Rye. 7. Sc heaat bl ok ow y a l k r o p ro gr aa u rozkazu C2 YT
Rya. 8. Scheaat bl okowy al kr op ro gr aa u rozkazu PERF
112 A. Gacek, S. Kozielski, P. Stróżyna
POCZĄTEK: CZ YT KOOCZYT PERF KODPERF ODE WZÓR S O W POCZĄTEK ST OP
KO OCZYT i KO DP ER F oznaczaję odpo wi ed ni o kody selekc yj ne czytnika 1 pe rf o
ratora.
5.2. Pętla programowa
Testow an ie gotowości urzędzenla odbywa się na pozioale programu za po- aocę odpowi ed ni eg o rozkazu testowania. W tya celu w y k o n y w a n y Jest rozkaz, który w zależności od wyniku teetu uaożliwia rozgałęzienie pr ogramu np.
przeskok na st ęp ne go rozkazu, g d y przerzutnik G O T O W Jest ustawiony.
W tym rozwlęzanlu poszczególne operacje we/w y realizowane eę przez od
rębne rozkazy.
Ten tryb w y mi an y informacji zostanie zi lu st r o w a n y programem reallzuję- cym funkcje analogiczne, Jak program w punkcie 4.2. Dla zrealizowania tych funkcji za pr op on ow an o następujęcy zbió r rozkazów we/wy:
a) ST AR T - inicjacja pr ac y u r zę dz en la ze wn ęt r z n e g o sy gnałem mi kr os te ru ję - cym "s t a r t "'.
b) W E D - pobranie za wa rt oś ci rejestru bu fo ro we go układu Interfejsu do aku
mulatora : (RWE) — AK,
c) W Y 3 - przesłanie za wa rt oś ci akumulatora do w y j ś ci ow eg o rejestru b u f o rowego :
(AK)— *- RWY,
d) TE ST - testowanie gotowości: J e że li wyni k testu Jest pozytywny, to na
stępuje pr zeskok następ ne go rozkazu:
GO T O W - "1" = > (l) + 2 — «- L G O T O W - "O" = > (L) + 1 — - L
Ar gu me nt em w s z y s t k i c h rozkazów we /w y Jest kod selekcyjny urzędzenla zewnętrznego. Ponadto w pr og ra mi e w y ko rz ya ta no ro zkazy ODE, SOW, S T O P (o- plsane w punkcie 4.2) oraz rozkaz skoku be zw ar un ko we go SOB.
P O C Z Ą T E K : STAR T KODCZYT T S T C Z T : TE ST KO DCZYT SOB TS TC ZT W E 3 KO DCZYT
WY3 KO DPERF
START KODPERF T S T P F : TEST KODPERF
S08 TSTP F
ODE WZ ÓR
S O W PO CZĄTEK S T O P
M o de l o w a n i e llety rozkazów dla po tr ze b ko mu ni ka cj i 113
5.3. Praca z pr ze rw an ia »!
R o zk az y w e / w y po woduj« Ja dynle inicjację prac y ur zę dz eń peryfe ry jn yc h i p r ze sy ł danych (między proces or en a układani l n t e r f a j e u ) . Testowanie g o towości osięga się przez przerwanie. Nie Jest potrzebny rozkaz testowania gotowości.
Dla tego przypadku, podo bn ie jak poprze dn io z a p r e z e n t o w a n o progran ko
piowania taśay papierojwJ. Oprócz ro zk az ów opis an yc h w punktach 4.1 i 4.2 wy ko rz y s t a n o rozkazy:
NO P - “nie rób nic" (rozkaz p r z e r y w a l n y ) , P2P - powrót z przerwania.
P O C Z Ą T E K : ST AR T KO DCZYT
PĘTLA: NOP
SOP PĘTLA-
O B S Ł C Z : W E 3 KO DCZYT WY 3 KO DP ER F ST AR T KO DP ER F PZP A P C Z Y T
08SŁPF: ODE WZÓR
SOW ST OP
DALEO
DALED: STAR T KO OCZYT PZP A P P E R F
A P P E R F : ; komórka śladowa WEKTOR
S O B 0 8 S Ł P F PRZERWAŃ
A P C Z Y T : i komórka śladowa S O B OB SŁ CZ
Oe dy ny m za da ni em programu Jeet kopiow an ie taśmy, dlatego na przerwanie oczekuje się w pętli (rozkazy NOP, SOB). W ogólnym przypadku po wstępnej inicjacji pr 8 c y czytnika możne przejść do wy ko n y w a n i a procedury nie zwlę- zanej z wy mi an ę informacji. Procedura ta będzie przerywana ze każdym ra
zem po zg ło sz en iu goto wo śc i przez cz ytnik lub perforator.
Ponadto w progresie po mi ni ęt o zaga dn ie ni e m a sk ow an ia (i odmaekowywe- nia) po sz cz eg ól ny ch p o zi om ów przerwać. Za da ni e kopiowania będzie przez maszynę cyfrowę EW wyko na ne popr aw ni e bez po trzeby ma sk ow an ia poziomów.
Op is an e tryby w y m i a n y inform ac ji z ot oc ze ni em różnię się od siebie pod różnymi względami. Pr zy kł ad ow o z punktu wi dzenia e k o n o m ic zn eg o w y k o r z y s tania czasu procesora oraz możliw oś ci z a bl ok ow an ia prac y ma sz yn y w p r z y padku us zk odzenia systemu w e / w y na jl e p s z y Jest tryb z wykorzystaniem przer
wań, a najgorszy tryb pętli m l k r o p r o g r a m o w a n e j . Z kolei bloręc pod uwegę oslęgnlęcia maksymalnej pr ęd ko śc i transmisji danych, a także łatwość p r o gramowania (na po zi om ie wynikowym) tryb ko mu nikacji przy w y k o r z ys ta ni u pr zerweń Jest najgorszy, zaś pętla mi kr op ro gr am ow a najlepsza.
114 A. Gacek, S. Kozielski, P. Stróżyna
Prezentacja 1 analizo w czasie zajęć d y d a k t yc zn yc h ws zy st ki ch sposobów wy mi an y Inform ac ji możl iw yc h do realizacji w komput er ze EW Jest bardzo korzyetna. Oe d y n y m sp osobem w y m i a n y informacji, którego nie można na la
bora to ry jn ym ze stawie EW z a p r e z en to wa ć Jest transmisja z bezp oś re dn im d o stępem do pamięci.
6. Z a k o ńc ze ni e
Projek to wa ni e listy ro zkazów dla komputera ml kr op ro g r a m o w a n e g o polega na do ko na ni u sy ntezy rozkazów masz yn ow yc h o funkcjach wy ma g a n y c h do z r e a l izowania za d a ń w y n l ka ję cy ch z przezn ac ze ni a komputera. W procesie synt e
zy ro zkazów masz yn ow yc h wyró żn ić można na st ępujęce fazy:
- ok re śl en ie zb ioru operacji po żę da ny ch do w y ko na ni a zada ń założo ny ch w k o m p u t e r z e ,
- ok re śl en ie funkcji ro zk az ów u m oż ll wl ej ęc yc h zr ea li zo wa ni e wy ma g a n y c h o- p e r a c j i ,
- an aliza funkcji rozk az ów - po dz ia ł ro zk az ów na operacje elementarne, - pr zy po rz ąd ko wa ni e op er ac jo m el em en t a r n y m odpo wi ed ni ch ml krorozkazów, - ok re śl en ie sekwencji mlkrorozkazów.
P r z e d s ta wi on y w pr ac y proces pr oj ek to wa ni a listy ro zkazów dla potrzeb komu ni ka cj i komputera z otoczeniem, o p ar ty na zasa dz ie m o d e lo wa ni a uk ła
dowego, posiada głównie aspekt dydaktyczny. Oe dnakże problemy. Ja ki e się tu pojewiaję, aę zb ieżne z tymi. Jakie w y s t ę p u j ę przy p r o j e k to wa ni u użyt
kowych list rozkazów. W ł a s n o ś c i uk ładowe komputera dy da k t y c z n e g o E W umoż- llwlaję rozwlę zy wa ni e w cz as ie ćw i c z e ń labo ra to ry jn yc h za g a d n i e ń zwlęze- nych z mo de lo w a n i e m ro zk ez ów 1 Ich op tymalizację, a to pozwala na zobr a
zo wanie ca łe go pr oc es u p r o j e k to wa ni a list r o z k az ów dla k o m p u t e r ó w u ż yt ko
wych.
LI TE RA TU RA
[1] W ę gr zy n S . , Konsek M. : P r ze sy ły al ęd zy r e j e s t r o w e w pr og ra m o w a n y c h ma
szynach c y fr ow yc h o ad re so w a n y c h rejest ra ch pamięci. P o d s t a w y St ar o
wania, 1975, t. 5, z. 4.
[2] Konsek M . : Orga ni za cj a cyklu r o z k az ow eg o Ja ko regu la mi n o b sł ug i zgło
szeń. P o ds ta wy St ar owania, 1976, t. 6, z. 1.
[3] Gace k A . , Kozi el sk i S . , Stróżyna P . : O r g a ni za cj a komputera dy da k t y c z nego z mo żl lw oś cl ę m o d e lo wa ni a li s t y rozkazów. Z e sz yt y Na ukowe poli
techniki ś l ę ś k l e j , Informatyka, zeszyt 5.
Recenzent: Prof. dr heb. lnż. Andrzej Grzywek
Wp ł y n ę ł o do R e da kc ji 15 .0 9. 19 82 r.
Hodelowanle llsty rozkazdw dl» po tr ze b k o a u n l k a c j 1.. 115
MOAEJIHPOBAHHE HA E O P A K O M A B A AJH CPEACTB CBR3H C OKPysEHHESI HPH HCII0JIb30BAHHH AHAAKTHHECKOii 3BM TiHIA EH
P e 3 n m o
B oiSLibe npejtoxaBzeHO & H & X H 3 oiOopa m a b b h k m x kouom a npaHXtoB otpjx- lypu o b o t o m h nepspuBOD ■ c h c t o k h BBOAa-BbiBOAa Ai WaKiH’ieoKoa 3BK Tuna EW.
PacewoipeHo pasjonHuo aapaaHTH o p r a o x a a q n q m a m l h x h b o B x o m m u u o oficzy-
z n s a H a e M nepepKBOB h p a a m m u h s t o a h p e a z a s a n M o d u s a a aatpopKaiwa. np«z- CT&Bxeno HxxponporpaxHyx» paajns au H» so ox exoB&EHHx ifyEja«one* m u x **p*a*- TOB.
INSTRUCTION S E T MO OE L L I N G FOR CO fW U N I C A T I O N BE TW EE N EW DIDACTICAL COMPUTER A N D ITS EN VI RO NM EN T
S u ■ n • r y
A n a l y e l * of in st ru ct io n choice for a given interrupt and input/output system st ru ct ur e ia proe en te d in the paper. Va ri ou a po ee lbllitlaa of in
struction cycl e o r g a ni za ti on wi th interrupt ha ndling and different waye of in pu t/ ou tp ut pe rf or ma nc e in EW di da ct ic coap'uter ere described. Func
tional vari an ts di sc us se d in the pape r are illustrated by aieroprograas.