• Nie Znaleziono Wyników

Mikroprogramowanie segmentowych mikroprocesorów INTEL 3000 na przykładzie sterownika twardych dysków

N/A
N/A
Protected

Academic year: 2022

Share "Mikroprogramowanie segmentowych mikroprocesorów INTEL 3000 na przykładzie sterownika twardych dysków"

Copied!
18
0
0

Pełen tekst

(1)

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ

S e r ia « INFORMATYKA z . 8 Nr k o l . 882

_______ 1987

H a l i n a NOWAK P i o t r STRÓŻYNA

MIKROPROGRAMOWANIE SEGMENTOWYCH MIKROPROCESORÓW INTEL 3000 NA PRZYKŁADZIE STEROWNIKA TWARDYCH DYSKÓW

S t r e s z c z e n i e . W a r t y k u l e p r z e s t a w i o n o k r ó t k ą c h a r a k t e r y s t y k ę r o d z i n y m ik ro p ro c e s o ró w segmentowych INTEL 3000 ze sz oze gólnym uwz­

g l ę d n i e n i e m j e d n o s t k i s t e r o w a n i a mikroprogramem. Po n a s z k ic o w a n iu k o n c e p o j i w y k o r z y s t a n i a r o d z i n y 3000 do k o n s t r u k c j i s t e r o w n i k a t w a r ­ dych dysków p r z e d s t a w i o n o s t r u k t u r ę m ikroprogram u i f o rm a t m i k r o i n - s t r u k c j i . Szczegółowo omówiono problemy a d r e s o w a n ia m i k r o i n s t r u k c j i . Podana z o s t a ł y t a k ż e pewne p r a k t y c z n e uwagi i wskazówki p r o j e k t o w e . W końcowej c z ę ś c i p r a c y o p i s a n o n a r z ę d z i a t w o r z e n i a i u r u c h a m ia n i a m ikroprogram u s t e r o w n i k a tw ardyoh dysków.

t . Rodzin a m ik ro p ro c e so ro w a INTEL 3000

1 . 1 . Ogólna c h a r a k t e r y s t y k a r o d z i n y

S e r i a INTEL 3000, ozn a o za n a d a l e j w t e k ś o i e p r z e z 13000. Ci j a j odpowie­

d n i k i p r o d u k c j i ZSRR i CSRS), s t a n o w i b i p o l a r n ą r o d z i n ę m ik r o p r o c e so ró w segmentowych f a n g . b i t - s l i c e ) [ 1 , 2 ] . W s k ł a d r o d z i n y wchodzą n a s t ę p u j ą c e e l e m e n ty :

1) J e d n o s t k a s t e r o w a n i a mikroprogramem 13001 - j e j zadaniem j e s t k o n t r o l a r e a l i z a c j i m ik ro p ro g ra m u , t j . w y z n a c z a n ie adresów k o l e j n y c h m i k r o l n - s t r u k o j i o r a z s t e r o w a n i e f l a g a m i .

2 ) Element p r z e t w a r z a j ą c y 13002 - w ykonujący o p e r a c j e a r y t m e t y c z n e , l o g i ­ c z n e , p r z e s u n i ę c i a i p r z e s y ł y na 2 - b i t o w y c h słow aoh. Element p o s i a d a 3 m a g i s t r a l e w e j ś c i o w e , dwie w y jś c io w e , w e j ś c i a i w y j ę c i a p r z e n i e s i e ń . Wyposażony j e s t w 12 r e j e s t r ó w r o b o c z y c h . Łącząc u k ł a d 13002 można wykonywań o p e r a c j e na sło w a c h dowoln ej d ł u g o ś c i .

3 ) Sumator z jednoczesnym p r z e n i e s i e n i e m 13003 - 8 - b i t o w y .

4 ) J e d n o s t k a s t e r o w a n i a p r z e rw a n i a m i 13214 - p r z y j m u j e z g ł o s z e n i a na ośmiu poziom ach p r i o r y t e t o w y c h .

5) Buforowany r e j e s t r 8 - b i t o w y 13212.

6 ) Dwukierunkowe 4 - b i t o w e b u f o r y 13216 i 3226.

Ponadto f i r m a INTEL o f e r u j e dośó b o g a t y z e s t a w p a m i ę c i ROM (PROM i EPROM) i RAM.

(2)

W s z y s tk i e e le m e n ty r o d z i n y można w ł a tw y s p o s ó b ł ą c z y ć ze s o b ą . I c h budowa i sp o só b d z i a ł a n i a d a j ą b a r d z o duże m o ż liw o ś c i k o n s t r u k c j i u r z ą ­ d ze ń c y fro w y c h p r z y w y k o r z y s t a n i u t e j s e r i i .

Do z a l e t układów budowanych w o p a r c i u o e le m e n ty r o d z i n y 13000 z a l i ­ c z y ć n a l e t y j

- ł a t w o ś ć p r o j e k t o w a n i a i u r u c h a m i a n i a , - r e g u l a r n ą s t r u k t u r ę ,

- z m n i e j s z e n i e i l o ś c i w y k o rz y s ta n y c h elementów (o ok. 60-80% w porównaniu z t r a d y c y j n y m i u k ła d a m i TT1 SSI i MSI),

- zatnie j e ż e n i e p o b i e r a n e j mocy, - stosunkowo n i s k i e k o s z t y , - d użą a z y b k o ść d z i a ł a n i a , - d użą n ie z a w o d n o ś ć .

I s t o t n ą c e c h ą u r z ą d z e ń zbudowanych w o p a r c i u o m i k r o p r o c e s o r y s e r i i 13000 j e s t k o n i e c z n o ś ć i c h sa ikroprogram ow a nia. Zarówno o s t a t e c z n y f o r m a t m i k r o i n s t r u k c j l , j a k i sam m ikroprogre m m usi o k r e ś l i ć p r o j e k t a n t u r z ą d z e ­ n i a . W t e n aposób o s i ą g a s i ę b a r d z o d u ż ą e l a s t y c z n o ś ć , j e d n a k ż e t w o r z e n i e m ikroprogram u p r z y b r a k u o d p o w ie d n ic h n a r z ę d z i wspomagających może być b a r d z o żmudnym i c z asochłonnym p ro c e s e m .

1 . 2 . J e d n o s t k a s t e r o w a n i a aikroproKramera

Generalnym zadaniem j e d n o s t k i s t e r o w a n i a mikroprogramem ( o o k w e n t e r a ) j e s t k o n t r o l a p r z e b i e g u r e a l i z a c j i m ikroprogra m u p o p r z e z wypracowywanie adre sów n a s t ę p n y c h m i k r o i n s t r u k c j l .

M ikroprogrem z a p i s a n y j e s t zw ykle w p a m ię o i s t a ł e j a d r e s o w a n e j b e z p o ­ ś r e d n i o p r z e z s e k w e n t e r . Rysunek 1 . 1 . p r z e d s t a w i a schem at blokowy elem en­

t u 13001.

Z na c z e n ie p o e z o z e g ó ln y o h j e g o końcówek j e s t n a e t ę p u j ą c e t SAg-MA^ - w y j ś c i e a d r e s u w i e r s z a p a m ię c i mlkroprogramów,

HAj-HA0 " " kolumny " "

PR2~PR0 - " r e j e s t r u wewnętrznego PR, VXj-¥Xą, SXySX0 _ w e j ś c i a in f o r m a c y jn e , PC^-FCg - w e j ś c i a s t e r o w a n i a f l a g a m i , F I - w e j ś c i e f l a g i ,

PO - w y j ś c i e "

LD - w e j ś c i e w stę pnego ła d o w a n ia a d r e s u m i k r o i n s t r u k c j l , ER - " o d blokow ują ce w y j ś c i a a d r e s u , f l a g i r e j e s t r u PR, ERA - ■" " " a d r e s u w i e r s z a ,

ACg-A - "e; s c i a o k r e ś l a j ą c e f u n k c j ę w y z n a c z a j ą c ą a d r e s n a s t ę p n e j ra lk r o - i n s t r u k i J>i ( s k o k ) ,

I3E - w y j ś c i e s t r o b u p r z e r w a ń < aktywne przy r e a l i z a c j i akoku JZR 1 5 ), 32_______________________________________________________ H. Howak, P. Stroźyna

(3)

Mlkroprogramowanie segmentowych mikroprocesorów.. 33

ERA

1SE .

LP

AC6tAC,5£

FC<

FC«ł

MAa^A) 4 \

HA3~MAę)

a\

BU FOK r----tri.... . buf oq A-DRET6U W l£RS2A KO L U M N Y

R E ^ E S T R , A D R E S U M l K R O I N Ó T R U K C ^ )

u k ł ad 6e u e r a c-]i

ADRESU UASTfPweg

H i K K O I M S T R U K C J I A A

rejestr

F L A G

1 BUFOR wijiaowr

rttfdzuTM«

F

} T

