borzemski,organizacja systemów komputerowych, LISTY ROZKAZÓW

LISTY ROZKAZÓW: WŁASNOŚCI I FUNKCJE



WŁASNOŚCI ROZKAZÓW MASZYNOWYCH


rozkazy maszynowe (komputerowe) – rozkazy wykonywane przez procesor

lista rozkazów – zbiór rozkazów, które może wykonać dany procesor


Elementy rozkazu maszynowego:

a) kod operacji – w kodzie binarnym, określa operację jaka ma zostać wykonana

b) odniesienie do argumentów źródłowych – odniesienie do argumentów, danych wejściowych

c) odniesienie do wyniku – operacja często zwraca wynik

d) odniesienie do następnego rozkazu – wskazuje jaki rozkaz ma wykonać następny, często jest to kolejny rozkaz po prostu


Rozkazy do wykonania umieszczane są w pamięci głównej lub dyskowej. Jeżeli nie ma jawnego odniesienia do następnego rozkazu wykonywane są one po kolei. Jeżeli ma być wykonany inny rozkaz niż wynika z kolejności, to trzeba podać jego adres.


Argumenty źródłowe i wyniki mogą znajdować się w:

a) pamięć główna lub wirtualna – podaje się adres tego fragmentu pamięci

b) rejestr procesora – podaje się identyfikator rejestru

c) urządzenie wejścia/wyjścia – podaje się moduł i urządzenie we/wy



REPREZENTACJA ROZKAZU:


- każdy rozkaz reprezentowany jest za pomocą ciągu bitów (format IAS)

- rozkaz jest dzielony na pola odpowiadające polom składowym rozkazu

- rozkaz podczas wykonywania jest wczytywany do rejestru rozkazów (IR) w procesorze

- zamiast kodu binarnego często używa się symboli czytelnych dla człowieka (ADD, MULTIPLY ..)


mnemoniki – symbole odpowiadające rozkazom binarnym, czytelne dla człowieka


Na przykład rozkaz „ADD R,Y” może oznaczać dodanie wartości rejestru R do wartości komórki o adresie Y



PODZIAŁ ROZKAZÓW:


Jedno polecenie języka wysokiego poziomu może wywoływać kilka rozkazów maszynowych.


Rozkazy możemy podzielić na takie grupy:

a) przetwarzanie danych – rozkazy arytmetyczne i logiczne (obliczenia na liczbach i bitach)

b) przechowywanie danych – rozkazy pamięciowe (lokowanie i odczytywanie pamięci)

c) ruch danych – rozkazy wejścia/wyjścia (przenoszenie danych do wewnątrz i na zewnątrz)

d) sterowanie – rozkazy testowania i rozgałęzienia (sprawdzanie poprawności, sterowanie rozkazami)


rozkazy pamięciowe – przenoszą dane pomiędzy rejestrami i pamięcią komputera, oraz wyników do użytkownika


akumulator – rejestr procesora w starych komputerach (OC), o ogólnym przeznaczeniu, gdzie domyślnie są zachowywane

wyniki obliczeń, jak np. stos


Liczba adresów w rozkazie:

- jest istotną miarą efektywności i architektury komputerowej

- wraz z używaniem rozkazów o mniejszej liczbie adresów zwiększamy ilość używanych rozkazów

- rozkazy bez adresowe korzystają ze stosu do zapamiętywania danych, domyślne miejsce

- w przypadku rozkazów wieloadresowych korzysta się z wielu rejestrów o ogólnym przeznaczeniu

- odnoszenie się do rejestrów zamiast do obszarów pamięci jest szybsze i efektywniejsze



PROJEKTOWANIE LISTY ROZKAZÓW:


Musimy zaprojektować:

- repertuar operacji

- rodzaje danych

- format rozkazu, długość, ilość pól

- rejestry do których mogą się odwoływać rozkazy

- tryby adresowania pamięci


