borzemski,organizacja systemów komputerowych, STRUKTURA I DZIAŁANIE PROCESORA

STRUKTURA I DZIAŁANIE PROCESORA



Rejestry procesora:

- widzialne dla użytkownika – służą do zapisywania danych

- stanu i sterowania – służą do sterowania pracą procesora


Rejestry widzialne:

- ogólnego przeznaczenia

- wyspecjalizowane


Potokowe przetwarzanie rozkazów:

- stosuje się w celu przyśpieszenia działania procesora

- oznacza podział cyklu rozkazu na pewną liczbę oddzielnych etapów realizowanych szeregowo, takich jak pobranie rozkazu, dekodowanie, określanie adresu argumentu, dzięki temu każdy etap może być realizowany w odniesieniu do innego rozkazu



Organizacja procesora



Zadania jakie musi realizować procesor:

- pobieranie rozkazów

- interpretowanie rozkazów

- pobieranie danych z pamięci lub we/wy

- przetwarzanie danych

- zapisywanie danych


Główne zespoły procesora:

a) jednostka arytmetyczno-logiczna (ALU) – wykonuje rzeczywiste obliczenia (arytm-log) i przetwarza dane

b) jednostka sterująca (CU) – steruje ruchem rozkazów i danych i steruje pracą ALU

c) rejestry – pamięć wewnętrzna procesora

d) wewnętrzna magistrala procesora – łączy elementy


Wewnętrzna magistrala procesora:

- łączy ona podstawowe komponenty procesora

- jest potrzebna bo ALU pobiera dane tylko z pamięci wewnętrznej procesora


Jednostka arytmetyczno-logiczna składa się z:

- znacznik stanu

- przesuwnik

- układ dopełniania

- układy logiczne i arytmetyczne



Organizacja rejestrów


Podział rejestrów procesora:

- widzialne dla człowieka – umożliwiają programistą korzystanie z nich w programowaniu

- stanu i sterowania – używane przez jednostkę sterującą do sterowania pracą procesora


Rejestry widzialne dla użytkownika


To taki do którego programista może się odwołać za pomocą języka maszynowego, którym posługuje się procesor.


Podział rejestrów widzialnych:

- ogólnego przeznaczenia czyli robocze – mogą być im przypisane dowolne dane, rozkazy, operacje, czasem trochę ograniczone

- danych – tylko do przechowywania danych

- adresów – przypisane odpowiednim trybom adresowania lub ogólnie wszystkim adresowaniom

- kodów warunkowych – zawierają flagi (znaczniki stanu) powstałe w wyniku operacji w procesorze, nie mogą być zmieniane

przez programistę


Przykłady rejestrów:

a) wskaźnik segmentu – w maszynach z adresowaniem segmentowym rejestr ten zachowuje adres podstawy segmentu

b) rejestry indeksowe – używane do adresowania indeksowego

c) wskaźnik stosu – obsługa stosu


Problemy projektowe:

- ilość rejestrów

- czy ogólne czy wyspecjalizowane

- długość rejestrów


Rejestry sterowania i stanu


Rodzaje rejestrów:

a) licznik programu (PC) – zawiera adres rozkazu kolejnego do pobrania

b) rejestr rozkazu (IR) – zawiera ostatnio pobrany rozkaz

c) rejestr adresowy pamięci (MAR) – zawiera adres lokacji w pamięci

d) rejestr buforowy pamięci (MBR) – zawiera dane odczytane ostatnio lub zapisane


- MBR jest połączony bezpośrednio z magistralą danych a MAR z magistralą adresową

- licznik PC jest zwiększany po każdym pobranym rozkazie, a także zmieniany przy rozgałęzieniach

- mogą istnieć rejestry pośrednie na wejściu i wyjściu do ALU (buforujące)


Słowo stanu programu (PSW) – rejestr w procesorze, zawierający informacje o stanie, zawarte są tam znaczniki stanu, flagi, kody warunkowe, np.: znak, zero, przepełnienie, równość, przeniesienie, zwolnienie przerwania, nadzorca


Inne rejestry:

- wskaźnik tablicy stron

- rejestr do obsługi stosu

- rejestry we/wy


Cykl rozkazu


Cykl pośredni


Polega na pobieraniu z pamięci argumentów do wykonania rozkazu w adresowaniu pośrednim.


Przepływ danych


Cykl rozkazu może wywoływać:

- odczytanie, zapisanie do rejestrów

- odczytanie zapisanie do pamięci

- przeprowadzenie operacji w ALU

- operację we/wy


Dokładniejszy opis cyklu rozkazu


- odczytanie adresu z pamięci

- licznik PC zawiera adres następnego rozkazu do pobrania

- adres ten przenoszony jest do MAR i umieszczany na szynie adresowej

- adres ten jest przenoszony do IR

- PC przyrasta o 1

