System Microprocesorowy

Transkrypt

System Microprocesorowy
Podstawy
architektury
Oznaczenia bloków:
CPU - centralna jednostka przetwarzająca
R A M - pamięć do zapisu i odczytu
BIOS - podstawowy system obsługi we/wy
I/O- układy wejścia/wyjścia
AB - magistrala adresowa
komputera
107
MEM - pamięć
PAO - pamięć operacyjna
ROM - pamięć tylko do odczytu
DB - magistrala danych
CB - magistrala sterująca
Rysunek 3.3. Schemat blokowy systemu mikroprocesorowego
Zadaniem centralnej jednostki przetwarzającej - C P U (ang. Central Processing
Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostaùych ukùadów
systemu. W skùad C P U wchodzą mikroprocesor oraz ukùady pomocnicze, takie jak
zegar czy sterownik magistral. Mikroprocesor jest ukùadem przetwarzającym informację i kierującym pracą reszty ukùadów. Zegar systemowy wytwarza przebiegi czasowe
niezbędne do pracy mikroprocesora i systemu. Sterownik magistral jest ukùadem,
który pośredniczy w sterowaniu magistralami, wytwarzając na podstawie informacji
otrzymanych z mikroprocesora (sygnaùów statusowych i sterujących) sygnaùy sterujące pracą ukùadów pamięci i ukùadów wejścia/wyjścia.
Można stwierdzić, że wszystkie dziaùania i operacje zachodzące w systemie są
sterowane bądź inicjowane przez mikroprocesor. Rodzaj tych dziaùań uzależniony jest
od ciągu instrukcji dostarczanych do mikroprocesora stanowiących program. Wynika
z tego, że każde dziaùanie wykonywane przez system (np. przez komputer) jest
wynikiem realizacji określonego programu bądź jego fragmentu. S t w i e r d z e n i e to
jest bardzo istotne dla zrozumienia dziaùania i zachowania się systemów mikroprocesorowych.
Program musi być przechowywany w miejscu, z którego mikroprocesor będzie
mógù szybko, bez zbędnego oczekiwania, odczytywać kolejne instrukcje przeznaczone
do wykonania. Miejscem tym jest pamięć póùprzewodnikowa. Inne rodzaje pamięci,
na przykùad pamięci masowe, są zbyt wolne - ich czasy dostępu w porównaniu
z szybkością pobierania kolejnych instrukcji przez mikroprocesor są za dùugie (przykùadowe dane dotyczące zarówno procesorów, jak i pamięci zostaną przedstawione
w dalszej części książki). Tak więc przed rozpoczęciem jego wykonania program jest
ùadowany z miejsca jego przechowywania (dysku twardego, pùyty CD itp.) do pamięci
Urządzenia techniki komputerowej. C z ę ś ć 1
108
póùprzewodnikowej (zwanej pamięcią operacyjną - o czym za chwilę. Patrz też rozdziaù 5. o systemach operacyjnych).
W bloku pamięci systemu stosowane są i pamięci RAM, i R O M . Pierwsze z n i c h ,
jak pamiętamy, przeznaczone są zarówno do odczytu, jak i zapisu, i są pamięciami
ulotnymi. Tego typu ukùady pamięci tworzą pamięć operacyjną (PAO). W p a m i ę c i
tej przechowywane są kody instrukcji tworzących program, dane oraz wyniki dziaùania programu. Stosowane są dwa rozwiązania opisane poniżej, nazywane odpowiednio architekturą z Princeton i architekturą harwardzką.
3.1.2.1. Architektura z Princeton
Różnica pomiędzy tymi dwoma rozwiązaniami jest prosta. W przypadku architektury z Princeton zarówno dane, jak i programy są przechowywane w tym s a m y m
bloku pamięci, z którym procesor komunikuje się jedną i tą samą magistralą (co jest
bardzo istotne - wyjaśnimy to za chwilę). Sytuację taką przedstawia rysunek 3.4.
Rysunek 3.4. Architektura P A O z Princeton
3.1.2.2.
Architektura harwardzka
W przypadku architektury harwardzkiej pamięć operacyjna jest tworzona z dwóch
bloków pamięci zwanych pamięcią programu i pamięcią danych. Pierwszy z nich
przechowuje wyùącznie wykonywany program (w przypadku niektórych systemów
mikroprocesorowych takich jak ukùady automatyki może to być pamięć typu R O M ,
nie dotyczy to jednak sytuacji w komputerze!). W drugim zapisywane są dane (a więc
także i wyniki dziaùań), na których operuje program. Procesor może komunikować się
z wymienionymi blokami pamięci osobnymi magistralami. Sytuacja taka jest przedstawiona na rysunku 3.5.
W przypadku rozwiązania z Harvardu możliwe jest wykonywanie jednoczesne
(równolegùe) dwóch operacji: odczytu kodu kolejnej instrukcji i zapisu bądź odczytu
danej. Pozwala to przyspieszyć pracę systemu.
P o d s t a w y architektury komputera
109
Rysunek 3.5. Harwardzka architektura PAO
W komputerze klasy IBM PC dla pamięci operacyjnej jest stosowane pierwsze
rozwiązanie. Zarówno oprogramowanie, jak i dane przechowywane są w tej samej
pamięci, a zadaniem systemu operacyjnego jest zapewnienie poprawności wykorzystania informacji i braku bùędów (czyli przykùadowo odczytania danej jako kodu
instrukcji maszynowej lub odwrotnie).
Architektura harwardzka ma jednak także swoją implementację w komputerze
PC. Od pewnego momentu (konkretnie od pojawienia się procesora Pentium - patrz
rozdziaù 4.5) tak jest realizowana podstawowa pamięć cache procesorów. Powoduje to
możliwość równolegùego wykonywania operacji, a więc szybszą pracę procesora.
Ponieważ RAM jest pamięcią ulotną, w momencie wùączenia systemu nie zawiera żadnej użytecznej informacji. Powiedzieliśmy też, że realizacja jakiejkolwiek
operacji w systemie mikroprocesorowym jest wynikiem wykonania przez mikroprocesor pewnej liczby instrukcji stanowiących program (lub jego fragment). Aby więc
system rozpocząù dziaùanie, musi istnieć miejsce, gdzie przechowywany jest program
inicjalizujący jego pracę. Miejsce to musi pamiętać program niezależnie od tego, czy
napięcie zasilania jest wùączone, czy nie. Takim miejscem jest pamięć R O M . W pamięci ROM przechowywany jest więc BIOS, czyli podstawowy system obsùugi
wejścia/wyjścia (ang. Basic Input Output System). Zawiera między innymi procedury
inicjalizujące pracę systemu oraz umożliwiające wprowadzenie do pamięci operacyjnej dalszego oprogramowania. Prócz wymienionych zadań BIOS wykonuje zwykle
jeszcze inne czynności, o których piszemy w podrozdziale 6.2.2.
Ostatnim niezbędnym blokiem systemu są ukùady wejścia/wyjścia. Pośredniczą
w wymianie informacji pomiędzy mikroprocesorem i pamięcią systemu a urządzeniami zewnętrznymi w stosunku do systemu (na przykùad takimi jak drukarka, monitor,
stacja dysków), zwanymi urządzeniami peryferyjnymi. Potrzeba pośredniczenia
w wymianie informacji może wynikać z konieczności translacji poziomów sygnaùów
elektrycznych, z potrzeby sterowania przepùywem informacji w przypadku wspóùpracy
urządzeń o różnych szybkościach dziaùania czy też z konieczności przygotowania odpowiedniego formatu informacji.
110
U r z ą d z e n i a techniki k o m p u t e r o w e j . Część 1
Wszystkie omówione tu bloki wymieniają informacje i wspóùpracują ze s o b ą ,
używając wspólnych dróg przesyùania informacji zwanych magistralami. Pojecie m agistrali zostaùo wprowadzone w rozdziale 2. W systemie występują trzy p o d s t a w o w e
rodzaje magistral: magistrala danych, magistrala adresowa i magistrala sterująca
(patrz rysunek 3.3). Zadaniem magistrali danych jest przesyùanie danych, wyników
oraz kodów instrukcji. Jest to magistrala dwukierunkowa, co oznacza, że i n f o r m a c j a
może zarówno wpùywać do .mikroprocesora, jak i być przez niego przesyùana do in - I
nych ukùadów. Magistralą adresową przesyùane są adresy komórek pamięci lub u k ù a dów wejścia/wyjścia, z którymi chce się komunikować mikroprocesor. Jest to m a g istrala jednokierunkowa, adresy są generowane przez mikroprocesor, natomiast trafiają
bądź do pamięci, bądź do ukùadów wejs'cia/wyjs'cia. Trzecia magistrala nic je s t
w istocie magistralą, a raczej zestawem linii sterujących. Linie te sùużą do sterowania 1
pracą ukùadów wspóùpracujących z mikroprocesorem oraz do sygnalizowania p e w nych ich określonych stanów. Zwyczajowo jednak zestaw tych linii nazywa się magistralą sterującą.
3.2.
Modułowa budowa komputera - pierwsze
przybliŜenie
Jak wynika z naszych rozważań, system mikroprocesorowy ma budowę blokową,
moduùową. Spróbujemy obecnie przyjrzeć się, jak budowa ta ma się do budowy k o m putera typu IBM/PC. Analizując tę budowę, zobaczymy, że elementy poszczególnych
bloków systemu mikroprocesorowego umieszczone są na pùycie gùównej i montowane
na niej bezpośrednio lub w stosownych gniazdach (sposób umieszczania określonych
elementów komputera zmieniaù się i zmienia się nadal). Przyjrzyjmy się krótko t y m
elementom.
1
I
1
;|
I
Pierwszym moduùem systemu mikroprocesorowego jest C P U , której zadaniami I
są: przetwarzanie informacji i sterowanie pozostaùymi elementami systemu. Moduùowi !
temu odpowiada przede wszystkim ukùad mikroprocesora. Przetwarza on informację,
wykonując wszelkie dziaùania arytmetyczne i logiczne. Mikroprocesor montowany
jest obecnie na pùycie gùównej w odpowiednim gnieździe umożliwiającym jego ùatwą
wymianę (patrz rozdziaù 4.). Nie steruje jednak bezpośrednio pozostaùymi elementami
systemu, lecz korzysta z pomocy skomplikowanych, specjalizowanych ukùadów,
takich jak przykùadowo sterownik pamięci DRAM czy sterownik magistrali P C I ,
tworzących ukùady sterujące (w żargonie zwane logiką sterującą) pùyty gùównej komputera. Ukùady te zawarte są obecnie jako część zestawu ukùadów bardzo wielkiej
skali integracji (VLSI) zwanych chipsetami (zasadniczo prawidùowa forma to liczba
pojedyncza - „zwanych chipsetem", jako że termin chipset w języku angielskim
oznacza wùaśnie zestaw ukùadów scalonych, zestaw chipów. Obawiam się jednak, że
liczba mnoga dla tego terminu tak się zadomowiùa, że należy się z nią pogodzić).