Regestr PR

Z J T

b u f o r

w t j k t o w y [ EN

X PR^PR^

El f=0 FCjFCt P^-EPiCi, 6X3A-SK<,

Rys. 1 . 1 . Schemat blokowy a e k w e n te ra 13001 F i g . 1 . 1 . A s t r u c t u r e o f 13001 s e ą u e n c e r

Opis e le m e n tu 13001 w n i n i e j s z e j p r a c y o g r a n i c z o n o do minimum n ie z b ę d n e g o do z r o z u m i e n i a c a ł o ś c i , n a t o m i a s t sz cz eg ó ło w e omówienie d z i a ł a n i a se kwen- t e r a można z n a l e ź ć w [1] .

1 . 3 . O r g a n i z a c j a p a m i ę c i m lkroprogranów

O r g a n i z a c j ę p a m ię c i mikroprogramów n a r z u c a f o r m a t słow a ad resowego gen erowanego p r z e z e le m e n t 13001. Adres ( 9 - b i t o w y ) s k ł a d a s i ę z dwóeb c z ę ś c i : 5 - b ito w e g o a d r e s u w i e r s z a (r z ę d u ) - b i t y MAg-MA^ i 4 -b ito w e g o a d r e s u kolumny - b i t y MA^-MAq. Przy o p i s i e f u n k c j i w y z n a c z a ją c y c h a d r e a n a s t ę p n e j r a i k r o i n s t r u k c j i (skoków ) o p e r u j e s i ę o d r ę b n i e adre sem w i e r s z a

o r s z kolumny. Zatem w w e r s j i podstawowej pam ięć mikroprogramów n a l e ż y t r a k t o w a ć j a k o m a tr y c ę s k ł a d a j ą c ą s i ę z 32 w i e r s z y i

1 6

kolumn. Każdy a d r e s komórki t a k i e j p a m i ę c i muei z a w i e r a ć dwie s k ła d o w e .

(4)

34 H. Kowak, P. Stróżyna

Pojemność podstawowej p a m i ę c i C512 s ić w ) można zw ię k sz y ć d o d a j ą c zewnę­

t r z n e u k ła d y a d r e s a c j i i dekodowania bloków o p o je m n o ś c i 512 komórek.

1 . 4 . G e n e r a c ja a d r e s u n a s t ę p n e j m i k r o l n a t r u k c j i

Adres n a s t ę p n e j m i k r o i n s t r u k c j i generowany j e s t p r z e z j e d n o s t k ę s t e r o w a ­ n i a mikroprogramem ( e e k w e n t e r ) n a p o d s t a w i e t

- a d r e s u b i e ż ą c e j m i k r o i n s t r u k c j i , - b itó w s t e r u j ą c y c h skokami (ACg™AC0 ) ,

- pewnych sygnałó w s t a n u s e k w e n te ra ( s t a n u p r z e r z u t n i k ó w f l a g o r a z r e j e ­ s t r u PR).

S tan l i n i i ACg - ACQ o k r e ś l a j e d n ą z 11 f u n k c j i skoku r e a l i z o w a n y c h p r z e z s e k w e n t e r . B i t y t e r e p r e z e n t u j ą kod f u n k c j i skoi^u o r a z j e j ar g u m e n t.

Zasady t w o r z e n i a a d r e s u n a s t ę p n e j m i k r o i n s t r u k c j i p r z e z s e k w e n t e r p rz y r e a l i z a c j i f u n k c j i skoków s ą d s ś ó z ł o ż o n e , n a l e ż y j e d n a k z w r ó c i ć uwagę na pewne p r a w i d ł o w o ś c i , a m ia n o w ic i e t

1. We w s z y s t k i c h sk o k a c h z w y ją t k ie m JZR a d r e s n a s t ę p n e j m i k r o i n s t r u k c j i j e s t f u n k c j ą a d r e s u b i e ż ą c e g o , zatem możliwy j e s t j e d y n i e skok "wzglę­

d n y " , J e d y n i e JZR zapewnia sk o k do m i k r o i n s t r u k c j i o żądanym a d r e s i e w r z ę d z i e zerowym.

2. Z d an e j m i k r o i n s t r u k c j i n i e J e s t możliwy sko k do dow oln ie w ybranej m i k r o i n s t r u k c j i w ramach p a m i ę c i . Możliwo j e s t j e d y n i e p r z e j ś c i e do pewnej grupy m i k r o i n s t r u k c j i ś c i ś l e s p re c y z o w a n e j d l a k a ż d e j f u n k c j i skoku.

3 . S koki warunkowe p o z w a l a j ą n a r o z g a ł ę z i e n i a w m ik r o p ro g ra m ie w z a l e ż n o ś - o i od s ta n u *

- l i n i i w e jś c io w y c h s e k w e n te ra - p r z e r z u t n i k ó w w ew nętrznych u k ła d u

4 . Ładowanie r e j e s t r u PR odbywa s i ę p o d c z a s wykonywania skoku JPX.

5 . W c z a s i e r e a l i z a c j i skoku JCE odblokowywane s ą w y j ś c i a p r z e r z u t n i k ó w PRg-PR^. W y jśc ia t e mogą b y ć w y k o rz y s ta n e d o w olnie p r z e z k o n s t r u k t o r a . Adresy m i k r o i n s t r u k c j i wypracowywane s ą p r z e z s e k w e n te r z g o d n i e z f u n k ­ c j ą skoku o k r e ś l o n ą p r z e z w e j ś c i a ACg - ACq, pod warunkiem, że w e j ś c i e ła d o w a n ia ID j e s t n ie a k t y w n e . W przeciwnym p rzy p a d k u do r e j e s t r u a d r e s u n a s t ę p n e j m i k r o i n s t r u k o j i s e k w e n t e r a wpisywany j e s t s t a n l i n i i SX i PX.

Poza tym w a r t o zauważyć, że b u f o r y w yjśc iow e adresów w i e r s z a i kolumny można zablokow ać ( s y g n a ła m i ERA i EU) i wymusić r ó w n o c z e ś n i e in n y a d r e s , z m i e n i a j ą c w t e n sp o só b s e k w e n c ję r e a l i z a c j i m ik ro p ro g ra m u .

O pisa ne powyżej mechanizmy t w o r z e n i a a d r e s u n a s t ę p ą e j m i k r o i n s t r u k c j i o ą d o ść skomplikowane i dowodzą, że a d r e s a e j a p o s z c z e g ó l n y c h m i k r o i n s t r u k - e j i w p r z y p a d k u w y k o r z y s t a n i a s e k w e n t e r a 13001 j e s t n i e ł a t w a . B i o r ą c pod uwagę, że p o s z c z e g ó l n e w e j ś c i a e le m e n tu mogą być zarówno s te r o w a n e b e z ­ p o ś r e d n i o p r z e z m ik ro p ro g ra m , j a k t e ż wymuszane ja rz es dodatkowe u k ła d y

(5)

Mikroporogranowanle segmentowych mikroprocesorów.. i i

l o g i c z n e , z a s t o s o w a n i e s e k w e n te r a 13001 s tw a r z a p r o j e k t a n t o w i duże m o ż l i ­ w o śc i wyboru r o z w i ą z a n i a .

1 . 5 . Format m i k r o i n s t r u k c j i

Zwykle w s ł o w i e m i k r o i n s t r u k c j i , n i e z a l e ż n i e od p r z e z n a c z e n i a u k ła d u m ik ro p ro g ra m iw an e g o , można w y ró ż n ić dwie c z ę ś c i !

- o p e r a c y j n ą ( s t e r u j ą c ą b e z p o ś r e d n i o u kładam i będącym i .pod k o n t r o l ą m i k r o - p r o g ra m u ) ,

- a d r e so w ą ("mającą wpływ na a d r e s n a s t ę p n e j m i k r o i n s t r u k c j i ) .

A n alo g icz n y p o d z i a ł można z a s to s o w a ć w p rzy p a d k u s c a l o n e g o s e k w e n t e r a 13001. J e d n a k ż e w y k o r z y s t a n i e elementów s e r i i 1300 n a r z u c a z g ó ry k o n i e c z ­ n o ś ć u w z g l ę d n i e n i a w f o r m a c i e m i k r o i n s t r u k c j i pewnych p ó l w y n i k a j ą c y c h z

z a s a d y d z i a ł a n i a t y c h elementów. Oprócz p ó l " s t a ł y c h " z a w i e r a j ą c y c h m i k r o - o p e r a c j ę d l a układów

1 3 0 0 1

i

1 3 0 0 2

p r o j e k t a n t może w z a l e ż n o ś c i od p o t r z e b p r z e w i d z i e ć w m i k r o i n s t r u k c j i dowolne p o l a dodatkowe. P o l a t e mogą s ł u ż y ć przykładow o do s t e r o w a n i a u k ła d a m i spoza r o d z i n y 13000. R o z s z e r z e n i a t e mogą d o ty c z y ć zarówno c z ę ś c i o p e r a o y j n e j , Ja k i a d r e s o w e j .

Ogólny f o rm a t m i k r o i n s t r u k c j i d l a u r z ą d z e n i a zbudowanego w o p a r c i u o ele m e n ty s e r i i

1 3 0 0 0

p r z e d s t a w i o n y j e s t n a r y s .

1

.

2

.

część

o p er a c y ] u a - ■*— c z ę ś ć ADCESOWA-

