wykl05

wykl05



.......Architektura procesora .    ' i


Rejestry procesora
Tryby adresowania
Instrukcje warunkowe
Modele zestawu instrukcji procesora

O Buforowy rejestr rozkazów

(ang. instruction buff er register -1BR). Jest wykorzystywany do czasowego przechowywania podręcznego rozkazu pochodzącego ze słowa w pamięci.

O Licznik programu

(ang. program counter - PC).

Zawiera adres    następnej pary

rozkazów, która ma być pobrana z pamięci.

O Akumulator (AO i rejestr mnożenia-

dzMenifl

(ang. mułtipiier-quotier - MQ). Wykorzystywane    do czasowego

przechowywania    argumentów i

wyników operacji prowadzonych przez ALU.

JedMftka ccfttralna


Przykład: struktura IAS - cz.l



Jednostka sterująca, jak i ALU zawierają miejsca pamięci zwane rejestrami:

o Ręjęstr Morowy pąmięęi

(ang. memory buffer register - MBR). Zawiera słowo, które ma być przechowywane w pamięci, lub też jest wykorzystywany do pobierania słów z pamięci.

O Reiestr adresowy pamięci

(ang. memory address register - MAR). Określa adres w pamięci dotyczący słowa, które ma być zapisane w rejestrze MBR lub z niego odczytane.

O Reiestr rozkazów

(ang. instruction register - IR). Zawiera 8-bitowy kod operacyjny rozkazu, który jest wykonywany.


Przykład działania SK - cz.l

Założenia:

^ Procesor zawiera akumulator (AC) służący do czasowego przechowywania danych.

< I Zarówno rozkazy, jak i dane są słowami 16-bitowymi. i I Pamięć jest zorganizowana przy użyciu pozycji (lub słów) 16-bitowych.

Format rozkazu wskazuje, że występuje 24 =16 różnych kodów operacji, a liczba słów w pamięci możliwych do bezpośredniego zaadresowania wynosi 212 = 4096 (4 K).

0    3 4___

A | Kod operacji {    Adres

(a)    format rozkazu;

(b)    format liczby całkowitej;

(c)    wewnętrzne rejestry procesora;

(d)    częściowa lista kodów operacji


B I 8 I WotofcT


C    Liczaflc rozkazów (PC)-adres rozkazu

Regestr rozkazów (IR)-wykonywany rozkaz Afcoroulatar (AC) - tymczasowe przechowywanie


D


0001-Łatka AC z pamięci 0010-Zapisz AC w mmkd


Przykład działania SK - cz.ll

Legenda:

Licznik rozkazów (PC) = adres rozkazu

Rejestr rozkazów (IR) = wykonywany rozkaz

Memory

( Pt Register*

Mentor}

CPL. Register*

VKł

1 9 4 0

1 0 Ol IV

101)

19 4 0

1 0 0|PC

M) l

5 9 4 1

)

AC

101

5 9 4 1

0 0 0 1

Al

102

2 9 4 ł

'-ii

19 4 0

IK

102

2 9 4 1

19 4 0

IK

J

940

