• Nie Znaleziono Wyników

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 pozwa­

lają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..