F6tF* M y-r M tp FC3f FC<S

p o l a Z D E F I N I O W A N E

P R Z E Z P R O J E K T A N T A

ACg(-ACf

P O L A Z D E F IN IO W A N E

PRZEZ

PROJEKTANTA

Rys. 1 . 2 . Ogólny f o rm a t m i k r o i n s t r u k c j i d l a m ik r o p ro c e s o ró w 13000 F i g . 1 . 2 . A g e n e r a ł f o r m a t o f a m i o r o i n s t r u c t i o n f o r 13000 m i e r o p r o c e s -

s o r s

O z n a c z e n ia !

F g-? o - b i t y s t e r u j ą c e f u n k c j ą p r z e t w a r z a n i a e l e m e n tu

1 3 0 0 2

,

H^-?4q - t z w . maska d l a e l e m e n tu

1 3 0 0 2

,

FC^-FCg - b i t y s t e r u j ą c e f l a g a m i e l e m e n tu

1 3 0 0 1

, ACg-AC

0

- " " skokami " "

2

. M ikroprogram s t e r o w n i k a tw a r d y c h dysków

2 . 1 . Konoepoja z a s t o s o w a n i a r o d z i n y IHTEŁ 3000 w s t e r o w n i k u tw a r d y c h dys­

ków

K oncepcja w y k o r z y s t a n i a elementów s e r i i

1 3 0 0 0

do k o n s t r u k o j i s t e r o w n i k a tw a rd y c h dysków Ala m ik ro k o m p u tera ComPAK

- 8

z o s t a ł a sz c z e g ó ło w o p r z e d s t a ­ wiona w [

3

] . E le m enty t e z o s t a ł y w y k o rz y s ta n e w n a s t ę p u j ą c y s p o s ó b :

(6)

36 H. Nowak, P. Stróżyna

a ) 4 ele m e n ty p r z e t w a r z a j ą c e 13002 tw o r z ą 8 - b i t o w ą j e d n o s t k ę p r z e t w a r z a ­ n i a ( "proce sor segjnentowy) , k t ó r e j zadaniem j e s t :

- p o ś r e d n i c z e n i e w p r z e s y ł a c h danych m iędzy u k ła dam i p e r y f e r y j n y m i , - p r z e t w a r z a n i e i n f o r m a c j i ,

- przechowywanie w a ż n i e j s z y c h danych w p a m i ę c i n o t a t n i k o w e j ( " r e j e s t r a c h r o b o c z y c h ) ,

- a d r e s a c j a p a m i ę c i b u f o r o w e j .

b ) S ekw ente r 13001 wraz z ele m e n ta m i w s p ó ł p r a c u j ą c y m i i p a m i ę c i ą m i k r o p r o ­ gramu t w o r z ą mikroprogramowany u k ł a d s t e r o w a n i a całym u r z ą d z e n i e m . W ykorzystano p o n a d t o buforow ane r e j e s t r y 13212. W s z e lk ie u k ła d y p o ś r e d n i ­ c z ą c e w t r a n s m i s j i między j e d n o s t k ą dyskową a s t e r o w n i k i e m , u k ła d y i n t e r ­ f e j s u z mikrokomputerem CoaPAN-8 o r a z pam ięć buforow a s t a n o w i ą w s t e r o w n i ­ ku g ru p ę układów p e r y f e r y j n y c h , a d re so w a n y ch mikroprogramowo.

2 . 2 . S t r u k t u r a m ik roprogram u

S te r o w n ik tw a r d y c h dysków od s t r o n y maszyny ComPAN w i d z i a n y j e s t j a k o u r z ą d z e n i e w ykonujące pewne e l e m e n t a r n e o p e r a c j e dyskowe (SEEK, SELECT, RESTORE l t d . [3] ) i n i c j o w a n e p r z e z oprogramowanie m ik r o k o m p u te r a . Każda z t y c h o p e r a c j i e l e m e n t a r n y c h r e a l i z o w a n a j e s t p r z e z o d r ę b n ą p r o c e d u r ę mikroprogram ową. Wybór p r o c e d u r y n a s t ę p u j e na p o d s t a w i e kodu o p e r a c j i e l e m e n t a r n e j w y sła n e g o p r z e z ComPAN-a do s t e r o w n i k a . W p ę t l i g łó w n e j mi­

krop ro g ram u n a s t ę p u j e w prow adzenie kodu o p e r a c j i do s e k w e n t e r a i r o z g a ł ę ­ z i e n i e do o d p o w ie d n i e j p r o c e d u r y . Ponadto w p ę t l i g łó w n e j u s t a w i a n e s ą w stę p n e w a r t o ś c i n i e k t ó r y c h danyc h d la m ik ro p r o g ra m u ,

W c z a s i e r e a l i z a c j i p r o c e d u r o p e r a c j i dyskowych p o w ta rz a n e s ą pewne se k w e n c je m i k r o i n s t r u k c j i , n p . s z u k a n i e s e k t o r a d l a o p e r a c j i z a p i s u 1 od­

c z y t u danych l u b p o l a a d r e s o w e g o . P r z y j ę t o , że p o w t a r z a j ą c e s i ę f r a g n e n t y z o s t a n ą zorg a n iz o w a n e w podprogramy wywoływane p r z e z p r o c e d u r y .

W r e z u l t a c i e w yró ż n io n o n a s t ę p u j ą c e m ik ro p o d p ro g ra m y i - SZUKAJ SEKTORA,

- USTAW PARAMETRY BLOKU DANYCH, - SPRAWDŹ POLE ADRESOWE,

- ZAPIS NA DYSK, - ODCZYT Z DYSKU.

Rysunek 2 . 1 . p r z e d s t a w i a o g ó l n ą s t r u k t u r ę m ik ro p ro g ra m u s t e r o w n i k a . Wyróżniona z o s t a ł a m i k r o i n s t r u k c j a s t a r t o w a , od k t ó r e j z a c z y n a s i ę r e a l i z a c j a m ikroprogram u po i n i c j a c j i p r a c y s t e r o w n i k a .

(7)

Mlkroprogramowanie segmentowyeh mikroprocesorów.. 2 L

PtocEsmy o p e ra c ji l

ELEM EN- TłCNYCH

Ó Z . U K . A 3

S E K T O R A Z A P I S » M A D Y S K

--- ----

Rys. 2 , 1 , Ogólna s t r u k t u r a m ikro programu s t e r o w n i k a tw a r d y c h dysków F i g . 2 . 1 . A g e n e r a ł s t r u c t u r e o f t h e h a r d d i s e c o n t r o ł l e r m ic ro p ro g ram

2 . 3 . P o w ia t m i k r o i n s t r u k c j i s t e r o w n i k a

Słowo m i k r o i n s t r u k c j i s te r o w n i k a tw a r d y c h dysków s k ł a d a s i ę z 40 h i ­ tó w . Oprócz p ó l s t a ł y c h , w y n ik a j ą c y c h z z a s t o s o w a n i a r o d z i n y 13000, m ik ro - i n s t r u k c j a z a w i e r a p o l a dodatkow e . Z r e g u ł y sto s o w a n o m lkroprogram ow anie poziome ( p o l a kodow ane), z w y ją t k ie m k i l k u b itó w b ę d ą c y c h b e z p o ś r e d n i o s y g n a ła m i m i k r o e t e r u j ą e y m l .

Format m i k r o i n s t r u k c j i s t e r o w n i k a p r z e d s t a w i a t a b l i c a

2

.

1

. Tablica 2.1 Format m i k r o i n s t r u k c j i s t e r o w n i k a

OZNACZEHIE FUNKCJA

ozęśó o p e r a c y j ­ na

M

7

-M

0

maska d l a e le m e n tu 13002

p o la s t a ł e

^ 6 _ ï 0 f u n k c j a p r z e t w a r z a n i a

1 3

Ó

0 2

: c-V-FET s t e r o w a n i e f l a g a m i w e j . s e k w e n t e r a

1 3 0 0 1

s t e r o w a n i e f l a g a m i w y j.

s e k w e n te r a 13001 Gzçéâ a d r e ­

sowa

a c

6~A<^0

f u n k c j a skoku d l a 13ÓÓ1 a V ^ o s t e r o w a n i e m u l t i p l e k s e r a m i

waninku

p o la dodatkowe CZęŚĆ

o p e r a c y j n a

V ^ o a d r e s u k ł a d u p e r y f e r y j n e g o WR/RD z a p i s d o /o d o z y t z u k ła d u

p e r y f e r y j n e g o

(8)

38 H. Nowak. P. Stróżyna

od. t a b l i c y 2.1

1 2

5

4

c z ę ś ć o p e r a c y j ­ na

BLOK DAT/CRC

WG RG STROBE RESTORE

je d n o b ito w e s y g n a ły m i k r o s t r u j ą c e

p o l a dodatkowe

3 . S t e r o w a n i e mlkroprogramem

3 . 1 . Z a ł o ż e n i a i o g r a n i c z e n i a d la . j e d n o s t k i s t e r o w a n i a mlkroprogramem Z a s t o s o w a n ie s e k w e n t e r a 13001 d a j e t a k duże m o ż liw o ś c i k o n s t r u k t o r o w i , że Jednym z n a j w a ż n i e j s z y c h z a d a ń po a n a l i z i e problem u w ydaje s i ę o g r a n i ­ c z e n i e do k i l k u t y l k o mechanizmów tw o r z e n i a a d r e s u n a s t ę p n e j m i k r o i n s t r u k - c j i i r e z y g n a c j a z p o z o s t a ł y c h . Pozwoli t o na u z y s k a n i e sto sunkowo p r z e j ­ r z y s t e j s t r u k t u r y u r z ą d z e n i o w e j i u p r o s z c z e n i e s y n t e z y m ik ro p ro g ra m u .

W p r o j e k c i e s t e r o w n i k a tw ard y c h dysków p r z y j ę t o n a s t ę p u j ą c e z a ł o ż e n i a i z a s a d y s t e r o w a n i a mikroprogramerat

1

. W momencie i n i c j a c j i p r a c y s te r o w n i k a n a l e ż y zapew nló w p is a d r e s u m ik r o - i n s t r u k c j i s t a r t o w e j do r e j e s t r u adresowego m i k r o i n s t r u k c j i ele m e n tu 13001. Cel t e n można o s i ą g n ą ć j e d y n i e p o p r z e z w pis do s e k w e n te ra s t a n u l i n i i SX i PX sy gnałem ID. Sygnał ID b ę d z i e aktywny w c z a s i e z e ro w a n ia m ik ro k o m p u tera ComPAH, p rz y równoczesnym p o d a n iu a d r e s u 0 - 0 na w e j ś c i a PX i SX.

2 . W c e l u u m o ż l i w i e n i a t e s t o w a n i a wyniku o p e r a c j i l o g i c z n y c h i a r y t m e t y c z ­ nych w j e d n o s t k a c h p r z e t w a r z a n i a 13002 p o łą c z o n o w y j ś c i e f l a g i PO s e k ­ w e n t e r a z w e jś c ie m p r z e n i e s i e n i a CI p r o c e s o ró w segmentowych 13002, a w y j ś o i e p r z e n i e s i e n i a CO z w e jś c ie m f l a g i P I e l e m e n tu 13001. P r z e w id u je s i ę w y k o r z y s t a n i e obu f l a g s e k w e n te r a CZ i C ).

3. T e s to w a n ie sygnałó w e t a n u s t e r o w n i k a CRRD, RRC, TRC, TRD, DATA, SECTOR, ATTEN) b ę d z i e odbywało s i ę mikroprogramowo p r z e z m o d y f i k a c j ę a d r e s u po d cz as wykonywania skoku JPX. Sygnały s t a n u wprowadzone z o s t a n ą po­

p r z e z m u l t i p l e k s e r y na w e j ś c i a PX s t e r o w n i k a . D la z w i ę k s z e n i a o b s z a r u d o s tę p n e g o skokami JPX na Jedno z t e s t o w a n y c h w e j ś ć wprowadzi s i ę w y jś ­ c i e PO s te ro w a n o mikroprogramowo.

Zrezygnowano z t e s t o w a n i a sygnałów s t a n u p r z e z p r z e r w a n i a , gdyż i c h i m p l e m e n ta c ja b y ła b y b a r d z i e j z ło ż o n a sp r z ę to w o i mikroprogramowo f n p . problem p a m i ę t a n i a ś l a d u i powrotu z p r z e r w a n i a ) , a p r z y j ę t e r o z w i ą z a ­ n i e mik roprogram one j e s t d o s t a t e c z n i e s z y b k i e d l a z a p e w n ie n ia popraw nej p r a c y s t e r o w n i k a .

(9)

R e zy g n a cja z p r z e rw a ń s p r a w i ł a , że n i e w y k o r z y s t u j e s i ę b lo k a d y b u f o ­ rów a d r e s u m i k r o i n s t r u k o j i sy g n a ła m i Elf i ERA o r a z w y j ś o i a ISE.

4 . Do w e j ś ć PX s e k w e n te r a doprowadzony z o s t a n i e kod o p e r a c j i e l e m e n t a r n e j wykorzystywany w m ik ro p ro g ra m ie do r o z g a ł ę z i e ń do p o s z c z e g ó l n y c h p r o c e ­ d u r r e a l i z u j ą c y c h o p e r a c j e dyskowe, a t a k i e do powrotów z podprogramów.

Kod t e n wpisywany b ę d z i e do r e j e s t r u PR s e k w e n te r a p rzy wykonywaniu skoku JPX, a a d r e s będący f u n k c j ą kodu o p e r a c j i b ę d z i e generowany pod­

c z a s skoku J P R . . Z uwagi na t a k i e p r z e z n a c z e n i e r e j e s t r u PR z r e z y g io w a - no z w y k o r z y s t a n i a , w y j ś ć PR^ - PRq.

5 . Podprogramy wywoływane b ę d ą skokami JZR, gdyż s ą t o je d y n e f u n k c j e z a ­ p e w n i a j ą c e s k o k i b e z w z g lę d n e . P o n iew si s k o k i JZR p r z e k a z u j ą s t e r o w a n i e do r z ę d u 0 , w w i e r s z u tym um ie sz czone b ę d ą p o c z ą t k i w s z y s t k i c h podpro­

gramów. Mikroprogramowy powrót do p ę t l i g łó w n e j odbywać s i ę b ę d z i e rów­

n i e ż p o p r z e z skok JZR.

6. S ek w en te r 13001 n i e p o s i a d a wewnętrznego mechanizmu p a m i ę t a n i a i od­

t w a r z a n i a ś l a d u . W y k o r z y s ta n ie pewnych m o ż liw o ś c i ele m e n tu 13001 wyeli*- minowało k o n i e c z n o ś ć w y k o r z y s t a n i a układów dodatkowych. Po skoku do podprogramu ś l a d n i e j e s t zapam iętywany w o g ó l e , a pow rót n a s t ę p u j e do m i k r o i n s t r u k c j i , k t ó r e j a d r e s j e s t f u n k c j ą zarówno wykonanego p o d p r o ­ gramu, j a k i p r o c e d u r y w y w o ł u j ą c e j . P r z y j ę t o , że pow rót b ę d z i e r e a l i z o ­ wany skokiem JPR-, k t ó r e g o argument o k r e ś l a a d r e s r z ę d u i j e s t z a l e ż n y od podprogram u, n a t o m i a s t a d r e s kolumpy równy j e s t kodowi o p e r a c j i d y s ­ k o w e j, w k t ó r e j n a s t ę p u j e w y w o łan ie . Kod t e n p r z e d wywołaniem p o d p r o ­ gramu wpisywany b ę d z i e do r e j e s t r u PR s e k w e n t e r a .

W p r z y p a d k u k o n i e c z n o ś c i pow tó rnego wywołania t e g o samego podprogramu w p r o c e d u r z e w y w o łu jąc ej n a s t ą p i w pis do r e j e s t r u PR c i ą g u b i t ó w r ó ż n e - go od kodu o p e r a c j i dyskow ej, a l e z a p e w n ia ją c e g o w łaś ciw y p o w ró t.

3 . 2 . P o ł ą c z e n i e s e k w e n te ra z u k ła d a m i w s p ó łp r a c u ją c y m i

Rysunek 3 . 1 . p r e z e n t u j e r o z w i ą z a n i e u r z ą d z e n io w e p o ł ą c z e n i a s e k w e n te ra 13001 z u k ła d a m i w s p ó ł p r a c u j ą c y m i . R oz w iąz anie t o j e s t s p r z ę t o w ą r e a l i z a ­ c j ą z a ł o ż e ń omówionych w poprzednim p u n k c i e .

Kod o p e r a c j i e l e m e n t a r n e j wpisywany j e s t do r e j e s t r u RKOE w p ę t l i głów­

n e j m ik ro p ro g ra m u . W y jśc ia RKOE podawane s ą b e z p o ś r e d n i o na w e j ś c i a SX s e k w e n t e r a . Ha w e j ś c i a PJ^ i PXg podawane s ą s y g n a ł y s t a n u s t e r o w n i k a po­

