ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ
S e ria : INFORMATYKA z . 8 Nr k o l. 882
_________ 1936
H a lin a NOWAK P io t r STRÓŻYNA
REALIZACJA STEROWNIKA TWARDYCH DYSKÓW Z WYKORZYSTANIEM MIKROPROCESORÓW SEGMENTOWYCH
S tre s z c z e n ie . W a rty k u le z o s ta ło przedstawione ro zw ią za n ie sterom, wnika twardych dysków dla systemu ComPAN-8.
Na w stęp ie kró tk o scharakteryzowano pamięć dyskową MERA-9450 i p rze analizowano m ożliw ości w ykorzystania różnych typów mikroprocesorów do r a l i z a c j i ste ro w n ik a . W d a ls z e j c z ę ś c i zaprezentowano szczegóło
wo ro z w ią z a n ie w ykorzyetująoe b ip o la rn e m ikroprocesory eegjnentowe I n t e l 3000. Na zakończenie zwrócono uwagę na m ożliw ości m o d y fik a c ji i zw iększenia fu n k c ji epełnianyoh p rzez s te ro w n ik .
1. Wprowadzenio
W zrastająca lic z b a produkowanych na św iecie mikroprocesorów powoduje ro z s z e rz e n ie d z ie d z in ic h zastosowań. Rosną rów nież wymagania staw iane aystomom mikrokomputerowym, dotyczące ic h m ożliw ości programowych. Systemy o p e ra c y jn e , tr a n s la t o r y , b i b l i o t e k i i programy użytkowników wymagają pa
m ięci zewnętrznych o dużej pojem ności, tz n . pam ięci dyskowych.
W Polsce produkowana je s t obecnie psmięó dyskowa MERA-9450. Problemy związane z podłączeniem t e j pam ięci do systemu mikrokomputerowego ComPAN-8
[2] stanow ią tr e ś ó n in ie js z e g o a r ty k u łu .
2 . Z a ło że n ia
MERA-9450 je s t kasetową pam ięcią dyskową o pojemności 5 lu b 10 bajtów (o pojedynczej lu b podwójnej l i c z b i e ś c ie ż e k ) [1 ] . Jednostka pam ięci je s t wyposażona w dysk s ta ły o raz wymienną k a s e tę . Z b ió r l i n i i i n t e r f e js u oraz podstawowe dane tochnlozne z a w ie ra ją ta b lio e 1.1 i 1 .2 .
Zadaniem sterow nika Jest zapewnienie dwukierunkowej tr a n s m is ji bloków danych pomiędzy mikrokomputerem ComPAN-8 i jedną lu b w ię k s zą , lic z b ą j e dnostek p a m ię c i. Transm isja bloku danych między ComPAN-em a sterow nikiem powinna przeb ieg ać z maksymalną szybkością, tz n . w t r y b ie DMA. Długość p rzesyłan ych bloków, określona p rzez system operacyjny CP/M, powinna wy
nosić 128 bajtó w ew entualnie w ie lo k ro tn o ś ć (256 lu b 5 1 2 ). Sterow nik po
w inien um ożliw iać k o n tro lę poprawnośoi t r a n s m is ji, ochronę przed zapisem oraz sform atowanie dysków.
X L H. Nowak, P, Stróżyna T a b lic a 1.1 Sygnały i n t e r f e j s u p a m ię c i
Nazwa s y g n a ł u Z n ac ze n ie
UNIT SELECT 1
UNIT SELECT 4 Wybór J e d n o s t k i p a m ię c i
TA 0
TA 8 a d r e s ś c i e ż k i
STROBE s t r o b a d r e s u ś c i e ż k i
RESTORE powrót do ś c i e ż k i zerow ej
HEAD SELECT wybór głow icy
DISC SELECT wybór dysku
WRITE DATA l i n i a z a p i s u z e g a r a i danych
WRITE GATE bramka z a p i s u
ERASE GATE bramka kasowania
READ GATE bramka o d c z y tu
WRITE PROTECT ochrona z a p i s u
WRITE PROTECT STATUS z a p i s c h r o n io n y
DENSITY podwójna l i c z b a ś c i e ż e k
ON CYLINDER g ło w ic a n a d ż ą d a n ą ś c i e ż k ą
READ DATA l i n i a o d c z y t u danych
READ CLOCK v l i n i a o d c z y t u z e g a r a
INDEX z n a c z n ik p o c z ą t k u ś c i e ż k i
SECTOR z n a c z n ik p o ć z ą t k u s e k t o r a
SECTOR ADD 0
•
SECTOR ADD 4
a d r e s s e k t o r a
SEEK ERROR b ł ą d s z u k a n ia
PAULT b łę d n y e t a n p a m ię c i
UNIT READY gotowość p a m i ę c i
ATTENTION I
ATTENTION 4
k o n ie c o p e r a c j i s z u k a n i a l u b b ł ą d s z u k a n i a
ADD ACCEPTED a d r e s p r z y j ę t y
ADD INVALID a d r e s n i e p r z y j ę t y
Realizacja sterownika twardych dysków..
15
T a b lic a 1 .2 Podstawowe dane tech n iczn e pamięoi
Średni czas dostępu do ś o ie ż k i 35 ms
System zapisu podwójna c z ę s to tliw o ś ć
C zę s to tliw o ś ć tr a n s m is ji 2 .5 MHz Liczba ś c ie ż e k /c y lin d e r 4
Liozba cylin drów 200 lu b 400
Liczba sektorów 3 2 ,2 4 ,1 6 ,1 2
L ic z b a !jed n o stek pam ięoi w systemie max. 4
Liozba b itó w /ś o ie ik ę 62.500
Liczba bitów /pam ięć 5 0 .0 0 0 .0 0 0 lu b 1 0 0 .0 0 0 .0 0 0
Prędkość obrotowa dysku 2400 obr/m in
\ 2. Konoepoje rozw iązań
Można w z a s a d z i e w y ró ż n ić 2 r o z w i ą z a n i a t - w y k o r z y s t u j ą c e e le m e n ty MSI i S SI,
- w y k o r z y s t u j ą o e m i k r o p r o c e s o r . Wady p i e r w s z e g o z n i c h s ą o c z y w i s t e j
a ) duża l i c z b a elementów ( o k o ł o 250) i z n i ą z w ią z a n e j - w ysoki k o s z t ,
- duży pobór mocy,
- k o n i e c z n o ś ć r e a l i z a c j i s t e r o w n i k a n a 3 l u b 4 p o k i e t a o h , - n i s k a n ie z a w o d n o ś ć ,
- k ł o p o t l i w e u r u c h a m i a n i e ,
b ) s z ty w n o ś ć k o n s t r u k c j i , u t r u d n i a j ą c a m o d y f i k a c j e zw ią za n e n p . ze zm ia
nam i wprowadzonymi p r z e z p r o d u c e n t a p a m i ę c i .
P r z y k ł a d r o z w i ą z a n i a t e g o t y p u z a w a r ty j e s t w [5] . Ka r o z w i ą z a n i e d r u g i e ma wpływ t y p za s to s o w a n e g o m i k r o p r o c e s o r a . Obeonie d o s t ę p n e s ą na r y n k u krajowym m i k r o p r o c e s o r y 8 - b i t o w e p r o d u k c j i p o l s k i e j 1 NRD ("odpowiedniki I n t e l 8080 i Z -80) o r a z b i p o l a r n e m i k r o p r o c e s o r y segmentowe p r o d u k c j i ZSRR ( o d p o w i e d n i k i s e r i i I n t e l 3 0 0 0 ) .
W s t r u k t u r z e s t e r o w n i k a n i e z a l e ż n e j j e s z c z e od t y p u m i k r o p r o c e s o r a można w y r ó ż n i ć n a s t ę p u j ą c e b l o k i ( r y s . 2 . 1 ) j
- pam ięć buforową,- p r z e c h o w u ją c ą tr a n s m i t o w a n e b l o k i danych,
- u k ł a d y k o n w e r s j i a z e r e g o w o - r ó w n o l e g ł e j i r ó w n o l e g ł o - s z e r e g o w e j o r a z g e n e r a c j i i s p r a w d z a n ia słó w k o n t r o l i c y k l i o z n e j ,
- b u f o r y sygnałó w i n t e r f e j s u p a m i ę c i d y sk o w ej, - m i k r o p r o c e s o r z p a m ię c ia m i ROM i RAM l u b
H. Wowak, P. Strużyna
c
c
COHPAN-8
PAMIĘĆ BUFOROWA
ROM , RAM
Lub /¿ROM MIKROPROCESOR
UKŁAD KONWERSJI KONTROLI C /KUCZNE]
-K BUFOR 5y&NAtĆW INTER - FEJ5U
STEROWNIK I
Rys. 2 . 1 r Ogólne s t r u k t u r a s t e r o w n i k a P i g . 2 . 1 . G e n e ra l s t r u c t u r e o f t h e c o n t r o l l e r
PAHIĘC DYSKOWA
o ro w a n le p r z e s y ł a n y c h bloków s t a ł o s i ę k o n i e c z n e ze w zglę du na wymagany s t r a n s m i s j i 1 b a j t u d o / z p a m i ę c i dyskowej (3.2^u,s) i n i e z a l e ż n o ś ć s y g - ów zegarowych ComPAS-a (s t e r o w n i k a ) i p a m i ę c i .
Komunikacja s t e r o w n i k a z mikrokomputerem z o s t a ł a za te m r o z d z i e l o n a n a t o r y :
>r d anyc h, w y k o r z y s t u j ą c y j e d e n z leua&kćr DMA n i k r o k c a p a t e r a , : r s t e r o w s n i a / s t a t u s u , s t a n o w i ą c y d l a m ik ro k o m p u tera 8 - b i t o w y p o r t , ) l a z a p e w n ie n ia d u ż e j w i a r y g o d n o ś c i danych n i e z b ę d n e J e s t z a s t o s o w a n i e . l c z n e j k o n t r o l i p o p r a w n o ś c i (CRC). Wymagana s z y b k o ś ć t r a n s m i s j i u n i e - i w i a w ykonanie k o n w e r s j i s z e r e g o w o - r ó w n o l e g ł e j i r ó w n o l e g ł o - a z e r e g o - o r a z g e n e ro w a n ie i s p r a w d z a n ie słów k o n t r o l n y c h p r z e z m i k r o p r o c e s o r
■wno 8 - b i t o w y Cze względu na c z a s r e a l i z a c j i r z k a z u ) , J a k 1 segmentowy w zględu na o r g a n i c z c n e m o ż l i o ś c i p r z e t w a r z a n i a d an y c h ) a n i t e ż wyko- t a n i e do t e g o c e l u in n y c h s c alizow ar: ’h elementów L S I, n p . Z-80
r e a l i z u j ą c e g o k o n w e r s ję i k o n t r o l ę c y k l i c z n ą d l a s z y b k o ś c i t r a n a m i - do 800 KB/s. Tak w ięc do s p e ł n i e n i a ty c i : f u n k c j i n a l e ż y w y k o r z y s t a ć e n t y MSI i SSI.
p r z y p a d k u wykc> s t a n i a a i k r r r o c e s o r ó w 8 -b i* o w y ch , n p . Z -80, o ; . r z e - ym c z e s i e wykonywani<. n s ' i powyżej 1 . 6 s , do t r a n s m i s j i danych
<>
GomPAB-eis a p a m ię c ią - buf-: •>. ą n a l e ż a ł o b y z a a r o«ować t r u d n o d o s tę p n
e D t Z-80 DMA (8257 n i e uuio^l: i r e n s n i s j l międ; ■ dwiema p a m ię c ie r c i) iCŁ ikow;, u k ł a d g e n e r a c j i a d r e s u p a m i ę c i b u f o ro w e j ("wówczas można
Realizacja sterownika twardych dysków.. 17
b y łoby w y k o r z y s ta ć j e d e n z i s t n i e j ą c y c h kanałów DMA m i k r o k o m p u t e r a ) . Po
d o b n ie w t o r z e t r a n s m i s j i pam ięć buforowa - dysk n a l e ż a ł o b y w y k o r z y s ta ć e le m e n t 8257 l u b l i c z n i k o w y u k ł a d a d r e s o w a n i a . Zadaniem m i k r o p r o c e s o r a b y ło b y w ięc z a i n i c j o w a n i e obu t r a n s m i s j i o r a z s t e r o w a n i e p o z o s t a ł y m i l i n ia m i i n t e r f e j s u p a m i ę c i .
Układ t a k i z a w i e r a ł b y o k o ło 60 elem entó w , głó w n ie LSI i MSI. P r z y a p i e a z e n i e t r a n s m i s j i , w y n ik a j ą c e z r e d u k c j i czasów i n i c j o w a ń , możns bvłoby o s i ą g n ą ć n p . p r z e z o d c z y t k i l k u k o l e j n y c h s e k to r ó w lu b t e ż p r z e z osobne b u fo ro w a n i e z a p is y w a n y c h i odczyty w anych bloków, co spowodowałoby je d n a k znaczny w z r o s t l i c z b y elem entó w .
W y k o r z y s ta n i e b i p o l a r n y c h m ik r o p r o c e s o ró w segnentow ych u m o ż liw iło b y u p r o s z c z e n i e u k ła d u t r a n s m i s j i danych. Czas wykonania m i k r o i n s t r u k c j i r z ę d u 200 n s o r a z f u n k c j e p r o c e s o r a 3002 p o z w a l a j ą na g e n e r a c j ę a d r e s u p a m ię c i b u f o ro w e j p o d c z a s t r a n s m i s j i między p a m i ę c i ą a układem k o n w e r s j i l u b p a m i ę c i ą ComPAH-a, co u m o ż liw ia z k o l e i w y k o r z y s t a n i e k a n a ł u DMA mi
k r o k o m p u te r a .
F u n k c je s p e ł n i a n e p r z e z s t e r o w n i k n i e wymagają skomplikowanego p r z e t w a r z a n i a d an y c h , zatem z e s ta w o p e r a c j i p r o c e so ró w 3002 w ydaje s i ę w y
s t a r c z a j ą c y d l a t a k i e g o z a s t o s o w a n i a . Za w y k o rz y sta n ie m m ik ro p ro c e s o ró w segmentowych p r z e m a w ia ją w i ę c : sz y b k o ść , n i s k i k o s z t , n i e z a w o d n o ś ć i dobre d o s t o s o w a n i e m o ż liw o ś c i m i k r o p r o c e s o r a w s e n s i e l i s t y i n s t r u k c j i do r e a l i z a c j i t e g o z a d a n i a .
Wadą n a t o m i a s t J e s t b r a k n a r z ę d z i wspomagających tw o r z e n i e oprogramowa n i e , a w ię c żmudny p r o c e s p i s a n i a m ikroprogram u i r o z m i e s z c z a n i a go w p a m i ę c i .
B i o r ą c pod uwagę z a l e t y b i p o l a r n y c h m ik r o p r o c e s o ró w o r a z przewidywany r o z m i a r m ik ro p ro g ra m u ( p o n i ż e j 500 m i k r o i n s t r u k c j i l , k o r z y s t n i e j s z e wy
d a j e s i ę z a s t o s o w a n i e m ik ro p r o c e s o ró w segmentowych.
3. E le m e n ta r n e o p e r a c j o dyskowe
Wymiana i n f o r m a c j i między s te r o w n i k i e m a mikrokomputerem odbywa s i ę dwoma t o r a m i : to re m danych p rzekazyw ane s ą w obu k i e r u n k a c h b l o k i danyc h o ż ą d a n e j d ł u g o ś c i , to re m s t e r o w a n i a p r z e s y ł a n e s ą do m ik ro k o m p u tera s ł o wa s t a t u s u o r a z do s t e r o w n i k a słow a s t e r u j ą c e , i n i c j u j ą c e w ykonanie o k r e ś l o n y c h o p e r a c j i . P r z y j ę t e z a ł o ż e n i a spowodowały w y o d r ę b n i e n i e 11 elemen
t a r n y c h o p e r a c j i dyskowych r e a l i z o w a n y c h p r z e z s t e r o w n i k :
1) RESTORE powrót dó ś c i e ż k i z e r o w e j , 2) SEEK s z u k a n i e ś c i e ż k i ( c y l i n d r a ) , 3) READ ADDRESS o d c z y t p o l a adresowego s e k t o r a , 4 ) WRITE ADDRESS z a p i s p o l a adre so w e g o s e k t o r a , 5) READ DATA o d c z y t p o l a danych s e k t o r a .
18 H. Nowak. P. StróiWna
6) WRITE DATA z a p i s p o l a danych s e k t o r a ,
7 ) SELECT wybór j e d n o s t k i , dysku i g ło w ic y , 8) STATUS o d c z y t słów s t a t u s u s t e r o w n i k a i dysku, 9) MODE u s t a l e n i e t r y b u t r a n s m i s j i ,
10) SET-W,PROTECT o c h r o n a z a p i s u ,
11) CLEAR-W-PROTECT kaso w a n ie o c hrony z a p i s u .
Z a i n i c j o w a n i e i c h wymaga w y s ł a n i a od 1 do 5 słó w s t e r u j ą o y c h - k o d ó w o p e r a c j i i i c h param etrów ( r y s . 3 . 1 ) .
O p e r a o je SELECT, RESTORE, SEEJC, SET-W-PROTECT i CLEAR-W-PROTECT b e z p o ś r e d n i o u s t a l a j ą s t a n o d p o w ied n ich l i n i i i n t b r f e j s u p a m i ę c i d y sk o w ej. Wykona
n i e o p e r a c j i RESTORE i SEEK zakończ one j e s t w y sła n iem p r z e z s t e r o w n i k do m ikrokom putera sło w a s t a t u s u p a m i ę c i dy sk o w ej, z a w i e r a j ą c e g o i n f o r m a c j ę o s t a n i e wybranych l i n i i i n t e r f e j s u p a m i ę c i ( p o r . t a b l . 1 . 1 ) .
O p e r a c ja MODE USTALA t r y b t r a n s m i s j i »
- l- , L o - d łu g o ś ć b l o k u ( 1 2 8 , 2 5 6 , 512 b a j t ó w ) ,
- RDCRC - p r z e r w a n i e o p e r a c j i o d c z y t u danyc h w p r z y p a d k u b ł ę d u CRC p o l a a d r e s u ,
- RDAF - p r z e r w a n i e o p e r a o j i o d c z y t u danyoh w p rz y p a d k u b ł ę d u p o l a a d r e s u ( t z n . n i e z g o d n o ś c i z fiz y c z n y m numerem se k t o r a , ś c i e ż k i , g ło w ic y l u b j e d n o s t k i ) ,
-WRCRC - p r z e r w a n i e o p e r a c j i z a p i s u danyoh w p rzy p a d k u b ł ę d u CRC p o l a a d r e s u ,
-WRAF - p r z e r w a n i e o p e r a c j i z a p i s u danyoh w p rzy p a d k u b ł ę d u p o l a a d r e s u ( t z u . n i e z g o d n o ś c i z fiz y c z n y m numerem s e k t o r a , ś c i e ż k i , gło w ic y l u b j e d n o s t k i ) ,
-CHECK - p r z e r w a n i e o p e r a c j i z a p i s u p o l a a d r e s u w p rzypa dku b ł ę d u p o l a a d r e s u .
W wyniku w ykonania o p e r a c j i STATUS s t e r o w n i k w y sy ła ( t o r e m s t e r o w a n i a ) w 1-6 k o l e j n y c h b a j t a c h p e ł n ą i n f o r m a c j ę o s t a n i e p a m i ę c i dyskowej i s t e r o w n i k a . B a j t 2 z a w ie r a i n f o r m a c j ę o b ł ę d a c h , k t ó r e mogą w y s t ą p i ć w c z a s i e wykonywania o p e r a c j i z a p i s u l u b odczytu»
-SECT ERR - n i e z n a l e z i e n i a s e k t o r a ,
-SYNC SRR - b r a k s y n c h r o n i z a c j i ( ś c i e ż k a h i e s f o r m a t o w a n a ) , -CRC ADD - b ł ą d CRC p o l a a d r e e u ,
-CRC DAT - b ł ą d CRC p o l a dan y c h ,
-ADD ERR - n i e z g o d n o ś ć p o l a a d r e s u z numerem s e k t o r a , ś c i e ż k i , g ł o w i c y , dysku l u b j e d n o s t k i ,
-ADD INV - a d r e s ś c i e ż k i n ie p r a w id ło w y ( odpowiada l i n i i ADD UJVALID p s m ię o i d y s k o w e j ) ,
-PAIL - o p e r a c j a p r z e r w a n a z powodu w y s t ą p i e n i a błędów SECT ERR, SYNC ERR, ADD 3BV o r a z CRC ADD l u b ADD ERR p r z y o k r e ś l o nym t r y b i e t r a n s m i s j i .
Realizacja sterownika twardych dyakdw.. 1S
5ELECT
KOD X X X X
Numer v
6>
v s) y 51 NONE» NUNS?jednostki X X X VYiKV GtOUICY X
RE5TORE
KOD X X X X
b ła h ió
0 o 0 ON bEF.K
FAULT
nw
oj
p a m i;u . CYUNDBB ERROR REfiD Y
SEEK
KOD X X X NUMER j
śC/EiKI |
N U H E f ? Ó U E Ź K I
0 0 0 ó n 5EEK
FAULT DŃir 0
;yuw D E< ERRO R F B K Y
S E T w -p r o t e c t
KOD X X X X
CLEAR- ¡0- PR O T E C T
k o p X X X X '
H O D E
K O D X X X X
U U X £ D C J ? C R D A F V J R C R C U R A F C H E C K
Rys. 3 . 1 . Form aty o p e r a c j i dyskowych F i g . 3 . 1 . Form ats o f d i s c o p e r a t i o n s
20 H. Howak, P. Strrfżyna
STATUS
KO O 3L0ŚĆ ZADAKYUA
BAJ TÓU 6 TATUSU
stak i.5
0 0 0 5fł SEEK FAULT i M i f FRITE
p a m ifu CYuNoee ERROR READY PROTEOn
t ł u k l i ,
ikroaniku A SEET
ERR SYNC ERR
CRC ADD
CRC DAT
ADD
ERR ADOIHV FAIL
t r y b L i L. 0 RDCRC RDAF h r c r c kJRAF CHECK
t i VM ER r , » n >) a îJ n o u e r NUMER NUMER
JEDNOSTXI 0 0 u DYSKU & t o UIC* iO E Ź K I
NUHÉR ôCIEXKI
0 0 0 hJUHER SEKTORA
Słakió oteroum'ko - operacja xakeńcie>na
i pciau a
fttruÍLíia <
'tłahii . parni tu.
READ DATA K O D
X X X n u m e r Se k t o r a
i 0 0
CRC 4) ADD
CRC DAT
A b D 2)
BRR 0 0
0 0 0 m
c y l i n d e r
*
0 FAULT UNIT
2 E A I > y 0
btcikis SECT SYNC COC 3) n A t > D ï) D
SlerOunOto A brr ERR Add u '\1
Rys. 3.1 cd.
Realizacja sterownika twardych dyakdw.. 21
WRITE DATA
błalus slti'OUnito -optfcuja 2 a k e ń a o n o
o p tf Om o.
p r tttiodnci
' sfcdus. p a m i f u
Status
i k r o u n i k c
stałus slcronnikci
operacja zakenwna
palt a d r e s u
cperciua
pmruo-na
ÿbxiu.s pamifu status
i k f o u n i k a
K O D X X X X
X X X N U M E R S E K T O R A
'I 0 0
C R C U
A D D 0
A D D 2-)
E R R 0 0
0 0 0
O N 0 F A U L T v m r
CYLINDER R E A D Y 0
\
S E C T E R R
s w e e c ç
C R C i)
A D D 0 A D D Hi
E R R 0 A
Re a d . a d d r e s s
KOD X X X X
X X X N O U E R Ó E K T O R A
4 0 0 C R C
A D P 0 A D D
E R R 0 0
S t O W O S T A T U S U S E K T O R A
N U M E R
■ j e P N O S n r i 0 5) 0 51 0 s ’ N O U E R D Y i K U
w w e s ELOUIVY
Nil H E R Si/E/KI
N U M E R Ô Ü E Ü K I
0 0 0 n u m e r S e k t o r a
0 0 0 O N
0 F A U L T U N I T
CYLINDER R E A D Y 0
4 S E C T
Ei?R i > W C
E R R 0 0 0 0 4
Rys. 3.1. ed.
22 H. Nowak, P. Stróży na WRITE ADDRESS
Ko d X
*
*
XSŁoWo STATUSU SfcKTORA
NUMP# 5) V 5; num er NUMER NUMER
OPCNOSTKl X X X t>y 5kv> s to w ic y3 Ul •3
statvs sTerownikè - o p e r a c ja aalcortaorô
operacja piie-n-iłriA
stełus płtniąd
Sterewrwlca
HUMER ¿CIEżki
X X N U M E R S E K T O R A
i 0
0
0 O A p p e > ie r r 0 0
0 0
0
5FTty jJN D ëa O f a u l tu w i t R E A ty
dftiTE f u m e a a
1 s e c r
EfcE.
W N C
E 5 R 0 O
Abb W
Ë R tt
0
4Rys. 3 . 1 . cd .
Format s e k t o r a , p r z e d s ta w io n y na r y s . 3.2, r o z s z e r z o n o w s t o s u n k u do zaleceń z a w a r t y c h w [i] o dwa słowa s y n c h r o n i z a c j i , p o p r z e d z a j ą c e p o la a d r e s u i dan y c h , co z w ię k s z y ło w iar y g o d n o ść o d cz y ty w a n e j i n f o r m a c j i . P a r a m e tr y o p e r a c j i z a p i s u i o d c z y t u z dysku C t z n . numery j e d n o s t k i , d y s k u , g ło w ic y i ś c i e ż k i ) powinny być zgodne z p a r a m e tr a m i o s t a t n i o wykonanych o p e r a c j i SELECT i SEEK.
Podozas o p e r a c j i z a p i s u danych (WRITE-DATA) w y s ł a n i e słó w s t e r u j ą c y c h p o p r z e d z a t r a n s m i s j ę to rem danych b l o k u danyc h do p a m i ę c i b u f o r o w e j . Po o d s z u k a n iu wybranego s e k t o r a o r a z o d c z y t a n i u i sp ra w d z e n iu je g o p o la a d r e s u dane p rz e p is y w a n e są na d y s k . O p e r a c ję k o ń cz y w y s ł a n i e do m ik r o kom putera sło w a s t a t u s u s t e r o w n i k a l u b p a m i ę c i d y skow ej.
P odczas o p e r a c j i o d c z y tu danych (READ DATA) po o d s z u k a n i u wybranego B e k to r a i k o n t r o l i je g o p o la a d r e s u dane p rz e p is y w a n e s ą z s e k t o r a do p a m i ę c i b u f o r o w e j , a n a s t ę p n i e po w y s ł a n i u słow a s t a t u s u tr a n s m i t o w a n e s ą to r e m danych do m ik ro k o m p u tera.
W p rzy p a d k u w y s t ą p i e n i a b ł ę d u p o la a d r e s u o b i e powyższe o p e r a c j e Ja k rów
n i e ż o p e r a c j a WRITE ADDRESS mogą z o s t a ć p r z e rw a n e ( p o r . o p e r a c j a MODE).
O p e r a c je WRITE ADDRESS i READ ADDRESS wykonywane s ą w c z a s i e f o r m a t o wania i t e s t o w a n i a d ysku. Z aw a rto ś ć p o l a a d r e s u w p rzy p a d k u b e z b łę d n e g o z a k o ń c z e n i a o p e r a c j i READ ADDRESS j e s t r ó w n i e ż p r z e s y ł a n a to r e m s t e r o w a n i a .
POLE TVIEMMCJ
PRZERkM POLE DANYCH
825,6/ - i (25S ba.j<ou ) POLE ADRESU
49.2 us
¡sTbpo C&H 'ROZBÆG’
<<1,6 ys
5YNCHRO M/J*
fi bihj ter
■/ STouo CBH
JèToua CBH
5TAru>5 HUMER NOUER Hu m e r JSDNOiTKI,¿CIEtK 1 SEXrORA eEXTORA*J/SKU,
StOUICY
ÔYNCHRO 36jus
1) dld u z V t u prograrn¡5k j
2
) tüa dijiku i z - t,ekforo~ùecjoRye. 3 . 2 . Format s e k t o r a F i g . 3 . 2 . Format o f a a e o t o r
24 H. Howak, P. Stróż.yna
Bezwzględne p r z e r w a n i e o p e r a c j i z a p i s u l u b o d c z y t u n a s t ę p u j e w p r zypa dku b łę d u p a m ię c i dy sk o w ej, n a r u s z e n i b o c h ro n y z a p i s u ( d l a o p e r a c j i z a p i s u ) , b rak u s y n c h r o n i z a c j i l u b n i e z n a l e z i e n i a s e k t o r a . P rz y cz y n a p r z e rw a n i a o k r e ś l o n a j e s t w s ł o w i e s t a t u s u wysyłanym do m ik r o k o m p u t e r a . J e ż e l i p r z e rwana z o s t a n i e o p e r a c j a o d c z y t u zarówno b l o k .danych, j a k i p o le a d r e s u n i e s ą tr a n s m ito w a n e do m ik r o k o m p u te r a .
4. S t r u k t u r a s t e r o w n i k a
S t r u k t u r a s t e r o w n i k a j e s t p r z e d s t a w i o n a na r y s . 4 . 1 . S ekw enter 3001 w raz z p a m i ę c i ą m ikroprogram u i p r o c e s o r 8 - b i t o w y , z ł o ż o n y z 4 elementów
3002, s t a n o w i ą s y s t e m , p r z e t w a r z a j ą c y i n f o r m a c j e z p a m i ę c i dyskowej i z m ik r o k o m p u te ra . W y k o rz y s ta n ie p ro c e s o ró w i s e k w e n te ra s e r i i 3000 n a r z u c a pewien p o d z i a ł m a g i s t r a l i w e w n ę trz n e j s t e r o w n i k a na p o s z c z e g ó l n e s z y n y .
P o łą c z o n e m a g i s t r a l e D i i p ro c e s o ró w s t a n o w i ą 8 - b i t o w ą sz y n ę danyoh, p r z e s y ł a n y c h między r e j e s t r a m i p r o c e s o r a a p a m i ę c i ą b u fo ro w ą , r e j e s t r e m r ó w n o le g ło -sz e re g o w y m RRS, r e j e s t r e m kodu o p e r a c j i RKOE o r a z b u fo ra m i wyjściowymi d l a i n t e r f e j s ó w dysku i m ik r o k o m p u te r a .
M a g i s t r a l ą M p r z e s y ł a n e s ą dane z RRS i z buforów w e jś c io w y c h i n t e r f e j sów dysku i m ikrokom putera do p r o c e s o r a .
5 0 - b i t o w ą sz ynę m i k r o i n a t r u k c j i I s t a n o w i ą l i n i e sy g n a łó w , omówionych sz cz eg ó ło jfo w. [
7
] .Szynę A s t a n o w i ą l i n i e a d r e s u p a m i ę c i b u f o r o w e j , gen erowanego p r z e z p r o c e s o r .
Układ m o d y f i k a c j i a d r e s u , s z cz eg ó ło w o omówiony w [
7
] , pozwala na o k r e ś l e n i e a d r e s u m i k r o i n s t r u k o j i w z a le ^ż n o śei od w ew nętrznych sy gna łów s t e r o w n i k a o r a z wybranych sygnałó w i n t e r f e j s u p a m i ę c i dyskow ej.K onw ersja danych z p o s t a c i s z e r e g o w e j na r ó w n o l e g ł ą p r z y o d c z y c i e i z r ó w n o l e g ł e j na sz eregow ą p r z y z a p i s i e na dysk z o s t a ł a z r e a l i z o w a n a w r e j e s t r z e przesuwnym RRS.
W y jścia r ó w n o l e g ł e r e j e s t r u odseparow ano od szyny M buforem tr ó j s t a n o w y m BS. Układ k o n t r o l i c y k l i c z n e j RKC g e n e r u j e p rz y z a p i s i e na dysk sło w a CRC z g o d n i e ze s ta n d a r d e m CCIITT o r a z spraw dza popraw ność słó w CRC odczy
t a n y c h z d y sku.
R e j e s t r RRS, p r z e ł ą c z n i c e P1 i P2, u k ł a d k o n t r o l i RKC, b u f o r BS, r e j e s t r y sygnałów s t e r u j ą c y c h i k o n t r o l n y c h d y s k u , pam ięć buforowa o r a z b u f o r y to ró w s t e r o w a n i a i danych s t e r o w a n e s ą s y g n a ła m i generowanymi p r z e z d e k o d e r str o b ó w p e r y f e r i i na p o d s ta w ie p o l a a d r e s u p e r y f e r i i m i k r o i n s t r u k -
0
J i .Część r e j e s t r ó w r o b o c z y c h R0-R9 i T p r o c e s o r a w y k o rz y s ta n o do p r z e c h o wania
1
- kodu o p e r a c j i dyskowej CCODE),
- numeru j e d n o s t k i , dysku i g ło w ic y CHEAD),
G O M P A M - 8
Rys. 4 . 1 . S te r o w n ik - schem at blokowy F i g . 4 . 1 . C o n t r o ł l e r - b l o o k dia gra m
Realizacjasterownikatwardyohdysków.
26 H. Nowak. P. Strużyna
- numeru ś c i e ż k i (CYLINDER), - numeru s e k t o r a (SECTOR),
- a d r e s u p a m i ę c i b u f o ro w e j (BUFADR),
- słowa s t a t u s u s t e r o w n i k a z a w i e r a j ą c e g o f l a g i błędów (STATUS), - t r y b u t r a n s m i s j i (MODE),
P o z o s t a ł e r e j e s t r y w y k o rz y sta n o j a k o l i c z n i k i i r e j a s t r y pom oc nicz e.
\
5. P rz ep ły w i n f o r m a c j i
Wymianę i n f o r m a c j i ro z p o c z y n a m ik ro k o m p u ter w y s y ł a j ą c kody o p e r a c j i SELECT i MODE, a n a s t ę p n i e RESTORE i SEEK. Kod k a ż d e j o p e r a c j i zapisywany j e s t w r e j e s t r z e CODE p r o c e s o r a i w r e j e s t r z e RKOE. P a r a m e tr y o p e r a c j i SELECT i SEEK zapam iętywane s ą odpow iednio w r e j e s t r a c h p r o c e s o r a » HEAD i CYLINDER, a n a s t ę p n i e s ą p r z e s y ł a n e do b u f o r a sygnałów s t e r u j ą c y c h p a m i ę c i dyskow ej.
J e ż e l i wykonanie o p e r a c j i wymaga w y s ł a n i a s t a t u s u p a m i ę c i , s t a n odpo
w i e d n i c h l i n i i i n t e r f e j s u p o p r z e z b u f o r sygnałów k o n t r o l n y c h i je d e n z r e j e s t r ó w p r o c e s o r a p r z e s y ł a n y J e s t to re m s t e r o w a n i a do m ik ro k o m p u te r a .
Po u s t a l e n i u g ło w ic y nad wybraną ś c i e ż k ą m ik ro k o m p u ter może r o z p o c z ą ć o p e r a c j e t r a n s m i s j i dan y c h . Torem s t e r o w a n i a przekazyw ane s ą do p r o c e s o r a kod o p e r a c j i i numer s e k t o r a , zapam iętywane w r e j e s t r a c h CODE, RKOE i SECTOR.
Przy o p e r a c j i z a p i s u danych (WRITE, DATA) p r o c e s o r u s t a l a w r e j e s t r z e BUF ADR adres, początkowy p a m i ę c i b u fo ro w e j i i n i c j u j e t r a n s m i s j ę danyc h w k a n a l e DMA. Każdy b a j t danych p r z e s y ł a n y j e s t z R e j e s t r u w ejścio w e g o t o r u danych p o p r z e z m a g i s t r a l ę M do r e j e s t r u p r o o e s o r a , a n a s t ę p n i e p r z e z magi
s t r a l ę DI do p a m ię c i b u f o r o w e j , a d r e s o w a n e j p r z e z z a w a r t o ś ć r e j e s t r u BU- PADR, z w ię k s z a n ą o 1 po k o le jn y m p r z e s ł a n i u ( j e ż e l i tra n s m ito w a n y j e s t b lo k o d ł u g o ś c i 512 b a j t ó w , n a j s t a r s z y b i t a d r e s u p a m ię c i o k r e ś l o n y J e s t p r z e z s t a n odrębnego p r z e r z u t n i k o , s te ro w a n e g o mikroprogram em ).
P o p r z e p i s a n i u c a ł e g o b lo k u l i n i e a d r e s u s e k t o r a porównywane s ą w p r o c e s o r z e z z a w a r t o ś c i ą r e j e s t r u SECTOR. Po n a p o t k a n i u wybranego s e k t o r a ro z p o c z y n a s i ę o d cz y ty w an ie s z e r e g o w e j i n f o r m a c j i z p o l a SYNCHRO i p o l a
d r e s u s e k t o r a . I n f o r m a c j a p r z e tw o r z o n a na p o s t a ć r ó w n o l e g ł ą w r e j e s t r z e RRS p r z e p is y w a n a j e s t p o p r z e z b u f o r BS i m a g i s t r a l ę M do p r o c e s o r a , a n a s t ę p n i e do wolnego o b s z a r u p a m i ę c i b u f o r o w e j . Po o d c z y t a n i u c a ł e g o p o la c d r e s u k o l e j n e b a j t y p o b i e r a n e s ą z p a m i ę c i b u f o ro w e j do p r o c e s o r a i po
równywane ze wzorami słów s y n c h r o n i z a c j i i z a w a r t o ś c i a m i r e j e s t r ó w HEAD, CYLINDER i SECTOR. N a s t ę p n i e r o z p o c z y n a s i ę z a p i s k o l e j n y c h b itó w z e r i ołów s y n c h r o n i z a c j i , utw o rzo n y c h w p r o c e s o r z e i p r z e p i s a n y c h do r e j e s t r u
R R S,
a po z a p i s a n i u p c l a SYNCHRO dane z p a m i ę c i b u f o r o w e j , a d r e s o w a n e j p r z e z u a k t u a l n i o n ą z a w a r t o ś ć r e j e s t r u BUFADR, p r z e s y ł a n e s ą p o p r z e z r e j e s t r p r o c e s o r a do r e j e s t r u RRS i z a p isy w a n e w p o l u danych s e k t o r a . RównocześnieRealizaoja sterownika twardych dyakćw.. 21
w u k ł a d z i e RKC tw orzone s ą dwa słowa CRC, zapisyw ane na końcu p o l a d an y c h . W y słan ie z r e j e s t r u STATUS p r o c e s o r a do m ik rokom putera ałowa s t a t u s u s t e ro w n ik a kończ y o p e r a c j ę WRITE DATA.
O p e ra c ja READ DATA r o z p o c z y n a a i ę posz ukiw aniom wybranego s e k t o r a , od
c z y ta n ie m i spraw dzeniem je g o p o l a a d r e s u w t a k i s p o s ó b , j a k w o p e r a c j i WRITE DATA. n a s t ę p n i e odczytywane j e s t k o l e j n e p o le SYNCHRO i p o l e dan y c h . K o le j n e b a j t y danych p r z e p is y w a n e s ą z r e j e s t r u RRS p o p r z e z p r o c e s o r do p a m ię c i b u f o r o w e j . Po o d c z y t a n i u c a łe g o p o l a danych w r e j e s t r z e BUFADR u s t a l o n y j e s t a d r e s początkowy i p r o c e s o r i n i c j u j e t r a n s m i s j ę w t o r z e danych. Po t r a n s m i s j i c a ł e g o b l o k u w t o r z e s t e r o w a n i a w y sy ła n y j e s t s t a t u s s t e r o w n i k a .
P rz ep ły w i n f o r m a c j i p o d c z a s wykonywania o p e r a c j i READ ADDRESS i WRITE ADDRESS j e s t z b l i ż o n y do wyżej omówionego, z t ą r ó ż n i c ą , że z a m i a s t b lo k u danych między s t e r o w n i k i e m a mikrokomputerem t r a n s m ito w a n e s ą w t o r z e s t e r o w a n i a c z t e r y b a j t y p o l a a d r e s u .
6. Podsumowanie
F r z y j ę t e r o z w i ą z a n i e s t e r o w n i k a wymaga w y k o r z y s t a n i a o p r ó c z s e k w e n t e r a , procesorów' i p a m ię c i m lkroprogra m u 47 elementów 3SI i MSI i r a l e ś o i s i ę na pojedynczym p a k i e c i e sy stem u CoraPAR-8.
Układy s t e r o w n i k a ta k to w a n e s ą autonomicznym zegarem o c z ę s t o t l i w o ś c i 2 . 5 MHz. O p e r a c ja p r z e s ł a n i a b a j t u między p a m i ę c i ą buforow ą a r e j e s t r a m i t o r u danych o r a z t e s t o w a n i e końca b l o k u wymaga 4 m i k r o i n s t r u k c j i ( 1 . 6 ¿ua), zatem s z y b k o ś ć t r a n s m i s j i danych między ComPAH-em a s te r o w n i k i e m j e s t o g r a n i c z o n a s z y b k o ś c i ą k a n a ł u DMA m ik r o k o m p u te r a .
■ Z a s t o s o w a n ie k o n t r o l i c y k l i c z n e j um ożliwia w y k r y c ie 99.9985% błędów o r a z w s z y s t k i c h b łę dów , j e ż e l i i o h i l i c z b a j e s t n i e p a r z y s t a [ 5 ] .
P r z y j ę t y z e s ta w o p e r a c j i e l e m e n t a r n y c h pozw ala na w s p ó ł p r a c ę z 4 Je d n o s tk a m i p a m i ę c i o i n t e r f e j s a c h MERA-SYSTEM l u b SM EMC. J e d n o s t k i produkowa
ne o b e c n i e p o s i a d a j ą 2 t a l e r z e , j e d n a k m ik roprogra m i f o r m a t o p e r a c j i po
z w a l a j ą na w s p ó ł p r a c ę z p a m ię c ia m i 11 - ta l e r z o w y m i ( t a k ż e o podw ójnej l i c z b i e ś c i e ż e k ) , k t ó r e m a ją być w n i e d a l e k i e j p r z y s z ł o ś c i produkowane p r z e z Fabrykę M iern ików i Komputerów "ERA". M o d y f ik a c ja układowa p o le g a no u m ie s z c z e n i u dodatkowego b u f o r a d l a l i n i i a d r e s u ś c i e ż k i TA8 i 3 l i n i i wyboru d ysku.
Mikroprogramowa r e a l i z a o j a o p e r a c j i dyskowych pozwala na e l a s t y c z n e z w i ę k s z e n i e i m o d y f i k a c j ę f u n k c j i s t e r o w n i k a p o p r z e z wymianę p a m i ę c i m ik r o - p rogram u. Możliwa n p . b y ła b y r e a l i z a o j a t r a n s m i s j i w i e l o s e k t o r o w e j ( z a stosow ano pam ięć buforow ą o p o je m n o ś c i 1K) z a l e ż n i e od wymagań systemu, o p e r a c y j n e g o . M o d y fik u ją c m ik ro p ro g ra m można r ć w n i e ż za pew nić k o n w e r s ję adresćw l o g i c z n y c h na f i z y c z n e .
Celowe t a k ż e w ydaje s i ę p o w ię k s z e n ie z e sta w u e l e m e n t a r n y c h o p e r a c j i o o p e r a c j e s a m o te e to w a n ia s t e r o w n i k a i d ysku, o k r e ś l a n i a r e a k c j i s t e r o w n ik a
28 H. Nowak. F. Stroźyna
na r ó ż n e ty p y błędów <'np. w i e l o k r o t n a próba z a p i s u / o d c z y t u w przy p a d k u błędów CRC). O s t a t n i e m o d y f i k a c j e ■wymagałaby n a j p ra w d o p o d o b n ie j z w ię k s z e n i a p a m ię c i m ik ro p ro g ra m u , ponie waż o b e c n ie j e s t j u ż w y k o rz y sta n y ch o k o ło 75£ komórek [7}. Metody z w i ę k s z a n i a p o je m n o ś c i p a m i ę c i m ik ro p ro g ra m u zo
s t a ł y p r z e d s t a w i o n e w [
3
] .I s t o t n y m u ł a t w i e n i e m na e t a p i e u r u c h a m i a n i a j e s t z a s t ą p i e n i e p a m ię c i s t a ł e j m ikroprogram u p r z e z s z y b k i e p a m ię c i EPROM 2732A <o c z a s i e d o s t ę p u o k o ło
20 0
n a ) , co z o s t a ł o w y k o r z y s ta n e p r z e z a u to ró w w t r a k c i e u r u c h a m ia n i a modelu s te r o w n i k a tw a r d y c h dysków w s y s t e m i e ComPAN-8
.P r o s t y i n t e r f e j s s t e r o w n i k a , " w id z ia n e g o " p r z e z m ik ro k o m p u te r ja k o p o r t y
1
programowy i DMA, pozwala na j e g o im p l e m e n t a c j ę t a k ż e w in n y c h s y ste m a c h mikrokomputerowych.LITERATURA
[1] Dokumentacja t e c h n i c z n o - r u c h o w a p a m i ę c i dyskowej MERA-9450.
[2] Dokumentacja te c h n i c z n o - r u c h o w e sy stem u RTDS
7 8
. Z a k ł a d Systemów Autom a ty k i Kompleksowej PAN, G liw ic e 1983.
[3} S e r i e s 3000 b i p o l a r m i c r o c o p u t e r s y s t e m - I n t e l C o r p o r a t i o n 1976.
[
4
} Rzymkowski K . ! M i k r o p r o c e s o r y , ROINTEEEA, Warszawa 1979-[
5
} Dokum entacja te c h n i c z n o - r u c h o w a modułu p a m ię c i z e w n ę tr z n y c h MPZ-400.Centrum Naukowo- P ro d u k c y jn e T e c h n ik Komputerowych i Pomiarów, War- s zawa 1979.
[6] Cruce A.C, A le x a n d e r S . A , « B u i l d i n g a Hard D isc I n t e r f a c e f o r an S-100 Bus System - BYTE, March 1983.
[7} Nowak H . , S tr ó ż y n a P. j M ikroprogramowanie segmentowych m ik r o p r o c e s o ró w I n t e l 3000 na . p r z y k ł a d z i e s t e r o w n i k a tw a r d y c h dysków. Z e s z y ty Naukowe 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.
R e c e n z e n t» d r i n ż . J e r z y Ja worow ski
Wpłynęło do R e d a k c ji» 1 4 . 0 6 . 1 9 8 5 .
PEAJIH3AUHH KOHTPOJUIEPA .LHCKOBOit nAMHTH HCn0JIb3yi0mAH CErMEHTHUE MHKPOI1POUE- COPH
P e 3 m m e
B c i a i Ł e npeACTaBJieHo KOHCpyKUHoHHoe pemenne KOHipoJUiepa 4HCKOBoii naMSTSi Mepa 9450 fljis CHCieMu ComPAN -
80
B boahoB u a c iK aoko K p a iK o e o n n c a m ie sh c k o b oS n a u a m h npoBBfleH a s a j i a s B03M0XH0CTH HCnOJIBSOBaHHH pa3JIHHHtDC THIIOB UHKpOnpOUeCCopOB flJLK peajI3aUHH KOHTpomjiepa. 3 a i e u A eiajiŁ H o n pe,ącT aB jiejio p e m e s u e , H cnojib3y»m ee c e rM e n iK u e
Realizacja sterownika twardych dysk<5w... 1 2
MHKponpoueccopu. v 3aBepmHTe^bH0ft 'jacTH CTaiiH oCpameHO BHHMaHne Ha moah$h- KaiiHio h pacampeHne ?yHKUHK KOHipoJiJiepa.
A HARD DISC CONTROLLER BASED ON BIT-SLICED MICROPROCESSORS S u m m a r y
The p a p e r p r e s e n t s t h e s o l u t i o n o f a h a r d d i s c c o n t r o l l e r f o r t h e sy ste m ComPAN-8. F i r s t s h o r t c h a r a c t e r i s t i c s o f t h e d i s c memory Mera 9450 i s d e s c r i b e d and p o s i b i l i t i e e o f a p p l y i n g d i f f e r e n t t y p e s o f m i c r o p r o c e s s o r s t o c o n s t r u c t t h e c o n t r o l l e r a r e a n a l y s e d . A d e t a i l e d s o l u t i o n u s i n g b i t - s l i c e d m i c r o p r o c e s s o r s i s p r e s e n t e d . F i n a l l y t h e f u r t h e r m o d i f i c a t i o n s and d ev e lo p m e n t o f t h e c o n t r o l l e r f u n c t i o n s a r e d i s c u s s e d .