Struktura blokowa i funkcje mikroprocesora
Strukturę b l o k o w ą typowego m o n i t o r a a l f a n u m e r y c z n e g o ze s t e r o w a n i e m m i k r o p r o c e s o r o w y m p o k aza- no na rys. 1. Dane w p r o w a d z a n e są do m o n i t o r a e k ranowego za p o m o c ą k l a w i a t u r y lub za p o ś r e d n i etwecj Kanału s z e r e g o w e g o ł ą c zącego m o n i t o r z komp u t e r e m . P o ł ożenie k u r s o r a na e k r anie zmienia się zgod-f nie z sygnałami st erującymi d o s t a r c z a n y m i z k l a w i a t u r y lub z k o mputera. Uk ł a d g e n e r a t o r a znaków pobiera dane z pamięci i p r z e t w a r z a je n a p u n k t o w e obrazy z n a k ó w w y ś w i e t l a n e n a ekra n i e lampy oscyloskopowej.
Ryn. I. Schemat; blokowy monitora alfanumerycznego ze sterowaniem mikroprocesorowym
Mikroprocesor łącznie z programowaną pamięcią i układami interfejsu wykonuje podstawowe czyn
ności otorowania, mianowicie, steruje przesyłaniem danych między klawiaturą, kanałem szeregowym i pi.aiyerą monitora. Mikroprocesor wydziela i interpretuje kody w miarę ich otrzymywania, przo- syła -n.iki do pamięci i realizuje wymagano funkcje sterowania. Przeprowadza on również manipula
cje i. danym: znajdującymi się w pamięci monitora i formuje meldunki wysyłane do komputera.
:;K: ■ . ;Ky'K''KKv-'K-- . p v‘v ' ' ■ ‘ . .I
9
61
-M i k r o p r o c e s o r może b e z p o ś r e d n i o sterować p r a c ą linii telekomuni k a c y j n y c h d o ł ą c z o n y c h do m o n i tora a l f a n u m e r y c z n e g o , a w wypa d k u odpowiednio zaprojektowanego interfejsu m o ż n a go zaprogramować tak, aby r e a l i z o w a ł 's z e r e g o w ą współpracę ( daisy Chain ) z innymi urządzeniami ko ń c o w y m i k o r z y s tając z d a n y c h w y s y ł a n y c h z komputera, co p o z w a l a zwiększyć efektywność systemu i zmniejszyć jo
go koszty. J a k o o g ó l n ą zasadę doty c h c z a s przyjmowano, że m i k r o p r o c e s o r p o w i n i e n sterować w jak najwi ę k s z y m s t o p n i u p r z e s y ł a n i o m d a n y c h i sygnałami logicznymi, lecz sync h r o n i z a c j a czasowa (np. o p ó ź n i e n i e mię d z y s y g nałami k a s o w a n i a i w p r o w a d z a n i a ) p o w i n n a być raczej r e a l i z o w a n a za pomocą sprzętu, któ r y może być dostosowany do wymagań każd e g o rozwiązania. Wraz ze w z r o s t e m szybkości pracy m i k r o p r o c e s o r ó w należy sądzić, że sygnały s y nchronizacji będzie m o ż n a również gonorować w mikrop r o c e s o r z e .
Je d n ą z n a j h a r d z i e j z ł o żonych funkcji realizo w a n y c h w do s k o n a l s z y c h urząd z e n i a c h k o ń c o w y c h z m o n i t o r a m i a l f a n u m e r y c z n y m i jest "kasowanie wiersza" (delete lina). Do w y k o n a n i a tej funkcji wykorzystuje się licznik, za p o m o c ą którego m o ż n a opuszczać p e ł n ą liczbę znaków linii. F u n k c j a ta może b y ć łatwo r e a lizowana za p o m o c ą w e w n ę t r z n y c h r e j e s t r ó w m i kroprocesora. P o z a funkcjami o charakterze r e petycyjnym, m i k r o p r o c e s o r może rea l i z o w a ć funkcje zależno od danych, n a przykład może być w y k o n a n a f u n k c j a "opuść zdanie", p o l e g a j ą c a n a opusz c z e n i u w s zystkich z n a k ó w między d o wolnymi dwom- o g r a n i c z n i k a m i tekstu. Za p o m o c ą m i k r o p r o c e s o r a moż n a realizować złożone alg o r y t m y starowania s ł o w a m i tekstu, f o r m o w a n i a k o l u m n i s p e cjalnego trakt o w a n i a r ó ż nych znaków w y s t ę p u j ą cych w tekście.
M i k r o p r o c e s o r możo przet w a r z a ć informacje znajdujące się w p a m ięci monitora, na przykład w y szukiwać dane, co p o z w a l a pob r a ć z pamięci te słowa, które o p e r a t o r chce sp r a w d z i ć lub skor y g o wać. M i k r o p r o c e s o r u ł a t w i a d o s t ę p do k o m p u t e r a g ł ó wnego i do pamięci monitora, co zwiększa e f e k tywność w y m iany i n formacji w systemie.
Proj e k t a n t m o n i t o r a a l f a n u merycznego, stosując mikroprocesor, może w prosty sposób zmieniać reportuar f u n k c j i r e a l i z o w a n y c h w urządzeniu końcowym. Funkcje u r z ądzenia k o ń c o w e g o m o g ą b y ć d o stosowane do w y m a g a ń u ż y t k o w n i k a przez wpisanie odpowiedniego p r o g r a m u do p a m i ę c i .stałej ( R O M ) storującej p r a c ą m i k r o p r o c e s o r a , np. k l a w i a t u r a z przyciskami o z nakowanymi tak jak k l a w i a t u r a dalekopisu m o ż e b y ć p r z e k s z t a ł c o n a n a kla w i a t u r ę maszyny do p i s a n i a prz e z zmianę o z n a k o w a n i a kilku k l a w i s z y i t r a nslację k o d ó w u z y s k i w a n y c h z tych k l a w i s z y , co m o ż n a łatwo p r z e p r o w a d z i ć za pomocą m i k r o p r o c e s o r a .
W p o d obny s p o s ó b m o ż n a zmieniać na klawi a t u r z e położenie klawiszy funkc y j n y c h p r z e s u w a j ą c o d powiednie a d r e s y w tablicy m i k r o i n s t r u k c j i o d p o w i adających r e a lizacji funkcji. Bez trudu m o g ą być w y k onane m o d y f i k a c j e funkcji. Możliwość n a d a w a n i a w yspecjalizowanej interpretacji, zarówno kluczom f u n k c y j n y m jak i w y p r o w a d z o n y m na ek r a n r y s u n k o m w y w o ł a n y m z klawiatury, m a zastosowanie również do i n f o r m a c j i o t r z y m y w a n y c h z komputera. Z a t e m k o d y sterujące, które np. p o w o d u j ą p u l s o wanie w y d z i e l o n y c h części ekranu lub wyświetlanie czarnych znaków n a b i a ł y m tle, w odró ż n i e n i u od n o r malnie w y ś w i e t l a n y c h b i a ł y c h zna k ó w n a c i e m n y m tle, m o g ą być p r z esyłane za p o m o c ą linii telekomunikacyjnych, w p o s t a c i po d w ó j n i e z a k odowanych sekwencji i prz e c h o w y w a n e w pami ę c i m o n i t o ra w p o s t a c i p o j e d y n c z e g o . k o d u . Ciągi k o d ó w m o g ą b y ć r ó w n i e ż wykorzystane do sterowania, u s t a w i a nia p o ł o ż e n i a kursora, m a r g i n e s ó w lub zakresu tabulacji, przy czym m i k r o p r o c e s o r może -■r;oprowa
dzać t r a n s l a c j ę d a n y c h n u m e r y c z n y c h z post a c i b i n arnej do d z i esiętnej lub dowolnej innej.
• K r y teria w y b o ru m i k r o p r o c e s o r a
•'iybór s z y b k o ś c i m i k r o D r o c e s o r a przeznac z o n e g o do s t o sowania w m o n i t o r a c h a l f a n u m e r y c z n y c h za
leży W głównej mie r z e od b u d o w y interfejsu znajdującego się między m i k r o p r o c e s o r e m i p a m i ę c i ą m o nitora oraz od w y m a g a ń w y n i k a j ą c y c h z zastosowań monitora.
V/ sytuacji, gdy m i k r o p r o c e s o r może identyfikować i p r z etwarzać w p r z y b l i ż e n i u 1200 kodó w / s (np. INTEL 8 0 0 8 - 1 ) nie są m i a r o d a j n e k o nwencjonalne metody oceny prędkości procesora, n a p r z y kład takie, jak czas d o d a w a n i a dwu liczb. Jeżeli w monitorze a l f a n u m e r y c z n y m s t o sowane są r e j e s
try p r z e s u w n e , zdolność p r z e t w a r z a n i a m i k r o p r o c e s o r a jest zazwyczaj ograniczona pr z e z czas wyma- Gany do o d c z y t y w a n i a znaków w miarę p r zesuwania się kursora w pamięci. Jeż e l i w m o n i t o r z e jest
stosowana pamięć o dostępie swobodnym (RAM), czynnikiem ograniczającym są c z ynności■szeregowego dostępu, takie jak selektywne wymazywanie danych ( opatrzonych wskaźnikami), chyba że przewidzia
no sprzętowe środki realizacji adresowania lub zastosowano rozwiązania pozwalające uniknąć ogra-niczoń mikroprocesora :)
Przy p r o j e k t o w a n i u u r z ą d z e n i a k o ń c o w e g o nale ż y p a m i ę t a ć o tym, że z a s tosowanie o d p o w i e d n i c h r o z w i ą z a ń s p r z ę t o w y c h p o z w a l a p r a w i e zawsze uzyskać t a k ą .strukturę m o n itora, w któr e j m i k r o p r o c e s o r nio będzie o g r a n i c z a ł s z y bkości d z i a ł a n i a u r z ą d z e n i a k o ń cowego. J e d n a k w s y t u a c j i b r a k u d o d a t k o w e g o s p r z ę t u nale ż y lic z y ć się z tym, że czas r e a l i z a c j i m i k r o i n s t r u k c j i k o l e j n e g o c z y tania- w y m i a n y - p i s a n i a i i n d e k s o w a n i a w m o n i t o r z e z m i k r o p r o c e s o r e m t r w a około 1 fis.
M o n itory a l f a n u m e r y c z n e k o n k u r u j ą ze s o b ą pod w z g l ę d e m ceny. W y k o r z y s t a n i e p a m i ę c i stałej (ROM ) do p a m i ę t a n i a p r o g r a m u p o w o d u j e z w i ększenie k o s z t ó w z a s t o s o w a n e g o m i k r o k o m p u t e r a , przy c z y m k o s z t p a m i ę c i s t a ł y c h w y m a g a j ą c y c h w y k o n a n i a s p e c j a l n y c h m a s e k jest znacznie wyższy. Koszty te w p ł y w a j ą r ó w n i e ż n a w y n i k o w ą cenę sprzedaży, g d y ż k o n i e c z n a jest o p t y m a l i z a c j a listy i n s t r u k cji p o z w a l a j ą c a z m i n i m a l i z o w a ć w y k o r z y s t a n i e p a m i ę c i , W y m a g a n a tu jest d o b r a zn a j o m o ś ć p r o g r a m o w a n i a m i k r o k o m p u t e r ó w , np. i n s trukcje E x c l u s i v e - O R m i k r o p r o c e s o r a I N T E L 8008 - 1 są b a r d z o u ż y t e c z ne do o d s z u k i w a n i a znaków k o n t r o l n y c h , a w s k a ź n i k (flaga) p a r z y s t o ś c i jest częs t o w y k o r z y s t y w a ny w w i ę kszości p o d p r o g r a m ó w k r y t y c z n y c h pod w z g l ę d e m p rę d k o ś c i .
Innymi u ż y t e c z n y m i o p e r a c j a m i s ą operacje logiczne i a r y t m e t y c z n e z k o l e j n y m i b a j t a m i i n f o r macji, s z c z e g ó l n i e ins t r u k c j a " c o m p a r e - i m m e d i a t e " . Ze w z g lędu n a to, że ws z y s t k i e p o d p r o g r a m y sterujące p r a c ą mikroprocesora, związane z z a s t o s o w a n i a m i m o n i t o r ó w a l f a n u m e r y c z n y c h s ą p r o s t e i krótkie, i n s trukcje r o z g a ł ę z i e ń w a r u n k o w y c h i w y w o ł y w a n i a p o d p r o g r a m ó w są n i e w y g o d n e do s t o s o w a nia, a b a r d z i e j u ż y teczne s ą i n s t r u k c j e w z g l ę d n e g o adreso w a n i a . Z p r a k t y k i wynika, że w y k o r z y s t y wane jest z a g n i e ż d ż a n i e p o d p r o g r a m ó w do c z t e r e c h lub co n a j w y ż e j do p i ę c i u p o z i o m ó w oraz, że b a r d z o u ż y teczny jest p r o g r a m o w y l i c z n i k stosu typu LIFO.
P rze r w a n i a nie są w r o z w a ż a n y c h z a s t o s o w a n i a c h wymagane, gdyż zwykle u r ządzenie k o ń c o w e w y k o nuje w danej chwili tylko je d n ą czynność. M o ż l i w o ś ć obsługi p r z e r w a ń jest j e d n a k isto t n a w s y s t e m a c h z g ł o s o w a n i e m ( p o l l i n g s y s tems), w k t ó r y c h dane w y s y ł a n e są j e dnocześnie p r z e z o p e r a t o r a i k o m p u t e r centralny. W y m a g a n i e to p o j a w i a się również wówczas, gdy urządzenie k o ń c o w e może r ó w n o c ześnie w y s y ł a ć i p r z y j m o w a ć dane lub p r z e s y ł a ć dane z p r o c e s o r a centr a l n e g o do p o d p o r z ą d k o w a n e j d r u k a i k i w czasie n o r m a l n e g o p o s ł u g i w a n i a się klawi a t u r ą . T a k więc n a w y b ó r m i k r o p r o c e s o r a "wpły
w a z a stosowanie u r z ą d z e n i a k o ń c o w e g o i k o n f i g u r a c j a jego sprzętu.
A R o a l i z a c j e pra k t y c z n e
Pi-ace nad z a s t o s o w a n i e m m i k r o p r o c e s o r ó w w a l f a n u m e r y c z n y c h m o n i t o r a c h e k r a n o w y c h podjęte były b e z p o ś r e d n i o po p o j a w i e n i u się m i k r o p r o c e s o r ó w s c a l o n y c h n a jednej k o s t c e w i e l k i e j ska l i i n t e gracji, to jest w 1971 r. W p r a c y [2"] o p i sano k o l e j n e etapy k o n s t r u o w a n i a m o n i t o r a a l f a n u m e r y c z n e g o w B e e h i v e M e d i c a l E l e c t r o n i c s z z a s t o s o w a n i e m m i k r o p r o c e s o r a I N T E L 8008, a n a s t ę p n i e I N T E L 8008-1. W p o c z ą t k o w y m okresie i s t o t n ą p r z e s z k o d ą w y k o r z y s t a n i a m i k r o p r o c e s o r ó w b y ł ich znaczny koszt, który obecnie uległ z n a cznemu obniżęniu**.)
Autorzy p o d k r e ś l a j ą , że m i k r o p r o c e s o r p o z w o l i ł skonstruować, układ s a m o d i a g n o z o w a l n y z k o m p l e tom funkcji e d y t o r s k i c h i w ł a s n o ś c i a m i u ł a t w i a j ą c y m i t w o rzenie s t r u k t u r s a t e l i t a r n y c h . Dane m o g ą być prz e s y ł a n e w post a c i p o j e d y n c z y c h znaków, li n i i l u b s t r onic. D o m o n i t o r a m o g ą być d o ł ą czane d o d a t k o w e urządzenia, p a m i ę c i lub- interfejsy.
V.' pracy £ 2 ] p o d k r e ś l a się, że zastos o w a n i e m i k r o p r o c e s o r a p o z w o l i ł o u z y s k a ć w y s o k i e p a r a m e try u z v tkowe m o n i t o r a e k r a n o w e g o p r z y niskiej cenie, znaczne u p r o s z c z e n i e obsł u g i i łatwość m o d y f i k o w a n i a f u n k c j i monitora, o s i ą g n i ę t ą d z i ę k i m o ż l i w o ś c i s z y b k i e g o p r z e p r o g r a m o w a n i a (wymiany p a m ięci stałej ).
Jiąże się to z tym, że u r z ą d z e n i a końc o w e z m o n i t o r a m i e k r a n o w y m i s p rzedawane są zazwyczaj jaico urz ą d z e n i a k o ń c o w e z p a m i ę c i ą r e a l i z o w a n ą n a r e j e s t r a c h p r z e s u w n y c h , a w p r awny u z v t k o w -nik szyb k o w y k onuje kolejne czynności.
MM )
Ko s z t m i k r o p r o c e s o r a IN T E L 8 0 8 0 w s p r zedaży h u r towej w y n o s i obecnie 10 $ za sztukę.
6?
-V/ 1975 r. firma Hewlett Packard zastosowała mikroprooesor w seryjnym monitorze alfanumerycz
nym model 2 6 4 0 A [
4
]. Monitor ten odznacza się rozbudowanymi możliwościami funkcjonalnymi przy stosunkowo ni3kiej cenie. Mikroprocesory umożliwiły uzyskanie elastyczności funkcjonalnej pozwalającej dostosowywać urządzenie końcowe do nowych zastosowań i dopasowywać je do zmieniającyoh się wymagań użytkownika. Model 2 6 4 0 A jest pierwszym z planowanej rodziny monitorów alfanumerycz
nych o podanych własnościaoh.
M o n i t o r 2 6 4 0 A może p r z e p r o w a d z a ć śamodi a g n o z ę i s y gnalizować sytuacje, w k t ó r y c h w y m a g a n a jost pom o c serwisowa. Testy u m o ż l i w i a j ą obsłudze szybkie zlokalizowanie uszko d z o n e g o modułu.
P rogrony zapewn i a j ą o e wyżej podane ceohy m o n i t o r a ekranowego s ą p r z e c h o w y w a n e w pamięci sta
łej (ROM) o p o j e m n o ś c i 8 k bajtów.
K o n s t r u k t o r z y z a stosowali m i k r o p r o c e s o r dostępny w handlu uznająo, że w y k o r z y s t a n i e go b ę d z i e znacznie tańsze i mniej ozasoo h ł o n n e od skonstru o w a n i a własnego w y s p e c j a l i z o w a n e g o układu w i e l kiej skali i n t egracji, ewent u a l n i e od zastosowania s t a n d a r d o w y c h u k ł a d ó w l o g i c z n y c h o znacznej objętości i w y m a g a j ą c y o h ponadto znaoznie więcej miejsca.
M i k r o p r o o e s o r ma 4 8 i n s trukoji jedno- dwu- lub trójbajtowyoh, akumulator, zespół rejestrów, l i c z n i k programu, s t o sową p a m i ę ć a d r e s ó w dla s i e dmiu p o d p r o g r a m ó w i moż l i w o ś ć adre s o w a n i a 16 384 m i o j s o pamięoi. Z m i k r o p r o c e s o r e m w s p ó ł d z i a ł a j ą 8 - b itowe standardowe układy logiczne.
S z y n a w e j ś o i a / w y j ś c i a jest w y k o r z y s t y w a n a do przes y ł a n i a d a n y c h i a d r e s ó w p amięci.
Do g e n e r a c j i znaków z a stosowano w tym mod e l u m a t rycę p u n k t o w ą o wysokiej r o zróżnialności. N a e kranie m o ż n a uzyskać 24 linie 80-znakowe. Opr ó c z s t a n d a r d o w y c h znaków a l f a b e t u ł a cińskiego m o g ą być s t o sowano symbole m a tematyczne, symbole a l f abetu greckiego, planuje się p o n a d t o stosowanie s y m boli p i s m a japońskiego. M o ż n a uzyskać obraz negatywowy, we w s z y s t k i c h k o m b i n a c j a c h m o ż n a ł ą czyć p u l sowanie, zmniejszanie jaskrawości i podkr e ś l a n i e znaków. M i e j s c a p a m i ę c i p r z y d z i e l a n e są w spo s ó b dynamiczny. Yi u r z ą d z e n i u mo ż n a j e d nocześnie p a m iętać do 4 0 0 linii. P a m i ę ć może być p o w i ę k s z o n a za p o m o c ą m o d u ł ó w 2 k lub 4 k. U ż y t k o w n i k może sprawdzić i p o p r a w i ć dane przed roz- p o o z ę o i o m tra n s m i s j i tych d a n y c h do komputera.
•Autonomiczny procesor tekstowy
Kolejny, n o w y jakościowo etap rozsze r z e n i a możliwośoi f u n k c j o n a l n y c h m o n i t o r ó w a l f a n u m e r y c z n y c h stanowi opraoowanie tak zwanego a u t o n o mioznego p r o o e s o r a tekstowego. W skład s y s temu two
r zącego a u t o n o m i c z n y p r o c e s o r tekstowy wchodzi m o n i t o r alfanumeryczny, pami ę ć m a s o w a (np. na e l a s t y c z n y m d y s k u lub., taśmie magnetycznej), d r u k a r k a wysokiej jakości oraz p r o c e s o r sterujący tymi urządze n i a m i .
S y s t e m tego typu w y k onuje b a r d z o zróżnicowane operacje redakcyjne i edytorskie: manip u l a c j o symbolami, słowami, wierszami, akapitami, stronicami, w p r owadzanie poprawek, d r u k o w a n i e teks t ó w łtd. P r z e t w o r z o n y i skorygowany tekst m o ż e -być przesłany do pamięci masowej lub wydrukowany za p o m o c ą drukarki.
Do s t e r o w a n i a p r a c ą u r z ą d z e ń w o h o d z ą o y o h w skład systemu p r o c e s o r a tekstowego m o ż n a z po/;., : niem zastosować m i k r o p rooesor. Parametry funkcjonalne i szybkość m i k r o p r o c e s o r a m u s z ą umoż.: , wykonanie w s z y s t k i c h w y m i e n i o n y c h operacji w ozasie rzeozywistym. M i k r o p r o c e s o r pr a c u j ą c y w ru.
w a ż a n y m s y s t e m i e musi sterować p r z e s y ł a n i e m danyoh między p a m i ę c i ą i d y s k i e m z p r ę d k o ś c i ą 250 K b i t ó w / s oraz o d z naczać się d u ż ą s z y b k o ś c i ą wyko n y w a n i a operacji r e d a g o w a n i a tekstu.
V/ a u t o n o m i c z n y m p r ooesorze t e k stowym o p i s a n y m w [
5
] zastosowano speojalnie sk o n s t r u o w a n y m i k r o p r o c e s o r A E S - 8 0 C o h a r a k t eiyżujący się:• k r ó t k i m o z a s e m w y k o n a n i a instrukcji (około 2 4 0 , n s ) ,
• 16—poziomowym' stosem pozwalającym korzystać z podprogramów wewnątrz instrukcji,
• z d o l n o ś c i ą b e z p o ś r e d n i e g o p r z e t w a r z a n i a dan y c h u z yskiwanych z zewnątrz za p o m o c ą u r z ą d z e ń wejśc i a / w y j ś c i a ,
• n i e z a l e ż n ą a d r e s a c j ą i n s trukoji i danych, co p o z w a l a pobierać instrukcje z p a m i ę c i stałej j e dnocześnie z w y k o n a n i e m inst r u k o j i p o b i e r a n i a danych.
M i k r o p r o c e s o r m a bogaty r e p e r t u a r i n s t r u k c j i (432 i n s t r u k c j e ) - co powoduje, że jost w y g o d n y m i e l a s t y c z n y m n a r z ę d z i e m p r z e t w a r z a n i a i n f o r m a c j i tekstowej. M i k r o p r o c e s o r A E S - 8 0 C nie w y m a g a s to s o w a n i a s p e c j a l n y c h u k ł a d ó w s t e r o w a n i a u r z ą d z e n i a m i wejści a / w y j ś c i a , n i e z b ę d n y c h d l a w i ę k s z o ś ci u n i w e r s a l n y c h m i k r o p r o c e s o r ó w d o s t ę p n y c h na rynku.
3. MONITOR! G R A F I C Z N E
• Struktura systemu graficznogo
W u n i w e r s a l n y c h s y s t e m a c h g r a f i c z n y c h s t o sowane są złożone p r z e k s z t a ł c e n i a i n f o r m a c j i o k r e ś l a jącej s t r u k t u r ę obrazu. M o ż n a w y m i e n i ć tu takie oppracje, jak sele k c y j n e w y c i e r a n i e fragmentów:
obrazu, " o k i e n k o w a n i e " ( w i n d o w i n g ) l u b " s k a l o w a n i e " ( s c a l i n g ) .
W z ł o żonych s y s t e m a c h g r a f i c z n y c h n i e m a l p o w s z e c h n i e s t o s u j e s i ę p o d z i a ł s y s t e m u n a w y s p e c j a l i z owane części o z r ó ż n i c o w a n y c h funkcjach. W z g l ę d n a ważność i moc o b l i c z e n i o w a każ d e j części zależy od p r z e z n a c z e n i a s y s temu. D o b a r d z i e j zł o ż o n y c h f u n k c j i g r a f i c z n y c h stosuje się rea l i z a c j e sprzętowe, w celu z w i ę k s z e n i a s z y bkości d z i a ł a n i a systemu. Ka ż d y z taki c h p r o c e s o r ó w o b r a z o w y c h
¡na b e z p o ś r e d n i d o s t ę p do d a n y c h p r z e c h o w y w a n y c h w p a m i ę c i głów n e j m a s z y n y cyfrowej i o k r e ś l a d a no ni e z b ę d n e d l a g e n e r a t o r a obrazu. P r o o e s o r głów n y w ten sposób jest o d c iążony od w y k o n y w a n i a w i e l u c z a s o c h ł o n n y c h o b l i c z e ń i może b y ć całkowicie w y k o r z y s t a n y do i n t e r a k c y j n y c h zmian s t r u k tury danych.
Jako w y s p e c j a l i z o w a n e p r o c e s o r y s y s temu m o g ą być z a stosowane mikr o p r o c e s o r y , kt ó r e m o ż n a p r o g r a m o w a ć d l a w y m a g a n y c h w s y s temie f u n k c j i i kt ó r e o b n i ż a j ą k o s z t o r a z u m o ż l i w i a j ą w y e l i m i n o w a nie wielu e t a p ó w k o n i e c z n y c h p r z y s t o s o w a n i u t r a d y c y j n y c h m e t o d k o n s t r u o w a n i a u r z ą d z e ń cyfrowych.
i
• F u n k c j e p r o c e s o r a o b r a z o w e g o
.Obraz w i r t u a l n y p r z e c h o w y w a n y w p a m i ę c i p r o c e s o r a g ł ó wnego jest m a c i e r z ą p u n k t ó w o k r e ś l o n y c h p r z e z wartości' w s p ó ł r z ę d n y c h m i e j s c p a m ięci. R o z m i a r m a c i e r z y zależy od d ł u g o ś c i słowa, rp. s ł o w o s z o s n ą s t o b i t o w e daje m a c i e r z 6 4 K x 64K. W s z y s t k i e segmenty l i n i o w e r y s u n k u k r e ś l o n e n a o b r a zie w i r t u a l n y m ' m u s z ą rozpoczynać, się i k o ń czyć w p u n k t a c h tej mac i e r z y . Obraz w y ś w i e t l a n y n a o.kranio o d z w i e r c i e d l a n y jest m a c i e r z ą m n i e j s z e g o rozmiaru; typo w a jest m a c i e r z o w y m i a r a c h 1024 x 1024.
J a k już w s p o m n i a n o , w r o z b u d o w a n y c h s y s t e m a c h g r a f i c z n y c h d u ż a m o c o b l i c z e n i o w a w y m a g a n a jest do rea l i z a c j i takich funkcji, jak s e l e k c y j n e w y c i e r a n i e f r a g m e n t ó w obrazu, o k i e n k o w a n i e i ska l o - wanio.
T y p o w ą f u n k c j ą r o z b u d o w a n e g o systemu graficznego, w y m a g a j ą c ą dużej mocy o b l i c z e n i o w e j jest f u n k c j a s e l e k c y j n e g o w y c ierania, s z c z e g ó l n i e gdy w systemie s t o s o w a n a jest l a m p a o b r a z o w a typu telewizyjnego, w y m a g a j ą c a p e r i o d y c z n e g o o d ś w i e ż a n i a obrazu. F u n k c j ę tę m o g ą w y k o n y w a ć o d p o w i e d nio z a p r o g r a m o w a n e m i k r o p r o c e s o r y , przy c z y m d l a z w i ę k s z e n i a p r ę d k o ś c i systemu n i e k t ó r o operacje m o ż n a r e a lizować sprzętowo.
Podobny p o z i o m z ł o żoności cechuje funkcje o k i e n k o w a n i a i s k a lowania. D l a l e p s z e g o w y j a ś n i e n i a p r z e z n a c z e n i a e l e m e n t ó w s t r u k t u r y syst e m u r e a l i z u j ą c y c h te f u n k c j e n i e z b ę d n e jost o m ó wiorie o d p o w i e d n i c h a l g o r y t m ó w ( z a m i e s z c z o n y c h w punk c i e "Ok i e n k o w a n i o " i "Skalowanie").
■I'ymienione funkcje spełniane są wówczas, gdy procosor obrazowy transformuje współrzędne punk
tów wybranego obszaru obrazu wirtualnego - okna, w niezależnie wybrany obszar ekranu, tak zwany obszar widzenia (viewport). Transformacja ta wykonywana jest w dwóch etapach.
• Oxienk o w a n i o lub o b c inanie ( c l i p p i n g ) , u s t a l a któ r o linie l e ż ą c a ł kowicie lub c z ę ściowo w o<cnio. N a rys. 2 lin i a AB leży częściowo w oknie, i w p r o c e s i e o k i e n k o w a n i a należy określić w s p ó ł r z ę d n e p u n k t ó w C i D, to jost g r a nice "widzi a l n e j " czę ś c i AB.
• S k a l o w a n i e p o l e g a n a t r a n s f o r m a c j i w s p ó ł r z ę d n y c h p u n k t ó w (CD) o b r a z u w i r t u a l n e g o i i n n y c h częś
ci rysunku w oknie n a odpo w i e d n i e w s p ó ł r z ę d n e ekranu w obszarze widzenia.
-r o c e s o r o b r azowy wykon u j e p o n a d t o pomocnicze..operacje n a w s p ó ł r z ę d n y c h o b r a z u wirtualnego:
o x a lowanie v.otępne ( p r o s c a l i n g ) i obrót (rotation). S k a l o w a n i e wstę p n e obejm u j e m n o ż e n i e zbioru
- 65
-wartości w s p ó ł r z ę d n y c h przez jednakowy współczynnik, w jakim p e w n a część rysunku n a obrazie w i r tual n y m jest z w i ę k s z a n a .lub zmniejszana. D l a w y k o n a n i a obrotu zbiór p u n k t ó w obracany jest doko ł a o k r e ś l o n e g o środ k a o określony kąt. Przetran s f o r m o w a n e współrzędne obrazu w i r t u a l n e g o mo ż n a następnie okie n k o w a ć i skalować.
W prowadzonych dalej rozważaniach pominięte będą występujące w algorytmach operacje dodawania, ponieważ wykonywana są one w znacznie krótszym czasie niż mnożenie lub dzielenie i nie w p ł y w a j ą w istotny sposób na ogólny czas przetwarzania.
• Okienkowanie
W celu określenia, gdzie leży wybrany segment linii, b a d a n a jest odległość k o ń c ó w k a ż d e g o seg
mentu linii obra z u w i r t u a l n e g o od k r a w ę d z i okna. Linie leżące całkowicie p o z a o k n e m są o d r z u c a no, leżące c a ł kowicie w e w n ą t r z - p o d l e g a j ą skalowaniu, a te, kt ó r e p r z e c i n a j ą się. z k r a w ę d z i a mi okna są o b c i n a n e w oelu znal e z i e n i a p u n k t ó w przecięcia.
P r o g r a m o b c i n a n i a rozwiązuje równanie, które m o ż n a otrzymać n a p o d stawie rys. 2.
(y2 - y-i)
y L = ( x l - x i ) (X
2
-(1 )
* Inna m o t o d a p o l e g a n a z a s tosowaniu al g o r y t m u "punktu środkowego", w k t ó r y m li n i a d z i e l o n a jest stopniowo, w k r o k a c h b i n a r n y c h do chwili, w której punkt środkowy p o k ryje się z k r a w ę d z i ą okna. P r o g r a m o w e w y k onanie tego a l g orytmu b y ł o b y wolniejsze niż rozwi ą z a n i e b e z p o ś r e d n i o , lecz w y k orzystując tylko operacje p r z e s u w a n i a i dodawania, m o ż l i w a jest szyb k a r e a l i z a c j a s p r zętowa o b l iczania k a ż d e g o p r z e c i ę c i a za p o m o c ą dw ó c h s p r z ę ż o n y c h sumatorów.
Po z ważmy jaki s p r z ę t jest n i e zbędny do r o z w i ą z a n i a r ó w nania p r z e c i ę c i a w y m a g a j ą c e g o w y k o n a n i a dzielenia (x^ - x^ ) p r z e z (x2 - x^) i m n o ż e n i a pr z e z (y2 -
y-])-Obie operacje w y k o n y w a n e są m e t o d ą p r z e s u w a n i a i dodawania i m o g ą b y ć p r z e p r o w a d z a n e jedno—
czośnio, przy czym bity ilorazu, w mi a r ę ich p o j a w i a n i a się, s t e r u j ą u r z ą d z e n i e m m n o żącym. Po d o k ł a d n i e j s z y m p r z e a n a l i z o w a n i u okazuje się, że nie tylko w y m a g a n i a dotyczące s p r zętu są w tej sytuacji takie same jak d l a a l g o r y t m u pun k t u środkowego, lecz jeżeli zastosuje się pro c e s d z i e lenia b o z p a m i ę t a n i a reszty m o ż n a zauważyć, że st r a t e g i a ste r o w a n i a jest t a k a s a m a jak s t r a t e gia wybo r u n a s t ę p n e g o punk t u środkowego. A więc z punk t u w i d z e n i a r e a lizacji sprzętowej, istnieje tylko jed e n a l g o r y t m okienkowania.
V/ r e a l i z a o j i mikroprocesorowej, obli c z e n i a p o t rzebne do w y k o n a n i a operacji okienkowania, za r ó w no w e d ł u g p i e r w s z e g o jak i w e d ł u g d r u giego a l g orytmu m o g ą b y ć z a t e m realizowane za p o m o c ą p r o s tego m i k r o p r o c e s o r a s p e c j a lizowanego, zawierającego dwa sumatory w s p ó ł p r a c u j ą c e z r e j ostrami przosuwnymi.
S k a lowanie
D l a punkbu Q na rys. 2 t r a n s f o r m a c j ę s k a l o w a n i a d l a w s p ó ł r z ę d n e j x o k r e ś l a zależność
■x s = “ *wo> Z + * v o
gdzie: x g jest w s p ó ł r z ę d n ą p r z e t r a n s f o r m o w a n e g o p u n k t u Q.
Po d o b n ą transfo r m a c j ę -stosuje się d l a w s p ó ł r z ę d n e j y. N i e t r u d n o zauważyć, źe r ó w n a n i a (1 ) i (2) są podob n e , przy o z y m r ó w n a n i e (2) m o ż n a r ó w n i e ż r o z w i ą z y w a ć za p o m o c ą s p e c j a l i z o w a n y c h u k ł a d ó w z a w i e r a j ą c y o h sumator, w y k o n u j ą c y c h zarówno dz i e l e n i e jak i mnożenie. VI w y p a d k u , g d y zna
n a jost w a r t o ś ć w s p ó ł c z y n n i k a sk a l i v/w, wymag a n e jest tylko w y k o n a n i e jednego m n o żenia.
S k a l o w a n i e w s t ępne w y m a g a tylko m n o ż e n i a w a r t o ś o i k a ż d e j w s p ó ł r z ę d n e j p r z e z o k r e ś l o n y w s p ó ł czynnik.
Nal e ż y zauważyć, żo do w y k o n a n i a obrotu p r z e t r a n s f o r m o w a n e w s p ó ł r z ę d n e p u n k t u (x, y) o b r ó con e g o o k ą t 9 m o g ą b y ć o k r e ś l o n e w n a s t ę p u j ą c e j p o s t a c i
cos S - s i n 9
s in 9 cos 9
( 3 )
W a r t o ś c i w s p ó ł r z ę d n y c h (x, y) i (x', y ' ) o d n o s z ą się do p u n k t u środkowego, k t ó r y nie m u s i być p u n k t e m ś r o d k o w y m obr a z u w i r t u a l n e g o . O b l i c z e n i a s p r o w a d z a j ą się z a t e m do w y k o n a n i a d w ó c h m n o żeń d l a k a ż d e j ws p ó ł r z ę d n e j , co w r e a l i z a c j i s p r z ę t o w e j m o ż n a u z y s k a ć za p o m o c ą d w ó c h s u m a t o r ó w n a w s półrzędną. E u n k c j e s i n 9 i cos 9 s ą o b l i c z a n e p r o g r a m o w o lub ze w z g l ę d u n ą szybkość, o d s z u kiwa n o w tablicy umiesz c z o n e j np. w p a m i ę c i stałej (ROM),
Pod a n e a l g o r y t m y m a j ą n a celu m i n i m a l i z a c j ę czasu p r z e t w a r z a n i a b e z n i e p r o p o r c j o n a l n e g o w z r o s t u kosztu, p r z e z co w i ę k s z a ilość d a n y c h m o ż e b y ć w y ś w i e t l a n a bez. mig o t a n i a .
M o ż liwe r e a l i z a c j e pra k t y c z n e
C o o h ą c h a r a k t e r y s t y c z n ą współczesnych, p r o c e s o r ó w o g ó l n e g o z a stosowania, w t y m r ó w n i e ż w i ę k s z o ś c i d o s t ę p n y c h n a rynku m i k r o p r o c e s o r ó w m o n o l i t y c z n y c h jest s t o s o w a n i e r ó w n o l e g ł y c h r e j e s trów i a k u m u l a t o r ó w w s p ó ł p r a c u j ą c y c h tylko z j e d n y m ary t m o m e t r e m . P r o c e s o r o b r a z o w y m u s i być n a tomiast p r z y s t o s o w a n y do p r z e t w a r z a n i a d u ż y c h i l o ś o i danych, przy c z y m d l a tych d a n y c h w y k o n u j e się wiele n i e z a l e ż n y c h o b l i c z e ń a r y t m e t y c z n y c h , n p . przy s k a l o w a n i u s e g m e n t u l i n i o w e g o k a ż d a z c z t o r e o h w a r t o ś c i w s p ó ł r z ę d n y c h jest p r z e d m i o t e m p o d o b n y c h p r z e k s z t a ł c e ń i w celu z w i ę k s z e n i a sz y b k o ś c i p r z e t w a r z a n i a p o ż ą d a n e b y ł o b y z a s t o s o w a n i e c z t erech c i ą g ó w r e a l i z u j ą c y c h operacje a r ytmetyczne.
R ó w n o l e g ł a r e a l i z a c j a o p e r a c j i a r y t m e t y c z n y c h jest p o ż ą d a n a r ó w n i e ż d l a o p e r a c j i okienkowania, p r z y w y k o n y w a n i u któr e j zdarza się, że trz e b a o b l i c z y ć w s p ó ł r z ę d n e p r z e c i ę c i a li n i i n a w e t z czte
r o m a k r a wędziami. S z y b k i e w y k o n a n i e t y c h o b l i c z e ń za p o m o c ą m a s z y n y u n i w e r s a l n e j w y m a g a s t o s o w a nia k o s z t o w n e g o k o m p u t e r a z r o z b u d o w a n ą j e d n o s t k ą arytmet y c z n ą .
Zn a cznie e f e k t y w n i e j s z e w t y m w y p a d k u jest z a s t o s o w a n i e u r z ą d z e n i a s p e c j a l i z o w a n e g o np. w p o s t a c i sieci m i k r o p r o c e s o r ó w m o n o l i t y c z n y c h lub w p o s t a c i z e s połu j e d n a k o w y c h ar y t m o m e t r ó w , kom
p l e t o w a n y c h w z a l eżności od p o t r z e b z o d p o w i e d n i e j lic z b y m i k r o p r o c e s o r ó w s e g m e n t o w y c h . W y n i k a to z faktu, żo w d a n y m m o m e n c i e w y k o n y w a n e s ą p o d o b n e operaoje n a t y m samym zbiorze danych, przy c z y m operacje te m o g ą b y ć w y k o n y w a n e za p o m o c ą p r o s t y c h j e d n o s t e k a r y t m e t y c z n y c h s t e r o w a n y c h j e d n o s t k ą sterującą,, z a p r o j e k t o w a n ą s p e o j a l n i e d l a s y s t e m u g r a f i c z n e g o .
• S y s t e m g r a f l o z n y H I E R O G L I P H
irzy b u d o w i e syst e m u H I E R Q p L I P H ( H i g h - s p e e d I n t e r p r e t a t i o n and E x e c u t i o n of a R i n g - O r g a n i s e d G r a p h i c s List by I n t e r a c t i v e P r o c e s s i n g Ha r d w a r e ) p r z y j ę t o o m ó w i o n ą wyżej k o n c e p c j ę u r z ą d z e n i a spe c j a l i z o w a n e g o . P o d s t a w o w e e l e m e n t y s y s temu p r z e d s t a w i o n o n a rys. 3. R I E R O G Ł I P H jest s y s t e m e m autonomi c z n y m , s t e r o w a n y m i n s t r u k c j a m i p r z e c h o w y w a n y m i w zbiorze obrazowym, u m i e s z c z o n y m w d z i e —
- 6 7
-lonej pamięci głównej. Współrzędne mogą tworzyć część zbioru obrazowego lub zarówno dane jak i zbiór mogą istnieć jako część większej struktury danych. Zbiór instrukcji systemu HIEROGLIPH zaprojektowano specjalnie do sterowania przepływem danyoh w urządzeniach grafiki komputerowej, a także do wykonywania stosunkowo prostych manipulacji ze strukturą danych, włączając w to moż
liwość łączenia w sieci podprogramów graficznych, pośrednie adresowanie danych i skoki warunko
we. Mikroprogramowany układ sterowania systemu HIEROGLIPH interpretuje instrukcje, a następnie szczegółowo ustala sposób wykorzystania rejestrów i kolejność przetwarzania danych.
r
Rys. 3. Schemat blokowy systemu graficznego HIEROGLIPH
Procesor obrazowy systemu HIEROGLIPH zawiera pamięć notatnikową o szybkim dostępie i pojem
ności 32 słowa, wykorzystywaną w procesie przetwarzania do przechowywania okna, obszaru widze
nia i innych stałych oraz wyników pośrednich otrzymywanych z jednostek arytmetycznych. V/ celu uzyskania dużej szybkości przetwarzania, stosuje się 8 jednostek arytmetycznych, pozwalających ofoktywnie realizować algorytmy graficzne omówione wcześniej.
Do wykonania obrotu segmentu linii należy wykonać dwa mnożenia w celu określenia transformo
wanych wartości każdej z czterech podanych współrzędnych. Aby uzyskać większą szybkość mnożenie jest wykonywane jednocześnie w ośmiu jednostkach arytmetycznych. Wartości funkcji sinus i cosi- nus pobierane są z pamięci stałej (ROM), o szybkim dostępie, przy czym w razie potrzeby wykonujo się prostą interpolację, co zastępuje stosunkowo wolne ładowanie występujące w przypadku sterowa
nia programowego przez procesor główny.
Kody wyjściowe (outcodes) są generowane za pomocą ośmiu jednostek arytmetycznych. Kody te uzyskiwane są w wyniku odejmowania współrzędnych końców linii od współrzędnych krawędzi okna, co pozwala stwierdzić, ozy linia przeoina jedną lub więcej krawędzi. Jak pokazano poprzednio, roz
wiązanie równań przecięć wymaga wykonania dla każdej krawędzi operacji dzielenia i mnożenia.
'V tym wypadku potrzebne są jednak tylko dwa ilorazy: gradient A y / A x i jego odwrotność
A x / A y , a więc wykonanie operacji obcinania wymaga dwóch jednostek arytmetycznych dla dzielenia
•( 1 1 5» iya* 3) i czterech jednostek (2, 3, 6, 7 ) dla mnożenia. Sześć jednostek działa jedno
cześnie, operacje mnożenia sterowane są przez bity ilorazu w miarę ich otrzymywania.
Realizacja algorytmu skalowania jest bardzo podobna do realizacji algoiytmu obcinania, cho
ciaż na ogół potrzebny jest tylko jeden iloraz. W skalowaniu zwykle wprowadza się współczynnik v/w. Ponieważ w ogólnym wypadku okno i pole widzenia nie mają identycznych skal dla obu współ-, rzędnych, należy przewidzieć dwie operacje dzielenia. Zatem konfiguracja jednostek arytmetycz
nych w operaoji skalowania jest taka sama jak w operacji obcinania. W pewnych sytuacjach może być pożyteczne zapamiętanie w pamięci notatnikowej ilorazu v/w, co redukuje skalowanie tylko do cztorech mnożeń, jak w skalowaniu wstępnym..