p r z e z m u l t i p l e k s e r y warunku MX1 i MXg s t e r o w a n e w m ik r o p r o g ra m ie polem SP2 - SPQ. Ha w e j ś c i e s e k w e n t e r a ID, na w e j ś c i a b l o k u j ą c e m u l t i p l e k s e r ó w i n a w e j ś c i e z e r u j ą c e RKOE doprowadzono s y g n a ł z e r o w a n ia INI5?. W c z a s i e , gdy j e s t on aktyw ny, n a s t ę p u j e p r z e j ś c i e do m i k r o i n s t r u k o j i s t a r t o w e j .

Mikroprogramowanie ąegmentowych mikroprocesorów..._______________ 39

(10)

40 H. Nowak. P. Strożyna

E L E h tW H X 3 0 0 2

i t ^ d O W A H l A P E t Y -

PECIAMI)

Rys. 3 . 1 . P o ł ą c z e n i e s e k w e n te r a 13001 z e lem e n ta m i w s p ó łp r a c u ją c y m i F i g . 3 . 1 . 13001 s e q u e n c e r c o n n e c t i o n w i t h c o - o p e r a t i v e d e v i c e s

3 . 3 . Adresowanie m l k r o i n s t r u k c j i

Przy s y n t e z i e m ikroprogra m u d l a s t e r o w n i k a tw a r d y c h dysków n i e d y sp o ­ nowano m ikroa sem blerem d l a INTELA 3000. A sem bler t a k i n i e z o s t a ł r ó w n i e ż p r z e z p r o j e k t a n t ó w s t e r o w n i k a n a p i s a n y ze w zglę du n a o g r a n i c z e n i a czasowe p r z y r e a l i z a c j i t e m a t u . Z o s t a ł o j e d y n i e s tw o r z o n e p r o s t e oprogramowanie pom ocnicze o p i s a n e w p . 4 . 2 , Cały c i ę ż a r r o z m i e s z c z e n i a m ikroprogram u w p a m i ę c i s p a d ł zatem n a j e g o a u t o ró w .

P r z y d z i e l a n i e adre sów m i k r o i n s t r u k c j o m w p a m i ę c i s t a ł e j mimo m nogości skoków s e k w e n t e r a , j e s t b a r d z o skom plikow ane. Stosunkowo duży z e s t a w f u n k ­ c j i skoków p o z o r n i e s t w a r z a s z e r o k i e m o ż liw o ś c i a d r e s o w a n i a . Je d n a k ż e sz cz egółow o a n a l i z a p o s z c z e g ó l n y o h f u n k c j i u j a w n i a s z e r e g o g r a n i c z e ń , k t ó r e p r o j e k t a n t m usi pokonaó. W y n ik ają ono g łó w n ie z f a k t u , że z d a n e j M i k r o i n s t r u k c j i można sk o c z y ć j e d y n i e pod pewne a d r e s y ś c i ś l e u z a l e ż n i o ­ n e od w y b ra n e j f u n k c j i s k o k u . N ie zawsze z a te m i s t n i e j e s k o k , k t ó r y p o z ­ w o l i ł b y n a p r z e j ś c i e między dwiema do w o ln ie wybranymi komórkami p a m ię o i mikroprogrsm ów. T r u d n o ś c i t e r o s n ą wraz z e w zrostem o b s z a r u p a m i ę c i zajmo­

wanego p r z e z m ik r o p ro g ra m . Cały m ik ro p ro g ra m s t e r o w n i k a tw a r d y c h dysków s k ł a d a s i ę z o k . 380 m i k r o i n s t r u k c j i ( o k . 74% o b s z a r u p a m i ę c i ) , w ię c r o z ­ m i e s z c z e n i e t e g o m ikroprogra m u w p a m i ę c i n i e b y ło zadaniem t r y w ia l n y m .

(11)

Przy r o z m i e s z c z a n i u mikroprogramu n a l e ż y w z i ą ć pod uwagę, że p o s z c z e ­ g ó ln e f u n k c j e skoku p r z e k a z u j ą s t e r o w a n i e do o k r e ś l o n y c h ob sz aró w , np.

do w i e r s z y lu b kolumn o ś c i ś l e sp recyzow anych a d r e s a c h . Przykładowo s k o k i warunkowe t e s t u j ą c e s t a n f l a g fJPL, JCF, JZF) powodują p r z e j ś c i e do j e d n e j z kolumn o num erach: 2, 3. 10 l u b 11. '•'/ m ikroprograir.ie s t e r o w n i k a tw a r d y c r dysków w y s t ą p i ł o b ard z o d u to skoków warunkowych. Konieczne b y ło w ięc z a ­ rez e r w o w a n ie na w s t ę p i e komórek, do k t ó r y c h p r z e c h o d z i s i ę w wyniku s k o ­ ków warunkowych, aby komórek t y c h n i e z a j ą ć p r z e z przypadkowe m i k r o i n - s t u k c j e , u n i e m o ż l i w i a j ą c tym samym r e a l i z a c j ę w s z y s t k i c h skoków warunko­

wych.

Wprowadzono zatem z a s a d ę dedykowania pewnych p ó l p a m ię c i ok reślo n y m skokom, t j , re z e r w o w a n ia obszarów d la p o t r z e b p r z e k a z a n i a s t e r o w a n i a przy z a s t o s o w a n i u o k r e ś l o n e j f u n k c j i s k o k u . W p a m ię c i mikroprogramów w y ró ż n io ­ no n a s t ę p u j ą c e p o l a dydykowane:

- kolumny 2 , 3, 10 i 11 d l a skoków JPL, JCP, JZP,

" 0 , 1, 4 , 5, 8 , 9 d l a skoków JPX, t e s t u j ą c y c h s y g n a ły s t a n u s t e r o w n i k a ,

- w i e r s z 0 ja k o w i e r s z początków podprogramów,

- " 3 " " " p r o c e d u r r e a l i z u j ą c y c h o p e r a c j e elemen­

t a r n e ( w i e r s z t e n z o s t a ł w z a s a d z i e wybrany d o w o l n i e ) .

Ponauto w y ró ż n io n o 2 komórki s t a r t o w e m ikroprogram u ( o a d r e s a c h 0 - 0 i 0 - 1 ) . K o n ie c z n o ś ć w y o d r ę b n ie n ia dwóch komórek wynika z t e g o , że s t a n s y g n a ł u PO po d cz as z e r o w a n ia s t e r o w n i k a ( wymuszenia s y g n a ł u LD s e k w e n t e r a ) j e s t n i e ­ o k r e ś l o n y - porównaj r y s . 3.1

Z uwagi na s p e c y f i c z n y mechanizm powrotów z podprogramów ( punkt 3 . 1 . 6 ) zarezerw owane r ó w n i e ż z o s t a ł o tz w . p o l e powrotów ś b l o k 5 x 4 kom órki) z a ­ p e w n ia ją c e powrót z mikropodprogramów.

Aby u ł a t w i ć a d r e s o w a n ie i u z y s k a ć p r z e j r z y s t ą mapę m ikroprogram u c a ł ą pam ięć p o d z i e l o n o pomiędzy podprogramy i p r o c e d u ry o p e r a c j i dyskowych p r z y ­ d z i e l a j ą c im pewną l i c z b ę w i e r s z y p a m ię c i (z w y ją t k ie m dwóch w i e r s z y z a ­ r e z e rw o w a n y c h ). l i c z b a w i e r s z y b y ła p r o p o r c j o n a l n a do l i c z b y m i k r o i n a t r u k - c j i d a n e j p r o c e d u r y , a ś c i ś l e j do l i c z b y m i k r o i n s t r u k c j i z a w i e r a j ą c y c h s k o k i warunkowe, gdyż t a w i e l k o ś ć o k a z a ł a s i ę k r y t y c z n a z p u n k tu w id z e ­ n ia z a j ę t o ś c i p a m i ę c i .

P o d z i a ł p a m ię c i mikroprogramów na. p o la dedykowane p r z e d s t a w i s s c h e m s tv - c z n i e r y s . 3 . 2 .

Po t a k dokonanym p o d z i a l e p a m ię c i p r z y s t ą p i o n o do p r z e d z i a ł u adresów p oszczególnym m i k r o i n s t r u k c j e m . Tym m i k r o i n s t r u k c jom, do k t ó r y c h p r z e c h o ­ d z i s i ę skokami s p e c j a l n y m i , p r z y d z i e l o n o a d r e s y .z a r e z e r o w o w a n e u p r z e d n i o . N a to m ia s t w i n n 1 ch p r z y p a d k a c h w y k o rz y s ta n o s k o k i JCC. i JCR o r a z p o z o s t a ł e wolne a d r e s y z : s z a r u dedykowanego d a n e j p r o c e d u r z , Niemcżliwe> było

