4. INFORMATYKA
Najbardziej rozpowszechniona koncepcja budowy jednostki centralnej to architektura von Neumanna. W komputerze, zbudowanym według tej koncepcji, wyróżnia się:
— pamięć operacyjną, tj. szybką pamięć adresowaną, zawierającą zarówno przetwarzane dane, jak i program (lub aktualnie realizowaną część programu) ich przetwarzania;
— arytmometr („jednostkę arytmetyczno-logiczną”), realizujący kolejne rozkazy programu;
— blok wejścia—wyjścia, pośredniczący między pamięcią operacyjną a urządzeniami zewnętrznymi;
— blok sterujący, koordynujący działanie całego systemu.
Arytmometr, blok wejścia—wyjścia i blok sterujący bywają traktowane jako jedna całość, zwana procesorem.
Rozkaz maszyny von Neumanna zawiera symbol rodzaju operacji, adresy argumentów („operandów”) oraz adres, pod który ma zostać odesłany wynik. Cykl czynności związanych z wykonaniem rozkazu („cykl rozkazowy”) obejmuje:
1) pobranie rozkazu z pamięci;
2) rozpoznanie rodzaju operacji;
3) pobranie argumentów;
4) wykonanie operacji;
5) odesłanie wyniku;
6) ustalenie adresu, spod którego ma zostać pobrany następny rozkaz.
Znaczne przyspieszenie obliczeń można na ogół uzyskać przez stosowanie architektur wieloprocesorowych. Układy wieloprocesorowe umożliwiają jednoczesne wykonywanie takiej samej operacji na różnych danych (architektury S1MD — ang. Single Instruction Stream — Multiple Data Stream) bądź też różnych operacji na różnych danych (architektury MIMD — ang. Multiple Instruction Stream — Multiple Data Stream). Proponuje się też architektury wieloprocesorowe, w których przetwarzanie nie jest sterowane przez odrębny program, ale przez samą postać odpowiednio przygotowanych danych, tzw. architektury przepływowe, (ang. dataflow architectures). Architektury S1MD są podstawą budowy komputerów macierzowych, dostosowanych do szybkiego przetwarzania danych zawartych w dużych tablicach.
Inny sposób przyspieszenia poszczególnych operacji polega na ich rozbiciu na operacje prostsze, z których każda jest wykonywana w osobnym, specjalizowanym układzie sprzętowym; realizacja pierwszego etapu operacji następnej może się w takim układzie rozpocząć natychmiast po ukończeniu pierwszego etapu operacji poprzedniej itd. Architektury oparte na tej zasadzie to architektury potokowe (ang. pipeline architectures). Architektury potokowe są podstawą budowy komputerów wektorowych, dostosowanych do szybkiego przetwarzania dużych ilości danych zapisanych w kodach zmiennopozycyjnych.
Architektury wieloprocesorowe i potokowe są podstawą budowy współczesnych komputerów o szczególnie wielkiej mocy obliczeniowej („superkomputerów”), a także „komputerów peryferyjnych”, dołączanych do maszyn o bardziej konwencjonalnej konstrukcji w celu szybkiego wykonania wielu obliczeń o specjalnym charakterze. W ograniczonej mierze wieloprocesorowość bywa wykorzystywana w maszynach średniej mocy, a także w mikrokomputerach.
Przez organizację pamięci rozumie się jej podział na mniejsze jednostki, takie jak bajty, słowa maszynowe czy bloki. Numer podstawowego elementu pamięci nazywa się jego adresem, a zbiór dopuszczalnych adresów — przestrzenią adresową danego systemu.
Według miejsca zainstalowania rozróżnia się pamięć wewnętrzną, zainstalowaną w'jednostce centralnej, i pamięć zewnętrzną, stanowiącą urządzenie peryferyjne albo część takiego urządzenia. Według pojemności i czasu dostępu można rozróżnić pamięć notatnikową (ang. scratchpad memory; bardzo szybka pamięć o niewielkiej pojemności), pamięć operacyjną (główną) oraz pamięć masową o dużej pojemności i stosunkowo długim czasie dostępu. Według trwałości zapisu rozróżnia się pamięć stalą (ang. ROM — Reaa Only Memory) i pamięć o zawartości zmiennej. Według trybu dostępu można rozróżnić pamięć o dostępie: swobodnym (ang. RAM — Random Access Memory), cyklicznym, sekwencyjnym i skojarzeniowym. Dostęp do pamięci można podzielić na bierny („czytanie”) i czynny, tj. dostęp ze zmianą zawartości pamięci.
Dostęp swobodny zapewnia bezpośredni kontakt z żądanym elementem pamięci na podstawie jego adresu i charakteryzuje się niezależnością czasu dostępu od adresu dostępu poprzedniego. Dostęp cykliczny — charakterystyczny dla pamięci bębnowych, dyskowych i niektórych półprzewodnikowych — polega na cyklicznym przeglądaniu zawartości pamięci i wiąże się z koniecznością oczekiwania na żądane miejsce pamięci; czas tego oczekiwania waha się od zera do pełnego czasu cyklu przeglądania. Dostęp sekwencyjny
_charakterystyczny dla pamięci taśmowych — wiąże się z silną zależnością czasu
oczekiwania od odległości między miejscami poprzedniego i aktualnego dostępu. Dostęp skojarzeniowy (asocjacyjny) różni się od poprzednio omówionych odszukiwaniem elementu pamięci według jego zawartości (lub części zawartości), a nie adresu.
Według realizacji fizycznej stosowane obecnie pamięci można podzielić na elektroniczne, magnetyczne, optyczne i magnetooptyczne. Pamięci magnetyczne są realizowane jako dyskowe lub taśmowe, pamięci optyczne i magnetooptyczne — jako dyskowe.
Pamięć elektroniczna (mikroelektroniczna, półprzewodnikowa) jest dostarczana w postaci układów scalonych jako pamięć RAM o zmiennej zawartości lub jako pamięć stała ROM. Pamięć RAM jest układem mikroelektronicznych przerzutników, z których każdy stanowi elementarny magazyn o pojemności jednego bitu. Pamięć ROM jest układem kombinacyjnym, który na adres, wprowadzony na wejście, reaguje zawartością elementu pamięci, wyprowadzaną na wyjście.
Odmianami półprzewodnikowej pamięci ROM są programowalna pamięć PROM (ang. Proyrammable ROM), której zawartość ustala jednorazowo użytkownik, oraz pamięć EPROM (ang. Eraseable PROM), tj. pamięć stała z możliwością kasowania i ponownego wprowadzania zawartości. Zawartość pamięci PROM i EPROM ustala się przy użyciu urządzeń zwanych programatorami pamięci.
Taśmowe pamięci magnetyczne oraz dyskowe pamięci magnetyczne i magnetooptyczne wykorzystują zapis na ruchomych nośnikach magnetycznych. Nośnik takiej pamięci, tj. taśma albo dysk jest pokryty warstwą magnetycznie czynną, zawierającą sproszkowany ferromagnetyk o szerokiej pętli histerezy; zapis jest utrwalany na tej warstwie przez zróżnicowanie magnetyzmu szczątkowego, pozostawionego przez impulsy pola magnetycznego, generowane przez głowicę zapisującą.
Pamięć taśmową można podzielić na szpulową, stosowaną w większych systemach cyfrowych, i kasetową, stosowaną głównie w mikrokomputerach. Pamięć taśmowa charakteryzuje się szczególnie długim czasem dostępu i dlatego została w dużej mierze wyparta przez pamięć dyskową. Ponieważ jednak nośniki oraz urządzenia do zapisu i odczytu na taśmie są stosunkowo tanie, a przestrzenna gęstość zapisu na taśmie — duża, dlatego kasetową pamięć taśmową stosuje się jako tanią pamięć masową mikrokomputerów, a pamięć szpulową — jako pamięć archiwalną w dużych systemach komputerowych. Pamięć taśmową na kasetach podobnych do magnetowidowych (tzw. „streamery”) stosuje się w mikrokomputerach osobistych do archiwizowania zawartości dysków twardych.
Pamięć dyskowa jest dziś najbardziej rozpowszechnioną pamięcią masową zarówno w dużych systemach komputerowych, jak i w mikrokomputerach; jej główną zaletą są duże pojemności przy stosunkowo krótkich czasach dostępu. Rozróżnia się pamięci na dyskach twardych oraz pamięci na dyskach elastycznych, stosowane głównie w mikrokomputerach. Pamięci na dyskach twardych można z kolei dzielić na pamięci z dyskami stałymi oraz pamięci z dyskami wymiennymi. Dyski twarde stosowane w mikrokomputerach osobistych są oczywiście przykładem pamięci na dyskach twardych stałych.
Dyski elastyczne („dyskietki”) stanowią obecnie bardzo rozpowszechniony podręczny nośnik, służący do wygodnego przechowywania i przenoszenia niezbyt wielkich ilości informacji. Standardy gęstości zapisu na dyskietkach są co pewien czas podnoszone; najczęściej spotykana pojemność dyskietki wynosi obecnie ok. 1,2 MB. Ponieważ coraz więcej komputerów włączanych jest do lokalnych lub większych sieci, wyposażanych " komputery centralne z pamięciami o dużych pojemnościach, można przewidywać, że znaczenie dyskietek, zarówno jako nośników przechowujących, jak i przenoszących informacje, będzie jednak stopniowo malało.
9*