Rozkaz (informatyka)

Rozkaz – pojedyncza operacja, którą może wykonać centralna jednostka obliczeniowa[1]. Jest ona określona przez zestaw rozkazów jej modelu programowego. Rozkaz przekazywany jest do procesora, który go dekoduje, a następnie wykonuje, po czym zapisuje wartość wynikową w określonym miejscu (rejestrze lub pamięci) lub ustawia flagę błędu, jeżeli wystąpił on podczas przetwarzania.

Schemat działania prostego procesora wykonującego rozkazy

Rozkaz komputera jest zapisany w postaci binarnej i nie różni się niczym od danych[1]. Nierozróżnialność danych od rozkazów jest spowodowana architekturą von Neumanna.

W systemach komputerowych ciąg występujących po sobie rozkazów tworzy program komputerowy, który zapisywany jest w postaci kodu maszynowego. Rozkazy (kod maszynowy) tworzące program rzadko są używane przez programistów bezpośrednio poprzez ich wewnętrzną, bitową reprezentację – zwykle generowane są przez asembler lub, znacznie częściej, przez kompilator języka wysokiego poziomu. W szerszym znaczeniu, rozkaz może być elementem programu wykonywalnego zawierającego kod bajtowy.

W tradycyjnych architekturach rozkaz składa się z kodu operacji określającego jej rodzaj, jak na przykład „zapisz wartość do rejestru”, oraz liczby operandów większej bądź równej zero, którymi mogą być rejestry procesora, adresy pamięci operacyjnej czy po prostu zwykłe dane. W przypadku architektur VLIW, do których należy wiele mikroprogramów, kilka jednoczesnych operacji i towarzyszących im operandów może być zapisanych w postaci jednego rozkazu, co pozwala procesorowi na równoległe ich wykonywanie przy pomocy kilku jednostek wykonawczych.

Rozmiar czy długość rozkazu może się wahać od 4 bitów, jak w niektórych mikrokontrolerach, do wielu setek bitów, jak w niektórych systemach VLIW. Długość rozkazu w większości nowych procesorów używanych w komputerach osobistych, mainframe'ach i superkomputerach waha się od 16 do 64 bitów. W niektórych architekturach, np. w RISC, rozkazy mają ustaloną długość, zwykle odpowiadającą długości słowa maszynowego.

Zobacz też edytuj

Przypisy edytuj

  1. a b Kruk 1999 ↓, s. 7.

Bibliografia edytuj