Notatnik Fana Starych Komputerów
 


ZX Spectrum i ZX Spectrum +

Bajtek 7/86 - ZX Spectrum

      W każdym mikrokomputerze możemy wyodrębnić kilka bloków funkcjonalnych, które połączone w odpowiedni sposób tworzą tzw. system czyli to, z czym ma do czynienia użytkownik. Zwykle podstawowe bloki funkcjonalne zamknięte są we wspólnej obudowie wraz z klawiaturą. Jeśli zajrzymy do środka, zobaczymy kilkanaście lub kilkadziesiat układów scalonych różnej wielkości, zmontowanych na wspólnej płytce o skomplikowanym obwodzie drukowanym, umieszczonym na obu jej stronach, oraz niewielka ilość elementów pomocniczych. Większe mikrokomputery posiadaia kilka płytek, małe - tylko jedną. Płytka naszego Spectrum zawiera 25 układów scalonych.
      Elektronik obeznany z techniką mikrokomputerową, z łatwością wyodrębni poszczególne bloki tworzące system mikrokomputerowy. Zgodnie z zasadami obowiązującymi w informatyce będą to:
1. mikroprocesor - zwany też z angielska CPU (Central Processing Unit);
2. pamięć operacyjna podzielona na pamięć ROM (Read Only Memory) - tylko do odczytu i RAM (Random Access Memory) - pamięć o swobodnym dostępie;
3. urządzenia wejścia/wyjścia zwane portami lub bramami. W naszym Spectrum wszystkie te funkcje łączy w sobie jeden układ scalony zwany ULA (Uncommited Logic Array), co po polsku można wyłożyć, jako rozsyłająca, rozdzielająca matryca logiczna. Wszystkie te układy zrealizowane są w technologii o wysokiej skali integracji (LSI).
      Oprócz nich na płytce znajdują się układy zrealizowane w technologii o małej lub średniej skali integracji tzw. układy logiczne TTL. Realizują one funkcje pomocnicze, głównie jako układy sterujące blokiem pamięci RAM.
      W skomplikowanej mozaice połączeń między wyprowadzeniami układów scalonych informatyk rozpozna tzw. magistrale. Sąto: magistrala adresowa i magistrala danych oraz magistrala sterująca. Wszystkie one oraz kilka dodatkowych, charakterystycznych dla Spectrum, wyprowadzone są na złącze krawędziowe znajdujące się z tyłu mikrokomputera i pozwalające na współpracę z dodatkowymi urządzeniami peryferyjnymi, jak np. drukarka, lnterface 1 itp. Na płytce są również umieszczone złącza służące do przyłączenia odbiornika TV jako monitora, magnetofonu jako pamięci masowej oraz klawiatury. Są to podstawowe urządzenia peryferyjne mikrokomputera ZX SPECTRUM tworzące wraz z nim kompletny system mikrokomputerowy.
      W ZX SPECTRUM zastosowano mikroprocesor opracowany w firmie Zilog - Z80 A. Jest to 8-bitowy mikroprocesor pracujący z zegarem 3,5 MHz z 1 6-bitową magistralą adresową. Umożliwia on zaadresowanie 64 kB pojedynczych komórek pamięci operacyjnej. Dokładnie może być tych komórek 65536. Do każdej z nich można zapisać lub odczytać z niej 256 różnych wartości od 0 do 255. Oczywiście oprócz pamięci procesor musi obsługiwać inne bloki zwane urządzeniami wejścia-wyjścia. Aby jednoznacznie określić, które bloki mają być aktywne, procesor zgodnie z programem ustawia odpowiednią kombinację sygnałów na magistrali sterującej. Jasne jest, że urządzenia wejścia-wyjścia mają również swoje adresy po to, aby np. sygnał przeznaczony dla monitora nie trafił przez przypadek do magnetofonu lub odwrotnie.
      Spójrzmy teraz na rys. 2. W Spectrum obszar od adresu 0 do adresu 16383 zarezerwowany jest dla pamięci ROM. W ROM-ie przechowywany jest interpretator języka BASIC, program zwany systemem operacyjnym oraz program obsługujący monitor. Poczynając od adresu 16384 aż do 65535 rozciąga się pamięć RAM. W Spectrum 16 k ostatnim adresem w pamięci jest 32 767.
      Pierwsze 6 192 bajty RAM zarezerwowane są dla pamięci ekranu. Dalsze 2000 bajtów zarezerwowane są dla systemu. W obszarze tym komputer przechowuje niezbędne do pracy informacje o stanie systemu.
      Poczynając od adresu ok. 25000 rozciąga się obszar pamięci dostępny dla użytkownika. Przechowywany jest w niej program w BASIC-u lub w kodzie maszynowym. Pod samym szczytem pamięci (ang. RAMTOP) istnieje obszar, w którym można przechowy wać znaki graficzne, możliwe do zdefiniowania przez użytkownika za pornocąodpowiednich instrukcji (tzw. UDG).
      Aby móc komunikować się z komputerem lub choćby uruchomić jakąkolwiek grę, potrzebny jest monitor i magnetofon oraz klawiatura czyli urządzenia peryferyjne. Obsługą tych urządzeń zajmuje się wspomniany wyżej ULA, który spełnia następujące funkcje: tworzy obraz telewizyjny łącznie z sygnałami koloru, przyjmuje i wysyła sygnał z programem przeznaczonym dla magnetofonu, generuje jednogłosowy dźwięk w zakresie jedenastu oktaw, wytwarza sygnał zegarowy dla mikroprocesora i przede wszystkim obsługuje i odświeża pamięć obrazu, a także 50 razy w ciągu sekundy kontroluje stan klawiatury. Widać stąd, że bez układu ULA nasz Spectrum byłby ślepy i głuchy, a my niewiele moglibyśmy się dowiedzieć o tym, co się dzieje w jego wnętrzu.
      Wszystkie te bloki aby działać muszą być zasilane. Do tego celu służy kilkadziesiąt małych elementów, zmontowanych na wspólnej płytce komputera. Zamieniają one napięcie doprowadzone z oddzielnego zasilacza na stabilizowane napięcie potrzebne do prawidłowej pracy wszystkich układów scalonych. Niestety ten wewnętrzny zasilacz Spectrum jest jego najsłabszą stroną.
      Oprócz zasilacza na płytce znajdują się jeszcze: koder PAL - tworzący barwny sygnał telewizyjny w standardzie PAL oraz modulator UHF, pozwalający uzyskać obraz na ekranie telewizora dostrojonego w pobliże 36 kanału.
      Parametry użytkowe ZX Spectrum nie są, jak na 1986 rok, olśniewające. Trzeba pamiętać jednak, że jest to komputer, który pojawił się na rynku 4 lata temu, kiedy nikt nie słyszał jeszcze o firmie Amstrad, a Commodore czy Atari dopiero miały nadzieję na udany model swojego mikrokomputera.
      Z punktu widzenia programisty, podstawową wadą Spectrum jest dość skomplikowany sposób korzystania z pamięci operacyjnej. Spowodowane jest to rozdzieleniem pamięci RAM na dwa bloki 16 i 32 k. Blok 32 k jest przyłączony bezpośrednio do mikroprocesora, natomiast dostęp do bloku 16 K zawierającego pamięć obrazu, zmienne systemowe itd. sterowany jest przez układ ULA. Wynikają z tego dość istotne ograniczenia w działaniu systemu. Mianowicie zapis do pamięci 16 k może odbywać się tylko wtedy, kiedy nie korzysta z niej ULA. Wprawdzie dzieje się to około 50 razy na sekundę, ale przez bardzo krótki okres, podczas którego procesor musi wpisać do pamięci nowe dane, odczytać stan zmiennych systemowych, stosu itd. Ma na to wszystko około 2 ms. Powoduje to bardzo powolne działanie programu, który wymaga dostępu do pamięci ekranu.
      Poniższy program stanowi prosty przykład ilustrujący szybkość działania:
