1w Podstawy

background image

Podstawy architektury klasycznych komputerów


1

Przedmioty prowadzone w ramach

Programu Rozwoju WSFiZ w Białymstoku realizowane są w ramach

Programu Operacyjnego Kapitał Ludzki, Priorytet IV Szkolnictwo wyższe i nauka, Poddziałanie 4.1.1

Wzmocnienie potencjału dydaktycznego uczelni, współfinansowanego ze środków

Europejskiego Funduszu Społecznego (POKL.04.01.01-00-030/08)

1. Podstawy architektury klasycznych komputerów

Spis treści

1.

Podstawy architektury klasycznych komputerów .................................................................. 1

1.1

Wstęp ............................................................................................................................ 1

1.2

Podstawowe bloki systemu komputerowego .................................................................. 1

1.3

Jedno i wielo-magistralowe systemy komputerowe ........................................................ 5

1.1

Wstęp

W połowie lat 40 ubiegłego wieku John von Neumann ogłosił koncepcję tzw. klasycznego

komputera. Koncepcja ta będzie podstawą rozważań przedstawionych w niniejszym rozdziale.
Podkreślenie, że chodzi o klasyczny komputer jest o tyle istotne, że od czasów von Neumanna
pojawiło się wiele alternatywnych koncepcji. Należy tu wymienić architekturę przepływową
(ang. data flow architecture), architekturę typu Harvard, czy architektury potokowe. Część z nich
pozostaje w sferze propozycji i naukowych dociekań, inne np. związane z wieloprocesorami lub
systemami rozproszonymi są intensywnie rozwijane i doczekały się licznych realizacji. Należy
jednak podkreślić, że olbrzymia większość produkowanych obecnie komputerów działa według
starych, ale wciąż żywych reguł von Neumana. W największym skrócie sprowadzają się one do
następujących wymagań:

o

System komputerowy składa się z procesora, pamięci (zawierającej dane i program) i
urządzeń wejścia/wyjścia

o

Lista rozkazów procesora jest skończona i funkcjonalnie pełna;

o

Urządzenia wejścia/wyjścia umożliwiają wprowadzenie do pamięci danych i programu;

o

Procesor ma jednakowy dostęp do danych i programu;

o Przetwarzanie informacji polega na sekwencyjnym odczytywaniu instrukcji programu i

wykonywaniu ich przez procesor

1.2 Podstawowe bloki systemu komputerowego

Zgodnie z klasyczną koncepcją systemu komputerowego von Neumanna składa się on z trzech

podstawowych bloków: procesora, pamięci i urządzeń służących do wprowadzania programów i
danych oraz wyprowadzania wyników.

background image

Podstawy architektury klasycznych komputerów


2

Procesor

Pamięć

Urządzenia

wejścia/wyjścia

Rysunek 1.1. Schemat blokowy systemu komputerowego.

Procesor potrafi wykonywać polecenia (albo inaczej rozkazy). Lista możliwych rozkazów jest

