Architektura komputerów i systemy operacyjne

background image

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE

ARCHITEKTURA PROCESORÓW

ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim:

a. formaty

rozkazów,

b. lista rozkazów,

c. rejestry

dostępne programowo,

d. sposoby adresowania pamięci,

e. sposoby

współpracy procesora z układami wejścia/wyjścia i pamięcią,

f. przebiegi czasowe sygnałów na końcówkach procesora.

FORMATY DANYCH I ROZKAZÓW

Podstawową jednostką informacji cyfrowej dla procesora jest słowo, czyli 1 lub kilka

bajtów, które procesor może wymienić z pamięcią RAM w wyniku jednej operacji czytania

lub pisania. Długość słowa (liczba bitów) procesora jest równa liczbie linii jego magistrali

danych.

Od długości słowa procesora zależy m.in. moc obliczeniowa procesora i większa

różnorodność technik adresowania. Im większa długość słowa tym większa różnorodność, a

tym samym efektywność rozkazów i technik adresowania.

W zależności od długości słowa rozróżnia się procesory: 4-bitowe, np. Intel 4004, 8-

bitowe, np. Intel 8080, 16-bitowe, np. Intel 8086, 32-bitowe, począwszy od Intela 386, 64-

bitowe.

ROZKAZY różnych procesorów mogą mieć różne struktury. Podstawowe to rozkazy

składające się z 2 części:

- pola kodu operacji – informacja dla układu sterowania o rodzaju wykonywanej operacji,

- pola

adresowego – zawierającego adres operandu (np. argument funkcji) lub informacje

potrzebne do jego wyznaczenia

KOD OPERACJI

ADRES OPERANDU

Rozkazy składające się z dwóch pól są podstawowymi rozkazami dla procesorów 8-

bitowych, w których istniały również rozkazy bezadresowe. W dalszych procesorach rozkazy

są bardziej rozbudowane, spotyka się m.in. rozkazy dwu- lub trójadresowe przedstawiane za

pomocą kilku (dwóch-trzech) słów.

Sterowanie rozkazami o złożonej strukturze byłoby co najmniej kłopotliwe.

1

background image

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE

ARCHITEKTURA PROCESORÓW

KOD OPERACJI

ADRES I-ego

OPERANDU

ADRES II-ego

OPERANDU

ADRES WYNIKU

ADRES

NASTĘPNEGO

ROZKAZU

Aby uprościć działanie część informacji potrzebnej do wykonania następnego rozkazu

nie jest umieszczana bezpośrednio w rozkazie, lecz pośrednio na drodze przestrzegania

określonych zasad funkcjonowania procesora:

1. Ponieważ każdy mikroprogram zawiera fragmenty realizowane zawsze w taki sam

sposób, przyjmuje się, o ile to możliwe, że kolejno realizowane rozkazy znajdują się w

następujących po sobie komórkach pamięci. Adresy kolejnych komórek pamięci

przechowywane są w rejestrze zwanym licznikiem rozkazów, którego zawartość jest

zwiększana o 1 podczas fazy pobierania kolejnego rozkazu.

2. Wykorzystuje się rozkazy sterujące, tzn. zmieniające stan licznika rozkazów zgodnie z

żądaniem programisty o więcej niż 1. Dzięki temu możliwe jest przerwanie sekwencji

rozkazów z kolejnych komórek pamięci, np. wtedy, kiedy dalszy ciąg programu zależy od

poprzednio uzyskanego wyniku (rozkazy skoku).

3. Wynik operacji pozostaje w jednym z rejestrów procesora, nie przesyła się go do

dowolnej komórki pamięci.

4. Ze względu na iterakcyjność programów, tzn. wynik poprzedniej operacji staje się

operandem następnej operacji, nie umieszcza się adresu drugiego operandu w pamięci (nie

jest więc potrzebne pole z adresem do danej komórki), lecz używa się jako drugiego

operandu zawartości akumulatora.

PRZETWARZANIE ROZKAZÓW - CYKL ROZKAZOWY

Wszystkie operacje realizowane przez procesor są synchronizowane przez sygnały

generatora cyklu podstawowego. Generator może być elementem zewnętrznym,

przyłączanym do odpowiednich końcówek procesora, albo może być zintegrowany z

procesorem.

Cykl rozkazowy (ang. instruction cycle) – obejmuje wszystkie kolejne cykle

podstawowe (zwane również taktami lub stanami) potrzebne do pobrania i wykonania

określonego rozkazu. Różne rozkazy wymagają różnej liczby cykli rozkazowych.

2

background image

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE

ARCHITEKTURA PROCESORÓW

Wzrost mocy obliczeniowej mierzy się ilością

wykonywanych operacji w jednostce czasu.

