Wykład 6 - Lista rozkazów, Materiały

Poza tym na świecie jest niewiele istot groźniejszych od kobiety.

12/26/2008
architektura komputerów
w. 5
Lista rozkazów
Lista rozkazów
Wykonanie programu polega na interpretowaniu w procesorze kolejnych rozkazów
umieszczonych w pamięci operacyjnej w postaci słów rozkazowych.
Słowo rozkazowe jest ciągiem bitów określonej długości, podzielone jest na pola, zawierające
kody określające wszystkie czynności cyklu rozkazowego.
Kod operacji
(kilka bajtów)
Pole argumentów
(kilka-kilkanaście bajtów)
Zwykle procesor posiada kilka (kilkanaście) formatów rozkazów
architektura komputerów w
1
12/26/2008
Lista rozkazów
procesor
liczba
różnych
długości
rozkazów
liczba
sposobów
adresowa
nia
max.
długość
rozkazu
VAX
56
21
57
MC 68000
11
12
22
IA-32
12
7
16
SPARC
1
2
4
MIPS
1
1
4
RS/6000
1
4
4
Lista rozkazów
Klasyfikacja z tytułu:

funkcji rozkazu:

sterujące

wykonaniem programu (skoki, skoki do podprogramu warunkowe i bezwarunkowe) JMP, CALL, RET,

sterujące pracą procesora HALT, NOP

przesłania MOV, PUSH, POP, LD, SET

międzyrejestrowe

pamięć - rejestr

z operandem bezpośrednim

instrukcje arytmetyczno-logiczne

arytmetyczne ADD, SUB, MUL, ABS, DIV, NEG, INC, DEC

logiczne AND, OR, NOT

testowanie

przesunięcia i rotacje SHL, SHR, SAL, SAR, ROL, ROR

instrukcje wejścia-wyjścia IN, OUT

sposobu adresowania argumentów:

bezadresowe (zeroadresowe) - zwykle używane do sterowania działaniem procesora

jednoadresowe - z jednym argumentem

wieloadresowe - większość działań arytmetycznych i logicznych
architektura komputerów w
2
12/26/2008
Lista rozkazów
Repertuar
określa funkcje dostępne dla programisty.

Pierwsze komputery dysponowały ograniczoną listą rozkazów głównie arytmetycznych
oraz wejścia/wyjścia

Obecnie komputery różnią się często znacząco listą rozkazów.

Maszyny małe dysponują ograniczoną listą rozkazów arytmetycznych.

Listy rozkazów mainframe obejmują bogaty repertuar operacji arytmetycznych
obejmujący podstawowe 4 działania.
Słowo rozkazowe
określa format rozkazu i zawiera:

kod operacji

odnośniki do argumentów (adresy argumentów lub kody określające sposób wyliczenia
adresów argumentów) lub argumenty

kontekstowe (rozkazy tyczące akumulatora, argument bezpośredni)

adres(y) (kod) rejestru(ów)

argument w pamięci
Sposób wyliczenia adresu argumentu nazywany jest
trybem adresowania
.
Procesor posiada
zwykle co najmniej kilka trybów adresowania.
Lista rozkazów. Tryby adresowania.
Sposób wyliczenia adresu argumentu nazywany jest
trybem adresowania
.
Procesor
posiada zwykle co najmniej kilka trybów adresowania.

Tryb natychmiatowy (immediate)
Kod operacji
argument

Tryb rejestrowy
rejestry
Kod operacji
Nr rejestru
argument

Tryb bezpośredni (direct)
pamięć
Kod operacji
Adres argumentu
argument

Tryb rejestrowy pośredni (register indirect)
pamięć
rejestry
argument
Kod operacji
Nr rejestru
Adres argumentu
architektura komputerów w
3
12/26/2008
Lista rozkazów. Tryby adresowania.
.
pamięć

Tryb pośredni (indirect)
argument
Kod operacji
Adres
Adres argumentu

Tryb indeksowy
rejestry
Kod operacji
przesunięcie
Nr rejestru
Adres argumentu
pamięć
+
argument
Lista rozkazów
Przykłady.
Intel 80x86
słowo rozkazowe - 1-15 bajtów
OP
5
R
3
OP
8
OP
OP
8
8
AMB
OP
a
R/x
R/m
8
2
3
3
AMB
OP
a
R/x
R/m
8
2
3
3
SIB
sc
INDEX
BASE
2
3
3
OP - kod rozkazu; X - rozszerzenie kodu, R - identyfikator rejestru, a - typ wskaźnika, m - tryb adresowania
sc-skala, ; AMB - adressing mode byte, SIB - bajt rozszerzenia adresu
architektura komputerów w
4
12/26/2008
Lista rozkazów
Przykłady.
Intel 80x86
słowo rozkazowe - 1-15 bajtów
MOV ebx,eax
ebx
10001011
11011000
mov
mod
eax
MOV edx,$004081a0
10111010
10100000
Mov
32b,imm
edx
10000001
01000000
00000000
Lista rozkazów
Intel 80x86 Tryby adresacji
EBX
EBX
architektura komputerów w
5
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kachorra.htw.pl