5.1 Pojęcie systemu mikroprocesorowego.doc

(820 KB) Pobierz

Podstawy architektury komputera

 

Komputer jest zespołem układów cyfrowych tworzących system mikroprocesorowy. W jego skład wchodzą miedzy innymi układy przedstawione w poprzednich rozdziałach, na przykład pamięci, ale także układy jakościowo nowe, takie jak mikroprocesor.

 

Pojęcie systemu mikroprocesorowego

 

1.            System mikroprocesorowy a specjalizowany układ cyfrowy

 

Układy cyfrowe służą do przetwarzania informacji. Przetwarzanie informacji polega na dostarczeniu do układu bądź systemu danych poddawanych określonym działaniom, dzięki którym otrzymujemy wyniki. Wynikami mogą być przykładowo sygnały sterujące pracą pewnych urządzeń, obrazy, teksty i tym podobne. Tak określone przetwarzanie informacji dotyczy więc przykładowo zarówno układów automatyki, jak i komputerów.

Przetwarzanie informacji przez układy cyfrowe możemy obecnie zrealizować dwoma sposobami:

1.      Projektując tak zwany specjalizowany układ cyfrowy będący zestawem różnorodnych układów cyfrowych połączonych tak, aby realizowały określony sposób przetwarzania informacji. Sposób ten będzie zależał wyłącznie od użytych układów i sposobu ich połączenia, czyli od sprzętu (ang. hardware). Układ tego typu jest przedstawiony schematycznie na rysunku 1.

Rysunek 1 Przetwarzanie informacji za pomocą specjalizowanego układu cyfrowego

 

2.      Stosując system mikroprocesorowy. Jedną z ważniejszych części tego systemu jest uniwersalny układ przetwarzający informację, czyli procesor. Procesor przetwarza informacje, wykonując na niej elementarne operacje zwane instrukcjami maszynowymi (bądź rozkazami). Ciąg takich instrukcji realizujący konkretne zadanie przetwarzania informacji nazywamy programem. Do systemu mikroprocesorowego oprócz danych wejściowych musimy więc dostarczyć także pogram lub zestaw programów, czyli oprogramowanie (ang. software). W przypadku systemu mikroprocesorowego sposób przetwarzania informacji jest określony głównie przez oprogramowanie. Ułatwia to w razie potrzeby zmianę sposobu przetwarzania informacji. Schematycznie przetwarzanie informacji za pomocą systemu mikroprocesorowego możemy przedstawić tak, jak na rysunku 2.

Rysunek 3.2. Przetwarzanie informacji za pomocą systemu mikroprocesorowego

 

 

2.            Schemat blokowy systemu mikroprocesorowego

 

Jak wspomniano, jednym z elementów systemu mikroprocesorowego jest uniwersalny układ przetwarzający informacje. W naszym przypadku jest to mikroprocesor będący główną częścią CPU. Wykonuje wszelkie działania arytmetyczne i logiczne potrzebne do osiągnięcia zamierzonego wyniku. Układ ten musi jednak współpracować z dodatkowymi układami w celu utworzenia użytecznego, efektywnie pracującego systemu zwanego systemem mikroprocesorowym. Schemat blokowy takiego systemu przedstawiony jest na rysunku 3.

Rysunek 3 Schemat blokowy systemu mikroprocesorowego

 

Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU 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. Stwierdzenie 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 półprzewodnikowej (zwanej pamięcią operacyjną - o czym za chwilę.

W bloku pamięci systemu stosowane są i pamięci RAM, i ROM. Pierwsze z nich, 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 pamięci 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ą.

 

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 samym bloku pamięci, z którym procesor komunikuje się jedną i tą samą magistralą. Sytuację taką przedstawia rysunek 4.

Rysunek 4. Architektura PAO z Princeton

 

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 ROM, 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 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.

 

Rysunek 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) 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ęć ROM. 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.

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.

Wszystkie omówione tu bloki wymieniają informacje i współpracują ze sobą, używając wspólnych dróg przesyłania informacji zwanych magistralami. W systemie występują trzy podstawowe rodzaje magistral: magistrala danych, magistrala adresowa i magistrala sterująca. Zadaniem magistrali danych jest przesyłanie danych, wyników oraz kodów instrukcji. Jest to magistrala dwukierunkowa, co oznacza, że informacja może zarówno wpływać do mikroprocesora, jak i być przez niego przesyłana do innych układów. Magistralą adresową przesyłane są adresy komórek pamięci lub układów wejścia/wyjścia, z którymi chce się komunikować mikroprocesor. Jest to magistrala jednokierunkowa, adresy są generowane przez mikroprocesor, natomiast trafiają bądź do pamięci, bądź do układów wejścia/wyjścia. Trzecia magistrala nic jest w istocie magistralą, a raczej zestawem linii sterujących. Linie te służą do sterowania pracą układów współpracujących z mikroprocesorem oraz do sygnalizowania pewnych ich określonych stanów. Zwyczajowo jednak zestaw tych linii nazywa się magistralą sterującą.

 

...
Zgłoś jeśli naruszono regulamin