Rozdział 25 - Jak pracuje komputer

Na poniższej ilustracji widzisz wnętrze ZX81 (lecz samemu go nie rozbieraj, bo możesz mieć dużo kłopotu ze złożeniem go do kupy).

Jak widać, wszystkie składniki posiadają trzyliterowe skróty.

Kawałki plastiku z mnóstwem metalowych nóżek są tymi cudownymi układami krzemowymi, które dały ci nie tylko cyfrowe zegarki, lecz również komputer Sinclair ZX81. Wewnątrz każdego kawałka plastiku znajduje się kawałek płytki krzemowej o wielkości porównywalnej z kursorem  K , połączonej przewodami do metalowych nóżek.

Mózgiem sterującym pracą komputera jest układ procesora, często zwany CPU (Central Processor Unit - Centralna Jednostka Przetwarzająca). Ten szczególny tutaj jest procesorem Z80 (właściwie Z80A, który potrafi działać szybciej).

Procesor kontroluje cały komputer, wykonuje działania arytmetyczne, rozpoznaje naciskane klawisz i decyduje co zrobić w wyniku, i koordynuje tworzenie obrazu telewizyjnego. Jednakże pomimo całego jego sprytu, nie byłby w stanie zrobić tego wszystkiego sam jeden. Sam z siebie nic nie wie o języku BASIC, arytmetyce zmiennoprzecinkowej czy telewizji, i musi pobierać wszystkie swoje instrukcje z innego układu, pamięci ROM (Read Only Memory - pamięć tylko do odczytu). Pamięć ROM jest po prostu długą listą instrukcji tworzących kompletny program komputerowy mówiący komputerowi, co ma robić w każdej przewidywalnej sytuacji. Ten program nie został napisany w języku BASIC, lecz w tzw. kodzie maszynowym Z80, a ma postać długiego ciągu bajtów (pamiętaj, iż bajt to po prostu liczba pomiędzy 0 a 255). Każdy bajt posiada adres określający jego położenie w pamięci ROM, pierwszy ma adres 0, drugi ma adres 1, itd aż do 8191. Daje to w sumie 8192 = 8*1024 bajty, co wyjaśnia powód nazywania języka BASIC w ZX81 językiem 8K BASIC. 1K to 1024 lub 210.

Chociaż w innych komputerach znajdują się podobne układy scalone, to ten szczególny ciąg instrukcji jest unikalny dla ZX81 i został napisany specjalnie dla niego przez małą firmę matematyków z Cambridge.

Możesz sprawdzić, jaką wartość posiada bajt znajdujący się pod danym adresem wykorzystując funkcję PEEK. Na przykład ten program wypisuje 21 pierwszych bajtów z pamięci ROM (i ich adresy):

10 PRINT "ADRES";TAB 8;"BAJT"
20 FOR A = 0 TO 20
30 PRINT A;TAB 8;PEEK A
40 NEXT A

Następnym układem do rozważenia jest układ pamięci RAM (Random Access Memory - pamięć o dostępie swobodnym). Tutaj procesor przechowuje dane, które chce zachować - twój program w języku BASIC, zmienne, obraz dla telewizora oraz różne notatki (zmienne systemowe) na temat swojego stanu.

Podobnie jak dla pamięci ROM, pamięć jest zorganizowana w bajty, każdy posiada swój adres o zakresie od 16384 do 17407 (jeśli masz rozszerzenie 16K RAM, to do 32767). Znów podobnie jak dla ROM, możesz odczytać wartość tych bajtów przy pomocy PEEK, lecz wielką różnicą od ROM jest to, iż bajty te możesz również zmieniać (ROM jest oczywiście ustalona i niezmienna).

ROM (maual) - pamięć ROM (podręcznik)
Voltage regulator - stabilizator napięcia
UHF/VHF modulator - modulator sygnału dla telewizora
SCL (dogsbody) - układ logiczny Sinclaira (muskuły)
CPU (brains) - mikroprocesor (mózg)
RAM (notepad) - pamięć RAM (notatnik)

Wpisz

POKE 17300,57

Spowoduje to, iż bajt pod adresem 17300 przyjmie wartość 57. Jeśli teraz wpiszesz:

PRINT PEEK 17300

to dostaniesz z powrotem liczbę 57 (wypróbuj wstawianie do pamięci również innych wartości, aby się przekonać, że nie ma tu oszustwa).

Zwróć uwagę, iż adresy muszą być pomiędzy 0 a 65535, a większość z nich będzie się odnosiła do bajtów w ROM lub nigdzie, zatem wstawianie wartości nie odniesie skutku. Wartość musi się mieścić w przedziale od -255 do 255, a jeśli jest ujemna, to zostanie do niej dodane 256.

Możliwość wstawiania liczb do pamięci daje ci ogromną władzę nad komputerem, jeśli wiesz jak jej użyć, jednakże konieczna wiedza znacznie wykracza poza naszą wprowadzającą instrukcję obsługi komputera.

Ostatnim dużym układem scalonym jest SCL (Sinclair Computer Logic - komputerowy układ logiczny Sinclaira). Układ ten również został specjalnie zaprojektowany dla ZX81 i łączy on w dosyć sprytny sposób pozostałe układy ze sobą, aby mogły robić więcej, niż robiłyby w normalnych warunkach.

Modulator zamienia wyjście telewizyjne z komputera na postać odpowiednią dla telewizora, a stabilizator zamienia wygładzone, lecz niestabilizowane napięcie 9 wolt z zasilacza na stabilizowane 5 wolt.

 

 

Podsumowanie

Układy scalone

Polecenie: POKE

Funkcja: PEEK

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe