CPU의 기본구조부터 살펴보자~
CPU의 기본구조
CPU의 구성요소
- Program Counter(PC)
- Accumulator(AC)
- Instruction Register(IR)
- Stackpointer Register(SP)
- Memory Address Register(MAR)
- Memory Data Register(MDR)
- Instruction Set
Program Counter(PC)
다음에 인출할 명령어 주소 값을 가지고 있는 레지스터
각 명령어가 인출된 후에는 자동적으로 일정 크기(명령어 길이: 워드)만큼 증가
분기(Branch), 조건(Conditional)명령어가 실행되는 경우, 해당 명령어가 있는 목적지 주소 값으로 갱신
Accumulator(AC)
처리할 데이터를 일시적으로 저장하는 레지스터
레지스터의 크기: cpu가 한 번에 처리할 수 있는 데이터 비트 수(워드의 길이)
Instruction Register(IR)
가장 최근에 지정된 주소 번지의 메모리로부터(주기억장치) cpu로 인출된 명령어 코드가 저장되는 레지스터
-> 메모리에 있는 명령어가 IR로 이동
MEM -> MDR -> ALU -> IR
Stackpointer Register
이미 메모리에 설정된 스택(Stack)의 시작 번지의 주소 값을 가지고 있으며, 스택에 정보가 쌓이거나 줄어드는 것에 따라 그 값이 증감 하는 레지스터
메모지 주소기준
0 -> 100(증가)
100 -> 0(감소)
Memory Address Register(MAR)
다음에 인출될 명령어의 주소정보는 PC에 있고, 현재 CPU 내부로 불러올 명령어의 주소 값을 메모리로 전달되기 전에, 그것을 일시적으로 저장하는 레지스터
커피 자판기 시퀀스 경우
1.돈을 넣는다(MAR)
2.커피 선택(PC)
돈을 넣으면 돈을 넣는 명령어의 주소 값이 MAR로 이동하고 그 다음 명령어인 커피선택은 PC에 저장
Memory Data Register(MDR)
주기억장치로부터(메모리) 읽거나 쓰여질 데이터를 일시적으로 저장
'컴퓨터과학 > 0 +컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] 4-3) CPU 명령어의 종류와 형식 (0) | 2021.09.11 |
---|---|
[컴퓨터 구조] 4-2) CPU 명령어 세트 (0) | 2021.09.11 |
[컴퓨터 구조] 3-2) ALU 부동소수점(BFPN) 개념 및 예제 (0) | 2021.08.30 |
[컴퓨터 구조] 3-1) ALU 정수형 산술연산 곱셈 (0) | 2021.08.30 |
[컴퓨터 구조] 2-3) Integer Arithmetic (0) | 2021.08.22 |