31
Zdzisław Stryła komputer 1 W7 – Architektura zbioru rozkazów Zdzisław Stryła Instytut Fizyki UAM

W7 – Architektura zbioru rozkazów

Embed Size (px)

DESCRIPTION

W7 – Architektura zbioru rozkazów. Zdzisław Stryła Instytut Fizyki UAM. Czym jest architektura komputera. Architektura komputera = architektura zbioru rozkazów + architektura sprzętu;. Czym jest architektura zbioru rozkazów?. - PowerPoint PPT Presentation

Citation preview

Page 1: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 1

W7 – Architektura zbioru rozkazów

Zdzisław Stryła

Instytut Fizyki UAM

Page 2: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 2

Czym jest architektura komputera

Architektura komputera =

architektura zbioru rozkazów +

architektura sprzętu;

Page 3: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 3

Czym jest architektura zbioru rozkazów?

Atrybuty systemu (komputerowego), tak jak są widziane przez programistę, to jest jako koncepcja struktury i właściwości funkcjonalne, bez uwzględniania organizacji przepływu danych i sterowania, konstrukcji logicznej i implementacji fizycznej.Amdahl, Blaaw, Brooks 1964

Page 4: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 4

Czym jest architektura zbioru rozkazów ?

Page 5: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 5

The Instruction Set Architecture - ISA

ISA: określa, co może wyrazić kompilator.

ISA: określa, co musi wykonać sprzęt.

ISA: jest słownikiem dla kompilatora.

ISA: jest pośrednikiem pomiędzy kompilatorem, a sprzętem.

Page 6: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 6

ISA - Architektura procesora - mikroarchitektura

ISA - odnosi się do zestawu instrukcji widzianego przez programistę.

Określa granicę między oprogramowaniem i sprzętem.Często ISA jest utożsamiana z architekturą procesora.

Mikroarchitektura procesora odnosi się do wewnętrznej organizacji procesora.

Różne procesory z różnymi mikroarchitekturami mogą mieć tę samą architekturę ISA.

Page 7: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 7

Jak programista widzi maszynę?:

•Jak są reprezentowane dane?

•Gdzie można zapamiętywać dane?

•Jak można odwoływać się do danych?

•Które operacje na danych mogą być wykonane?

•Jak są kodowane rozkazy?

Page 8: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 8

Co trzeba określić?:

•Format (kodowanie rozkazu);•Jak jest dekodowany?

•Lokalizacja operandów i wyników:•Jeśli nie w pamięci, to gdzie?•Ile jawnych operandów?•Jak operandy są lokowane w pamięci?•Które mogą, lub nie mogą być w pamięci?

•Typy i rozmiary danych•Operacje – które są wspierane?•Skąd następny rozkaz?

Pobranie rozkazu

dekodowanie rozkazu

Pobranie operandu

wykonanie

Zapis wyniku

Wyznaczenie adresu

następnego rozkazu

Page 9: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 9

Co trzeba określić? cd :

• Organizacja zestawu( widocznych) rejestrów;• Typy i struktury danych;

KODOWANIE i reprezentacje;• Formaty rozkazów;• Zestaw rozkazów maszynowych;• Tryby adresowania i rozkazy udostępniające

obiekty danych;• Wyjątki, I/O, przerwania;

Page 10: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 10

Rejestry ogólnego przeznaczenia

• Zalety rejestrów:• Rejestry są szybsze od pamięci;• Użycie rejestrów jest wygodniejsze dla

kompilatora;• Rejestry są adresowane na kilku bitach (krótki

rozkaz).• Wszystkie procesory są wyposażone w rejestry.

• Zmniejsza się obciążenie magistral.

Page 11: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 11

Rejestry w Pentium

AX EAXAH AL

BX EBXBH BL

CX ECXCH CL

DX EDXDH DL

ESIEDIEBPESP

AKUMULATOR

REJESTR WSKAŹNIKÓW

LICZNIK PĘTLI

AKUMULATOR POMOCNICZY ( *, / )

WSKAŹNIK ŁAŃCUCHA ŻRÓDŁOWEGO

WSKAŹNIK ŁAŃCUCHA DOCELOWEGO

WSKAŹNIK RAMKI STOSU

WSKAŹNIK WIERZCHOŁKA STOSU

Page 12: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 12

Rejestry w Pentium cd.

CS

EIP

EFLAGS

REJESTRY SEGMENTOWE

Z CZASÓW 8088

AKUMULATOR POMOCNICZY ( *, / )

LICZNIK ROZKAZÓW

REJESTR STANU PROCESORA

SSDSESFSGS

Page 13: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 13

Format rozkazu

KOD ROZKAZUADRES

ARGUMENTU 1ADRES

ARGUMENTU 2ADRES WYNIKU

ADRES NASTĘPNEGO

ROZKAZU

BAJT, GDY 256 ROZKAZÓW

Po 2 bajty dla przestrzeni adresowej 64 kB

2 bajty dla przestrzeni adresowej 64 kB

Page 14: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 14

Dużo tego – co robić?

KOD ROZKAZUADRES

ARGUMENTU 1ADRES

ARGUMENTU 2ADRES WYNIKU

ADRES NASTĘPNEGO

ROZKAZU

BAJT, GDY 256 ROZKAZÓW

Użycie rejestru,

lub adres domyślny

2 bajty dla przestrzeni adresowej 64 kB Licznik programu z automatyczną inkrementacją

Użycie rejestru,

lub adres domyślnyOrganizacja akumulatorowa

