- 67 -
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 speojalnie do sterowania przepływem danych w urządzeniach grafiki komputerowej, a takżo 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 warunkowo. Mik rop rogramowany układ sterowania systemu HIEROGLIPH interpretuje instrukcje, a następnie szczegółowo ustala sposób wykorzystania rejestrów i kolejność przetwarzania danych.
Rys. 3« Schemat blokowy systemu graficznego HIEROGLIPH
Procesor obrazowy systemu HIEROGLIPH zawiera pamięć notatnikową o szybkim dostępie i pojemności 32 słowa, wykorzystywaną w procesie przetwarzania do przechowywania okna, obszaru widzenia 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 oelu określenia transformowanych wartości każdej z czterech podanych współrzędnych. Aby uzyskać większą szybkość mnożenie jest wykonywane jednooześ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 -wykonuje się prostą interpolaoję, co zastępuje stosunkowo wolne ładowanie występujące w przypadku sterowania programowego przez prooesor główny.
Kody wyjściowe (outcodes) są generowane za pomooą ośmiu jednostek arytmetycznych. Kody to uzyskiwano są w wyniku odejmowania współrzędnych końców linii od współrzędnych krawędzi okna, co pozwala stwierdzić, ozy linia przecina jedną lub więcej krawędzi. Jak pokazano poprzednio, rozwiązanie równań przecięć wymaga wykonania dla każdej krawędzi operacji dzielenia i mnożenia.
'V tyra wypadku potrzebne są jednak tylko dwa ilorazyj gradient Ay/Ax i jego odwrotność Ax/Ay, a więc wykonanio operaoji obcinania wymaga dwóch jednostek arytmetycznych dla dzielenia . (1 i 5, iys. 3) i czterech jednostek (2, 3, 6, 7 ) dla mnożenia. S?eść jednostek działa jednocześnie, operacje mnożenia sterowane są przez bity ilorazu w miarę ich otrzymywania.
Realizacja algorytmu skalowania jest bardzo podobna do realizacji algorytmu obcinania, chociaż 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 arytmetycznych w operacji skalowania jest taka sama jak w operacji obcinania. W pewnych sytuacjach może być pożyteczne zapamiętanie w pamięoi notatnikowej ilorazu v/w, co redukuje skalowanie tylko do cztorech mnożeń, jak w skalowaniu wstępnym*.