• Nie Znaleziono Wyników

Modelowanie listy rozkazów dla potrzeb komunikacji z otoczeniem przy wykorzystaniu komputera dydaktycznego EW

N/A
N/A
Protected

Academic year: 2022

Share "Modelowanie listy rozkazów dla potrzeb komunikacji z otoczeniem przy wykorzystaniu komputera dydaktycznego EW"

Copied!
19
0
0

Pełen tekst

(1)

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-

(2)

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.

(3)

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.

(4)

Rys. 1. Stru kt ur a systemu pr ze rw ań

(5)

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).

(6)

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

(7)

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.

(8)

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

(9)

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.

(10)

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

(11)

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

(12)

108A.Gacek.S.Kozielski.P.Str6żyna

(13)

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

(14)

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.

(15)

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

(16)

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

(17)

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.

(18)

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.

(19)

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.

Cytaty

Powiązane dokumenty

14) Jednostka nie stosuje rozliczania kontraktów długoterminowych zgodnie z KSR 3... 1) szczegółowy zakres zmian wartości grup rodzajowych środków trwałych,

Na podstawie artyku áu napisz, kiedy kolekcjonerstwo moĪe przeksztaáciü siĊ w naáóg lub dziwactwo...

• zdekodowanie rozkazu - interpretacja wczytanego kodu rozkazu (zazwyczaj bajtu) jako polecenia z listy rozkazów procesora1. • wykonanie rozkazu - wczytanie kolejnych

Ciepło przekazywane jest za pośrednictwem cieczy wewnątrz zbiornika, która pełni rolę akumulatora

Rys.3 Trajektoria ruchu i przebieg wybranych współrzędnych stanu modelu neuronowego okrętu przy próbie wężowej Kempfa dla maksymalnej prędkości okrętu i braku zakłóceń..

Model matematyczny turbiny gazowej będzie zatem zawierał zależności związane z pięcioma następującymi modułami: kolektor ssawny lub tłoczny sprężarki, grupa

wanych metod bieżącej oceny stanu zagrożenia tąpaniami wyrobisk może być komputerowa prognoza rozkładu naprężeń. Tego typu metoda prognozowania szersze

Napisz program przechowujący w statycznej tablicy elementy struktury osoba (imię, na- zwisko, wiek) oraz funkcje dodające i usuwające elementy takiej tablicy (zastanów się, co