Page 15: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 15

Typy rozkazów

– operacje arytmetyczne,

– operacje logiczne,

– operacje logiczne na bitach,

– przesyłanie danych,

– rozkazy zmieniające kolejność wykonywania programu.

Page 16: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 16

ROZKAZY ARYTMETYCZNE

integer (binary + decimal) or FPAdd, Subtract, Multiply, DivideMogą być jedno-, dwu-, lub trójoperandowe.W niektórych procesorach występują różne rozkazy dla

danych o różnych formatach.Mogą występować odrębne rozkazy mnożenia i dzielenia

liczb bez i ze znakiem.

Shift and rotate instructions: left or right shifts and rotations.

Występują dwa typy przesunięć : logiczne i arytmetyczne.

Page 17: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 17

ROZKAZY LOGICZNE

Logical not, and, or, set, clear

Shift shift left/right, rotate left/rightMogą być jedno-, dwu-, lub trójoperandowe.

Występują dwa typy przesunięć : logiczne i arytmetyczne.

Page 18: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 18

PRZESŁANIA

Load (from memory)

Store (to memory)

memory-to-memory move

register-to-register move

input (from I/O device)

output (to I/O device)

push, pop (to/from stack)

Page 19: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 19

Operacje bitowe

Rozkazy operują na wyszczególnionych polach bitowych.Pole jest określane przez podanie jego rozmiaru i

przesunięcia (offset) względem początku słowa.Rozkazy zwykle umożliwiają sprawdzenie stanu

(dotyczy to różnych flag), ustawienie, zerowanie i ew. inne operacje.

Page 20: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 20

Operacje na danych zmiennoprzecinkowych

• Przesłania danych zmiennoprzecinkowych;

• Rozkazy arytmetyczne, porównania, pierwiastkowania, wartość bezwzględna, funkcje trygonometryczne, operacje na typach nasyceniowych (MMX) i in.

Page 21: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 21

Rozkazy zmieniające kolejność wykonywania programu.

• skoki - bezwarunkowe

• Rozgałęzienia – warunkowe;

• Wywołania procedur;

• Powroty z procedur;

• Powroty z przerwań i wyjątków.

Page 22: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 22

Rozkazy inne

Rozkazy systemowe – umożliwiają użytkownikowi wpływać bezpośrednio na pracę procesora i innych części systemu komputerowego

Rozkazy dla specjalnych jednostek funkcjonalnych (np. operacje graficzne).

Rozkazy atomowe – sterujące dostępem do krytycznych części procesora.

Page 23: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 23

Formaty rozkazówformat 3-adresowy :

opcode | Dest | Src1 | Src2;typowo używany przez procesory o architekturze

rejestr-rejestr (load/store); format 2-adresowy :

opcode | Dest/Src1 | Src2 ; architektura rejestr-pamięć (R/M).

format 1-adresowy: opcode | Src;

typowy dla maszyn akumulatorowych.

format zeroadresowy: opcode; Maszyny stosowe.

Page 24: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 24

Architektury rejestrowe

C := A + B

Stosowa

Push APush BAddPop C

Akumula-torowa

Load AAdd BStore C

Pamięć- Pamięć

Add C, A, B

Rejestr-Pamięć

Load R1, A

Add R1, BStore C, R1

Rejestr- Rejestr

Load R1, ALoad R2, BAdd R3,R2, R1,Store C, R3

zeroadresowy

1-adresowy 3-adresowy 2-adresowy 3-adresowy

Page 25: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 25

Kryteria dla doboru zestawu rozkazów

Kompletność : repertuar rozkazowy musi umożliwić wykonanie każdego algorytmu;

Ortogonalność: dwa rozkazy nie mogą robić tego samego;

Symetria: ADD – SUB;

Adekwatność: więcej zasobów dla często używanych rozkazów;

Wydajność: krótki czas wykonywania;

Page 26: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 26

Dominująca architektura : 8086

• Złożoność:• rozkazy o rozmiarach od 1 do 17 bajtów;• Jeden z rejestrów musi być równocześnie

źródłowym i docelowym.• Jeden z operandów może być pobrany z

pamięci;• Złożone tryby adresowania - np. adresowanie

bazowe lub skalowane indeksowe z 8- lub 32-bitowym przemieszczeniem.

“what the 80x86 lacks in style is made up in quantity,- - better making it beautiful from the right perspective”

Page 27: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 27

Formaty rozkazów Pentium

Page 28: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 28

Formaty rozkazów Pentium -przedrostkiPowtórzenia – powodują wielokrotne wykonanie

rozkazów łańcuchowych

,, aż do wyzerowania CX, lub ustawienia flagi ZF”;

Zmiana domyślnego segmentu16/32 bity

16/32 bity

Page 29: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 29

Formaty rozkazów Pentium

Argument w rejestrze

8/16/32 bitowym

Argument w rejestrze

lub pamięci Współczynnik skali

Wybór rejestru indeksowego

Wybór rejestru bazowego

Page 30: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 30

Adresowanie bazowo-indeksowe ze skalowaniem i deskryptoroweLA = ([wskaźnik segmentu]) + (baza) + (indeks) × skala + przemieszczenie,

przesunięcie

indeks Argument +

baza

skalax

Adres segmentu

Wskaźnik segmentu

deskryptor

adres segmentu

+

Page 31: W7 – Architektura zbioru rozkazów

Zdzisław Stryła komputer 31

Formaty rozkazów w PDP-11