ś c i s ł e p r z e s t r z e g a n i e zajmowania w y łą c z n i e obszarów dedykowanych. S z c z e ­ g ó l n i e pop raw k i wprowadzone na e t a p i e u r u c h a m i a n i a m ikroprogram u p r z y ­ c z y n i ł y s i ę do pewnych zmian w p i e r w o t n i e z a ł o ż o n e j s t r u k t u r z e .

Mikroprogramowąnie segmentowych mikroprocesorów..._______________________ 4y

(12)

42 H. Nowak. P. Strużyna

Rys. 3 . 2 . Mapa p a m ię c i m ikroprogra m u s t e r o w n i k a tw ardyc hi dysków F i g , 3 , 2 . A map o f m ic ro p ro g r a m raemory f o r t h e h s r d d i s o c o n t r o l l e r

Ka z a k o ń c z e n i e n a l e ż y z a z n a c z y ć , że z powodu t r u d n o ś c i w b e z p o ś r e d n im p r z e j ś c i u do żądanego a d r e s u do m ikroprogram u wprowadzono p u s t e m i k r o i n - e t r u k c j e , k t ó r y c h zadaniem j e s t j e d y n i e p r z e k a z a n i e s t e r o w a n i a ("sk o k i).

Ka ry s u n k u 3 . 2 z i l u s t r o w a n o p r zy k ła d o w e s k o k i w p a m ię c i mikroprogramów p r z y r e a l i z a c j i j e d n e j z p r o c e d u r .

(13)

Mikroprogramowąnie segmentowych mikroprocesorów.. 43

4. U a r z e d z i a wspomagające mik roprogramowąnie

4 . 1 . J ę z y k i m ik roprogram ow ania

Od c z a s u w prowadzenia p r z e z Wilkeaa p o j ę c i a m ikroprogra m ow ania p o w s ta ło w i e l e n a r z ę d z i u ł a t w i a j ą c y c h t w o r z e n i e i u r u c h a m ia n i e mik roprogram ów.

P rz e d e w s z y s tk im n a l e ż ą do n i c h j ę z y k i m ikroprogram ow ania i i c h t r a n s l a ­ t o r y . Głównymi p r z e s ł a n k a m i wprowadzenia t y c h języków b y ły s

- chęó u w o l n i e n i a m ik r o p r o g r a m i s t y od k o n i e c z n o ś c i p a m i ę t a n i a kodów b i n a r ­ nych i u w z g l ę d n i a n i a sz cz eg ó łó w k o n k r e t n e j a r c h i t e k t u r y u r z ą d z e n i a m i - kroprogramowa n e g o ,

- d ą ż e n i e do m i n i m a l i z a c j i l i c z b y błędów w m i k r o p r o g r a m i e , - s k r ó c e n i e c z a s u s y n t e z y i u ru c h a m ia n i a m lkroprogra m u.

Podobnie j a k wśród języków p rogram ow ania, w y ró ż n ić można j ę z y k i m ik ro ­ programowania na p o zio m ie p r z e s y łó w m i ę d z y r e j e s t r o w y c h ( m i k r o a s e m b l e r y ) , j ę z y k i wyższ ego r z ę d u i m e t a j ę z y k i , p o z w a l a j ą c e na z a d e k l a r o w a n i e s t r u k ­ t u r y u r z ą d z e n i a , f o r m a t u m l k r o i n s t r u k c j i i t p . Do n a j b a r d z i e j r o z p o w s z e c h ­ n io n y c h języków m ikroprogra m ow ania wyższego r z ę d u n a l e ż ą t SIHFL, MPL, EMPL, Sx , MPGL, MPGS, Pumpkin, CHAMIL i i n . [7, 8] . J ę z y k i t e s ą na o g ó ł maszynowo n i e z a l e ż n e , p o z w a l a j ą na p i s a n i e s t r u k t u r a l n y c h mikroprogramów i o p e r o w a n ie na danyc h sy m b o l ic z n y c h . S t r u k t u r a s t e r u j ą o a t y c h języków o p a r t a J e s t na s t r u k t u r a c h ję z y k ó w j ALGOL, PASCAL, P L / I .

P owszechnie s t o s u j e s i ę r ó w n i e ż a s e m b l e r y mikroprogramów. U m o ż liw ia ją one s y m b o l ic z n e w prow adzanie z a w a r t o ś c i p ó l kodowych i sy m b o l ic z n ą a d r e s a - o j ę . Zwykle je d e n w i e r e z program u źródłow ego odpowiada j e d n e j m i k r o i n s t r u - k o j i .

Coraz c z ę ś c i e j t r a n s l a t o r y języków m ik roprogram ow ania wyposaża s i ę w moduły s y m u l a c j i o r a z k o n t r o l i i d i a g n o s t y k i błędów. P r z y s p i e s z a t o z n a ­ c z n i e p r o c e s t e s t o w a n i a i u r u c h a m i a n i a mikroprogramów.

I n a t e r e s u j ą o e p r z y k ł a d y języków m ik roprogram ow ania można z n a l e ź ć w [4, 5 , 6 ] .

4 . 2 . Wapomaganle m ik r o p r o g r a m i s t y s t e r o w n i k a tw a rd y c h dyaków.

4 . 2 . 1 . Programy usługow e

T w orz enie m ik ro p ro g ra m u d l a s t e r o w n i k a t w a r d y c h dysków h y ł o u ł a t w i o n e d z i ę k i p a k i e t o w i programów p om oc nicz ych, k t ó r e r e a l i z o w a ł y n a s t ę p u j ą c e f u n k c j e j

- s y m b o l ic z n e w prow adzanie m ik ro p ro g ra m u ,

- s o r t o w a n i e ź r ódłow e go z b i o r u m l k r o i n s t r u k c j i wg a d r e s ó w , - sy m b o lic z n y wydruk t r e ś o i m ik ro p r o g ra m u ,

- wydruk mapy z a j ę t o ś e i p a m i ę c i m ik ro p ro g ra m u , - g e n e r a o j a m ikroprogram u b i n a r n e g o .

(14)

44 H. Nowak, P. Strużyna

Program? t e n a p i s a n e z o s t a ł ? w ję z y k u CBASIC na s ? s t e m i e RTDS-8. W szyst­

k i e program? z a p e w n i a j ą w?godn?, k o n w e r s a c ? j n ? t r y b p r a c ? . W y k o r z y s ta n ie i c h u w a ln ia p r o j e k t a n t a m ikroprogram u od k o n i e c z n o ś c i p a m i ę t a n i a b i n a r ­ nych kodów m i k r o i n a t r u k c j i , pozwala na zn a cz n e z a o s z c z ę d z e n i e c z a s u i u n i k n i ę c i e •w i e l u b łę dów . U ła t w i a t a k ż e u z y s k a n i e d o k u m e n ta c ji m i k r o p r o ­ gramu. Dodatkową z a l e t ą j e s t u m i e s z c z e n i e m ikroprogram u zarówno w p o s t a c i ź r ó d ł o w e j , j a k i wynikowej w p a m ię c i na d y sk a c h e l a s t y c z n y c h . B inarny kod wynikowy, generowany p r z e z oprogramowanie u słu g o w e , r e p r e z e n t u j e z a ­ w a r t o ś ć p a m ię c i n ikroprogra m ów i s t a n o w i podstaw ę do zaprogram ow ania pam ię­

c i PROM.

4 . 2 . 2 . S ym boliczne wprowadzanie m i k r o i n a t r u k c j i

Na k i l k a słów uwagi z a s ł u g u j e program s y m b o lic z n e g o wprowadzania m i k r o - i n s t r u k c j i , tw o r z ą c y z b i ó r źródło wy m ik r o p r o g ra m u . Program n i e j e s t w pełnym te g o słowa z n a c z e n i u asem blerem , gdyż c a ł y c i ę ż a r a d r e s a c j i m ik r o - i n s t r u k c j i musi w z ią ć na s i e b i e p r o j e k t a n t . U żytkownik wprowadza w odpo­

w i e d z i na z a p y t a n i a programu k o l e j n e m i k r o i n s t u k c j e , p o d a j ą c i c h a d r e s i z a w a r t o ś ć k aż dego p o l a w s ł o w i e m i k r o i n s t r u k c j i - p o r . f o r m a t m i k r o i n s t r u k - c j i w t a b l i c y 2 . 1 . Bola PC, SP, PA o k r e ś l a n e s ą s y m b o l i c z n i e . Maska

T a b l i c a 4.1 P r z y k ł a d m i k r o i n s t r u k c j i w p o s t a c i sym­

b o l i c z n e j O zn a c z e n ie p o l a m i k r o i n s t r u k c j i

P rzykładow a po­

s t a ć s y m b o lic z n a

M PD

V po 6 , 1 , R5

PC3-PC2 HCZ

0 _k 1 O O PPO

AC J , 1

SP DAT

PA TRACK

WR/RD 0

BLOK t>.

DAT/CRC 0

WG 1

RG 1

STROBĘ 1

RESTORE 1

(15)

Mikroprogramowanle segmentowych mikroprocesorów...

ii

podawana j e s t w f o r m i e liozb.y s z e s n a s t k o w e j , n a t o m i a s t p o la J ednobito w e (BLOK, WR/RD, DAT/CRC, WG, RG, RESTORE,'STROBĘ) d e f i n i u j e s i ę za pomocą c y f r y b i n a r n e j ( 0 l u b 1 ) , W p o l u adresowym AC n a l e ż y podać s y m b o l ic z n ą nazwę skoku w ra z z Jego argumentem. W yjątek s t a n o w i p o l e ? g - P 0 o r k e ś l a j ą c e p r z e t w a r z a n i e elementów 13002, k t ó r e r o z b i t e J e s t na 3 p o d p o la z g o d n ie z opisem katalogowym [2] . W p o d p o la c h d e f i n i u j e s i ę l ic z b o w e kody grupy P i R o r a z nazwę je d n e g o z r e j e s t r ó w e l e m e n t u .

W t a b l i c y 4 . 1 . z a m ie s z c z o n o p rzy k ła d o w ą m i k r o i n s t r u k c j ę w p o s t a c i a k c e p ­ to w a n e j p r z e z program wpro wadzania sy m b o l ic z n e g o .

Dodatkową f u n k c j ą o p i s a n e g o programu j e s t s p r a w d z e n i e , czy komórka o podanym p r z e z w p row adzającego a d r e s i e n i e z o s t a ł a J u ż w c z e ś n i e j z a j ę t a .

4 . 3 . U ru c h a m ia n ie m ikroprogram u

W t r a k c i e u r u c h a m ia n i a m ikroprogram u s t e r o w n i k a tw a rd y c h dysków z a s t o ­ sowano n a s t ę p u j ą c e podstawowe ś r o d k i j

- z a s t ą p i o n o docelo we p a m ię c i PROM sz y b k im i p a m ię c ia m i EPROM, k t ó r y c h z a w a r t o ś ć mogła b y ć w i e l o k r o t n i e z m ie n i a n a ,

- do s t e r o w n i k a d o łą c z o n o u k ł a d p r a c y krokowej o r a z z a t r z y m a n i a na zadanym a d r e s i e m i k r o i n s t r u k c j i ,

- c a ł e słowo m i k r o i n s t r u k c j i wyprowadzono na dodatkową łą c z ó w k ę , w k t ó r e j p o d łą c z o n o p u l p i t uruchom ienio wy p o z w a la j ą c y nai

a ) o b s e r w a c j ę s t a n u sygnałó w m i k r o s t e r u j ą c y c h na . d io d a c h e l e k t r o l u m i n e ­ s c e n c y j n y c h ,

b ) wymuszanie pewnych sy gna łów (po w y j ę c i u p a m ię c i mikroprogramów z p o d s t a w k i ) .

