1.명령어
1)정의
컴퓨터에게 특정작업을 수행하라고 보내는 메시지
2.명령어의 구조
1)연산코드(Operation Code): 명령어가 수행할 연산(연산자)
2)오퍼랜드(Operand): 연산에 사용되는 데이터 또는 데이터의 주소(피연산자)
*색칠된 부분을 연산코드 필드
*색칠되지 않는 부분을 오퍼랜드 필드라고 한다.
*어셈블리어 예시
3.오퍼랜드
1)정의
연산에 사용되는 데이터 또는 데이터의 주소
-숫자나 문자 등 데이터가 올라오거나 데이터가 저장된 레지스터의 주소나
메모리주소가 적힌다.
-그래서 주소필드라고 명명하기도 한다.
-오퍼랜드의 개수에 따라 명칭이 달라진다.
4.연산코드
1)정의:명령어가 수행할 연산(연산자)
-크게 네가지 유형으로 나눌 수 있다.
5.주소 지정 방식
1)정의 및 개요
-메모리나 레지스터에 주소가 담기는 경우가 많은데 그 이유는 명령어의 길이 때문이다.
-하나의 명령어가 16비트이고 연산코드 필드가 4비트라면 오퍼랜드 필드는 12비트이고
이것을 n개의 오퍼랜드가 나눠 갖는다. 하지만 데이터를 담기에는 부족하다고 볼 수 있다.
-만약 오퍼랜드에 주소 값을 하게 된다면 더 큰 데이터를 사용할 수 있다.
예를 들어 사용할 데이터의 주소가 4비트이고 주소로 이동한 곳에는 16비트의 데이터가
있는 형식이다.
2)유효주소:연산에 대상이 되는 데이터가 저장된 위치를 유효주소(effective address)라고 한다.
6.주소 지정방식의 종류
1)즉시 주소 지정방식(immediate addressing mode):
-연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방식.
-사용할 데이터가 작다는 단점이 있지만 메모리를 찾는 과정이 없는 만큼 빠르다.
2)직접 주소 방식(direct addressing mode):
-오퍼랜드 필드에 유효주소를 직접적으로 명시하는 방식.
-연산코드 만큼 명령어의 크기가 줄어 오퍼랜드 필드가 줄어든다.
3)간접 주소 방식(indirect addressing mode):
-유효주소의 주소를 오퍼랜드의 필드에 명식하는 방식.
-메모리에 두 번 접근하는 만큼 느린 방식이다.
4)레지스터 주소 방식(register addressing mode):
-데이터를 저장한 레지스터의 주소를 오퍼랜드에 직접 명시하는 방식
-레지스터는 CPU에 있는 임시 메모리이기에 일반 메모리보다 접근이 빠르다.
-하지만 직접 주소 방식과 같은 문제로 레지스터 크기에 제한이 생길 수 있다.
5)레지스터 간접 주소 방식(register indirect addressing mode):
-연산할 데이터를 메모리에 저장하고 그 메모리 주소를 레지스터에 저장하고 또
그 레지스터 주소를 오퍼랜드에 저장하는 방식.
-메모리에 두 번 접근하는 간접 주소 방식보다 빠르다.
'컴퓨터 공학 > 혼자 공부하는 컴퓨터 구조 +운영체제' 카테고리의 다른 글
7.레지스터 (0) | 2023.06.25 |
---|---|
6.ALU와 제어장치 (0) | 2023.06.24 |
4.소스 코드와 명령어 (0) | 2023.06.20 |
3. 0과 1로 문자를 표현하는 방법 (0) | 2023.06.18 |
2. 0과 1로 숫자를 표현하는 방법 (2) | 2023.06.17 |