0 (1 0 1

[300; MAR

940

(1 0 0 1

J

9 4 0 | MAR

941

0 0 0 2

941

U 0 0 2

Ślep t

Step 2

Memory

CPl Register*

Mctnor}

CPl Register*

100

l 9 4 o

1 n IIIV

100

19 4 0

1 0 l| Pt

m

TTTT

0 0 0 1

AC

101

5 9 4 1

0 0 0 5

Al

102

2 9 4 1

^P

5 9 4 1

IR

102

2 9 4 1

(

5 9 4 1

ty

940

0 0 0 1

[3 0JJ MAR

940

0 0 0 1

^2 - 5—

941

0 0 0 2

941

Tnrm

V 4 1 | MAK

Mcp 1

Step 4

Memory

C Pt Riijlstcrs

Mentor}

CPl. Riiflslm

100

19 4 0

1 0 : IIV

100

19 4 0

1 0 21 K

m

$9 4 1

(TóoT

AC

101

A 9 4 1

0 0 0 5

Al

102

2 9 4 l

-P

2 9 4 1

IR

102

2 9 4 1

2 9 4 1

IK

9io

0 0 0 1

i 3 02 I MAR

940

U 0 0 1

, 9 4 1 | MAR

941

0 0 0 2

941

0 0 (1 5

Step s

Step 6


Akumulator (AC)

= tymczasowe przechowywanie

0001

= ładuj AC z pamięci 0010

= zapisz AC w pamięci 0101

= dodaj z pamięci do AC


Architektura procesora

Architektura procesora = zestaw zasobów logicznych dostępnych dla programisty (kompilatora)

W ogólności nie ma bezpośredniego związku z techniczną implementacją

Składniki architektury:

•    Zestaw rejestrów

♦    liczba i funkcjo na In ość rejestrów procesora

•    Zestaw trybów adresowania

♦    sposoby specyfikacji argumentów operacji

•    Model operacji warunkowych

♦    sposób realizacji konstrukcji warunkowych

•    Lista instrukcji

♦    zestaw operacji, jakie może wykonać procesor

Przykład działania SK - cz.lll

CPl


Memory


liblrodkin

InstrudioD


Instrudinn


L MAR <~PC PC+-PC+1 2. IR<~DAXE (KOD)

A -U-J/f <-PC, PC-t-PC+1

4.    MBRi <-DA\E (OPRi)

5.    MAR <-PC, PC+-PC+1

6.    MBRh<-DA\E (OPRrf MAR+-MBR

8. A+-DAME



Architektura procesora

Składniki architektury procesora są ze sobą powiązane - nie mogą być projektowane we wzajemnym oderwaniu

Techniczna implementacja może silnie wpływać na architekturę (ograniczenia realizacji technicznej)

Problem - realizacja danej architektury w innej, niż oryginalna, strukturze procesora (zachowanie kompatybilności wstecznej, np. x86)


Zadania procesora:

Pobieranie rozkazów - odczytywanie rozkazów z pamięci

Interpretowanie rozkazów - dekodowanie w celu określenia wymaganych działań

Pobieranie danych - odczytywanie danych z pamięci lub z modułu wejścla-wy|ścla.

Przetwarzanie danych - wykonywanie operacji arytmetycznych lub logicznych

Zapisanie danych - zapisanie danych w pamięci lub w module wejścia-wyjścia.

Uproszczona architektura procesora i komputera

dane

sterowanie



Struktura wewnętrzna procesora. Rejestry procesora




Funkcje rejestrów procesora


Rejestry widzialne dla użytkownika - umożliwiają programiście (język maszynowy/symboliczny) minimalizowanie odniesień o pamięci głównej

Rejestry sterowania i stanu - do sterowania pracą procesora oraz do sterowania wykonywaniem programów (system operacyjny)

Do rejestrów widzialnych można się odnosić za pomocą języka maszynowego, którym posługuje się procesor

Rejestry widzialne dla użytkownika:

•ogólnego przeznaczenia, czyli robocze („generał purpose”), •danych,

•adresów,

•kodów warunkowych.


Funkcje rejestrów sterowania i stanu

Rejestry zasadnicze dla wykonywania rozkazów:

Licznik programu (PC) - zawiera adres rozkazu przewidzianego do pobrania.

Rejestr rozkazu (IR) - zawiera ostatnio pobrany rozkaz

Rejestr adresowy pamięci (IAR) - zawiera adres lokacji w pamięci

Rejestr buforowy pamięci (MAR) - zawiera słowo danych, które ma być transferowane

We wszystkich procesorach jest rejestr(y) stanu (PSW) - zawiera informację o stanie procesora i o wyniku wykonanej operacji.

Funkcje rejestrów widzialnych


Rejestry robocze mogą realizować wiele funkcji (dane, adresy, warunki); często ograniczenia (np. dedykacja operacjom zmiennopozycyjnym).

Rejestry danych - tylko do przechowywania danych; nie można ich używać do obliczania adresów argumentów.

Rejestry adresowe - uniwersalne lub przypisane określonym trybom adresowania

•Wskaźniki segmentu - adres podstawy segmentu (może być wiele wskaźników segmentów)

•Rejestry indeksowe - do adresowania indeksowego (mogą być indeksowane automatycznie, liczniki)

•Wskaźnik stosu - (jeśli adresowanie stosowe widzialne dla użytkownika); pozwala na adresowanie domyślne (bez jawnego adresu argumentu)


Funkcje rejestrów sterowania i stanu

Rejestr stanu (PSW)

Pola rejestru stanu (znaczniki stanu, czyli flagi):

•Znak - bit znaku wyniku ostatniej operacji arytmetycznej

•Zero - ustawiane, gdy wynik jest równy zero

•Przeniesienie - ustawiane, gdy w wyniku operacji przeniesienie

•Półprzeniesienie - ustawiane przy przeniesieniu pomiędzy tet radami

•Równość - ustawiane, gdy w wyniku porównania logicznego jest równość.

•Przepełnienie - ustawiane, gdy w wyniku operacji następuje przekroczenie zakresu.

•Zezwolenie/blokowanie przerwania - do sterowania obsługą przerwań

•Nadzorca - wskazuje, czy procesor pracuje w trybie nadzorcy


•    Brak (pamięć - pamięć)

•    Minimalny (akumulatorowa)

•    Mały zestaw rejestrów specjalizowanych

•    Mały zestaw rejestrów uniwersalnych

•    Duży zestaw rejestrów uniwersalnych

•    Zestaw rejestrów jako bufor ramki stosu

•    Stosowy zestaw rejestrów


Architektury procesorów. Rejestry

1    A    1    Akumulator

!    F    |    Rejestr znaczników

1 H    1    X    |    Rejestr adresowy

1    SP    1 Wskaźnik stosu

|    PC    ] Ucznk 'nstrukg

Motorola 6800

Architektura akumulatorowa (minimalny zestaw rejestrów)

Bezrejestrowa (pamięć-pamięć)


•    Muszą zawierać 1 3 rejestry w tym PC

•    Operacje na danych ‘'pamięć-pamięć"

•    Obecnie prawie me spotykane

•    Architektura Jmove"

•    Lokacje przestrzeni adresowej odwzorowane w rejestry

• rejestry są 'ukryte' pod postacią komorek pamięci

•    Współczesny przykład mikrokontrolery MAXQ firmy Maxim akumulatorowa (minimalny zestaw rejestrów)

•    PC - licznik instrukcji

•    SP- wskaźnik stosu

•    Akumulator (pełni rolę rejestru wartości)

•    Rejestr adresowy do adresowania struktur danych

•    Przykład mikrokontrolery 8-bitowe Freescaie (dawniej Motorola) rodziny 68HC08


Architektury procesorów. Rejestry i 1 2


cd... rejestrowa

c) duży zestaw rejestrów uniwersalnych

•    16 lub 32 rejestry uniwersalne

•    Przykłady

♦    MIPS IBM Power - 32 rejestry

•    AMD64. IBM S/3G0 zSenes - 16 rejestrów

•    Rejestry używane do przekazywania kilku parametrów przechowywania kilku zmiennych lokalnych

*    Istotna redukcja liczby odwołań do pamięci

d) duży zestaw rejestrów danych i duży zestaw rejestrów adresowych

•    Przykłady:

• MC68000


Przykłady organizacji rejestrów I

...mały zestaw rejestrów uniwersalnych (ad. b)

Ktjrtlr) eę4t»r

2A\ f

j

AX ]

S3X 2 _ __

BX

ht X

C.\ !

Ft>\ ’

1

_D\__J

EPS __

1

SP ]