dla danego typu procesora stała i wynika z jego projektu. Jest ona publikowana przez producenta
procesora. Pamięć jest urządzeniem składającym się z wielu takich samych komórek, z których
każda potrafi przechowywać ciągi bitów. Komórki są identyfikowane przez swoje unikalne
adresy. Adresy mają postać liczb całkowitych, podobnie jak np. numery skrytek pocztowych. Na
pamięci można wykonywać dwie operacje: zapamiętaj ciąg bitów pod wskazanym adresem oraz
odczytaj taki ciąg spod określonego adresu. Wspomniane urządzenia, będące ostatnim
składnikiem systemu, będą dalej nazywane urządzeniami zewnętrznymi albo urządzeniami
wejścia/wyjścia (ang. input/output devices), w skrócie urządzeniami we/wy. Typowymi
urządzeniami we/wy są: klawiatura (urządzenie wejściowe) oraz monitor (urządzenie
wyjściowe). Użytkownik komputera (nazywany dalej operatorem) ma bezpośredni dostęp do tych
urządzeń. W szczególności posługując się klawiaturą może on wprowadzić do pamięci
komputera program – rozumiany jako ciąg rozkazów procesora – oraz dane (nazywane inaczej
argumentami) – rozumiane jako obiekty, których dotyczą wspomniane polecenia. Wprowadzanie
programu do pamięci nazywamy ładowaniem. Załadowany program może zostać wykonany
przez procesor. Rozpoczęcie wykonywania może spowodować operator przez tzw. wywołanie
programu (tj. przez napisanie na klawiaturze nazwy tego programu i naciśnięcia klawisza
<Enter>). Technicznie wywołanie wymusza na procesorze odczytanie z pamięci pierwszego
rozkazu programu. Takie wymuszenie sprowadza się do przesłania z procesora do pamięci adresu
przechowywania pierwszego rozkazu. Odczytywanie kolejnych poleceń odbywa się
automatycznie. Proces pobierania z pamięci kolejnych rozkazów i dotyczących ich argumentów
oraz dostarczania ich procesorowi, a następnie odbiór i zapamiętanie rezultatów nazywamy
wykonaniem programu.

Aczkolwiek przedstawiony tu obraz działania systemu komputerowego jest spójny, to użyte w

nim określenia są mało precyzyjne i wymagają dalszych wyjaśnień i uściśleń. Zaczniemy od
rozkazów i danych.

Zarówno rozkazy procesora jak i dane, na których one działają zapisywane są w komputerze w

postaci ciągów zer i jedynek, czyli cyfr w zapisie binarnym nazywanych bitami. Długość tych
ciągów może być różna, ale w praktyce jest to zawsze wielokrotność liczby 8. Taki ciąg nazywa
się słowem albo komórką. Najczęściej spotykamy słowa o długości 8, 16, 32 i 64 bitów
(odpowiednio: 1, 2, 4, i 8 bajtów). Słowo w systemie komputerowym ma ustaloną długość. W
zależności od przyjętej długości mówimy o komputerach odpowiednio 8, 16, 32 lub 64 bitowych.

background image

Podstawy architektury klasycznych komputerów


3

Trzeba tu podkreślić, że długość słowa dla każdej składowej systemu komputerowego może być
różna (chociażby dlatego, że mogą pochodzić od różnych producentów). Jednak za optymalną
uważa się sytuację, w której długość słowa, którym operują te składowe jest taka sama. Przyjęcie
konkretnej długości dla danego bloku systemu jest decyzją projektową jego twórców. Generalnie
odnośnie danych liczbowych długość słowa ma związek z dokładnością i wielkością
zapisywanych w nim liczb. Odnośnie rozkazów, to dłuższe słowo oznaczać może większą liczbę
rozkazów wykonywanych przez procesor oraz łatwiejsze pamiętanie argumentów tych rozkazów.
Sytuacje, w których przyjęta długość słowa jest za mała, aby pamiętać w nim wszystkie możliwe
rodzaje i wielkości danych, a tym bardziej wszystkie możliwe instrukcje wraz z danymi, których
dotyczą skłoniła do przyjęcia rozwiązania, w którym dopuszcza się wielosłowową organizację
danych i rozkazów.

Jak to już było powiedziane rozkazy i dane (nazywane dalej programem) przechowywane są w

pamięci systemu komputerowego. Współczesne systemy wyposażone są w wiele różnych
rodzajów pamięci (więcej szczegółów – patrz rozdział 9). Wśród wielu parametrów, które
charakteryzują pamięć niezależnie od jej rodzaju można wymienić pojemność oraz czas dostępu.
Pojemność, to ilość słów w pamięci. Ponieważ słowa numerowane są od zera kolejnymi liczbami
całkowitymi, to pojemność P i maksymalny adres n

max

związane są zależnością P = n

max

+1.

Ponieważ słowo może mieć różną długość to zwyczajowo podaje się obie wielkości, przy czym
liczbę słów poprzedza się mnożnikiem, np. Kilo- (skrót K, mnożnik = 2

10

), Mega- (skrót K,

mnożnik = 2

20

), Giga- (skrót G, mnożnik = 2

30

) czy Tera- (skrót T, mnożnik = 2

40

). Czas dostępu