- jednostka sterująca bada zawartość rejestru IR, czy ma specyfikatory argumentu adresowania pośredniego

- jak tak to jest realizowany cykl pośredni

- do MAR przenosi się N najbardziej znaczących bitów MBR, zawierających adres argumentu

- jednostka sterująca zgłasza zapotrzebowanie na odczyt z pamięci w celu wprowadzenia argumentu do MBR


Cykl przerwania:

- zawartość PC ładowana do MBR w celu zapisania kontekstu procesu

- adres miejsca gdzie ma być to zapisane ładowany do MAR

- zapis tego

- do PC ładuje się adres rozkazu przerwania

- realizacja rozkazu przerwania

- przywrócenie (np. ze stosu) adresu rozkazu do PC

- powrót do realizacji poprzedniego programu



Potokowe przetwarzanie rozkazów


Strategia potokowego przetwarzania:

- podział cyklu rozkazu na pojedyncze fragmenty

- praca nad różnymi fragmentami różnych procesów jednocześnie, np. jak wykonuje się jeden proces i nie korzysta akurat

wtedy z pamięci głównej, to można ładować już kolejny do rejestru IR (pobieranie z wyprzedzeniem, na zakładkę)

- powoduje to równoległą pracę nad procesami i przyspieszenie realizacji procesów


Co może spowolnić pracę:

- przerwania

- rozgałęzienia

- nierówny czas trwania etapów (oczekiwanie)

- jednoczesna chęć dostępu do pamięci głównej przez etapy


Sposoby radzenia sobie z rozkazami rozgałęzień w potokowym przetwarzaniu:

- zwielokrotnione strumienie

- pobieranie docelowego rozkazu występującego po rozgałęzieniu z wyprzedzeniem

- bufor pętli czyli mała podręczna pamięć, zawiera n ostatnio pobranych rozkazów

- przewidywanie rozgałęzień


Tablica historii rozgałęzień:

- każda komórka zawiera 3 elementy: adres rozgałęzienia, jego rozkaz, adres następnego rozkazu

- służy zapamiętywaniu historii rozgałęzień


Opóźnione rozgałęzienie:

- zmiana kolejności rozkazów, tak żeby te z rozgałęzieniami występowały na końcu



Zredukowana liczba rozkazów:


Architektura RISC:

- rodzaje argumentów i częstość używania determinują organizację pamięci, służącej do ich przechowywania

- szeregowanie rozkazów określa organizację sterowania i przetwarzania potokowego

- zredukowana liczba rozkazów

- redukcja trybów adresowania, prostota

- ograniczenie komunikacji między pamięcią i procesorem

- wiele instrukcji przypisywania

- przetwarzanie potokowe

- wielka liczba rejestrów lub zastosowanie kompilatora, który optymalizuje ilość rejestrów

- nacisk na optymalizację potoku rozkazów


Architektura CISC:

- zastosowanie większej ilości rozkazów

- duża liczba trybów adresowania

- mniejsza częstotliwość taktowania procesora

- mała optymalizacja

- rozkazy bardziej złożone

- programy miały być mniejsze i szybciej realizowane


Własności architektur zredukowanej liczby rozkazów:

- dane z rejestru do rejestru

- jeden rozkaz na cykl

- proste tryby adresowania

- proste formaty rozkazów


Architektura von Neumanna:


Polega na ścisłym podziale komputera na trzy podstawowe części:

- procesor (w ramach którego wydzielona bywa część sterująca oraz część arytmetyczno-logiczna)

- pamięć komputera (zawierająca dane i sam program)

- urządzenia wejścia/wyjścia


System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien:

- mieć skończoną i funkcjonalnie pełną listę rozkazów

- mieć możliwość wprowadzenia programu do systemu komputerowego poprzez urządzenia zewnętrzne i jego przechowywanie

w pamięci w sposób identyczny jak danych

- dane i instrukcje w takim systemie powinny być jednakowo dostępne dla procesora

- informacja jest tam przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych

instrukcji w procesorze.


Podane warunki pozwalają przełączać system komputerowy z wykonania jednego zadania (programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują jego uniwersalność.


System komputerowy von Neumanna nie posiada oddzielnych pamięci do przechowywania danych i instrukcji. Instrukcje jak i dane są zakodowane w postaci liczb. Bez analizy programu trudno jest określić czy dany obszar pamięci zawiera dane czy instrukcje. Wykonywany program może się sam modyfikować traktując obszar instrukcji jako dane, a po przetworzeniu tych instrukcji - danych - zacząć je wykonywać.


Model komputera wykorzystującego architekturę von Neumanna jest często nazywany przykładową maszyną cyfrową (PMC).

Xzsde34Xzsde34

Angielskie zwroty:


CISC – complex instruction set computer

RISC – reduced instruction set computer



Wyszukiwarka

Podobne podstrony:

więcej podobnych podstron