EBP _ _

1

BP

CS! »_ _

|

Sl -

EDI |

_±>J _ I

Sua projnuna

|    Rejestry maczniko* tfaiiu

_WsLwjiyk rc/Luru



Organizacja rejestrów w i8386

•Zestaw trybów adresowania umożliwiający adresowanie wszystkich rejestrów •Nowe instrukcje mnożenia (likwidacja przywiązania rejestrów do instrukcji) •Znacznie elastyczniejsze wykorzystanie rejestrów niż w poprzednich x86


Intel 386


l



Przykłady organizacji rejestrów I

...mały zestaw rejestrów specjalizowanych (ad. a)


Rejestry ogólnego przeznaczenia

AA

Akumulator

n\

Bazowy

cx

Zliczający

I)X

___B“»d>

Wskaźniki i indeksy

SP

Wskaźnik wovu

BP

Wskaźnik bazy

SI

latkiu źródła

Dl

Itul nuejica pracy. \

Segmentowe

CS

Kod l

PS

Dane \

ss

S«oa

F.S

hodałkowy

Stea programu

Wsłuźmk nwfcazu

y.naczmki Kanu



Struktura procesora i organizacja rejestrów w i8086

•    AX - akumulator

•    DX - rozszerzenie akumulatora dla mnożenia i dzielenia

