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ć).