1. 컴퓨터 시스템 구성요소

  • 운영체제는 컴퓨터 하드웨어와 사용자 사이에 위치하며 하드웨어와 소프트웨어 자원을 관리하는 프로그램이다.

1) 프로세서

  • 컴퓨터 각 부분의 동작을 제어하고 연산을 수행한다.
  • 중앙처리장치( = CPU ) 라고도 한다.

프로세서 구성요소

2) 버스

  • 각 장치 간 또는 서브시스템을 서로 연결하여 정보(데이터)를 주고받을 수 있게 해주는 통로이다.
  • 버스는 위치에 따라 내부버스와 외부버스로 분류한다.
  • 버스는 기능에 따라 데이터 버스, 주소 버스, 제어 버스로 분류한다.

3) 레지스터

  • 프로세서에 위치한 고속메모리로 프로세서가 바로 사용할 수 있는 데이터를 담는다.
  • 저장되는 정보의 종류에 따라 데이터 레지스터, 주소 레지스터로 나뉠수 있다.
  • 사용자가 저장한 정보를 변경할 수 있는지 여부에 따라 사용자 가시 레지스터(User-Visible Register)와 사용자 불가시 레지스터(User-Invisible Register)로 크게 분류할 수 있다.
  • 사용자 불가시 레지스터는 프로세스의 제어와 상태를 관리한다. 프로그램 카운터, 명렁어 레지스터, 프로그램 상태 레지스터 등이 속한다.
  • 프로그램카운터(PC, Program Counter) : 프로그램 수행을 제어하는 명령어 실행 순서를 보관한다. 즉, 다음에 실행할 명령어의 주소를 저장한다.
  • 명령어 레지스터(IR, Instruction Register) : 현재 수행하는 명령어를 저장한다.

4) 메모리

메모리 계층 구조

  • 메인메모리와 프로세서의 속도 차를 보완하기 위한 캐시가 있다.
  1. 메인메모리

-고유 주소를 가진 워드나 바이트로 구성된 대규모 배열이다.

-컴퓨터에 주어진 주소 공간을 물리적 주소 공간이라하고 프로그래머는 물리적 주소를 직접 사용하지 않고 수식이나 변수를 사용한다.

- 그리고 컴파일러가 프로글매을 기계명령어로 변환할 때 변수와 명령어에 주소를 할당하는데, 이 주소를 논리적 주소(=가상주소)라 한다.

  • 컴파일은 원시 프로그램을 기계 명령어로 변환하는 처리 과정인데 이 과정에서 컴파일러가 논리적 주소를 물리적 주소로 변환한다.
  • 메인메모리는 프로세서가 사용할 프로그램이나 데이터를 저장하는 작업장이다.
  • 프로세서와 메모리 사이의 접근 속도 차가 커짐에 따라 메인 메모리의 부담을 줄이기 위해 프로세서 칩 안이나 외부에 별도의 캐시를 구현하기도 한다.
  1. 가상메모리(Virtual Memory)
  • 메인메모리의 유효 크기를 늘리는 기법으로 디스크 같은 보조기억장치에 프로그램이나 데이터를 저장했다가 필요할 때 다시 메인 메모리로 이동시키는 기술이다.
  • 논리적 주소를 물리적주소로 변환하는 과정을 매핑(사상, Mapping) 또는 메모리 맵(Memory Map) 이라 한다.

메모리 매핑

  • 가상메모리는 메인 메모리보다 훨씬 큰 저장 용량의 주소를 지정할 수 있어 프로그램을 부분 적재하여 실행할 수 있다. 즉, 실제 수행 중인 부분만 실제 메인 메모리로 매핑하고 나머지는 보조기억장치로 매핑한다.
  • 연속되는 논리적 주소 공간에 있는 블록4개(A,B,C,D)로 구성된 논리적 프로그램이 어느 한 순간 블록 3개(A,B,C)는 메인 메모리에, 1개(D)는 디스크에 매핑된다.

가상 메모리의 물리적 메모리로의 매핑

  1. 캐시
  • 처리 속도가 빠른 프로세서와 상대적으로 느린 메인 메모리 사이에서 데이터나 정보를 저장하는 고속 버퍼이다.
  • 메모리에 캐시를 결합한 캐시 메모리 싯템은 메모리 가격과 성능을 절충하여 느린 메모리 때문에 발생하는 성능 저하를 줄여준다.
  • 데이터가 이동할 수 있는 통로(데역폭)를 확대하여 프로세서와 메인 메모리의 속도 차이를 줄여주는 역할을 한다.
  • 프로세서는 메인메모리 접근이 필요하면 먼저 캐시를 조사한다.
  • 캐시가 데이터를 보관하고 있으면 캐시는 데이터 라인에서 요청한 데이터를 읽어 프로세서에 보낸다. 이것을 캐시 적중(Cache Hit) 이라 한다. 그러나 원하는 주소의 블록이 캐시에 없으면 캐시 실패(Cache Miss)가 발생하고 캐시 제어기는 메인 메모리에서 해당 블록을 읽어 캐시에 넣고 프로세서에 전송한다. 이때 캐시에는 대응된 주소 태그와 내용이 함께 저장된다.

캐시 메모리

'Computer > OS' 카테고리의 다른 글

4. 병행 프로세스와 상호배제  (0) 2020.02.19
3-2 프로세스와 쓰레드  (0) 2019.06.10
3-1 프로세스와 스레드  (0) 2019.06.09
2-1 운영체제의 역할과 목적  (0) 2019.06.09
2. 컴퓨터 시스템의 동작  (0) 2019.06.02

댓글

Designed by JB FACTORY