WEEK 02 컴퓨터 시스템 일부분

Devkty·2025년 3월 27일
post-thumbnail

1.5 캐시가 중요하다

오버헤드: 프로그램을 돌리기 위해 필요한 여러 복사과정이 프로그램의 “실제 작업”을 느리게 하는 것이다.

이러한 복사과정을 가능한 빠르게 동작하도록하기 위해 고안된 것이 캐시이다.

일반적인 레지스터 파일은 수백 바이트의 정보를 저장하는 반면, 메인 메모리의 경우는 십 억개의 바이트를 저장한다. 그러나 프로세서는 레지스터 파일의 데이터를 읽는 데 메모리의 경우보다 거의 100배 더 빨리 읽을 수 있다.

메인 메모리를 더 빠르게 동작하도록 만드는 것보다 프로세서를 더 빨리 동작하도록 만드는 것이 더 쉽고 비용이 적게 든다고 한다.

이러한 극간을 줄이기 위해 시스템 설계자가 작고 빠른 캐시 메모리라고 부르는 저장장치를 고안하여 프로세서가 단기간에 필요로 할 가능성 높은 정보를 임시로 저장할 목적으로 사용.

L1, L2 수가 커질수록 느리지만 용량은 늘어난다. L1, L2, L3 캐시는 SRAM이라는 하드웨어 기술을 이용해 구현한다.

프로그램이 지엽적인 영역의 코드와 데이터를 엑세스하는 경향인 지역성을 활용하여 시스템이 매우 크고 빠른 메모리 효과를 얻을 수 있다. → 자주 액세스할 가능성 높은 데이터를 캐시에 보관하여 빠른 캐시로 대부분의 메모리 작업 수행 가능.

그러므로 응용프로그래머는 캐시를 활용하여 프로그램 성능을 10배 이상 개선할 수 있다.

1.6 저장장치들은 계층구조를 이룬다

작고 빠른 저장장치(캐시 메모리)를 프로세서와 좀 더 크고 느린 장치(메인 메모리) 사이에 끼워 넣는 개념은 일반적인 아이디어이다.

메모리 계층구조의 예는 다음 그림과 같다.

1.7 운영체제는 하드웨어를 관리한다

운영체제는 다음과 같은 목적이 있습니다.

  1. 제멋대로 동작하는 응용프로그램들이 하드웨어를 잘 못 사용하는 것을 막기 위해
  2. 응용프로그램들이 단순하고 균일한 매커니즘을 사용하여 복잡하고 매우 다른 저수준 하드웨어 장치들을 조작할 수 있도록 하기 위해
profile
모든걸 기록하며 성장하고 싶은 개발자입니다. 현재 크래프톤 정글 8기를 수료하고 구직활동 중입니다.

0개의 댓글