10 FOR u = 32768 TO 33768
15 PRINT AT 0,0;n
20 POKE n,255
30 NEXT n
      Czas realizacji wynosi ok. 24 sekund. Po wyrzuceniu linii 15 program wykonuje się w 6 sekund czyli 4 razy szybciej. Różnica jest tym większa, im większy jest obszar ekranu, z którego korzystamy. Drugą wadą naszego Spectrum jest fakt, iż procesor zostaje zatrzymany podczas generacji dźwięku, co również powoduje wydłużenie działania programu.
      Poza opisanymi wadami, a raczej niedogodnościami strukturalnymi, należy wspomnieć o błędach zawartych w programie operacyjnym. Wynikły one głównie z pośpiechu przy projektowaniu systemu. Najważniejszy z nich to błąd w procedurze obsługi przerwań. Ponieważ błędy te są istotne tylko dla zaawansowanych programistów, korzystających z procedur zawartych w ROM-ie, nie będziemy ich szerzej omawiać.
      Na koniec jeszcze kilka słów o wadach technologicznych czyli wynikających z rodzaju zastosowanych materiałów oraz rozwiązań konstrukcyjnych. I tu na czoło wysuwa się klawiatura. Jest ona wykonana z dwuwarstwowej folii z napylonymi próżniowo polami kontaktowymi i ścieżkami połączeń. Klawiatura stanowi "piętę achillesową" Spectrum. Niestety, firma Sinclair nie potrafiła rozwiązać tego problemu. Klawiatury modelu Spectrum + poza tym, że są wygodniejsze, nadal pozostawiają wiele do życzenia, jeśli idzie o trwałość. Podstawowymi uszkodzeniami są przerwy i zwarcia, które uniemożliwiają pracę komputera.
      Drugą notoryczną wadą są uszkodzenia zasilacza, szczególnie przetwornicy zasilającej pamięci 16 K.
      Mimo niewątpliwych wad, ma też Spectrum swoje zalety. Przede wszystkim jest to komputer nadal najbardziej dostępny w naszym kraju. Istnieje bogata literatura opisująca zarówno sprzęt jak i oprogramowanie. Ceny urządzeń peryferyjnych nie osiągają astronomicznych sum, a co najważniejsze jest tych urządzeń sporo.
 
Grzegorz Grzybowski

Powiększenie
 
Powiększenie
 
Powiększenie
 
Powiększenie