•    CX - licznik iteraqi

•    BX - główny rejestr adresowy

•    SP - wskaźnik stosu

•    BP - wskaźnik ramki

•    SI, D - pomocnicze rejestry adresowe

•    IP - licznik instrukcji

•    FLAGS - rejestr znaczników


Niektóre rejestry „przywiązane” do pewnych instrukcji


Przykłady organizacji rejestrów I

Ogólnego przeinaczenia


...duży zestaw rejestrów uniwersalnych (ad. c)

Organizacja rejestrów w procesorach Ziiog


Krjtitn «cółnr|»« prte/jucrmja


i


i


RM

RSC

RR6 URS RR 0

rr::

RRI-t

RRU.

RR!#

rr:o


K1C3

RR'4

RfUfc

KRih

RJUi3


i Ii ZZKJ

i-1--r ■ I

±    __ .i-L---- i


1

Wakarait >fannt

Wskażmi slosu ;

.. r—i


Rejestry pełnia dowolną funkcję (danych, adresowe, wskaźnikowe itd.)


Przykłady organizacji rejestrów I

...duży zestaw rejestrów danych i duży zestaw rejestrów adresowych (ad d)

Rejestry danych

DO

D!

d:

D4

D5

Dft

D7

Rejestry adresu

AO

Al

A2

AJ

A4

A5

M

A?

Wilażaik unu użytkuwiului

AT

Włkunak Am luułcorcy

Stu proframn

\ Licznik roilaeńw

| Rejestr sunu


Organizacja rejestrów w procesorach Motorola 68k


MC680000 -16/32 bit MC680020-32 bit



Architektury procesorów. Rejestry I 4 3


J----!*•


sp I


stosowa

a) zestaw rejestrów stosowych •38 rejestrów tworzących stos

•    Często brak nazw rejestrów

•    Operacje wykonywane na wierzchołku stosu rejestrów 5

i



Tryby adresowania    I


Tryb adresowania = sposób wyznaczenia lokalizacji argumentu

• Tryby adresowania argumentu operacji

Tryb adresowania

Zanaczenie

natychmiastowe (immediate)

w instrukcji podany jest argument

bezpośrednie (direct)

w instrukcji pole adresu argumentu

przez implikację (implied)

instrukcja określa jak wyznaczyć adres

Rozkaz

Adresowanie natychmiastowe -----------------------> |    | Argument |


Tryby adresowania    i

i


adresowanie przez implikację

-    pośrednie

-    z przesunięciem

-    indeksowe

-    względne


Adresowanie bezpośrednie

•Rejestrowe - w instrukcji wskazany rejestr •Bezwzględne - w instrukcji zawarty adres •Strony zerowej - w instrukcji skrócony adres

Rozkaz

i r a —i

Pamięć

Argument

Ro/ku/

r~~ j

AlgUIIKllt

