컴퓨터 명렁어 (instuction)
- 컴퓨터가 수행해야 하는 일을 나타내기 위한 비트들의 집합
명령어 집합 (instruction set)
- 모든 컴퓨터는 자신의 명령어 집합을 가지고 있음
- 동일 계열의 컴퓨터는 같은 명령어 집합을 사용
- A타입의 CPU와 B타입의 CPU는 다른 명령어 형식을 가짐
- 명령어 집합을 이용하여 컴퓨터 시스템의 구조를 살펴볼 수 있음
컴퓨터 명령어 수행기능
- 함수연산 기능: 덧셈, 뺄셈, 시프트, 보수 등의 산술 연산과 AND OR NOT등의 논리연산
- 정보전달 기능: 레지스터들 사이의 정보 전달, CPU와 메모리 사이의 정보전달
- 순서제어 기능: 조건분기, 무조건 분기 등의 명령어 수행순서 제어
- 입출력 기능: 메모리와 입출력 장치 사시의 정보 이동 기능
명령어는 필드
- 연산코드 필드(OP Code): 처리해야 할 연산의 종류
- 오퍼랜드 필드(operand): 처리할 대상 데이터 또는 데이터의 주소
연산코드 OP code |
오퍼랜드 operand |
예) ADD X;
연산코드: ADD
오퍼랜드: X
기억장소에 따른 명령어 형식
- 누산기
- 다중 레지스터
- 스택구조
누산기를 이용하는 명령어 형식
ADD X;
AC <- AC + M[X]
누산기안의 내용과 기억장치 주소 X의 내용을 더하여 누산기로 전송
LOAD X;
AC <- M[X]
기억장치 주소 X의 내용을 누산기에 적재
STORE X;
M[X] <- AC
누산기의 내용을 기억장치 X에 저장
다중 레지스터를 이용하는 명령어 형식
ADD R1,R2,R3;
R3 <- R1 + R2
레지스터 R1, R2의 내용을 더하여 R3로 전송
ADD R1,R2;
레지스터 R1의 내용과 레지스터 R2를 더하여 R2로 전송
MOVE R1, R2;
R2 <- R1
레지스터 R1의 내용을 레지스터 R2로 전송
LOAD X,R1 ;
R1 <- M[X]
기억장치 주소 X의 내용을 R1에 적재
STORE R1, X;
M[X] <- R1
레지스터 R1의 내용을 기억장치 주소 X에 저장
스택구조를 이용하는 명령어 형식
ADD;
TOS <- TOS + TOS -1
기억장치 제일 위의 내용과 그 아래의 내용을 더해서 제일 위로 전송
PUSH X;
TOS <- M[X]
기억장치 주소 X의 내용을 기억장치 스택의 제일 위로 전송
POP X;
M[X] <- TOS
기억장치 스택의 제일 위의 내용을 기억장치 주소 X로 전송
* TOPS: Top Of Stack, 스택의 제일 위
'개발과 기술' 카테고리의 다른 글
[Python] virtualenvwrapper에서 가상환경 리스트 하는 방법 (0) | 2018.09.24 |
---|---|
[Python] Python Django Template에서 slice 하는 방법 (0) | 2018.09.24 |
[HTML, CSS] a 태그 밑줄 없애는 방법 (0) | 2018.09.24 |
[Python] 쉬운 n진법 to 10진법 변환 (0) | 2018.09.20 |
[Python] @property (0) | 2018.09.11 |
댓글