RODZAJE ARGUMENTÓW:


a) liczby:

- mają ograniczony zakres i dokładność

- typy liczb: całkowite, stałopozycyjne, zmiennopozycyjne, dziesiętne

- reprezentacja liczb dziesiętnych: każda cyfra reprezentowana jest przez cztery bity (np. 1 = 0001 itd.)


b) znaki:

- tak jak teksty przechowywane w postaci binarnej zgodnie z jakimś kodem (np. ASCII)


ANSI – (American National Standards Institute) - stworzył kod ASCII


ASCII (American Standard Code for Information Interchange):

- każdy znak jest reprezentowany przez unikalne 7 bitów,

- znaki przesyła się na 8 bitach (bit parzystości),

- liczby są reprezentowane przez 011XXXX, gdzie XXXX to czterobitowa reprezentacja liczb dziesiętnych


EBCDIC (Extended Binary Coded Decimal Interchange Code) – inny sposób kodowania znaków w systemie binarnym


c) dane logiczne:

- pojedyncze bity, przyjmują wartość 0 lub 1

- dowolną wartość możemy traktować jako jakiś obiekt albo ciąg znaków logicznych


Rodzaje danych w Pentium:

a) bajt (8 bitów)

b) słowo (16 bitów)

c) podwójne słowo (32 bity)

d) poczwórne słowo (64 bity)


Pentium stosuje „styl cienkokońcówkowy”


Styl cienkokońcowy (little-endian) – oznacza, że najmniej znaczący bajt jest przechowywany pod najniższym adresem


Rodzaje danych w PowerPC:

a) bajt (8 bitów)

b) półsłowo (16 bitów)

c) słowo (32 bity)

d) podwójne słowo (64 bity)


PowerPC stosuje zarówno styl cienko jak i grubo-końcówkowy


Styl grubokońcowy (big-endian) – oznacza, że najmniej znaczący bajt jest przechowywany pod najwyższym adresem


IEEE 754 - standard reprezentacji binarnej i operacji na liczbach zmiennoprzecinkowych (IEEE floating-point standard),

implementowany powszechnie w procesorach i oprogramowaniu obliczeniowym.



RODZAJE OPERACJI:


Rozkazy zawierają kod mówiący o tym, jaki rodzaj operacji ze sobą niosą. Mamy takie rodzaje operacji:

- logiczne

- arytmetyczne

- transferu danych

- konwersji

- wejścia/wyjścia

- sterowania systemowego

- przekazywania sterowania


a) transfer danych:

- podajemy co przenosimy, gdzie na jakiej jednostce pamięci itd ...

- czy pracujemy w rejestrze czy w pamięci czy na urządzeniach we/wy

- podajemy tryb użytego adresowania


b) operacje arytmetyczne:

- standardowe operacje matematyczne na liczbach dziesiętnych

- wykonywane w ALU


c) operacje logiczne:

- operacje logiczne: and, or, xor, not, itd.

- przesunięcie bitów


przesunięcie logiczne – z jednej strony bit jest tracony, a z drugiej dopisywane jest zero

przesunięcie arytmetyczne – jeżeli jest w prawo to bit skrajny z lewej jest powielany


d) konwersje:

- konwersje typów danych z jednego na drugi


e) operacje wejścia/wyjścia:

- rozkazów we/wy jest niewiele ale wiele jest rodzajów wywołań i argumentów


f) sterowanie systemowe:

- używane przez sam system operacyjny

- rozkazy te modyfikują lub czytają rejestr sterowania


g) przekazywanie sterowania:

- przekazywanie sterowania programu do innego miejsca jawnie

- rodzaje rozkazów przekazywania sterowania: rozgałęzienie, pominięcie, wywołanie podprogramu


Rozgałęzienie:

- podajemy inny rozkaz do wykonania niżby wynikał z sekwencji rozkazów

- często jest to warunkowe, czyli zależne od spełnienia danego warunku