Uc|cst«v



Tryby adresowania

1


ADR=RX


Kózka/


• Adresowanie pośrednie rejestrowe

OPR wskazuje rejestr w którym znajduje się adres operandu

Zwykle rejestry mogą być inkrementowane lub dekrementowane oddzielnymi rozkazami albo auto-inkrementowane i autodekrementowane.

• Adresowanie pośrednie pamięciowe

ADR=M(OPR)

zastosowanie: rtlokacja tabtic, zmiennych i podprogramów,

Z uwagi na powolność niechętnie stosowany.

P.muęr

Argument

Kcfcsiry




> Adresowanie z wykorzystaniem rejestru indeksowego    __

ADR=DC+OPR

może być skalowany

Kuzkii/

wskaźnik adresu y* 1-

11 1

A

T ~

bazowego

1

L

przesunięcie -^

tastas: adresowanie tdbiłc (macierzy)

-e

obliczenia iteracyjne (autołnkrement)

dynamiczne retokowanie tabUc

Keji-słry

- Argument


Przykład:

IX=AA00h


ADR® AA05h


OPR=05h



Tryby adresowania    1

PA - określa stronę


> adresowanie względne stronicowane


Z2_

Adresowanie względne stronicowane

a)    ze wskaźnikiem strony PA=An,An_lt..Ak; OPR= A|t,A|c.p.»AADR= An^An,1,....A0

b)    ze wskaźnikiem adresu strony ADR=PA+OPR

c)    z segmentacją ADR=PAxN+OPR


OPR a przesunięcie względem początku strony/segmentu


•Ograniczenie zakresu OPR

•Zmiana strony =zmiana wartości PA


Tryby adresowania    I


i


I

j


!

I

i


OPR i i

o

I ± PRZESUNIECIE | /

-nrzes

1 pp 1_

1__I

I +przes 1—+ J

t

zastos: skoki, ułatwia relokacię

• adresowanie wzgl. liczn. rozkazów


Przykład:

PC=FF05h


ADR= FF04h


OPR=FFh (-1)



Trybyadresowanla    I


Segmentacja


•w celu organizowania programów i danych; kojarzenia atrybutów przywileju i ochrony z rozkazami i danymi.

I

I

!


Ku/kuy.

segmentów


i


•pamięć widziana jako wiele przestrzeni adresowych (segmentów); zwykle programy, dane, stos -przypisane do różnych segmentów

•segment może mieć przypisane prawa dostępu i użytkowania.

•Lokalizacja danych ■ adres określony na podstawie numeru segmentu i adresu względnego.

ADR=CSN+OPR

Rejestry

■CS - segm programu •OS - segm danych •SS - segm stosu •ES - segm dodatkowy


Np. N-16

Np. jeżeli długość segmentu 64 kB • adres wewnętrzny w segmencie (przesunięcie) -16-bitowy.

Początek segmentu w rejestrze wskaźnikowym segmentu; często „krótszym” od słowa adresowego, np. adres 20 bitów (1MB), długość wskaźnika 16 bitów (uzupełniany nieznaczącymi zerami).

Tryby adresowania w Pentium

Algorytm _

Argument - A LA = R

LA -tSR» »- A IA tSUM-(U)

LA (SR)i(in + A I.A-(SR) i (l)xS+A LA - (SR) 4-1B) ł (I) i A