Po u r u c h o m i e n i u m ikroprogra m u p rzy z a s t o s o w a n i u wyżej w y s z c z e g ó ln io n y c h n a r z ę d z i o d łą c z o n o od s t e r o w n i k a u k ł a d p r a c y k r o k o w e j, a m ikroprogra m

" z a s z y t o " w p a m i ę c i a c h s t a ł y c h PROM.

5. Podsumowanie

5 . 1 . P r o p o z y c j a r o z s z e r z e n i a m o ż liw o ś c i wspomagania m i k r o p r o g r a m i s t y Oprogramowanie wspomagające p r a c ę p r o j e k t a n t s s t e r o w n i k a tw a r d y c h dy­

sków można u d o s k o n a l i ć u z y s k u j ą c d a l s z e z m n i e j s z e n i e p r a c o c h ł o n n o ś c i i c z a s o c h ł o n n o ś c i m lk ro p ro g ra m o w an ia .

P i e r w s z ą p r o p o z y c j ą m o d y f i k a c j i j e s t u m o ż l i w i e n i e wprowadzania s y m b o l i­

cznego w s z y s t k i c h p ó l m i k r o i n s t r u k c j i , a z w ła s z c z a p o l a s t e r o w a n i a p r z e ­ tw a r z a n ie m p r o c e s o r a segmentowego- 13002. TT tym c e l u można p o s ł u ż y ć s i ę k atalo g o w y m i nazwami sy m b o licz n y m i m i k r o i n s t r u k c j i t e g o e l e m e n tu o r s z sym bolicznym i nazwami r e j e s t r ó w w ew nętrz nych nadanymi p r z e z p r o j e k t a n t a . Dodatkowym u ł a t w i e n i e m d l a m i k r o p r o g r a m i s t y b y ł a b y r e z y g n a c j a z k o n i e c z ­ n o ś c i w prow adzania p ó l w p r z y p a d k u , gdy i c h s t a n o k r e ś l a o p e r a c j ę p u s t ą ( “no o p e r a t i o n " ) .

(16)

Naatępnym poważnym k rokiem b y ło b y p o w i e r z e n i e oprogramowaniu wspomaga-*

jąoemu z a d a n i a a u t o m a t y c z n e j a d r e s a o j i m i k r o i n s t r u k c j i . J e d n a k ż e z uwagi n a w i e l e o g r a n i c z e ń p r z y w y zn a cz an iu a d r e s u n a s t ę p n e j m i k r o i n s t r u k c j i

( p . 1 , 4 ) n i e b y ło b y t o z a d a n i e ł a t w e .

Po d o k o n a n iu powyższ ych r o z s z e r z e ń o tr z y m a lib y ś m y k l a s y c z n y m ikroa sem - b l e r . Kolejnym etapem m o d y f i k a c j i może być p r ć b a z u n i w e r a a l i z o w a n i a t a k i e ­ go a s e m b l e r a w o e l u u n i e z a l e ż n i e n i a s i ę od k o n k r e t n e j s t r u k t u r y s p r z ę t o w e j . W tym p rz y p a d k u p r o j e k t a n t d e k l a r u j e fo rm a t m i k r o i n s t r u k c j i , o k r e ś l a nazwy s y m b o l ic z n e i przyporzą dkow a ne im w a r t o ś o i b i n a r n e . D e f i n i u j e zatem s y n - t a k t y k ę i sem antykę j ę z y k a m ikroprogra m ow ania . Program g e n e r u j ą c y m i k r o - program b i n a r n y w e d łu g r e g u ł podanych p r z e z u żytkow nika można o k r e ś l i ć mianem m e ta a s e m b l e r a m ikroprogra m u.

Oprogramowanie wspomagające w a r to ró w n i e ż w zboga cić o s y m u l a t o r poz­

w a l a j ą c y na ś l e d z e n i e t o k u wykonywania m ikroprogra m u. N a le ż y p o n ad to z a ­ uważyć, że b a r d z o dobrym n a rz ę d z ie m u r u c h a m ia n i a zarówno u r z ą d z e n i a , j a k i s t e r u j ą c e g o nim m ikroprogra m u b yłby układowy e m u la t o r INTELa 3000.

Z a g a d n i e n i a e m u l a c j i z o s t a ł y szczegółow o p r z e d s t a w i o n e w [9] .

5 . 2 . Uwagi końcowe

Z a s t o s o w a n ie elementów m ik ro p ro c e so ro w y c h r o d z i n y 13000 do budowy u r z ą ­ d ze ń c y f r o w y c h n i e s i e w i e l e k o r z y ś c i f p . 1 . 1 ) . J e d n a k ż e w y k o r z y s t a n i e t e j r o d z i n y ma r ó w n i e ż pewne wady. Je d n ą z n i e l i c z n y c h , choć podstawowych j e s t d o ś ć skom plik ow ane m ik ro p ro g ra m o w an ie, z w ła s z c z a p r z y b r a k u o d p o w ie d n ic h n a r z ę d z i w spom a gają cyc h. S z c z e g ó ln e t r u d n o ś c i s t w a r z a a d r e s o w a n ie p o s z ­ c z e g ó l n y c h m i k r o i n s t r u k c j i . S ekw enter 13001 n i e p r z e w i d u j e mechanizmu skoków d o /p o w r o tó w z podprogramów. Aby t o o s i ą g n ą ć t r z e b a angażować do­

datkowe u k ła d y l o g i c z n e i s to s o w a ć dość wyszukane t e c h n i k i . Poza tyra wy­

