Marcin Peczarski
Architektura komputera, według Stallingsa [1], to te atrybuty komputera, które są widzialne dla programisty i mają bezpośredni wpływ na logiczne wykonanie programu. Natomiast organizacja komputera jest to sposób realizacji architektury. Przykładami atrybutów architektury są: lista rozkazów, sposób reprezentacji liczb, metody adresowania argumentów. Przykładami atrybutów organizacji są: sposób realizacji instrukcji, rozwiązania sprzętowe niewidoczne dla programisty, technologie wykonania poszczególnych podzespołów. Z powyższymi pojęciami wiąże się pojęcie kompatybilności. Architektura jest czymś trwalszym niż organizacja. Ta sama architektura może być oferowana w różnych modelach komputerów, różniących się organizacją, która z kolei determinuje np. wydajność i cenę. Niezmienna architektura może być oferowana przez producenta przez wiele lat, umożliwiając łatwe przenoszenie istniejącego już oprogramowania. Natomiast kolejne modele komputerów mogą mieć zupełnie inną organizację, która może zmieniać się dowolnie często wraz z rozwojem technologii. Zgodnie z powyższymi definicjami, a nieco wbrew tytułowi, wykład ten poświęcony jest zarówno architekturze, jak i organizacji systemów komputerowych.
1.1 Model von Neumanna a model współczesnego komputera
John von Neumann opublikował w 1945 propozycję opracowania nowego komputera. Zasadniczą nowością była koncepcja przechowywania programu w pamięci. Komputer miał składać się z czterech bloków funkcjonalnych:
• pamięć przechowująca program do wykonania i dane dla niego;
• jednostka arytmetyczno-logiczna zawierająca rejestry AC (accumulator), MQ (multiplier-ąuotier), MBR (memory buffer register);
• jednostka sterująca zawierająca licznik programu PC (program counter), rejestr adresowy MAR (memory address register) i pomocnicze rejestry IBR (instruction buffer register), IR (instruction register);
• urządzenia wejścia-wyjścia.
Składniki współczesnego komputera:
• (mikro)procesor, zawierający co najmniej jedną jednostkę arytmetyczno-logiczną, jednostkę sterująca i rejestry;
• pamięć operacyjna;
• urządzenia wejścia-wyjścia (klawiatura, mysz, karta graficzna, pamięci dyskowe itp.);
• układ bezpośredniego dostępu do pamięci (ang. DMA - direct memory access);
• układ przerwań.