Computer System Component(3)

2020-01-18

해당 Post는 OS에 들어가기에 앞서 Computer System Component를 정리한 파일이다.


Computer System Component(3)

Cache

캐시는 처리속도가 빠른 프로세서와 상대적으로 느린 메인 메모리 사이에서 데이터나 정보를 저장하는 고속 버퍼이다.
메모리 + 캐시 = 캐시 메모리
위의 구성으로 메모리 가격과 성능을 절충하여 느린 메모리 때문에 발생하는 성능 저하를 줄여준다.

My Image

캐시는 메인메모리에서 일정 블록의 데이터를 가져와 워드단위로 프로세서에 전달하여 정보를 빠르게 제공한다.
또한 데이터가 이동할 수 있는 통로를 확대하여 프로세서와 메인메모리의 속도차이를 줄여주는 역할을 한다.

프로세서는 메인 메모리 접근이 필요하면

  1. 캐시를 조사한다.
  2. 캐시태그와 메모리 주소의 태그영역을 비교한다.

    만약 일기 연산이고 캐시가 데이터를 보관하고 있다?
    캐시 -> 프로세서 데이터 전송 = Cache Hit(캐시 적중이라고 한다.)

만약 위의 상황이 아니라면?
Cache Miss가 발생
캐시제어기는 메인 메모리에서 해당 블록을 읽어 캐시에 넣고 프로세서에 전송한다.

컴퓨터 시스템의 동작과정

  1. 입력 장치를 통해 정보를 입력받아 메모리에 저장
  2. 메모리에 저장한 정보를 프로그램의 제어에 따라 인출하여 산술장치나 논리장치에서 처리
  3. 처리한 정보를 출력 장치에 표시하거나 디스크에 저장

여기서 입력되는 정보는 명령어와 데이터로 구분된다.
명령어의 구성은
프로세서가 실행할 연산을 나타내는 연산코드(Operation Code)
명령어가 처리할 데이터나 데이터가 저장된 주소에 관한 정보(레지스터, 메모리)를 기술하는 오퍼랜드(Operand)

명령어는 실행 전에 메인 메모리에 저장되고 한번에 하나씩 프로세서에 전송되어 해석되고 실행된다.

My Image

오퍼랜드 번지 부분이 오퍼랜드의 내용이 담긴 메모리 번지를 가리키면 직접주소
장소의 번지를 저장한 곳을 가리키면 간접주소라 부른다.

My Image

명령어 실행 사이클

명령어는 일반적으로 다음과 같은 과정으로 실행된다.

  1. 명령어 인출(메모리 -> 명령어Register)
  2. 명령어 해석(Program counter 변경)
  3. 오퍼랜드 인출
  4. 명령어 실행
  5. 결과 저장
  6. 다음명령어 이후 1번의 과정으로 간다.

My Image

인터럽트 : 현재 진행중인 프로그램의 수행을 연기하고 다른 프로그램의 수행을 요구하는 명령이다.
시스템 처리 효율을 향상시키기 위해 사용되며 프로그램이 실행 순서를 바꿔가면서 처리되기 떄문에 다중 프로그래밍에 사용된다.