LA - (SR) + (h x S 4 (B) 4 A LA = (PC) + A


Tryb

Natychmiastowy Rejestrowy Z pi/usunięciem Z rcjcstiem podstawowym / rejesirem podstawowym /. pr/rsumęaem Skalowane indeksowanie / przesunięciem / icjesliem podstawowym 6/ indeksem i / pi/usunięciem

Z rejestrem podstawowym '/u skalowanym indeksowaniem i z przesunięciem Względny



Model operacji warunkowych i

•    Określa sposób realizacji przez procesor operacji warunkowych

•    Warianty

*    Model ze znacznikami

*    Model bez znaczników ('porównaj i °)

*    Model z predykatami

I PSW(FLAGS) !~

•    Znaczniki - jednobitowe rejestry atrybutówwynikujistatnlo "

wykonanej operacji    «———

•    Zwykle zgrupowane w jeden kilku bitowy rejestr

•    Operacja warunkowa realizowana za pomocą dwóch instrukcji

•    Ustawienie znaczników

•    lnstrukqa warunkowa zależna od ustawienia znaczników



Model operacji warunkowych i

Model operacji warunkowych

Model operacji warunkowych

1


12    11    10    9    8


m


MU


¥:


snu


OF - nadmiar SF-znak ZF - zero

AF - przeniesienie pomocnicze PF - parzystotó CF • przeniesienie 6

Instrukcje warunkowe

•    Instrukcja specyfikuje warunek wykonania

•    jeśli warunek me jest spełniony instrukcja wykonuje się jako pusta

•    Skoki warunkowe - dostępne we wszystkich architekturach

•    Przesłania warunkowe - dostępne w nowszych procesorach

*    umożliwiają eliminaqę części skoków i przyspieszenie wykonania kodu

•    Ustawienie (SETcc)

•    zamienia wartość logiczną warunku na wartość danej cafeowttej

•    Architektury z warunkowym wykonaniem większości instrukcji -npARM

*    eliminaqa znacznej części skoków w rozwnięciach krótkich konstrukcji typu if-then-else

„zakodowane” w kodzie instrukcji '] Warunki wykonania instrukcji    ^——

•    Specyfikowane jako wartość jednego znacznitalub wyrażenie logiczne na wartościach kilku znaczników

•    Symboliczne oznaczenie nazwy warunku stanowi część nazwy instrukcji warunkowej, np JNZ - "jump if not zeron^__^

„zakodowane” w mnemoniku


Usta instrukcji procesora I

Modele procesorów ze względu na listę instrukcji

Procesory CISC Procesory RISC


I


I


I

I


Inne modele instrukcji warunkowych I

Model bez znaczników

•    Pojedyncza instrukcja ewaluuje relację i wykonuje operację jeśli relacja jest spełniona

* np "skocz jeśli zawartości rejestrów równe'

•    Charakterystyczny dla prostych procesorów RISC, np MIPS


Model z predykatami

•    Predykaty - uogólnione znaczniki, mogą przechowywać wartość logiczną dowolnej wcześniej obliczonej relacji

•    Duża liczba predykatów w procesorze - możliwość równoczesnego przechowywania wartości wielu relacji

•    Instrukcje w większości warunkowe, specyfikują numer predykatu jako warunek wykonania

•    Model zaimplementowany w architekturze IA-64 (Itanium)


i


i



Model CISK    I

Model CISC

•    Podejście stosowanie w latach 60-tych i 70-łych XX w

•    Zakłada odpowiedmość pomiędzy instrukcjami procesora i instrukcjami języka wysokiego poziomu

•    instrukcja języka wysokiego poziomu jest za zamieniana na jedną lub kilka instrukcji procesora

•    Rejestry służą tylko do tymczasowego przechowywania wyników pośrednich i adresów, dane znajdują się w pamięci

*    instrukcje operują na danych w parnię a

•    Instrukcje operują na argumentach o różnych długościach

•    bajty, słowa 16-. 32. ew 64-bitowe

*    długość argumentu zapisana w kodzie instrukcji

Procesor CISC    I

♦    Bogaty repertuar trybów adresowania

•    konieczny dostęp do argumentów operacji w pamięci

•    zwykle operacje stosowe zrealizowane w liście instrukcji

♦    Max. 16 rejestrów
♦    Operacje warunkowe - najczęściej z użyciem znaczników
♦    Dominują instrukcje dwuargumentowe - wynik zastępuje argument źródłowy

•    specyfikacja dwóch argumentów wymaga mniejszej liczby bitów w obrazie binarnym instrukcji niż specyfikacja trzech argumentów

•    rejestry przechowują tymczasowe wyniki obliczeń - nowy wynik tymczasowy zastępuje poprzedni

i



Procesor RISC

i


•    Skalarne dane lokalne procedury są przechowywane w rejestrach

*    Odwołania do pamięci głównie w prologu i epilogu procedury -przeładowanie ramki stosu

•    Duży zestaw rejestrów - min 16, zwykle przynajmniej 32

*    rejestry powinny mieścić skalarne argumenty i dane lokalne procedury

•    Instrukcje trój argumentowe - nie niszczą argumentów źródłowych

*    dane lokalne me są zamazywane podczas wykonywania na nich operacji

•    Rzadkie odwołania do pamięci nie wymagają złożonych trybów adresowania

*    proste kodowanie instrukcji


Model RISC

1


I


I

L


i


•    Podejście RISC wprowadzono na początku lat 80-tych XX wieku

•    projekt IBM 801

•    architektury MIPS i Berkeley RISC

•    Wtedy również wprowadzono skróty CISC i RISC

•    Ważniejsze współczesne architektury RISC

•    MIPS

•    SPARC . ARM


Procesor RISC

I


•    Proste instrukcje dają się wykonać w prostej i szybkiej jednostce wykonawczej

*    Każda instrukqa ma tylko jeden argument docelowy

*    Najwyżej jedno odwołanie do pamięci

•    Złożone operacje można zsyntezować z kilku instrukcji

*    Również tryby adresowania

•    Instrukcje arytmetyczne i logiczne operują tylko na danych w rejestrach i argumentach natychmiastowych

*    długość argumentu jest zwykle równa długości rejestru

•    brak operacji 8- i 16-bitowych

•    Tylko dwa rodzaje instrukcji operują na pamięci

•    Load - ‘ładuj"

•    Storę - 'składuj*

•    Tzw ‘architektura load-store’

7

CISC vs RISC

Mniejsza objętość programu

SOURCEiARSTECHNKA

•Prostsze instrukcje •Stały format

•Krótki, „stały” czas wykonywania •Łatwiejsza realizacja potokowości


Wykonanie operacji przez CISC:

MULT 2:3, 5:2____

Wykonanie operacji przez RISC:

LOAD A, 2:3 LOAD B, 5:2 PROD A, B

STORĘ 2:3. A__

!



CISC vs RISC


RISC _,r CISC


•    I nstrukcje są zapisane w pamięci podobnie jak dane - w postaci stów binarnych

1 • Poszczególne instrukcje procesorów CISC mają różne długości

•    procesory x86 - instrukcje zajmują od 1 do 15 bajtów

•    w innych architekturach granularność instrukcji jest wyrażana w

słowach 16-bitowM:h________________________

•    RISC - stała długość instrukcji

•    w typowych procesorach RISC (np MIPS. ARM) - każda instrukcja ma długość 32 bitów (4 bajtów)

•    ARM Thumb - instrukcje 16-bitowe. dwuargumentowe

•    Zapis instrukcji

•    kod operaqi

•    specyfikacja argumentów


CISC vs RISC

1


•    Complex Instruction Set Computer, Reduced Instruction Set Computer

•    Chodzi o złożoność poszczególnych instrukcji, a nie o liczbę dostępnych instrukcji

* Procesory RISC często wykonują więcej instrukcji niż procesory CISC


• Skomplikowane instrukcje wymagają złożonej jednostki wykonawczej

O • Duża liczba odwołań do danych w pamięci spowalnia wykonanie

CO programu

O • Duża liczba i złożoność trybów adresowania powoduje

wydłużenie pól specyfikacji argumentów w zapisie binarnym instrukcji


♦ Więcej instrukcji - dłuższa postać binarna programu O ♦ Wszystkie instrukcje mają taką samą długość obrazu binarnego CO * Zwykle 32 bity

£    • Jeden lub dwa tryby adresowania pamięci - rejestrowy pośredni z

przemieszczeniem, ew dwu rejestrowy pośredni



CISC vs RISC    I

MIPS 2000 vs. VAX 8700



spice matrix nasa7 fpppp tomcatv doduc espresso egntott li

0

1

Rejestrowa

a) mały zestaw rejestrów specjalizowanych

•    6 8 rejestrów pełniących różne, sztywno określone funkcje

•    Przykład -x86 w trybie 16-bitowym

•    Brak możliwości efektywnego wykorzystania rejestrów przez kompilator

• Rejestry służą wyłącznie do obliczeń i przechowywania wyników pośrednich

b) mały zestaw rejestrów uniwersalnych

