zasada działania komputera

advertisement
ZASADA DZIAŁANIA KOMPUTERA
PRZESTRZEŃ ADRESOWA
Pierwsze komputery PC wyposażone były w procesory INTEL
8088 zawierające 20 bitową szynę adresową umożliwiającą
adresowanie fizyczne pamięci o poj. do 1 MB. Obszar ten
został podzielony na dwie części:
a) część zwaną pamięcią systemową (lub konwencjonalną)
przeznaczoną dla programów i danych o wielkości 640 kB
(obszar o adresach od 000000h do 09FFFFh).
b) Część górną o pamięci o wielkości 384 kB (1MB-640kB)
zarezerwowaną na potrzeby systemu (dla BIOSu, dla pamięci
obrazu, itp.) I tak:
-128kB przestrzeni zarezerwowane jest dla pamięci obrazu (od
0A0000h do 0BFFFFh).
-pamięć ROMu, w której znajduje się BIOS (od 0F0000h do
0FFFFFh).
Typowy system mikroprocesorowy składa się z:
- procesora
- pamięci RAM
- pamięci stałej ROM
- układów we/wy (i/o)
- układów sterujących przepływem informacji pomiędzy
wyżej wymienionymi elementami systemu.
Współczesne procesory mogą zaadresować obszar powyżej
1MB (zwany obszarem pamięci rozszerzonej, ang.Externed
Memory). System operacyjny DOS, który ma bezpośredni
dostęp do tylko 640 kB przestrzeni adresowej, nie potrafi
wykorzystać tego obszaru. Współczesne systemy operacyjne
(Widnows) w pełni wykorzystują pamięć rozszerzoną.
000000÷09FFFF – 640kB – Pamięć systemowa RAM.
0A0000÷0BFFFF – 128kB – Pamięć obrazu wideo RAM.
0C0000÷0DFFFF – 128kB – Obszar zarez. dla pamięci ROM
na kartach rozszerzeń.
0E0000÷OEFFFF – 64kB – Obszar zarez. dla pamięci ROM
na płycie głównej.
0F0000÷0FFFFF – 64kB – Obszar zarez. dla ROM BIOSu na
płycie głównej.
Powyżej 100000h - … - Pamięć systemu dostępna w trybie
wirtualnym.
Procesor przetwarza dane, wykonując na nich podstawowe
operacje arytmetyczne i logiczne, na podstawie rozkazów
odczytywanych z pamięci operacyjnej. Zbiór tych instrukcji,
określających sposób wykonywania konkretnego zadania
nazywamy programem. Program i dane przechowywane są w
pamięci RAM. W pamięci tej zapisane są również rezultaty
wszelkich operacji, np. obliczeń wykonywanych przez
procesor. Jest to więc pamięć umożliwiająca zapis i odczyt
informacji, tak zwana pamięć o swobodnym dostępie (ang.
Random Access Memory, RAM). Jest to pamięć ulotna, co
oznacza iż po wyłączeniu zasilania informacja w niej
przechowywana jest bezpowrotnie tracona. W pamięci stałej
(służąca tylko do odczytu, Read Only Memory, ROM)
znajdują się podstawowe testy diagnostyczne mikrokomputera
oraz oprogramowanie obsługujące urządzenia we/wy,
dołączone do mikroprocesora (Basic Input Output System –
BIOS). Pamięć ta zachowuje swoją zawartość nawet po
wyłączeniu zasilania. We współczesnych komputerach stosuje
się najczęściej pamięć stałą typu Eeprom, która użytkownik
może sam skasować i ponownie zaprogramować bez
wymontowywania jej z systemu.
Wymiana inf. między systemem mikroprocesorowym a
urzadzeniami peryf. (takimi jak klawiatura, skaner, itd.)
zachodzi przez porty we/wy. Dla każdego standardowego
urządzenia zarezerwowano grupę portów które są adresowane
podczas wymiany danych, do tego celu używane są te same ,
co w przypadku pamięci linie adresowe lecz z użyciem innych
sygnałów sterujących.
Przestrzenie adresowe we/wy (wybrane):
000÷01F – Kontroler 1 DMA
020÷03F – Kontroler 1 przerwań
0A0÷0BF – Kontroler 2 przerwać
0C0÷0DF – Kontroler 2 DMA
1F0÷1F8 – Kontroler HDD
278÷27F – Port równoległy nr2 (LPT2)
2F8÷2FF – Port szeregowy nr2 (COM2)
378÷337F – Port równoległy nr1 (LPT1)
3F8÷3FF – Port szeregowy nr1 (COM1)
Współpraca mikroprocesora z otoczeniem odbywa się za
pomocą szyny adresowej, szyny danych i sygnałów
sterujących umożliwiających zapis lub odczyt danych do/z
pamięci lub układów we/wy. Pamięć adresowana jest z
użyciem sygnałów MEMW i MEMR. Układy we/wy dostępne
są dla procesora przy aktywnych sygnałach IOW (input output
write) i IOR (input output read).
UKŁADY WE/WY
Podczas operacji wej/wyj zachodzi wymiana informacji
pomiedzy RAM, a urzadzeniami peryferyjnymi. Operacje te
moga byc realizowane na 2 sposoby:
- pod nadzorem procesora
- z bezposrednim dostepem do pamieci (bez udzialu
procesora)
SZYNA DANYCH I ADRESOWA
Mikroprocesor komunikuje się z otoczeniem za pomocą szyny
danych i szyny adresowej. Szyna danych (ang. Data bus) –
część magistrali odpowiedzialna za transmisję właściwych
danych, w odróżnieniu od danych adresowych (za co
odpowiedzialna jest szyna adresowa), czy sygnałów
sterujących. Podział taki ma sens jedynie dla magistrali, w
których taka część jest wydzielona, czyli na ogół dla magistrali
równoległych.
Szerokość szyny danych (liczba linii danych a więc
równolegle przesyłanych bitów) oraz częstotliwość z jaką dane
są na nią podawane (najczęściej jest to częstotliwość cyklu
zegarowego magistrali) określa szybkość transmisji danych
danej magistrali. W bardziej złożonych systemach
komputerowych, gdzie jest wiele różnych magistralii może być
również wiele szyn danych. Szyna adresowa (ang. Addres bus)
– połączenie między jednostką centralną i pamięcią, które
przenosi adres z/do miejsc, gdzie jednostka centralna chce
czytać lub pisać. Liczba bitów szyny adresowej określa
maksymalną wielkość pamięci, do jakiej procesor ma dostęp.
Operacje pod nazdorem procesora zwane sa rowniez PIO
(Programed Input Output). W tym przypadku procesor
generuje wszystkie programy sterujace i adresy niezbedne do
przesylania informacji z /do pamieci operacujnej. Ten sposob
zarzadzania urzadzen peryferyjnych spowalnia prace kompa,
poniewaz procesor nie wykonuje innych zadan.
PAMIĘĆ OPERACYJNA CACHE
Typowym przykładem operacji nadzorowanych przez procesor
są tzw. operacje wej/wyj z przerwaniem pracy procesora. Cykl
operacji rozoczyca urzedzenie peryferyjne, które sygnalizuje
za pomoca lini IRQn (Interput Request – rzadanie przerwanie)
gotowość wymiany informacji. Specjalny uklad (kontroler
przerwań) powiadamia procesor INTR. Który z kolei przerywa
wykonanie swojego programu (potwierdza to sygnałem INTA)
i rozpoczyna wymianę informacji pomiędzy urządzeniami, a
pamięcią operacyjna. Każde urządzenie posiada swój
oryginalny nr przekierowania (np. IRQ3, IRQ4..) Jeśli dwa
urządzenia zgłoszą jednocześnie żądania przerwania to
obsłużone zostanie najpierw urządzenie o wyższym priorytecie
(niższym, to wyższy priorytet).
Pamięć operacyjna przechowuje programy oraz dane, na
których aktualnie wykonywane są operacje. Współczesne
oprogramowanie wymaga zastosowania pamięci o dużych
pojemnościach (rzędu kilkuset MB i więcej). Z tego powodu w
komputerach stosowane są głównie pamięci dynamiczne
(Dynamic RAM), które charakteryzują się niskimi kosztami
wytwarzania, lecz szybkość działania tych pamięci jest
zdecydowanie niższa od szybkości procesorów. Z tego
powodu, pomiędzy wolną a dynamiczną pamięcią operacyjną
DRAM, została wstawiona (w formie bufora – przechowalni)
szybka pamięć podręczna Cache Memory służąca do
przechowywania często używanych danych.
Do tego celu wykorzystuje się drogą, ale bardzo szybką
pamięć statyczną RAM (SDRAM – Static RAM) o niewielkiej
pojemności (128K, 256K, do 2MB). Pracą pamięci podręcznej
Cache steruje kontroler. Żądanie procesora odczytu danych
jest przechwytywane przez kontroler, który sprawdza czy
dane, które chce odczytać procesor znajdują się w pamięci
podręcznej. W sytuacji trafienia kontroler przesyła dane do
procesora, bez konieczności odczytu z powolnej pamięci
DRAM, a tym samym bez konieczności wprowadzenia
procesora w stan oczekiwania. W przypadku chybienia (dane
nie znajdują się w pamięci Cache) kontroler odczytuje dane z
pamięci DRAM, przesyła je do procesora i jednocześnie
zapisuje do pamięci Cache.
Liczba trafień do całkowitej liczby odczytu jest większa niż
90%, a tylko ok. 10% z pamięci operacyjnej komputera.
Zapis danych przesyłanych z procesora do pamięci DRAM
odbywa się z wykorzystaniem jednej z dwóch metod: zapis
równoczesny i zapis opóźniony. Metoda zapisu
równoczesnego polega na zapisie danych z procesora do
pamięci Cache i DRAM jednocześnie. A opóźniony –
kontroler pamięci cache zapisuje dane w pamięci DRAM tylko
w szczególnym przypadku, np.gdy blok danych w Cache ma
być skasowany.
Bezpośredni dostęp do pamięci urządzeń wej/wyj
Wymiana informacji (pomiędzy pamięcią operacyjna, a
urządzeniem peryferyjnym) z bezpośrednim dostępem do
pamięci (ang. Direct Memory Acces – DMA) zachodzi bez
udziału procesora (który w tym czasie może wykonywać inne
operacje. Sterowanie operacja wej/ wyj realizowana jest przez
specjalny układ zwany kontrolerem DMA, który przejmuje
kontrole nad magistralami.
Operacja DMA inicjowana jest przez urządzenie sygnałem
DRQn (n- nr kanału DMA), za pomocą sygnału HRQ zgłasza
gotowość przejęcia kontroli nad magistralami. Procesor
wprowadza magistrale w stan zawieszenia i fakt ten
potwierdza sygnałem HLDA. Kontroler za pomocą linii
DACK informuje urządzenie o ustawieniu trybu DMA.
Rozpoczyna się transmisja danych.
Pamięć Cache składa się z 2ch części: banku danych i katalogu
(Tag ram)
1
Download