컴퓨터구조(명령어)

손원진·2023년 2월 23일
0

컴퓨터기초

목록 보기
6/11

명령어의 구조

명령어의 구조는 연산 코드와 오퍼랜드로 이뤄져있습니다.

오퍼랜드

연산에 사용될 데이터 혹은 연산에 사용될 데이터가 저장된 위치를 의미한다.
오퍼랜드는 1개이상인 경우도 있고 없는 경우도 있다.

연산에 사용될 데이터가 저장된 위치를 의미하는 경우가 더 많기 때문에 주로창이라고도 부른다.


오퍼랜드의 주소 지정 방식이다. 연산에 사용될 데이터가 저장된 위치를 유효주소라고 말한다.

하나의 연산코드에 오퍼랜드 연산 내용이 많아질 수록 각각 표현할 수 있는데이터의 크기가 제한되므로 주소를 사용해서, 표현할 수 있는데이터를 늘린다.

주소지정 방식은 다음과 같다

명령어 주소지정 책 97PAGE참조

목적 - 메모리를 조회해서 찾는데 CPU가 동작하는 것은 굉장히 느리다. 따라서 메모리를 최대한 적게 조회하는 것이 좋다. 주소지정을 여러개해서 데이터 조회 X


연산 코드

명령어가 수행할 연산을 담고 있다

  • 데이터 전송
  • 산술 /논리연산
  • 제어 흐름 변경
  • 입출력 제어

대표적인 연산 코드의 종류

  • MOVE 데이터 옮겨라

  • STORE 메모리에 저장해라

  • LOAD 메모리에서 CPU로 데이터를 가져와라

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

  • POP 스택에 최상단 데이터를 가져와라

    	STACK


한쪽 끝이 막혀있는 구조로 되어있는 것을 STACK이라고 한다.
stack자료구조 한번 알아보고 넘어가기

Q자료구조 

대표적인 연산코드의 종료 ADD, SUBTRACT, MULTIPLY, DIVIDE
INCREMENT / DECREMENT 오버랜드에 1을 더해라 빼라 
AND OR NOT:AND OR NOT
COMPARE 두개의 숫자 FALSE TRUE 값비교 


제어흐름 변경 
JUMP : 특정 주소로 실행순서를 옮겨라 
CONDITION JUMP : 조건에 부합할 때 특정 주소로 실행 순서를 옮겨라
HALT : 프로그램 실행을 멈춰라
CALL : 되돌아올 주소를 저장한 채 특정주소로 실행순서를 옮겨라 
profile
매일 한 걸음

0개의 댓글