Procesory

advertisement
Procesory
Rozwój konstrukcji procesorów oraz związane z tym rodzaje pamięci operacyjnej.
Pamięć operacyjna .
Podczas pracy z komputerem PC użytkownik niemal cały czas styka się z zagadnieniem ilości
dostępnej pamięci operacyjnej. Pamięć operacyjna zbudowana jest z układów RAM( Random Access
Memory), co oznacza pamięć o dostępie swobodnym. RAM pozwala nie tylko na odczytanie z niej
danych, ale i na ich zmianę,. Efektem tego jest wymaganie nieustannego podtrzymywania zasilania.
Wyłączenie zasilania powoduje bezpowrotną utratę całej zawartości pamięci RAM.
W pamięci operacyjnej przechowywane i przetwarzane są dane. To, że jej zawartość ulega
skasowaniu w momencie wyłączenia komputera, spowodowało, że w powszechnym użyciu są dyski
twarde. Zasadniczym jednak zadaniem wszelkiego rodzaju dysków czy dyskietek jest przechowywanie
programów i danych do momentu gdy zostaną one załadowane do pamięci operacyjnej. Dopiero
wówczas procesor zaczyna naprawdę z tych danych korzystać.
W przypadku pamięci operacyjnej dla użytkownika istotne są następujące informacje: ilość pamięci
operacyjnej, szybkość jej pracy i rodzaj zastosowanych do jej budowy układów, co ma bezpośredni
wpływ na jej działanie.
Parametrem, który określa szybkość pracy pamięci, jest tzw. czas dostępu, co oznacza dokładnie
czas między umieszczeniem adresu komórki pamięci na szynie adresowej a pojawieniem się danych
na szynie danych. W uproszczeniu można go określić jako czas potrzebny na odczytanie informacji z
pamięci. Typową wartością dla pamięci DRAM, wykorzystywanej jako operacyjną, jest 70 ns. Każda
płyta główna ma ściśle określone wymagania dotyczące czasu dostępu montowanych na niej układów.
obecnie standardem są układy SIMM PS2.
Wykorzystanie pamięci operacyjnej.
Oprócz różnic fizycznych pomiędzy poszczególnymi “kościami” pamięciami występują też różnice w jej
konfiguracji, tzn. sposobie wykorzystania przez system operacyjny, przez programy i użytkownika.
Pamięć nie jest po prostu luźnym stosem bajtów, w których program może „szukać” do woli, by
znaleźć to ,co komu potrzebne. Pamięć ta jest ściśle uporządkowana. Porządek ten polega na tym, że
każdy bajt ma swój numer, czyli tzw. adres. Jeżeli posiadamy 4 MB pamięci, to posiadamy: 4x 1MB =
4 x 1024kB = 4x 1024 x 1024B = 4 194 304B. Jest to liczba stosunkowo duża i jeszcze IBM PC XT(
procesor 8088/8086) nie był w stanie z niej korzystać. Mógł on adresować jedynie 1MB. Co więcej,
mimo , że adresów pamięci było dość dla 1024kB, zarówno sam komputer, jak i programy do niego
wykorzystywały zaledwie 640kB. Reszta przeznaczona zastała dla pamięci stałej ROM.
Konstruktorzy kolejnych procesów, komputerów i programów z czasem zaczęli wykorzystywać
znacznie więcej pamięci i już komputery klasy AT ( z procesorem 8086) mogły adresować 4MB, zaś
386DX ponad tysiąckrotnie więcej pamięci. Narzucone jednak przez poprzedników ograniczenia nie
uległy, zapomnieniu. Jedynym powodem była potrzeba kompatybilności, czyli zgodności nowego
sprzętu ze starym oprogramowaniem. Stopniowo pamięć była więc wykorzystywana coraz sprawniej,
ale wciąż z pewnymi ograniczeniami.
Komórki pamięci pod adresami od 0 do 655360, czyli 640KB nazywamy pamięcią konwencjonalną, a
powyżej 1025KB ( 1MB) rozszerzoną. Przyjęły się dwa standardy korzystania z pamięci rozszerzonej:
historycznie starszy EMS (expanded) oraz XMS (extended) . Obszar między pamięcią
konwencjonalną a rozszerzona nazywamy UPPER MEMORY AREA i jest on zarezerwowany dla
specjalnych zastosowań.
Komputery PC mają cztery rodzaje pamięci RAM: konwencjonalną, górną, rozszerzoną i
stronicowaną. Każdy z tych rodzajów pamięci służy innym celom i nie w każdym komputerze
wszystkie one muszą występować.
PAMIĘĆ KONWENCJONALNA
Najpowszechniejszą i najważniejszą jest pamięć konwencjonalna. Jest to podstawowa pamięć
używana przez MS_DOS i programy użytkowe. Jest ona ograniczona do 640kB. Powyżej pamięci
konwencjonalnej wszystkie komputery PC mają pamięć górną. Zaczyna się ona od miejsca, gdzie
kończy się pamięć konwencjonalna i zajmuje 384kB. Łącznie z pamięcią konwencjonalną daje to 1024
kB czyli 1MB. Pamięć górna jest używana do różnych celów np. do zapisu zawartości ekranu, do
przechowywania informacji dotyczących współpracy z twardym dyskiem, na BIOS itp..
PAMIĘĆ ROZSZERZONA.
W połowie lat osiemdziesiątych pamięć operacyjna licząca 640KB była w już w niektórych
zastosowaniach zbyt mała. Mimo, że obszar pamięci górnej był nadal mało zajęty, to jednak nawet
całkowite jego wypełnienie nie spełniało oczekiwań programistów. Potrzebna była pamięć operacyjna
zawierająca kilka czy nawet kilkanaście MB. Przeszkodą w dołączeniu tak dużej pamięci było jednak
ograniczenie w postaci 20-bitowej szyny adresowej wraz ze stosowanym algorytmem obliczania
adresu . W tej sytuacji należało skonstruować zupełnie nowy procesor, który umożliwiałby dołączenie
większej pamięci operacyjnej. Skonstruowano więc procesor 80286, który z jednej strony był w stanie
dokładnie naśladować swego poprzednika 8086/88, a z drugiej strony posiadał cechy nowoczesnego
procesora o 24 bitowej szynie adresowej co umożliwiało zaadresowanie do 16MB pamięci i innym
algorytmie obliczania adresu fizycznego. Dlatego procesor ten mógł pracować dwoma sposobami,
czyli procesor naśladował swego poprzednika nazwano to trybem rzeczywistym( real mode). drugi
sposób nazwano trybem wirtualnym lub chronionym ( protected mode). Pamięć rozszerzona może być
używana w komputerach wyposażonych w procesor 80286 lub jeden z jego następców.
PAMIĘĆ STRONICOWANA.
Gdy posiadamy komputer IBM PC/XT z procesorem 8088 zaproponowano inne rozwiązanie zwane
pamięcią stronicowaną. Z tego powodu w systemie DOS.6.0 stworzono możliwość symulacji pamięci
stronicowanej za pomocą pamięci rozszerzonej. Warunkiem stosowania tej symulacji jest jednak
obecność procesora 386 lub 486. Symulację tę realizuje się za pomocą programu EMM386, którego
instalacja następuje po włączeniu komputera.
W pamięci operacyjnej przechowywane są instrukcje i dane wykonywanego programu wraz z
systemem operacyjnym. Pamięć jak już wspomniano wyżej nazywana jest pamięcią RAM -pamięć o
dostępie swobodnym. Najważniejszą własnością tej pamięci jest możliwość szybkiego zapisywania i
odczytywania informacji. W aktualnie stosowanych pamięciach czas dostępu do informacji zapisanej w
pamięci wynosi ok. 10-100ns(1ns=1/1 000 000 000s). Cała zawartość tej pamięci ulega jednak
skasowaniu po wyłączeniu komputera.
Rozwój procesorów.
PROCESORY 8086/8088
Procesor 8086 został zaprezentowany przez firmę INTEL już w 1976 r. Był pierwszym procesorem 16bitowym o wielkiej na ówczesne czasy przestrzeni adresowej 1MB. W dziesięć lat później, kiedy rynek
został opanowany przez 8-bitowe systemy PC, INTEL zaprojektował procesor 8088 będący
odpowiednikiem 8086, ale mogący współpracować z magistralami 8-bitowymi. Ten hybrydowy
procesor umożliwiał pracę oprogramowania wykorzystującego rejestry 16-bitowe, mogące mieć
dostęp do pamięci do 1MB i to za cenę systemu 8-bitowego. Procesor 8088 stał się sercem systemów
PC i PC XT. Częstotliwość zegara wynosiła w pierwszych modelach 4.77MHz w późniejszych
4.77/8MHz, a w ostatnich modelach 10MHz.
PROCESORY 80186/80188
Procesory ‘186 i 188’ różnią się, podobnie jak ‘86 i ‘88, szerokością zewnętrznej magistrali danych.
Procesor 80186 w stosunku do 8086 był zmodernizowaną wersją zawierająca w jednej obudowie
kilkanaście komponentów, które w poprzednich systemach znajdowały się oddzielnie. Ideą konstrukcji
było zmniejszenie liczby układów znajdujących się na płycie głównej. Procesory 8018X miały
rozbudowany zestaw rozkazów. Jednak kłopoty, jakie pojawiły się przy budowie systemu, który byłby
całkowicie kompatybilny z systemem zawierającym procesor 8086/88, spowodowały, że
zrezygnowano ze stosowania tych układów.
PROCESOR 80286
Procesor 80286 miał swoją premierę w 1981 r. Został wybrany przez IBM do nowej rodziny
komputerów AT. Procesor jest kompatybilny ze wcześniejszymi układami co oznacza, że
oprogramowanie napisane na procesory 8086/88 będzie poprawnie działać w systemie z procesorem
80286.
Procesor 80286 ma dwa tryby pracy: tryb adresowania rzeczywistego i tryb pracy chronionej. W trybie
rzeczywistym procesor 80286 jest kompatybilny z 8086 na poziomie kodu wynikowego, co oznacza,
że procesor może wykonywać skompilowane programy z systemu 8086 bez dokonywania w nich
jakichkolwiek zmian.
PROCESORY 80386 I 80386SX.
Procesor 80386 jest procesorem 32-bitowym przeznaczonym do pracy w systemach
wielozadaniowych. Były rewolucją na rynku mikrokomputerów ze względu na swoje wielkie
możliwości. Swoją premierę miał w 1985 r. a po raz pierwszy systemem komercyjnym w którym go
zainstalowano, był komputer COMPAQ Deskpro 386.Procesor 80386 może wykonywać ten sam
zestaw instrukcji co procesor 80286. Może być programowo przełączony w tryb pracy chronionej, jak i
z pracy chronionej w tryb rzeczywisty. Jest to o tyle istotne, że 80286 przy przejściu z pracy chronionej
w tryb rzeczywisty wymagał resetowania systemu. Procesor 386 może zaadresować 4GB pamięci
fizycznej. Procesor 80386SX jest zmodyfikowaną wersją procesora 80386 mającą zmniejszoną szynę
danych do 16-bitów i szynę adresową do 24-bitów. Jest więc wersją zapewniającą możliwości
procesora 386, w tym tryb wirtualnej rzeczywistej, ale za cenę 286. Ze względu na wielkość magistrali
adresowej może adresować 16MB pamięci fizycznej.
PROCESOR 80486.
Procesor 80486, wprowadzony na rynek w 1989 r. jest ulepszoną wersją procesora 80386. Z punktu
widzenia oprogramowania 80486 jest szybszy od 80386,ma sześć instrukcji więcej. Jedna sama
konstrukcja tego procesora zawiera sporo ulepszeń i nowości .Najciekawszą jest przetwarzanie
potokowe. Procesor 80486 pracuje szybciej niż procesor 80386 przy tej samej częstotliwości zegara
.Innym warunkiem zwiększenia częstotliwości, a więc i prędkości pracy, jest dalsze zmniejszenie
rozmiarów elementów procesora. Procesor 80486 był jednym z pierwszych układów o szerokości
ścieżek mniejszych od jednego mikrona( jednej milionowej metra).80486 zawiera wbudowaną pamięć
cache, jak i koprocesor. 8kB pamięci cache może być podzielony na cztery 2kB bloki, które mogą być
niezależnie wykorzystywane. Pamięć jest wykorzystywana w trybie write-through. W trakcie odczytu z
pamięci najpierw sprawdzana jest pamięć cache. Jeśli potrzebne dane są w niej zawarte, są
odczytywane, jeśli nie ,to odczytywany jest z pamięci cały blok o rozmiarze równym pojemności
pamięci cache. W trakcie zapisu dane są jednocześnie zapisywane do pamięci cache i pamięci
operacyjnej.
Wiele płyt głównych wyposażonych jest w gniazdo umożliwiające zamianę lub rozbudowę procesora.
To 169-końcówkowe gniazdo może być wykorzystywane w różnoraki sposób. W przypadku systemów
z procesorem 80486DX, w to gniazdo wkładany jest układ z procesorem 80486DX2. Stary procesor
jest automatycznie odłączany i jego funkcje przejmuje nowy.
PROCESOR 80486SX.
Nie wszystkie zastosowania wymagają oprócz szybkości dużej mocy obliczeniowej oferowanej przez
koprocesor. Z myślą o tych zastosowaniach został zaprojektowany procesor 80486SX . Jest to w
zasadzie procesor 80486DX bez koprocesora. Oferowany jest tylko z zegarem 20 i 25 MHz. Jednak
jest o wiele szybszy od procesora 80386DX pracującego z tą samą częstotliwością . Brak koprocesora
może być zniwelowany przez włożenie koprocesora 80487SX w gniazdo overdrive lub miejsce
przewidziane przez producenta płyty.
Download