Rozkaz (informatyka)

Schemat działania prostego procesora wykonującego rozkazy

Rozkaz – pojedyncza operacja centralnej jednostki obliczeniowej określona przez zestaw rozkazów jej modelu programowego. Jest ona przekazywana do procesora, który ją dekoduje, a następnie wykonuje, po czym zapisuje wartość wynikową w określonym miejscu lub ustawia flagę błędu, jeżeli wystąpił on podczas przetwarzania.

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ż

Media użyte na tej stronie

CPU block diagram.svg
Autor: , Licencja: CC-BY-SA-3.0
Block diagram of a hypothetical simple CPU, showing instruction fetch, decode, data registers, ALU, and memory interface, and major relationships.