03 listy rozkarow

Transkrypt

03 listy rozkarow
Architektura komputerów
Tydzień 3
Listy rozkazów
Elementy rozkazu
maszynowego
Kod operacji
●
Odniesienie do argumentów źródłowych
●
Odniesienie do wyniku
●
Odniesienie do następnego rozkazu
●
Odniesienia - adresy
●
Pamięć główna lub wirtualna
●
Rejestr procesora
●
Urządzenia wejścia - wyjścia
Reprezentacja rozkazu
●
●
Format rozkazu
Symboliczna reprezentacja mnemoniki
Rodzaje rozkazów
●
Przetwarzanie danych – arytmetyczne i
logiczne.
●
Przechowywanie danych – pamięciowe.
●
Ruch danych – wejścia – wyjścia.
●
Sterowanie – testowanie i rozgałęzienia.
Liczba adresów
●
●
●
●
0 adresów
OP
1 adres
OP A
2 adresy
OP A,B
3 adresy
OP A,B,C
Projektowanie listy rozkazów
●
Repertuar operacji. Ile operacji, które i
jak złożone.
●
Rodzaje danych.
●
Format rozkazu.
●
Rejestry.
●
Adresowanie. Tryb lub tryby
adresowania.
Rodzaje argumentów
●
Adresy.
●
Liczby.
●
Znaki.
●
Dane logiczne.
Rodzaje danych Pentium
●
Ogólne – bajt, słowo (16bit), podwójne
słowo, poczwórne słowo.
●
Całkowite – ze znakiem.
●
Porządkowe – bez znaku.
●
BCD
●
Upakowana BCD
●
Wskaźnik bliski (32 bitowy)
●
Pole bitowe
●
Łańcuch bajtów
●
Zmiennopozycyjne
Rodzaje danych PowerPC
●
Bajt bez znaku
●
Półsłowo bez znaku
●
Półsłowo ze znakiem
●
Słowo bez znaku
●
Słowo ze znakiem
●
Podwójne słowo ze znakiem
●
Łańcuch bajtów
●
Zmiennopozycyjne
Rodzaje operacji
●
Transferu danych
●
Arytmetyczne
●
Logiczne
●
Konwersji
●
Wejścia-wyjścia
●
Sterowania systemowego
●
Przekazywania sterowania
Transfer danych
Move
przeniesienie danych ze źródła do miejsca
przeznaczenia
Store
przeniesienie słowa z rejestru procesora do
pamięci
Load
przeniesienie słowa z pamięci do rejestru
procesora
Clear
ustawienie słowa na wartość 0
Set
ustawienie słowa na wartość “same jedynki”
Push
włożenie słowa na wierzchołek stosu
Pop
zdjęcie słowa z wierzchołka stosu
Arytmetyczne
Add
Subtract
obliczenie sumy dwóch argumentów
obliczenie różnicy dwóch
argumentów
Multiply
obliczenie iloczynu dwóch
argumentów
Divide
obliczenie ilorazu dwóch argumentów
Negate
zmiana znaku argumentu
Increment
dodanie 1 do argumentu
Decrement
odjęcie 1 od argumentu
Logiczne
AND
iloczyn logiczny dwóch argumentów
OR
suma logiczna dwóch argumentów
NOT
negacja logiczna argumentów
XOR
operacja “wyłączne lub” dwóch argumentów
Test
sprawdzenie określonego warunku
Compare
porównanie dwóch argumentów
Shift
przesunięcie argumentu w lewo lub prawo
Rotate
przesunięcie argumentu z zawinięciem
Sterowania
Jump/Branch
zmiana adresu następnej instrukcji do
wykonania
Subroutine
wywołanie podprogramu
Return
powrót z podprogramu
Skip
przeskoczenie następnej instrukcji
Halt
zatrzymanie wykonywania programu
Wait
czasowe wstrzymanie wykonywania
programu
No operation
instrukcja “pusta”
Wejście - wyjście
Input/Read
wczytanie danych z urządzenia
wejściowego
Output/Write
wysłanie danych do urządzenia
wyjściowego
Start I/O
inicjalizacja urządzenia
wejścia/wyjścia
Test I/O
sprawdzenie stanu urządzenia
wejścia/wyjścia
Konwersja
Translate
Convert
przetłumaczenie danych na
podstawie tablicy konwersji
przekształcenie zawartości słowa z jednej
postaci na inną, np. liczbę binarną na
spakowaną BCD