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