Mano의 컴퓨터시스템구조 제3판, 프로텍 미디어, 김종상 옮김 도서를 정리, 요약하는 글입니다.
1. 컴퓨터 명령어
- 총 16비트 명령어 코드에서 (1) 메모리 참조 명령어는 위 그림과 같다. 주소 모드 I를 위해서 왼쪽의 1비트를 사용하고, 메모리의 주소를 지정하기 위해서 12bit가 사용된다. 남은 3bit는 opcode로 연산의 종류를 지정한다 여기서 연산은 14개(24 - 2)의 종류가 있다. 왼쪽부터 비트가 0 1 1 1은 레지스터 참조 명령어이고, 1 1 1 1은 입출력 명령어이기 때문이다. 0000~1111까지 16가지의 연산에서 앞의 두 개의 명령어를 빼서 14가지가 된다.
- 위 표에서 16진수로 표현된 명령어 코드에 해당되는 명령을 설명하고 있다. 예를 들어 AC를 클리어하는 CLA라는 명령어는 명령어 코드가 7800이다. 이는 16진수로 표현된 코드이기 이를 2진수로 바꿔서 생각해야 한다. 7800이라는 명령은 2진수로 바꿨을 때 0111 1000 0000 0000이 된다. 마찬가지로 INP 명령은 16진수 코드가 F800인데 이를 2진수로 바꾸면 1111 1000 0000 0000이다. 결국 첫 숫자가 7인지 F인지에 따라서 명령이 바뀐다는 것을 알 수 있다. 2진수로 표현된 명령어가 있다면 4자리씩 끊어서 보면 16진수로 편하게 바꿀 수 있다.
- 실제로 레지스터 참조 명령이나 입출력 명령에서 4bit를 사용하고 나면 남은 12bit가 연산 코드가 되므로 실제로는 더 많은 연산이 가능하지만 위의 표에서는 몇 가지만 소개하고 있다. 상용화된 컴퓨터에서는 더 복잡하고 완전한 형태의 명령어들이 있겠다.
'CS > 컴퓨터구조(Mano)' 카테고리의 다른 글
[컴퓨터구조] ch.5 기본 컴퓨터의 구조와 설계 (5) 명령어 사이클 (fetch, decode) (0) | 2024.10.01 |
---|---|
[컴퓨터구조] ch.5 기본 컴퓨터의 구조와 설계 (4) 타이밍과 제어 (0) | 2024.10.01 |
[컴퓨터구조] ch.5 기본 컴퓨터의 구조와 설계 (2) 컴퓨터 레지스터 (0) | 2024.09.26 |
[컴퓨터구조] ch.5 기본 컴퓨터의 구조와 설계 (1) 명령어 코드 (0) | 2024.09.22 |
[컴퓨터구조] ch.4 레지스터 전송과 마이크로 연산 (4) 시프트 마이크로 연산 (0) | 2024.09.22 |