DevGang
[CA-09] 명령어 (Instruction) 본문
1. 명령어(Instruction)의 구성
- 연산자 부(Op-Code, Operation Code 부) = 실행할 명령이 들어 있음, 연산자 부의 비트수가 n Bit 일 때 2의 n승 개의 명령어(연산자) 수행 가능
- 자료부(어드레스 필드, 주소부) = 실제 데이터에 대한 정보를 표시하는 부분
- 어드레스 필드의 크기 = 최대 메모리 용량
- <예> OP-Code 6bit이고 어드레스 필드 16bit 일 때, 최대 메모리 용량은? 64K Word (2의 16승 = 65536 = 64K
2. 연산자(OP-Code, Operation Code)의 기능
- 함수 연산 기능
- 중앙처리장치에서 데이터를 처리하는 기능
- 산술, 논리 연산 명령(ADD, AND, CPA, CPC, CLC, ROR, ROL 등)
- 자료 전달 기능
- 중앙처리장치와 기억장치 사이에서 정보를 교환하는 기능
- Load : 메모리의 내용을 CPU로 전달
- Store : CPU의 정보를 메모리에 기억
- Move : 특정 레지스터의 내용을 다른 레지스터로 옮기는 명령
- Push, Pop : 스택에 자료를 저장, 인출하는 명령
- 제어 기능
- 프로그램의 수행 흐름을 제어하는 데 사용
- 무조건 분기 명령 : GOTO, JMP(Jump)
- 조건 분기 명령 : IF, SPA, SNA, SZA
- 부 프로그램 호출 및 복귀 : Call, Return
- 입, 출력 기능
3. 명령어 형식
- 3 주소 명령어
- Operand 부가 3개로 구성
- 연산 후에 입력자료가 변하지 않고 보존됨
- 전체 명령어를 읽어오는 시간 단축
- 프로그램의 길이가 짧아짐
- 하나의 명령을 수행하기 위해서 최소한 4번 기억 장소에 접근해야 하므로 전체적인 수행 시간 길어짐
- 2 주소 명령어
- Operand 부가 2개로 구성
- 3-주소 명령어에 비해 길이가 짧음
- 계산 결과를 시험할 필요가 있을 때 기억장치에서 기억될 뿐만 아니라 CPU에도 남아 있어 CPU 내에서 직접 시험이 가능하므로 시간이 절약됨. 전체 프로그램의 길이가 길어짐
- 1 주소 명령어
- Operand 부가 1개로 구성
- 반드시 누산기(Accumulator)가 필요한 주소 지정방식
- 모든 명령은 누산기에 기억되어있는 자료를 사용함
- 예> C = A + B
- 0 주소 명령어
- Operand 부가 없이 OP-code 부만으로 구성
- 모든 연산은 스택(Stack)에 있는 자료를 이용하여 수행
4. 명령어 설계 시 고려 사항
- 연산자의 종류, 주소 지정 방식, 해당 컴퓨터 시스템 단어(Word)의 크기(비트수)
'정보처리 > CA' 카테고리의 다른 글
[CA-11] 주소 지정방식 (0) | 2021.02.06 |
---|---|
[CA-10] 기타 요약정리 (0) | 2021.02.06 |
[CA-08] 컴퓨터의 구성 (0) | 2021.02.06 |
[CA-07] 자료의 외부적 표현 (0) | 2021.02.06 |
[CA-06] 자료의 내부적 표현 (0) | 2021.02.06 |
Comments