Zwiększenie częstotliwości taktującej (skrócenie

czasu trwania pojedynczego cyklu) jest

najbardziej oczywistym czynnikiem

gwarantującym przyrost wydajności (pod

warunkiem,, że nadążają za nim układy

otaczające procesor, głównie pamięć).

SPOSOBY ADRESOWANIA PAMIĘCI OPERACYJNEJ

Zadaniem procesora jest przetwarzanie danych złożonych w pamięci.

Wykonywane operacje mają charakter dwukierunkowy: zapis, odczyt. Przy zapisie procesor

wystawia słowo na magistralę danych a stosowny adres na magistrale adresową. Podczas

odczytu końcówki adresowe procesora określają adres w pamięci i zwartość wskazanej

komórki sczytywana jest przez procesor z magistrali danych. Całość nadzorowana jest przez

sygnały kontrolno-sterujące.

Fizyczna przestrzeń adresowa, jaką mogą zaadresować procesory zależy od ilości linii

adresowych:

- procesory 16-bitowe (od 8088 do 80186) miały 20 końcówek – 2

20

=1MB

- procesory 32-bitowe(od 80386DX) mają już 32 końcówki – 2

32

=4GB

Adresowaniem nazywa się wyznaczenie adresu komórki pamięci zawierającej

operand na podstawie informacji zawartej w rozkazie.

Podstawowe (historyczne) sposoby adresowania w procesorach:

- adresowanie bezpośrednie – umieszczenie adresu bezpośrednio w rozkazie. Problemy –

długość adresu a rozmiar pamięci, np. 1B dla adresu to pamięć, którą można zaadresować

to tylko 2

8

=256, w związku z tym, potrzeba rozkazów 2 lub 3 –słowowych, które są

jednak dłużej wykonywane. Ponadto jest to rozwiązanie nieekonomiczne w przypadku

programów działających na danych skupionych w pewnym obszarze, a nie rozproszonych

po całej pamięci. Rozwiązanie to jest również niedogodne w przypadku modyfikacji

programów, szczególnie programów przechowywanych w pamięci ROM.

3

background image

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE

ARCHITEKTURA PROCESORÓW

- adresowanie rejestrowe bezpośrednie – operand znajduje się w jednym z rejestrów

procesora, adres tego rejestru stanowi część rozkazu. Adresowanie to jest szybsze od

adresowania bezpośredniego, ale jest ograniczone do liczby rejestrów procesora.

- adresowanie rejestrowe pośrednie – rozkaz zawiera adres rejestru, w którym

przechowywany jest adres operandu w pamięci. Szybsze od adresowania bezpośredniego,

ograniczone tylko liczbą bitów danego rejestru.

- adresowanie względne – adres operandu jest sumą informacji adresowej zawartej w

rozkazie, tzw. przesunięcia (ang. offset, displacement) oraz stanu licznika rozkazów. Przy

m.-bitowym przesunięciu zakres adresowania rozciąga się wokół komórki zawierającej

rozkaz na 2

m.-1

bitów w górę (w kierunku wzrostu adresów) i 2

m.-1

-1 bitów w dół od

adresu, pod którym znajduje się realizowany rozkaz.

- adresowanie indeksowe – podobne do adresowania względnego, ale rolę licznika

rozkazów spełnia rejestr indeksowy. Rejestry indeksowe są rejestrami o długości

umożliwiającej zaadresowanie dowolnej komórki pamięci, i których zawartość może być

bardzo szybko dodana do przesunięcia. Można je zerować, ładować do pamięci i z

akumulatora oraz testować ich zawartość.

- adresowanie natychmiastowe – operand zawarty jest „natychmiast” w drugim lub

drugim i trzecim słowie rozkazu. Technika bardzo dogodna przy ustawianiu zawartości

rejestrów indeksowych lub liczników.

Procesory z reguły umożliwiają stosowanie wielu różnych sposobów adresowania.

Różnorodność i skuteczność sposobów adresowania jest jednym z ważnych czynników

określających wygodę programowania w językach maszynowych i moc obliczeniową

procesora. Wynika to m.in. z faktu, że ogromna liczba operacji wykonywanych przez

procesor wymaga wyznaczenia adresów operandów.

Ze względu na fakt, że architektura procesorów ulegała i ulega ciągłym zmianom,

przeliczanie adresów logicznych na rzeczywiste nie jest już takie proste i wyraźne i zależy

m.in. od trybu pracy procesora.

1. Tryb rzeczywisty (ang. Real Mode) – procesory 32-bitowe przełącza się w stan pracy

procesora 16-bitowego.

2. Tryb chroniony (ang. Protected Mode) – od 80286 – wprowadzony w celu ochrony