jest czasem pomiędzy momentem zażądania dostępu do informacji o podanym adresie a chwilą,
w której ta informacją pojawi sie na wyjściu pamięci. Na rysunku 1.2 pokazana jest przykładowa
pamięć o opisanej strukturze. Sygnały dochodzące (wejściowe) to: tryb działania (odczyt lub
zapis), adres i dane (słowo) do zapisu. Sygnały wychodzące to: sygnał potwierdzający
zakończenie zleconej operacji (wykonano) oraz dane (słowo) odczytane spod podanego adresu
jeżeli zleconą operacją był odczyt. Podany model opisuje dowolny typ pamięci.

Adres 8 bitów

0

1

2

3

We (słowo)

Wy (słowo)

Pamięć

odczyt/zapis

wykonano

n-3

n-2

n-1

adres

Rysunek 1.2. Pamięć o pojemności n słów 8-bitowych.

Najwięcej uwagi poświęcimy pamięci współpracującej bezpośrednio z procesorem. Jest to

pamięć o dostępie swobodnym, tzw. RAM (ang. random access memory). Nazwa wzięła się z
faktu, że w tego rodzaju pamięci czas dostępu jest dla wszystkich komórek taki sam, tzn. że jest

background image

Podstawy architektury klasycznych komputerów


4

on niezależny od adresu komórki. Jest to pamięć elektroniczna ulotna (jej zawartość ginie po
wyłączeniu napięcia zasilającego).

Elementem wykonawczym systemu komputerowego jest procesor. Lista rozkazów procesora

definiuje jego możliwości przekształcania danych. Struktura wewnętrzna i opis działania
procesora będą przedmiotem odrębnego wykładu. Jednak już teraz można powiedzieć, że jest on
zbudowany z jednostki arytmetyczno-logicznej (ang. Arithmetic-Logic Unit, w skrócie ALU),
pewnej liczby specyficznych komórek pełniących rolę pamięci lokalnej nazywanych rejestrami
oraz układu sterowania. Wewnętrzna struktura procesora pokazana została na rysunku 1.3 (patrz
niżej).

Układ sterowania jest „mózgiem” procesora: potrafi rozpoznać rozkaz i uruchomić sekwencję

kolejnych kroków wykonywanych przez różne części procesora, która to sekwencja prowadzi do
wykonania rozkazu z listy rozkazów procesora. ALU potrafi wykonać na dostarczonych
argumentach typowe operacje arytmetyczne (np. dodaj, odejmij) ale również operacje uznawane
za logiczne jak suma logiczna (OR), iloczyn logiczny (AND), czy też orzekanie o prawdziwości
relacji (np. czy argument a jest większy od argumentu b).

rejestry

ogólnego

przeznaczenia

Układ

sterowania


argument A

argument B

rejestr rozkazu

jednostka

arytmetyczno

licznik programu

logiczna

r

ejestr stanu programu

Wynik


Rysunek 1.3. Struktura wewnętrzna procesora.

Niektóre rejestry procesora mogą przechowywać argumenty bądź rezultaty operacji ALU.

Można je zapisywać i odczytywać z poziomu programu (programista ma do nich dostęp tak jak
do zmiennych programowych). Nazywane są rejestrami ogólnego przeznaczenia (GPR, ang.
general-purpose registers). Inne (tzw. rejestry specjalizowane) służą specyficznym, ściśle
określonym celom i tylko tym celom. O ich zawartości decyduje układ sterujący. Programista nie
ma do nich bezpośredniego dostępu (nie może w nich nic zapisywać ani odczytywać ich
zawartości). Przykładem takiego rejestru jest rejestr, w którym procesor umieszcza aktualnie
wykonywany rozkaz. Jest to tzw. rejestr rozkazu (IR, ang. instruction register). W innym
rejestrze, nazywanym licznikiem programu (PC, ang. programming counter), procesor