•    6 8 rejestrów uniwersalnych

•    Przykład - x86 w trybie 32-bitowym

•    8 rejestrów (EAX EDX ECX EBX ESP EBP ESI EDI)

2

   Wszystkie rejestry mogą służyć jako akumulatory i rejestry'adresowe wszystkie poza ESP - jako rejestry indeksowe

•    3 4 rejestry mogą być użyte dla zmiennych lokalnych lub

parametrów    »

•    alokacja obiektów lokalnych w rejestrach przyspiesza wykonanie kodu    C.U.I1.

3

*    Bezargumentowe lubjednoargumentowe

*    Argumenty pobierane z wierzchołka stosu, wynik odkładany na stos

•    Przykłady

» Transputery

*    Jednostka zmiennopozycyjna x87

b) Bufor ramki stosu

•    Duży zestaw rejestrów (32 128), który z założenia ma mieścić prawie całą ramkę stosu (bez zmiennych strukturalnych)

•    Dwa rozmązania

4

uniwersalna

• lista rozkazów nie preferuje użycia rejestrów lub pamięci

5

   Okna rejestrów - SPARC

•    Bufor stosu -Am29k. IA-64 (Itamum)

•    Wykonanie procedury niemal bez odwołań do pamięci

6

   Szczegółowe zasady ustawiania znaczników są zdefiniowane w dokumentacji modelu programowego każdego procesora

