CPU(Central Processing Unit)의 구성
ALU( Arithmetic and Logical Unit, 산술논리 연산 장치)
- 비교, 판단, 연산을 담당
CU(Control Unit, 제어부), 내부 버스
- 명령어의 해석과 올바른 실행을 위해서 CPU를 내부적으로 제어합니다.
Memory Unit
- Registers : 연산에 필요한 데이터를 저장하고 빠른속도로 접근할 수 있는 저장공간
- CACHE Memory : 처리속도를 높여주는 역할
Register는 여러가지 목적에 따라 다양한 레지스터가 존재한다.
특수목적 레지스터
MAR(메모리 주소 레지스터) : 읽고 쓰기 위한 주지억장치의 주소를 저장
PC(프로그램 카운터) : 다음에 수행할 명령어의 주소를 저장
IR(명령어 레지스터) : 현재 실행중인 명령어를 저장
MBR(메모리 버퍼 레지스터) : 주기억장치에서 읽어온 데이터나 저장할 데이터를 임시로 저장
AC, Accumulator(누산기) : 연산 결과를 임시로 저장
CPU의 동작 순서
1. 명령어 인출
- CU가 이번에 수행할 명령어 정보를 가지고 옴
2. 명령어 해독
- 명령어 정보를 성공적으로 인출했으면 명령어를 해독
- 보통 opcode라고 하는 명령어 코드를 인출하고 opcode의 성격에 맞게 레지스터들을 준비시킨다.
3. 실행
- 해독된 명령어를 수행
4. 반영
- 이 명령어의 수행 결과를 반영함으로써 명령어 수행의 한 싸이클이 종료된다.
CPU의 성능
클럭
- CPU 내부에서 일정한 주파수를 가지는 신호로, 이 신호로 모든 명령어가 동작되게 된다.
(1Hz면 1초에 한번의 주기, 1기가 Hz라고 하면 1초에 1기가만큼, 즉 10억 번 정도)
- 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있다.
코어
- 코어는 중앙처리 장치 역할을 하는 블록
- 멀티 코어들은 싱글 코어에 비해서 마치 여러개의 CPU가 작동하듯이 많은 연산을 빠르게 병령 처리할 수 있다.
메모리
명령에 대한 모든 연산은 결국 저장공간을 통해서 처리하게 됨
캐시메모리(SRAM), 메인 메모리(DRAM) = 주 기억장치
하드디스크(HDD) = 보조 기억장치
캐시메모리
- 컴퓨터 전원이 꺼지면 지워지지만 제일 빠르게 조회할 수 있는 저장공간
- 컴퓨터 시스템 향상을 위해서 CPU와 주기억장치 사이에 있는 아주 작은 비싼 메모
(CPU 구성에서의 캐시메모리는 L1 캐시메모리 이고, 메모리 그룹에 속한 캐시 메모리는 L2 캐시메모리, L3 캐시메모리 이다.)
L2, L3 캐시메모리는 메인 메모리에 있는 데이터를 캐시 메모리에 불러와 놓고, CPU가 필요한 데이터를 캐시에서 먼저 찾도록 하여 시스템 성능을 향상 시켜준다.(레지스터와 비슷하지만 다르다)
L2, L3 캐시메모리 vs CPU
- L2, L3 캐시메모리는 CPU와 별도의 공간이며, 메인 메모리와 CPU 간의 속도차이를 극복하기 위한 것!
- CPU 레지스터는 CPU 안에서 연ㅇ산을 처리하기 위하여 데이터를 저장하는 공간!
주 기억장치
- 컴퓨터 전원이 꺼지면 지워지지만 조금 더 빠르게 조회할 수 있는 저장공간
메인메모리 = 주기억장치 = RAM(Random Access Memory)
RAM은 DRAM과 SRAM이 있는데 주기억장치는 주로 DRAM을 의미
(SRAM은 캐시나 레지스트리)
- 컴퓨터의 CPU가 현재 처리중인 데이터나 명령만을 일시적으로 저장하는 휘발성 메모리
(전원이 꺼지면 메인 메모리에 저장된 내용들은 모두 사리지기 때문에 컴퓨터가 꺼진 이후에도 데이터를 유지하고 싶다면 데이터를 하드디스크에 저장해야 한다.)
- 모든 프로그램은 컴퓨터에서 실행되기 위해 메모리의 일부를 사용한다.
- HDD - RAM - CPU 와 유사한 방식으로 연산과정의 중간에 위치한다.
- 보조기억장치에 비해 월등히 빠른 속도로 CPU가 정보를 원활히 이용할 수 있도록 한다.
- CPU가 사용하기 좋도록 각종 정보를 임시 저장하는 휘발성 장치이다.
SRAM vs DRAM
SRAM = Static RAM
- 정적 메모리
- 전원이 공급되는 동안은 기록된 내용이 지워지지 않기 때문에 재충전이 필요없음
- 접근 속도가 빠르고 가격이 비싸다는 특징이 있으며, 주로 캐시메모리나 레지스터로 사용됨
DRAM = Dynamic RAM
- 동적 메모리
- 전원이 계속 공급되더라도 주기적으로 재충전되어야 기억된 내용을 유지할 수 있음
- 주로 대용량의 기억장치에 사용되며 가격이 저렴함
- 주로 RAM이라고 표현하는 것(주기억장치)은 거의 DRAM을 가리킴
보조 기억장치
- 사용자가 사용하고자 하는 데이터와 프로그램을 저장한다.
- 전원을 끄더라도 저장된 데이터나 정보가 날아가지 않는 비휘발성 메모리
- 우리가 설치하는 모든 프로그램이나 파일드른 이곳에 반영구적으로 저장된다.
CPU와 메모리의 동작
1. 주기억장치가 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.
2. CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리하고 결과를 다시 주기억장치에 저장한다.
3. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보내서 출력시킨다.
4. CPU 내의 제어장치(CU)가 1 ~ 3번 과정에서 명령어가 순서대로 실행되도록 각 장치들을 제어한다.
'TIL > CS' 카테고리의 다른 글
DBMS 발전 과정 (0) | 2024.03.21 |
---|---|
데이터베이스 시스템(DBMS) 개요 (0) | 2024.03.21 |
데이터베이스(DB) 개요 (0) | 2024.03.20 |
Process Management (0) | 2024.03.19 |
프로세스(Process), 스레드(Thread), 스케줄링(Scheduling) (0) | 2024.03.18 |