뉴히의 개발 로그
[CS study] CPU의 구성: 레지스터 본문
프로세서 레지스터
연산에 필요한 데이터를 저장하고 빠른 속도로 접근 할 수 있는 저장공간
- 범용 레지스터 : 연산에 필요한 데이터나 연산 결과를 임시로 저장
- 특수목적 레지스터 : 특별한 용도로 사용하는 레지스터
- 메모리 주소 레지스터: (MAR) : 읽고 쓰기 위한 주기억장치의 주소를 저장한다.
- 프로그램 카운터 (PC) : 다음에 수행할 명령어의 주소를 저장
- 명령어 레지스터 (IR) : 현재 실행 중인 명령어를 저장
- 메모리 버퍼 레지스터 (MBR) : 주기억장치에서 읽어온 데이터나 저장할 테이터를 임시로 저장
- 누산기 (AC, ACCUMULATOR) : 연산 결과를 임시로 저장
제어장치 (CU)
명령어를 실행하는 순서를 제어하고 스케줄링
- 제어부
- 주기억 장치에 저장되어 있는 명령어를 순서대로 호출하여 해독하고, 제어 신호를 발생시켜 컴퓨터의 각 장치를 동작하도록 하는 장치
- 내부버스
연산장치 (ALU)
논리연산(덧셈,뺄셈,비교연산) 수행
산술 논리 장치라고 불리는 이 곳은 덧셈, 뺄셈같은 산술연산과 논리 연산을 계산하는 디지털 회로이다.
CPU의 동작
- “기계어”를 모스부호처럼 하드웨어적으로 CPU가 알아볼 수 있게 변환한게 “어셈블리어”
- “어셈블리어”를 사람이 알아볼 수 있게 소프트웨어적으로 변환한게 “프로그래밍 언어”
- 즉, 기계어(저장공간) > 어셈플리어(CPU) > 프로그래밍 언어(사람)
CPU가 명령어를 읽고 수행하는 동작
- 명령어 인출
- CU가 수행할 명령어 정보를 가지고 옴
- 명령어 해독
- 명령어 정보를 성공적으로 인출했으면 명령어를 해독해야한다
- 보통 opcode라고 하는 명령어 코드를 인출하고 opcode의 성격에 맞게 레지스터들을 준비시킴
- 실행
- 해독된 명령어를 수행! 예를 들어, 이것이 산술/논리 관련된 연산이라고 하면 ALU가 주체가 되어서 실행
- 반영
- 이 명령어의 수행 결과를 반영함으로써 명령어 수행의 한 사이클이 끝~!
CPU의 성능
- 클럭
- CPU 내부에서 일정한 주파수를 가지는 신호로, 이 신호로 모든 명령어가 동작되게 된다
- 1Hz(헤르츠)면 1초에 한 번의 주기. 1기가 헤르츠라고 하면 1초에 1기가만큼(1024메가), 즉 10억 번 정도인 셈
- 예를 들어 4.5GHz라는 것은 초당 45억 번의 명령어를 처리할 수 있다는 뜻
- 따라서 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있기에 더 좋은 성능의 중앙 처리 장치라고 할 수 있다
- 코어
- 코어는 중앙처리 장치 역할을 하는 블록을 뜻함
- 즉, 멀티 코어들은 싱글 코어에 비해서 마치 여러 개의 CPU(요리사)가 작동하듯이 많은 연산을 빠르게 병렬 처리할 수 있다
- 물론 컴퓨터의 전체적인 성능은 CPU 만으로 결정되지는 않습니다. (메모리도 중요) 하지만, 가장 중요한 부분이라고 할 수 있는건 푸드트럭의 요리사 또는 사람의 뇌에 해당하는 CPU이다.
'CS' 카테고리의 다른 글
[CS] CS Study - 캐시 (0) | 2023.10.05 |
---|---|
[CS Study] 제어장치 (CU)의 핵심 기능인 “스케쥴링” (0) | 2023.09.28 |
[CS Study] CPU와 메모리 (0) | 2023.09.27 |
[CS study] 메모리(캐시 메모리, 메인 메모리, 하드디스크) (0) | 2023.09.26 |
[CS study] 컴퓨터의 구성 (1) | 2023.08.17 |