본문 바로가기
책/DB

서버 구조의 이해 CPU

by 파이어볼러 2015. 3. 3.

 CPU의 구조


컴퓨터의 기본원리는 데이터/명령어를 읽고 읽은 것을 수행하고 결과를 쓴다로 볼 수 있다


이 간단한 작동을 위해 최소한으로 필요한 요소는


- 저장 장치

- ALU (Arithmetic and Logic Unit, 산술 논리 유닛)

- 버스 (데이터/명령어가 저장 장치와 ALU 사이를 오가는 통로)


저장 장치에 있는 데이터와 명령어를 버스를 통해 읽어 와서 ALU가 연산을 수행하는 것.

이 간단하고 추상적인 원리가 복잡한 컴퓨터의 시발점


실제 컴퓨터의 구조를 그림으로 보면





위에서 설명한 모델을 조금 확장한 그림

빨간 화살표는 버스,

CPU라고 묶인 부분은 ALU,

L1/L2/L3 캐시 및 RAM은 저장 장치를 의미


위에서 CPU라고 표시한 부분은 크게 프론트엔드와 백엔드라는 두 부분으로 구분

CPU가 읽은 명령어를 연산장치가 해석할 수 있는 더 간단한 코드로 전환해주는 부분을 프론트엔드라 하고

프론트엔드가 해석해 준 코드와 데이터를 받아 실제로 연산을 수행하는 부분은 백엔드





실제로 연산을 수행하는 것이 백엔드이기 때문에 CPU의 성능은 곧 백엔드의 성능일 꺼라 생각하기 쉽지만,

사실 CPU가 읽어들인 명령어가 가장 많이 시간을 보내는 곳은 프론트엔드의 '디코드' 단계

프론트엔드는 명령어 인출, 디코드, 제어(백엔드로 디코드된 명령어 코드를 이송)의 세 부분으로 나뉜다


한편, 주로 저장 장치로 쓰이는 RAM의 속도는 CPU의 속도에 비해 많이 떨어지므로

CPU가 메모리에서 데이터/명령어를 기다리며 시간을 허비하지 않기 위해 보다 빠른 메모리를 사이에 둠

이것을 캐시(Cache)라고 하고, 캐시의 속도와 위치에 따라 다시 위계질서가 생기고

CPU에 가장 가까운 캐시를 레벨 1(L1) 캐시라고 하고, 보통 L1 캐시는 명령어/데이터로 역할을 분담



' > DB' 카테고리의 다른 글

OS의 종류 서버 장비에 대해 이해  (0) 2015.03.03
OSI 7Layer의 계층  (0) 2015.03.03
Directory의 구조와 용도에 대한 이해  (0) 2015.03.03
서버 구조의 이해 NIC  (0) 2015.03.03
서버 구조의 이해 메모리  (0) 2015.03.03