중앙처리 장치
CPU는 사람의 뇌와 같다!
중앙처리 장치에는 기능은 세개로 나뉘는데
1. 연산장치
2. 제어장치
3. 기억장치(레지스터)
그리고 또 다른 기능으로 버스가 있는데 버스는 전달, 전송 기능이라고도 한다
제어장치 : 주기억장치에 기억된 명령을 꺼내서 해독하고, 시스템 전체에 지시 신호를 내는 장치이다
구성을 보면 프로그램 카운터, 명령어 레지스터, 부호기, 명령 해독기 가 있다
연산장치 : 가산기, 누산기, 보수기가 있다
그럼 세세하게 설명을!
1. 프로그램 카운터 : 다음에 실행할 번지를 기억한다
2. MAB(주소레지스터) : 현재 가져올 명령어 번지를 프로그램 카운터에서 받는다
3. MBR(메모리레지스터) : 일단 가져온 데이타를 기억시킨다
4. IR(명령레지스터) : 메모리 레지스터에서 받은 것 중 명령어만 받는다
5. Decoder : 명령어를 해독한다
6. AC(누산기) : 연산 결과 값을 기억한다
명령어(Instruction)의 구성 = IR(OPR)
명령어는 연산자부와 자료부로 나뉜다
연산자부는 실제 명령 OPcode라고도 한다 그리고 자료부는 주소부(번지부)라고도 하며 Data의 주소를 표현하는 것이다
1) 연산자부
① 실행할 명령이 들어 있다
② 연산자부의 비트수가 nBit → 2^n 개의 명령어 ☆ ( 울트라 캡숑 슝슝 중요하다는 유수님의 말씀)
2) 자료부
① 실제 데이터에 대한 정보를 표시하는 부분
② 어드레스 필드의 크기 = 최대 메모리 용량
※ 함수 연산
1. 자료전달기능(MOVE정신)
2. 입출력(input, output)
3. 제어(JMP)
- 단한연산자(Unary) : not, complete(보수), shift, rotate 가 있다
- 이항연산자(Birary) : 사칙연산 (AND, OR, XOR, XNOR)
!!!!! shift 연산 !!!!!
왼쪽 shift를 하게 되면 곱하기 2 , 오른쪽 shift를 하게 되면 나누기 2를 한것과 같다
물론 2진법에서는 우리가 사용하는 10진수라면?? 곱하기 10, 나누기 10과 같다는 뜻~!
명령어 종류
OP - code |
OP - code | Operand1 |
중요한건 1주소, 누산기 이런 글귀가 문제에 써있으면 무조건 1주소!
OP - code | Operand1 | Operand2 |
OP -code | Operand1 | Operand2 | Operand3 |
- 스택(Stack)
스택은 Push(삽입)과 Pop(삭제)가 있다
이 방법을 선입선출법이라고 해서 LIFO라고 한다 마지막에 들어간 놈이 첫번째로 나온다! 기억해두요
이것도 너무너무너무너무너무 중요하다고 유수님이 말씀했어요