•    Wszystkie znaczniki są ustawianie przez podstawowe dwuargumentowe instrukcje arytmetyczne i logiczne

•    Inne instrukcje (np jednoargumentowe) - nie zawsze wszystkie znaczniki

•    W niektórych architekturach znaczniki zera i znaku są ustawiane przez instrukcje przesłań

♦ np M68k. HC08


Wyszukiwarka

Podobne podstrony:
wykl05 .......Architektura procesora .     i Rejestry procesora Tryby adresowania In
Architektura procesora (1)Architektura procesora określa najważniejszych z punktu widzenia budowy i
Architektura procesora (2) ALU-    lista operacji zestaw rejestrów -
Architektura procesora CISC Cechy architektury CISC (Complex Instruction Set Computers): *
Architektura procesora RISC Cechy architektury RISC (Reduced Instruction Set Computer): *
Rodziny procesorów (Intel) x86 to rodzina architektur procesorów firmy Intel, należących do kategori
& Rodziny procesorów (AMD) AMD64 (tylko AMD) (x86-64 lub x64) to 64-bitowa architektura procesor
Najważniejsze spośród rozszerzeń dodanych do architektury procesorów MMX (MultiMedia eXtenntion) -
Architektura procesora CISC Cechy architektury CISC (Complex Instruction Set Computers): *
Architektura procesora RISC Cechy architektury RISC (Reduced Instruction Set Computer): ■k Zredukowa
Architektura procesorów Intel
Aleksandra Prokopskamateriały pomocnicze Architektoniczny proces
128 W. Kramarz architektura procesów nie jest zbyt skomplikowana. Programy do rysowania nadają się d
Projektowanie architektoniczneCzynności procesu projektowania: Projektowanie architektury. Identyfik
Alarm 400 Hz 60 Hz 100 Hz 400 Hz 60 Hz 100 Hz Architektura procesowa systemu antywłamaniow
•Model prostego procesora (i8080) — HHI m Podział przestrzeni adresowej B- • 2010-11-04

więcej podobnych podstron