-
CPU
- CPU 작동 순서
- Fetch(인출) : 메모리상의 프로그램 카운터가 가리키는 명령어를 CPU로 인출하여 적재.
- Decode(해석) : 명령어의 해석. 이 단계에서 명령어의 종류와 타겟 등을 판단한다.
- Execute(실행) : 해석된 명령어에 따라 데이터에 대한 연산을 수행한다.
- Writeback(쓰기) : 명령어대로 처리 완료된 데이터를 메모리에 기록한다.
- 레지스터
- CPU가 현재 처리하고있는 데이터를 보유
- CPU가 현재 처리중인 피연산자 또는 명령어를 보유
- 레지스터 변화
- 명령이 들어오면 IR(명령 레지스터)에 저장된다.
- 축적된 명령을 fetch -> decode -> excute 순으로 실행
- fetch에서 명령 레지스터에 저장된 명령어를 PC가 가르키는 위치부터 가져온다.
- decode 과정에서는 명령어를 2진수 배열로 변환을 해준다.
- Register에 저장되어있는 주소를 받아와서 씀 (2진수 주소)
- excute 에서는, 명령어의 종류에 따라서 메모리에 접근하거나 레지스터 연산을 수행한다
- 레지스터 연산은 2진수로 실행되며, 표시될 때는 16진수로 표시됨
- 명령 레지스터
- 명령 계수기가 지정하는 번지에 기억되어 있는 명령어를 호출해서 해독하기 위해 명령어를 잠시 보관해 두는 특수 목적 레지스터
- 메모리
- 프로그램이 실행에 필요한 명령과 데이터를 보유
- CPU에서 현재 실행중인 프로그램에 필요한 명령어와 데이터를 보유
- ALU
- 두 숫자의 (덧셈, 뺄셈같은) 산술연산과 (배타적 논리합, 논리곱, 논리합같은) 논리연산을 계산하는 디지털 회로