d a j e s i ę , że d ł u g o ś ć s ł o n a ele m e n tu p r z e t w a r z a n i a 13002 (2 b i t y ) j e a t z b y t k r ó t k a d l a typowych z a s to s o w a ń - t r z e b a za te m w y k o r z y s ta ć w i e l e t a k i c h elem e n tó w . Być może powyższe c z y n n i k i w p ły n ę ły na s to p n i o w e wycofywanie s i ę f i r m z a c h o d n i c h z p r o d u k c j i a i k r o p r o o s s o r ó w r o d z i n y 13000 ( w z g lę d n ie i c h o d p o w ie d n ik ó w ). K o n s t r u k t o r z y w y k o r z y s t u j ą p o w sze ch n ie i n n a s e r i e m ik r o p r o c e s o ró w b i p o l a r n y c h , np. AMD 2900. Rodzina t a , ł ą c z ą c z a l e t y s a g - aentow yoh m ik r o p r o c e s o ró w b i p o l a r n y c h , p o s i a d a t ę przewagę nad s e r i ą 13000, ż e a d r e s o w a n i e m i k r o i n s i r u k o j i j e s t z n a c z n i e p r o s t s z e ( s e k w e n c y j n e ) .

P r z e w id z ia n o t e ż m ożliw ość w y k o r z y s t a n i a mikroprogramów, k t ó r e nawet mogą być z a g n i e ż d ż a n e . P o n ad to e le m e n t p r z e t w a r z a j ą c y wykonuje o p e ra t)j e na s ło w a ch 4 - b l t o w y e h .

Bardzo c z ę s t o o s t a t e c z n y k s z t a ł t w i e l u u r z ą d z e ń p o w s t a ł y c h w naszym k r a j u j e a t wynikiem kompromisu pomiędzy z a m ie r z e n i a m i p r o j e k t a n t a a j e g o m o ż liw o ś c ia m i f n p , d o s t ę p n ą b a z ą e lem e n to w ą). Typowym p r z y k ła d e m t a k i e j

s y t u a c j i je B t w y k o rz y sty w an ie do k o n s t r u k c j i u r z ą d z e ń c y fro w y c h układów r o d z i n y 13000, d o s t ę p n e j w P o l s c e . Wydaje s i ę , że w n a j b l i ż s z y m o z a s i a

ele m e n ty t e j r o d z i n y będą s z e r o k o sto s o w a n e w t e c h n i c e c y f r o w e j . Dużym je d n a k optymizmem napawa f a k t c o r a z w i ę k s z e j d o a t ę p a o ś o i w k r a j u in n y c h

46 ; H. Nowak. P. Stróżyna

(17)

Hikroprogramowania segmentowych mikroprocesorów.. 47

s e r i i m ik r o p r o c e s o ró w segmentowych, c h o c i a ż b y wspomnianej s e r i i AMD 2900 produkowanej w k r a j a c h RWPG.

LITERATURA

[1] Rzymkowski K. j " M ik r o p r o c e s o r y " ROIRTE E n e r g e t y k i i E n e r g i i Atomowej, Warszawa 1979.

[2] S e r i e s | 3000 B i p o l a r M icrocom puter System . K a t a l o g f irm y INTEL, 1976.

[

3

] Rowak H . , S tr ó ż y n a P. : R e a l i z a c j a s t e r o w n i k a tw a rd y c h dysków z wy­

k o r z y s t a n i e m m ik r o p r o c e s o ró w segmentowych. Z e s z y ty Raukowe P o l i t e c h n i ­ k i Ś l ą s k i e j , s . I n f o r m a t y k a , z . 8 , G liw ic e 1986.

[

4

] F i r t h R. R. s The Role o f iŚoftware T o o ls i n t h e Developem ent o f t h e ECLIPSE MV/8000 M ic ro c o d e , " S ig m ic ro R e w s l e t t e r " v o l . 11 n r 3 i 4 , 1 9 8 0

.

[5] B a l l i e u G ., Lewi J . , Willems Y .D . : A Microprogramm ing Language a t R e g i s t e r T r a n s f e r L e v e l , " M i c r o p r o c e s s i n g and M icroprogram m ing" v o l . 8 n r 3, 4 , 5 , 1981.

[6] S k o r d a l a k i s E. j Towards a More F l e x i b l e M ic ro la n g u a g e f o r B i t - S l i c e d M ic ro c o m p u te rs , " M i c r o p r o c e s s i n g and M ic r o p r o g r a m m i n g " v o l . 7 ' n r 1, 1981.

[7] S i n t M. s A Survey o f Hig h L e v e l Languages f o r M icroprogramm ing, " S i g ­ m ic ro N e w s l e t t e r " v o l . 11 n r . 3 , 4, 1980.

[8] B u s h e l l R . G . : H ig h e r L ev e l Languages f o r M icroprogram m in g, "Euromicro J o u r n a l " v o l . Rr 2, 1978.

R e c e n z e n t: d r i n ż . J e r z y Jaworow ski

Wpłynęło do R e d a k c j i 1 4 .0 6 .1 9 8 5

MHKPOnPOrPAMMKPOBAHME M H K P O I I O H E C C O P O B I N T E L

3000

H A [ I P H M E P E K O H T P O J U E E P A M A r H H T H H X H H C K O B

P e 3 ¡0 m e

B d a i b e f l a H a K p a T K a a x a p a K i e p n c T H K a M H K p o n o p u e c c o p H o r o H a S o p a I N T E L

3000

c o O p a ą e H H e w B H H u a H H H H a M H K p o n p o r p a w M H o e y c T p o f t c i B O y n p a B J i e H u a n o c j i e o c k h -

s a K O H i j e n u H H H c n o j i b 3 0 B a H H f l H a ó o p a

13000

f l j ifl K O H C T p y K i x a n K O H T p o j u i e p a M a r H H T - H p c f l H C K O B , n p e ^ c r a B J i e n a c T p y m y p a M H K p o n p o r p a M M H h < $ o p M a i M H K p o K O M a H f l . P a c c M a T p H B a J o T c a i a K x e n p o Ó J i e M h i a f l p e c c a u H H M H K p o K O M a H f l . J l a H u u e i c o T o p u e n p a - K T H a e c K H e c o o S p a s c e H H H . h n p o e K T H u e c o B e r u . . B s a K A W H H i e . i b H o f i l u a o i b i p a e o T u o n H C a H H c p e f l c i B a p ą 3 p a 6 o T K H h c o B e p m e H C T i B O B a H H s j M H K p o n p o r p a M M H . ą j i a K O H T p o j u i e p a T B e p A b D C A H C K O B ,

(18)

INTEL 3000 FAMILY OF BIT-SLICED MICROPROCESSORS MICROPROGRAMMING ON THE BASIS OF THE HARD DISC CONTROLLER

S u m m a r y

A b r i e f c h a r a c t e r i z a t i o n o f INTEL 3000 b i p o l a r b i t —o l i c e d m i c r o p r o c e ­ s s o r f a m i l y was p r e s e n t e d i n t h e p a p e r . P a r t i c u l a r a t t e n t i o n was - p a i d t o m ic ro p ro g ram c o n t r o l u n i t . A f t e r h a v i n g o u t l i n e d t h e i d e a o f m aking u se o f t h e 3000 f a m i l y t o c o n s t r u c t a h a r d d i s o c o n t r o l l e r , a s t r u c t u r e o f m ic ro p ro g ram and a f o rm a t o f m i c r o i n s t r u c t i o n were d e s c r i b e d . Problems o f m i c r o i n s t r u c t i o n a d d r e s s i n g were d i s c u s s e d i n d e t a i l . Some p r a c t i o a l a d v i c e o f d e s i g n i n g a s w e l l a s r e m a rk s were s t a t e d t h e n . F i n a l l y , d e v e l o p ­ ment m eth ods f o r t h e m ic ro p ro g ram o f t h e h a r d d i s c c o n t r o l l e r were shown.

48_______________________________________________________ H. Nowak. P. Stroivna

Cytaty

Powiązane dokumenty

Cykl pracy (ilośc manewrów/godzina) 15 Maksymalna ilość manewrów na dobę (24 h) 35 Zakres temperatur pracy (°C) -20÷50 INFORMACJE TECHNICZNE CENTRALI. Napięcie zasilania (V) 230V

Ten sposób produkcji oprogramowania nazywać będziemy skrośnym, gdyż komputer, dla którego produkuje się oprogramowanie (komputer docelowy) różni się od

Rosną rów nież wymagania staw iane aystomom mikrokomputerowym, dotyczące ic h m ożliw ości programowych.. Transm isja bloku danych między ComPAN-em a sterow nikiem

Mo żl iw e Jest zast os ow an ie różnych s p osobów adreeacjl.. Wy maga on z n aj om oś ci kombinacji kodo wy ch odpowiada­.. jącym poszczególnym ey gnałom

Wzorowany jest na instrukcji przypisania (podstawienia) przejętej z języków wysokiego

Panel FPGSG przetłoczenie wysokie struktura gładka, kolory za dopłatą – dąb bagienny, orzech, winchester, złoty dąb – 18%..

Program ten powinien wykona test za pomocą testera MASTER-ITE oraz odczytać odpowiedzi mikroprocesora n test uzyskane w wyniku przeprowadzenia testu i zapisane w

miennej blokady ruchu segmentowych palet i stołu obrotowego składa się z osadzonego w korpusie trzpienia współpracującego ze sprężyną, który na jednym swoim końcu ma