ARCHITEKTURA VON NEUMANA
1. Schemat architektury systemu komputerowego według von Neumana
Maszyna von Neumanna (ang. von Neumann machine) — pomysł konstrukcji komputera opracowany i wdroŜony przez Johna von Neumanna w roku 1945. Je go istotą było utrzymywanie w pamięci komputera zarówno programu, jak i danych, które są przechowywane w kodzie dwójkowym, a ich przetwarzanie odbywa się w arytmometrze. Wynalazek von Neumanna jest kontynuacją maszyny Turinga. Praktycznie wszystkie komputery są budowane według pomysłu von Neumanna.
W architekturze tej komputer składa się z czterech głównych komponentów:
-
ALU ‑ jednostka arytmetyczno ‑ logiczna układ cyfrowy będący jedną z głównych części procesora, prowadząca proste operacje arytmetyczne (dodawanie, odejmowanie) oraz operacje logiczne (AND, OR, NOT, XOR). Zazwyczaj ALU ma dwa wejścia dla pary argumentów i jedno wyjście dla wyniku.
-
CPU ‑ (Central Processing Unit) ‑ urządzenie cyfrowe sekwencyjne potrafiące pobierać dane z pamięci, interpretować je i wykonywać jako rozkazy pamięci komputerowej przechowującej dane programu oraz instrukcje programu; każda komórka pamięci ma unikatowy identyfikator nazywany jej adresem urządzeń wejścia/wyjścia służących do interakcji z operatorem
Jednostka sterująca wraz z jednostką arytmetyczno-logiczną tworzą procesor.
Do najważniejszych ograniczeń architektury von Neumanna należą:
-
brak podział pomiędzy pamięcią zawierającą instrukcje programu i dane – istnieje moŜliwość błędu w wyniku którego, zamiast instrukcji mogą zostać wykonane dane (co prowadzi do zupełnie błędnych wyników). We współczesnych procesorach eliminuję się takie działanie poprzez wprowadzenie mechanizmów ochrony pamięci (przy próbie pobrania instrukcji z bloku zawierającego dane nastąpi odmowa jej wykonania)
-
przesyłanie stosunkowo dużej ilości danych między pomiędzy CPU a pamięcią przy wykonywaniu prostych operacji – powoduje to blokowanie dostępu do tej pamięci, ponadto przesyłanie danych do pamięci jest operacją dość wolną w porównaniu z szybkością przetwarzania danych przez współczesne procesory. Zjawisko to łatwo zobrazować na przykładzie dodawania dwóch liczb: aby dodać do siebie dwie liczby procesor musi pobrać z pamięci instrukcję dodawania, następnie pobrać pierwszą liczbą, drugą, wykonać dodawanie i zapisać wynik w pamięci – mamy tu aż 4 odwołania do pamięci i tylko jedną operację przetwarzania. Jako rozwiązanie dla tego problemu (spadek prędkości pracy całego komputera), stosuję się tzw.bufor (Cache), który przechowuje ostatnio wykorzystywane dane z pamięci – w efekcie procesor otrzymuje te dane znacznie szybciej niż ze zwykłej pamięci.
2. Schemat logicznej budowy komputera.
Schemat logicznej budowy komputera przedstawiono na rys. 28.4. |akjuż wspomniano, komputer składa się z procesora, pamięci wewnętrznej orazurządzeń peryferyjnych, czyli zewnętrznych urządzeń wejścia-wyjścia. Wszystkie elementy składowe łączą się zapomocą magistrali systemowej.
-
Procesor- stanowi główny podzespół komputera, ponieważ jest odpowiedzialny za przetwarzanie informacji. Składa się z ukłdów sterujących, arytmomrtru oraz zespołu rejestrów.
-
Układy sterujące- odpowiadają za dostarczanie arytmometrowi danych do obliczeń z pamięci operacyjnej, przekazywanie wyników obliczeń z powrotem do pamięci oraz właściwą kolejność przetwarzania.
-
Aryrmometr- jest jednostką, w której odbywają się wszystkie obliczenia realizowane przez komputer, zarówno arytmetyczne, jak i logiczne na liczbach binarnych.
-
Rejestry- przechowują adresy wybranych miejsc pamięci operacyjnej oraz dane i wyniki obliczeń. W określonym rejestrze, zwanym licznikiem rozkazów, jest umieszczany adres miejsca w pamięci wewnętrznej, zawierającego bieżący rozkaz dla procesora. Praca procesora odbywa się w tzw. Cyklach rozkazowych.
-
Pamięć wewnętrzna- składa się z pamięci stałej ROM i operacyjnej RAM. W pamięci ROM producekt komputera zapisuje informacje o konfiguracji spzętowej, programy rozpoczynające pierwszą fazę pracy komputera oraz programy diagnostyczne. Do pamięci ROM nie można zapisywać danych, można jedynie je odczytać, są pzrzechowywane informacje będące obiektem bieżącego przetwarzania. Pamięć RAM jest pamięcią lotną, jej zawartość znika po wyłączeniu komputera.
-
Magistrala- jest zbiorem przewodów elektrycznych oraz specjalnych gniazd połączonych ze sobą równolegle, tak aby była możliwość przesyłania danych, adresów, sygnałów sterujących pomiędzy procesorem, pamięcią wewnętrzną i urządzeniami peryferyjnymi komputera. Magistrala składa się z szyny sygnałów sterujących, szyny danych i szyny adresowej. Cykl pracy magistrali odbywa się w taktach zegarowych, z tym że zwykle częstotliwość pracy magistrali jest kilka razy mniejsza od częstotliwości pracy procesora. Powoduje to zmniejszenie efektywności pracy całego systemu komputerowego
Współpraca procesora z pamięcią oraz urządzeniami wejścia-wyjścia
Współpracę tę obrazuje rys. 28.5. odbywa się ona poprzez szynę danych i szynę adresową. Procesor wysyła sygnały sterujące, które umożliwiają odczyt lub zapis z poszczególnych urządzeń. Wyróżniamy następujące sygnały sterujące:
-
MR (memory read) - odczyt pamięci,
-
MW (memory write) - zapis do pamięci,
-
IOR (input / output read,) - odczyt z urządzeń wejścia-wyjścia,
-
IOW (input / output wńte) - zapis do urządzeń wejścia-wyjścia.
4. Operacje wejścia-wyjścia wykonywane pod nadzorem procesora
operacje te (rys. 28.6.) spowolniają pracę komputera, ponieważ procesor przerywa na czas ich realizacji wykonywanie programu. operację taką rozpoczyna^ urządzenie żądające dostępu do procesora. Wysyła ono przerwanie IRQ (interrupt request).
INTA.- sygnał przyjęcia zgłoszenia przerwania, INTR - sygnał odebrania zgłoszenia przerwania przychodzącego do sprzętu, IRQ2, IRQ3, IRQ5 - numery kanałów przerwań urządzeń
Przerwaniami zarządza kontroler przerwań, który powiadamia procesor za pomocą sygnału INTR. Procesor potwierdza sygnałem INTA i rozpoczyna wyrnianę danych między pamięcią, urządzeniem. Każde urządzenie ma własny numer przerwania. jeżeli kilka urządzeń jednocześnie zażąda przerwania, zostanie obsłużone to, które ma przerwanie o wyższyrn priorytecie - niższy numer przerwania.
Operacje wejścia-wyjścia z bezpośrednim dostępem do pamięci
Operacje te, przedstawione na rysunku 28.7, są wykonywane bez udziału procesora, który w tym samym czasie może realizować inne operacje. Do sterowania tymi operacjami służy układ DMA (direct rnemory access), który przejmuje kontrolę nad szyną danych i szyną adresową. Sygnałem DRQ urządzenie wejścia-wyjścia żądające dostępu do pamięci inicjuje pracę układu DMA. Układ DMA sygnałem HRQ sygnalizuje procesorowi możliwość przejęcia kontroli nad magistralami. Procesor zawiesza swoje magistrale i sygnalizuje to sygnałem HLDA. Kontroler DMA za pomocą sygnału DACK przekazuje do urządzenia informację o ustawionym trybie DMA. Rozpoczyna się transmisja danych z pamięci do urządzenia żądającego, z pominięciem procesora.