* CPU ( 중앙 처리 장치 )
* CPU 성능 기준
1. 클럭 ( GHz 단위로 표현됨. )
2. IPC ( Instructions Per Cycle, 클럭당 명령어 처리 횟수 ) ( 링크 )
3. 코어 개수
* CPU 구성 요소
1. ALU ( 산술 논리 장치 )
2. CU ( 제어 유닛 )
3. 레지스터
4. 기타...
* ALU ( Arithmetic and Logical Unit, 산술 논리 장치 )
=> 뎃셈, 뺄셈 등 두 숫자의 산술 연산 & 논리합, 곱... 등 논리연산을 계산하는 '디지털 회로' 이다.
* CU ( Control Unit, 제어 장치 )
=> 입출력 장치 간 통신 및 조율을 제어.
=> 모든 컴퓨터 자원들은 제어 장치에 관리 하에 존재한다.
* 레지스터 ( Register )
=> CPU 내에 자료를 보관하는 아주 작고 빠른 칩.
=> 메인 메모리에서 데이터를 레지스터로 가져와 연산하고 연산 결과를 저장한다.
* 메모리 계층구조
=> 'CPU 처리 속도' 에 비해 'RAM 과의 통신 속도' 가 차이가 많이 나기에 성능이 저하될 수 있다.
이러한 문제를 해결하기 위해서,
CPU 옆에 일명 '캐쉬 메모리' 라고 불리는 녀석들이 생겨났다.
=> 캐시 메모리 종류에는 L1, L2, L3 가 존재하는데
각각의 CPU 코어마다 L1, L2 은 모두 가지고 있다. L3 는 CPU Core 끼리 공유하는 메모리이다.
( 제조사마다 다름. )
* 캐쉬 메모리의 역할
=> 캐쉬 메모리는 CPU 가 데이터를 참조하거나 어떤 일을 요청하는 것을 바탕으로
CPU 가 쓸 데이터를 캐쉬 메모리가 '예측해서 가져오는 방식' 이다.
* 캐쉬 메모리가 예측하는 기준.
시간적 지역성 : 최근 사용한 데이터를 더 자주 쓴다고 생각한다.
공간적 지역성 : 메모리 주변의 데이터를 더 자주 쓴다고 생각한다.
=> CPU 가 어떤 처리를 위해서
가까운 캐시 메모리부터 해당 처리를 위한 데이터가 존재하는지 살펴본다.
만약,
캐시 메모리에 없고 주기억장치( RAM ) 까지 가야하는 경우를 '캐시 미스'
데이터가 캐시에 존재하면 '캐시 히트' 라고 부른다.
* CPU 파이프라인
=> CPU 가 OS 의 부름을 받아 하나의 프로세스를 처리하는 과정을 살펴보자.
=> CPU 가 성능을 극대화하기 위해서 '코드 재배치' 가 일어날 수 있다.
'비순차적 실행 ( out-of-order execution )' 이라고 한다. ( 원자성 보장 X )
* 이런 최적화 방법으로 인해 생겨난 문제들..
* CPU 게이트
* MeltDown ( 멜트다운 )
* Spectre ( 스펙터 )
* 바뀌고 있는 변화
* PIM
=> PIM 은 하나의 칩이 메모리와 프로세서의 역할을 모두 할 수 있다고 한다.
참고 자료
'운영체제 & 컴퓨터구조' 카테고리의 다른 글
[OS] #6. CPU ( 자원 ) 스케줄링 (0) | 2022.09.05 |
---|---|
[OS] #5. 프로세스 ( Process ) 와 쓰레드 ( Thread ) (0) | 2022.09.04 |
[OS] #3. DMA ( Direct Memory Access ) (0) | 2022.09.02 |
[OS] #2. Interrupt ( 인터럽트 ) (0) | 2022.08.31 |
[OS] #0. 백그라운드 프로세스 ( Background Process ) (0) | 2022.08.30 |