poszczególnych zadań pracujących pod kontrolą wielozadaniowego systemu

operacyjnego. Charakterystyczny jest 4-poziomowy system uprawnień kontrolujący

odwołania do danych oraz do kodu.

4

background image

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE

ARCHITEKTURA PROCESORÓW

3. Tryb wirtualny procesora 8086 (ang. Virtual 8086 Mode) – dostępny w procesorach Intela

od 80386. Swego rodzaju kombinacja dwóch poprzednich trybów. Każdy z programów

użytkowych widzi swój własny procesor 8086 pracujący w trybie rzeczywistym, a

elementy z trybu chronionego zapewniają odpowiednie prawa dostępu i uniemożliwiają

kolizje między zadaniami.

Poza trybem wirtualnym począwszy od modelu 80386 wprowadzono do procesorów

Intela stronicowanie (metoda zarządzania pamięcią). Rozmiar stron w 386 jest stały,

pamiętany w procesorze i wynosi 4kB, w kolejnych procesorach, np. w Pentium, może być

zmieniany od 4kB do 4MB.

5

background image

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE

ARCHITEKTURA PROCESORÓW

SPOSOBY WSPÓŁPRACY PROCESORA Z UKŁADAMI WEJŚCIA/WYJŚCIA (ang.

Input/Output I/O)

Układy I/O to dla procesora po prostu część przestrzeni adresowej, do której odwołuje

się za pomocą dwóch specjalnych rozkazów odwołań do portów IN i OUT. Rozkazy te

operują tylko i wyłącznie za pośrednictwem akumulatorów, tzn. że nie można przesłać

zawartości pamięci bezpośrednio do portu lub skierować zawartości portu do pamięci.

Różnice w zapisie/odczycie układów I/O w poszczególnych procesorach:

- ilość portów, które mogą zostać zaadresowane:

8086: 64k (20 linii adresowych, ale A16-A19 zawsze = 0),

80386, 80486: 64k portów 8-bitowych, 32k portów 16-bit., 16k portów 32-bit.

- w 80386 i 486 dostęp do przestrzeni I/O odbywa się z pominięciem pamięci podręcznej,

- Pentium jest zgodny z 486, pomijany cache i wszelkie bufory, ale w dostępie do I/O

bierze udział tylko połowa z 64-bitowej magistrali danych.

Przerwanie sprzętowe to technika, dzięki której urządzenia zewnętrzne mogą

poinformować procesor o skutkach wykonywanych operacji (wykonywanie operacji przez

urządzenia zewnętrzne inicjuje procesor), czyli o zakończeniu lub błędzie. Polega to na tym,

że urządzenie samo zgłasza wykonanie zadania, a procesor obsługuje je w dogodnym dla

siebie momencie, tzn. przerywa realizację wykonywanego procesu i przechodzi do procedury

reagującej na zgłoszenie urządzenia. Kod tej procedury zazwyczaj znajduje się w pamięci

stałej komputera. Przerwania mają swoje priorytety.

Kontroler przerwań obecnie wchodzi w skład chipseta procesora (ang. Chipset – zbiór

układów wysokiej skali integracji tworzących „obudowę” procesora)).

6


Wyszukiwarka

Podobne podstrony:
ARCHITEKTURA KOMPUTERÓW I SYSTEMÓW OPERACYJNYCH
Normy prawne dotyczące rozpowszechniania programów komputerowych, 1.Systemy operacyjne i sieci kompu
Algorytm Procesu Uruchomena Komputera, Systemy operacyjne
Przestepczość komputerowa, 1.Systemy operacyjne i sieci komputerowe
aiaso, SEMESTRY, Sem 6, Architektura i Administracja Systemow Operacyjnych
ERGONOMIA STANOWISKA KOMPUTEROWEGO, 1.Systemy operacyjne i sieci komputerowe
Sieci komputerowe, Systemy Operacyjne i Sieci Komputerowe
Podstawy architektury komputera, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
format[1], Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr I
System plików, zOthers, Systemy operacyjne i sieci komputerowe
Pamięci dynamiczne RAM, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
Organizacja pamięci komputerów, szkola, systemy operacyjne, klasa 1
bramki logiczne, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
router, Szkoła, Systemy Operacyjnie i sieci komputerowe, sieci
Projektowanie sieci komputerowych, szkola, systemy operacyjne, klasa 4
Systemy Komputerow- pamięć podręczna, TZN, Systemy Operacyjne i Sieci
WŁASNY SERWER FTP WINDOWS XP, ۞ Nauka i Technika, Informatyka, Systemy operacyjne, OS MS Windows, Si
Dyski twarde-woluminy, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr II
WiFi, Systemy Operacyjne i Sieci Komputerowe

więcej podobnych podstron