- przykład rozkazu rozgałęzienia [BRE X,Y,Z] – rozgałęzienie do Z jeżeli (X>Y)


Pominięcie:

- podajemy inny rozkaz do wykonania niżby wynikał z sekwencji rozkazów

- przykład rozkazu rozgałęzienia [ISZ R1] – pomiń następny rozkaz jeżeli (R1==0)


Wywołanie podprogramu:

- wywołanie i uruchomienie podprogramu, a po tym powrót do miejsca wywołania

- adres wywołania podprogramu przechowywany jest w: stosie, rejestrze, początku podprogramu

- przykład rozkazu wywołania podprogramu [CALL Z] – wywołaj podprogram Z




STOSY


stos – to uporządkowany zbiór elementów do których mamy dostęp tylko z jednej strony (wierzchołek stosu), stos jest jednym z

rodzajów list LIFO (Last In – First Out)

długość stosu – to ilość elementów na stosie przechowywanych


Operacja na stosie:

- POP – zdejmowanie ze stosu

- PUSH – wkładanie na stos


Istotne adresy stosu (przechowywane w pamięci procesora):

a) wskaźnik stosu – zawiera adres wierzchołka stosu

b) podstawa stosu – zawiera adres najniższej lokacji stosu

c) granica stosu – zawiera adres najwyższej lokacji zarezerwowanego obszaru pamięci


OBLICZANIE WYRAŻEŃ


notacja wrostkowa – operator binarny występuje pomiędzy argumentami, np. ( 1 + 2 )

notacja przyrostkowa (odwrotna notacja polska) – operator następuje po swoich argumentach, np. ( 1+2x3 ) = ( 123 x + )



TRYBY KOŃCÓWKOWE


a) tryb grubokońcówkowy – od lewej do prawej, najpierw najstarszy bajt

b) tryb cienkokońcówkowy – od prawej do lewej, najpierw najmłodszy bajt



W czym sprawdzają się lepiej od konkurenta:


a) tryb cienkokońcówkowy:

- arytmetyka matematyczna

- konwersja adresów liczb całkowitych


b) tryb grubokońcówkowy:

- sortowanie łańcuchów znaków

- rzutowanie typów danych

- spójny porządek danych w pamięci



Wyszukiwarka

Podobne podstrony:
borzemski,organizacja systemów komputerowych, OGÓLNY OBRAZ DZIAŁANIA KOMPUTERA I JEGO URZĄDZEŃ WEWNĘ
borzemski,organizacja systemów komputerowych, STRUKTURA I DZIAŁANIE PROCESORA
borzemski,organizacja systemów komputerowych, Wejście i wyjście
borzemski,organizacja systemów komputerowych, WSPIERANIE WYSTEMU OPERACYJNEGO
Organizacja pamięci komputerów, szkola, systemy operacyjne, klasa 1
10 Reprezentacja liczb w systemie komputerowymid 11082 ppt
wyklad 2012 10 25 (Struktury systemów komputerowych)
Abstrakcyjne wyobrażenie elementów systemu komputerowego
Podstawy Informatyki Wykład V Struktury systemów komputerowych
Gostomczyk Organizacja systemu logistycznego
Opis oprogramowania wspomagające analizę komponentów systemu komputerowego, Prace kontrolne
Bezpieczeństwo systemów komputerowych
Niektóre prawne aspekty włamań do systemu komputerowego
tranzystory mosfet(1), Architektura systemów komputerowych, Sentenza, Sentenza
sciaga-skrocona, Informatyka Stosowana, Architektura systemów komputerowych, ASK
ukl 74xx, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Archit
Architektura systemów komputerowych przeliczanie systemów, Notatki
Bezpieczeństwo systemów komputerowych
iżykowski,ORGANIZACJA SYSTEMÓW PRODUKCYJNYCH, RODZAJE PRCEOSÓW PRODYKCYJNYCH

więcej podobnych podstron