background image

Podstawy architektury klasycznych komputerów


5

przechowuje adres pamięciowy wskazujący na słowo do pobrania. Może to być adres kolejnego
argumentu albo adres następnego rozkazu do wykonania. Jeszcze innym rejestrem jest tzw. słowo
stanu programu (PSW, ang. programming status word), którego poszczególne bity nazywane
flagami wskazują na zdarzenia, które zaszły w procesorze, w rodzaju efektu ostatnio wykonanej
operacji przez ALU, np. czy wynik tej operacji jest mniejszy od zera (pozytywna odpowiedź
sygnalizowana jest przez ustawienie wartości ustalonego bitu PSW na 1, negatywna – na 0).

Wszystkie części składowe procesora połączone są z tzw. magistralą wewnętrzną procesora.

Jest to rodzaj łącza, za pośrednictwem którego układ sterujący może powodować przesyłanie
różnego rodzaju informacje pomiędzy poszczególnymi częściami procesora. W zasadzie
magistrala jest wysoko specjalizowanym, niezależnym urządzeniem systemu komputerowego.

1.3 Jedno i wielo-magistralowe systemy komputerowe

Na rysunku 1.4 (patrz niżej) przedstawiony został schemat blokowy systemu komputerowego.

Strzałki łączące poszczególne bloki mają groty w obie strony, co oznacza możliwe kierunki
przepływu informacji. Jest to schemat ideowy w tym sensie, że wyraża możliwość takiego
przepływu abstrahując od konkretnych rozwiązań implementacyjnych. Wśród tych ostatnich
rozwiązaniem najczęściej występującym jest rozwiązanie oparte o magistralę systemową
komputera.

Procesor

Pamięć

We/Wy

0

We/Wy

1

....

We/Wy

n

Magistrala systemu komputerowego

Rysunek 1.4. Schemat systemu komputerowego z magistralą.

W swym najbardziej prymitywnym i historycznym wydaniu magistrala była zbiorem

przewodów łączących różne bloki komputera, po których mogły być przesyłane między nimi
dane, adresy i sygnały sterujące. W wersji współczesnej zbudowana jest ona ze specjalizowanych
układów scalonych. Realizowane przez nie linii przesyłowe dzielą się na trzy grupy:

- linie danych tworzące tzw. szynę danych;
- linie adresowe tworzące tzw. szynę adresową;
- linie sterujące tworzące tzw. szynę sterującą.

Ilość linii k w każdej z grup (nazywana szerokością szyny, a szyna – szyną k-bitową) zależy od

rodzaju komputera. Szerokość szyny danych jest zazwyczaj równa liczbie bitów w słowie
komputera (typowe wartości to 8, 16 lub ich wielokrotność). Szerokość szyny adresowej
zdeterminowana jest przez wielkość pamięci komputera (typowe wartości zawierają się
pomiędzy 20 a 32). Ponieważ liczba różnych adresów możliwych do przesłania szyną o x liniach
wynosi 2

x

, to np. 20-bitowa szyna adresuje pamięć o około milionowej pojemności, a 30-bitowa

– pamięć o miliardowej pojemności. Szerokość szyny sterującej wynosi od kilkunastu do
kilkudziesięciu linii.

background image

Podstawy architektury klasycznych komputerów


6

Rozwiązanie z jedną magistralą jest z jednej strony wygodne (istnieje tylko jedna droga

wymiany informacji pomiędzy różnymi blokami komputera) i tanie ale z drugiej jest źródłem co
najmniej trzech problemów.

Pierwszy problem związany jest z faktem przyłączenia do szyny bardzo różnych urządzeń

(zwłaszcza urządzeń we/wy), które z reguły operują sygnałami niekompatybilnymi z sygnałami
oczekiwanymi przez magistralę. Problem ten został rozwiązany w ten sposób, że pomiędzy
urządzeniem we/wy a magistralą instaluje się dodatkowe urządzenie (nazywane sterownikiem
tego urządzenia), które przetwarza sygnały z urządzenie tak aby były akceptowane przez
magistralę, a sygnały z magistrali – tak aby były akceptowane przez urządzenie.

