컴퓨터 구조 기초 이론
Accumulator
가산기와 컴퓨터
- 8-bit Adder : 두 데이터를 더한 값을 출력 가능한 장치
- 8-bit Latch : 데이터를 저장 및 저장한 데이터를 출력할 수 있는 장치
Accumulator
- CPU에서 덧셈 처리를 위해, 회로구성
- 레지스터는 CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억 장치
- 해당 구조 기반으로, 숫자를 차례로 계산 하고 최종 결과를 메모리에 저장시 성능 개선이 가능하다
In-Memory
DB는 모두 SSD, HDD에 저장하는 반면에 In-Memory는 메모리에 데이터를 저장하고 처리하기에 속도가 빠르다. 오픈소스 Redis, Memcached가 존재
CPU Architecture
PC - Program counter : 다음 실행 할 명령어 주소를 가리키는 레지스터로 실행 시 +1
IR - Instruction Register : 가장 최근 인출한 명령어를 보관하는 레지스터
ACC - Accumulator : 데이터를 일시적으로 보관하는 레지스터
MAR - Memory Address Register : CPU가 메모리를 참조하기 위해서 보관하는 데이터 주소를 가지는 레지스터
MBR - Memory Buffer Register : CPU가 메모리로부터 읽거나, 저장을 하기 위한 데이터 자체를 보관하는 레지스터
CISC | RISC |
|
|
CPU 실행 구조
IF → ID → IE → WB
IF - Instruction Fetch : 실행 할 명령어를 Memory에 읽어 CPU로 가져온다
ID - Instruction Decode : 인출 명령어에 포함 된 데이터를 가져오고 명령어를 복호화
IE - Insturction Excution : 명령어를 실행
WB - Write Back : 실행 결과를 저장
DMA
- Direct Memeory Access
- CPU가 Cache 까지 데이터를 가져오는데 관여(Instruction Fetch)
- Memeory, SSD 에서 데이터를 가져오는데 관여 시 CPU 활용도는 낮아진다
- DMA 사용 시 CPU에 명령 시간을 추가적으로 할당이 가능
메모리의 구조
Register - CPU 안에서 데이터 보관
SRAM - L1~3 cache (가장 많이 사용하는 Memeory의 데이터를 넣어, 메모리까지 접근 하지 않고 CPU가 직접 쓸 수 있게 한다.)
DRAM - 흔히 우리가 알고 있는 메모리
SSD / HDD - 비 휘발성으로 데이터 보존