상세 컨텐츠

본문 제목

운영체제를 이해하기 위한 하드웨어 기초지식 [프로세서와 메모리]

소프트웨어/운영체제

by moonionn 2021. 3. 24. 18:31

본문

목차

1. 프로세서

2. 메모리

 

1. 프로세서

CPU, GPU와 같은 중앙처리장치를 프로세서라 합니다.

라이젠 프로세서를 들고 있는 리사수

CPU

CPU는 Central Processing Unit의 약자로, 

CPU로 잘알려져있는 대표적인 회사로는 Intel 정도가 있습니다.

직렬 처리에 최적화 되어있습니다.

보통 우리가 쓰는 전통적인 코드는 CPU 프로세서에서 처리됩니다.

 

GPU

Graphical Processing Unit의 약자로, 그래픽 처리장치입니다.

병렬처리를 위해 사용되는 경우가 많습니다. (예: 머신러닝)

GPU로 잘 알려진 대표적인 회사는 엔비디아정도가 있습니다.

 

1-1. 프로세서의 역할

프로세서는 컴퓨터의 두뇌 역할을 담당합니다.

(1) 연산 수행을 위한 연산장치이자 (2) 컴퓨터 동작 제어를 위한 제어장치입니다.

(3) 그리고 프로세서에는 레지스터와 캐시라는 특별한 기억장치가 있습니다.

 

1-2. 운영체제와의 관계

운영체제는 프로세서가 처리할 프로세스를 할당하는 역할을 합니다.

특히 여러 프로세스를 동시에 처리해야 할 때,

각 프로세스의 처리 순서나 순서 변경 로직을 정하는 것이 운영체제의 역할입니다.


2. 메모리

컴퓨터의 메모리는 아래와 같이 분류됩니다.

 

 

2-1. 메모리의 종류

날이 갈수록 프로세서의 성능은 빠른 속도로 발전하지만

그에 비해 디스크 성능(보조기억장치)의 발전은 더딘 편입니다.

이런 성능격차로 인해 프로세서는 성능을 100프로 발휘할 수 없게 되었는데,

(데이터의 처리 속도를 메모리가 받쳐주지 못하니까)

이런 현상을 병목현상이라 합니다. (I/O bottleneck)

이 병목현상을 해소하기 위해 생겨난 것이 메인 메모리, 캐시, 레지스터입니다.

 

병목현상, 출처: https://www.researchgate.net/figure/Processor-Memory-Performance-GapHen96_fig1_3214931

 

2-1-1. 레지스터

프로세서와 가장 가깝게 위치하고 있는 메모리입니다.

메모리 중 가장 빠르고, 비싸고, 용량이 작으며 

프로세서의 연산중 정보를 잠깐 저장하는 용으로 주로 쓰입니다.

레지스터는 그 종류도 다양한데, 대략 아래와 같습니다.

용도에 따라 정보 종류에 따라 정보 변경 가능 여부에 따라
전용 / 범용 레지스터 데이터 / 주소 / 상태 레지스터 가시 / 불가시 레지스터

 

2-1-2. 캐시

레지스터처럼 프로세서 내부에 있는 메모리입니다.

메인 메모리와 레지스터 사이의 병목현상을 해소하기 위해

메인 메모리, 레지스터 사이에 존재합니다.

 

캐시는 지역성(locality)을 가집니다.

지역성은 참조한 주소와 인접한 주소를 참조하려는 공간적 지역성과, (연결된 일련의 데이터)

한 번 참조한 주소의 재참조 가능성을 높게 고려하는 시간적 지역성이 있습니다. (for문과 같은 loop)

 

2-1-3. 메인 메모리

메인 메모리는 주 기억장치입니다.

DDR4, DRAM 등이 메인 메모리이며, 

프로세서가 접근할 수 있는 메모리 중 가장 거리가 먼 메모리입니다.

 

2-2. 운영체제와의 관계

운영체제는 프로세스의 요청에 따라 프로세스에 필요한 메모리를 할당합니다.

그뿐 아니라 추후 관리도 운영체제가 도맡는데,

할당된 메모리 영역에 대한 접근 보호 또한 운영체제의 역할입니다.

(예: 프로세스 간 메모리 영역 침범 방지)

관련글 더보기

댓글 영역