Drugi problem związany jest tym, że magistrala będąc jedyną drogą komunikacyjną staje się

wąskim gardłem systemu, co doprowadza w konsekwencji do spowolnienia komputera.
Zauważmy bowiem, że jeżeli w danej chwili dowolne dwa urządzenie realizują transmisję, to
wszystkie inne chcąc transmitować muszą czekać na koniec tej pierwszej.

Procesor


magistrala we/wy

Pamięć

We/Wy

0

We/Wy

1

....

We/Wy

n

Rysunek 1.5. Schemat systemu komputerowego z dwiema magistralami.

Trzeci problem to konieczność współpracy magistrali z urządzeniami o bardzo różnej

szybkości działania (krytyczna jest zwłaszcza różnica pomiędzy procesorem i pamięcią z jednej
strony, a urządzeniami we/wy z drugiej).

Jedną z metod rozwiązania problemów nr 2 i 3 jest opracowanie architektury systemu z

wieloma magistralami. Przykładowe dwa rozwiązania z dwiema magistralami prezentowane są
na rysunkach 1.5 i 1.6 (patrz niżej).

background image

Podstawy architektury klasycznych komputerów


7

Pamięć


sterownik

we/wy

magistrala we/wy

Procesor

We/Wy

0

We/Wy

1

.... We/Wy

n

Rysunek 1.6. Schemat systemu komputerowego z dwiema magistralami.

Rozwiązanie z rysunku 1.5 jest szybsze od klasycznego ale i droższe (cena drugiej magistrali).

Ponadto ma tą wadę, że angażuje procesor w transmisje pomiędzy urządzeniami we/wy a
pamięcią, co jest szczególnie niekorzystne w sytuacjach, w których chcielibyśmy transmitować
bezpośrednio do/z pamięci duże bloki danych (np. przy transmisjach dyskowych). Stąd jeszcze
inna aranżacja również z dwiema magistralami (patrz rysunek 1.6). Sterownik pomiędzy
pamięcią a magistralą we/wy obsługuje przyłączone do niej urządzenia we/wy odciążając
procesor.

Należy wspomnieć o jeszcze co najmniej dwóch rozwiązaniach. Pierwsze dotyczy sytuacji, w

której mamy w systemie więcej niż jedno urządzenie we/wy takiego samego typu. Wtedy bywa,
iż wszystkie one podłączone są do wspólnego sterownika, a dopiero ten – do magistrali. Drugie
wynika z podziału pamięci na typy o różnej szybkości działania. W takiej sytuacji można spotkać
aranżacje, w których procesor jest połączony specjalną szyną z najszybszym blokiem pamięci, a
przez nią z pamięcią konwencjonalną.


Document Outline


Wyszukiwarka

Podobne podstrony:
1w ZPR pojęcia podstawowe pe
Etologiczne podstawy dobrostanu 1w, Zootechnika (mgr, d, dzikie), Zootechnika (mgr, d) - 1, Etologic
Podstawowe zasady udzielania pomocy przedlekarskiej rany i krwotoki
Farmakologia pokazy, Podstawy Farmakologii Ogólnej (W1)
Podstawy fizyczne
CZLOWIEK I CHOROBA – PODSTAWOWE REAKCJE NA
Podstawy elektroniki i miernictwa2
podstawy konkurencyjnosci
KOROZJA PODSTAWY TEORETYCZNE I SPOSOBY ZAPOBIEGANIA
PODSTAWOWE ZABIEGI RESUSCYTACYJNE (BLS) U DZIECI
01 E CELE PODSTAWYid 3061 ppt
Epidemiologia jako nauka podstawowe założenia
PODSTAWY STEROWANIA SILNIKIEM INDUKCYJNYM
06 Podstawy syntezy polimerówid 6357 ppt
4 socjalizacja jako podstawowy proces spoeczny
Podstawy MN 2007

więcej podobnych podstron