직역하면 중앙처리장치(中央處理裝置)
말 그대로 컴퓨터의 중앙에서 모든 데이터를 처리하는 장치라는 뜻
사람의 두뇌에 해당되는 것으로, 사용자로부터 입력받는 명령어를 해석, 연산 후에 그 결과를 출력하는 역할
CPU
에는 연산, 해독, 제어 장치가 집적되어 있어서 마이크로프로세서(Micro-Processor)
라고도 부른다.
컴퓨터의 전반적인 성능을 좌우하는 가장 중요한 부품
CPU 속도를 나타내는 단위
클럭(clock)
1초당 CPU 내부에서 몇 단계의 작업이 처리되는지를 측정하여 주파수 단위인 Hz(헤르츠)로 나타낸 것과거에는 클럭속도가 CPU의 성능을 나타내는 절대적인 기준이었지만, 최근에는 하나의 CPU에 2개 이상의 코어(Core)를 집어넣은 멀티코어(Multi Core) CPU가 등장, 클럭 속도 외에도 코어의 수가 CPU의 성능을 나타내는 또 하나의 기준이 되고 있다.
메모리가 아니라 레지스터에 저장하는 이유는?
CPU가 레지스터에 접근하는 속도가 CPU가 메모리에 접근하는 속도보다 빠르기때문에
CPU 내부의 작은 임시저장장치
프로그램 속 명령어 & 데이터는 실행 전후로 레지스터에 저장
① CPU와 가까운 저장 장치는 빠르고, 멀리있는 저장장치는 느리다.
② 속도가 빠른 저장장치는 저장 용량이 작고, 가격이 비싸다.
CPU의 성능을 가늠할 수 있는 또 하나의 기준
SRAM(static RAM) 사용
보통 '캐시'라고 줄여부르는 캐시메모리는 CPU내부의 임시 저장공간으로, CPU가 데이터를 처리할 때 자주 사용하는 데이터를 임시로 보관하는 곳
CPU가 메모리에 접근하는 속도는 CPU의 연산속도보다 압도적으로 느림
주기억장치에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게 하는 메모리
그러므로 캐시는 주기억장치보다 크기가 작을 수밖에 없다!
캐시 기억장치와 주기억장치 사이에서 정보를 옮기는 것을 사상(Mapping,매핑)
이라고 함
매핑의 3가지 방법
직접 매핑(Direct Mapping)
연관 매핑(Associate Mapping)
집합 연관 매핑(Set Associate Mapping)
속도가 빠른 장치와 느린 장치간의 속도 차에 따른 병목현상을 줄이기 위한 범용 메모리
이를 위해서는 CPU가 어떤 데이터를 원하는지 어느정도 예측할 수 있어야 함
캐시 메모리에 CPU가 이후에 참조할, 필요있는 정보가 어느정도 들어있냐에 따라 캐시의 성능이 좌우되기 때문
병목현상
두 구성요소의 최대 성능의 차이로 인해 한 구성 요소가 다른 하드웨어의 잠재 성능을 제한하는 것을 의미
주기억장치와 CPU사이에 위치
메모리 계층 구조에서 가장 빠른 소자이며, 처리속도가 거의 CPU 속도와 비슷할 정도의 속도
캐시메모리를 사용하면 주기억장치를 접근하는 횟수가 줄어들어 컴퓨터의 처리속도 향상
캐시의 크기는 보통 수십 KByte ~ 수백 KByte(레지스터보다 용량이 크다)
RAM이나 ROM은 CPU에 비해 동작속도가 훨씬 느리기 때문에 컴퓨터의 전반적인 처리속도가 저하될 수밖에 없다. == CPU의 캐시 메모리는 크면 클수록 성능이 향상!
1차 캐시메모리(Level 1 cache memory)
와 2차 캐시메모리(Level 2 cache memory)
, 3차 캐시메모리(Level 3 cache memory)
등으로 나뉜다.캐시가 효율적으로 동작하려면, 캐시의 적중률(Hit-rate)
를 극대화 시켜야 함
캐시에 저장할 데이터가 지역성(Locality)
을 가져야함
지역성(Locality)
데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것을 의미
지역성의 전제 조건으로 프로그램은 모든 코드나 데이터를 균등하게 Access하지 않는다는 특성을 기본으로 함
즉, 지역성(Locality)
란!
기억장치 내의 정보를 균일하게 Access하는 것이 아닌 어느 한 순간에 특정 부분을 집중적으로 참조하는 특성
① 시간의 지역성
② 공간적 지역성