ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 명령어의 구조
    Computer Science/컴퓨터 구조 2023. 8. 5. 16:08

    기계어나 어셈블리어가 이루는 하나하나가 명령어이다.

    명령어는 연산코드 (operation code) 와 오퍼랜드 (operand)로 이루어져 있음.

     

    오퍼랜드는 없을 수도, 하나 있을 수도, 2개, 3개 있을 수도 있다.

     

    연산코드는 CPU마다 다르지만 공통으로 사용하는 대표적인 연산 코드들이 있다.

    그 종류는 아래와 같다.

    1. 데이터 전송

    2. 산술/논리 연산

    3. 제어 흐름 변경

    4. 입출력 제어

     

     대표적인 연산 코드는 아래와 같다.

    데이터 전송

    MOVE : 데이터를 옮겨라

    STORE : 메모리에 저장하라

    LOAD (FETCH) : 메모리에서 CPU로 데이터를 가져와라

    PUSH : 스택에 데이터를 저장하라

    POP : 스택의 최상단 데이터를 가져와라

    스택 ?

     

    산술/논리 연산

    ADD / SUBTRACT / MULTIPLY / DIVED : 덧셈 / 뺄셈 / 곱셈 / 나눗셈을 수행하라 

    INCREMENT / DECREMENT : 오퍼랜드에 1을 더하라 / 오퍼랜드에 1을 빼라

    AND / OR / NOT: AND / OR / NOT : 연산을 수행하라

    COMPARE : 두 개의 숫자 또는 TRUE / FALSE 값을 비교하라

     

    제어 흐름 변경

    JUMP : 특정 주소로 실행 순서를 옮겨라

    CONDITIONAL JUMP : 조건에 부합할 때 특정 주소로 실행 순서를 옮겨라

    HALT : 프로그램의 실행을 멈춰라

    CALL : 되돌아올 주소를 저장한 채 특정 주소로 실행 순서를 옮겨라

    RETURN : CALL 을 호출할 때 저장했던 주소로 돌아가라

    입출력 제어

    READ (INPUT) : 특정 입출력 장치로부터 데이터를 읽어라

    WRITE (OUTPUT) : 특정 입출력 장치로 데이터를 써라

    START IO : 입출력 장치를 시작하라

    TEST IO : 입출력 장치의 상태를 확인하라

     

     

    주소 지정 방식

    오퍼랜드에 사용되는 공간은 제한적.

    가령 명령어의 크기가 16비트라 하고, 연산코드가 그 중 4비트라 하면 오퍼랜드는 12비트 밖에 남지 않는다.

     

    그래서 데이터를 직접 오퍼랜드에 담을 수도 있지만 데이터가 저장된 주소를 담는 경우가 많다.

    연산의 대상이 되는 데이터가 저장된 위치를 유효 주소라 한다.

     

    연산의 대상이 되는 데이터는 메모리에 있을 수도 CPU 내부 레지스터에 있을 수도 있다.

     

    'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

    CALL, RET, 함수 호출  (0) 2024.04.25
    레지스터와 명령어 사이클  (0) 2023.08.11
Designed by Tistory.