농담곰담곰이의곰담농

[OS] 컴퓨터 하드웨어의 구성

by 브이담곰

프로세서(Processor)

💡 프로세서(Processor)은 중앙처리장치(CPU:Central Processing Unit)

1. 역할

    - 컴퓨터 하드웨어에 부착한 모든 장치의 동작을 제어하고 명령을 실행함.

 

2. 구성

    - 연산장치, 제어장치, 레지스터로 구성.  

컴퓨터 하드웨어의 구성

 

3. 레지스터의 종류

사용자 가시 레지스터 사용자 불가시 레지스터
데이터 레지스터
(DR,Data Register)
함수 연산에 필요한 데이터를 저장.
겂,문자 등을 저장하므로 산술 연산이나 논리 연산에 사용하며, 연산 결과로 플래그 값을 저장.
프로그램 카운터
(PC, Program Counter)
- 다음에 실행할 명령어의 주소를 보관하는 레지스터.
- 계수기로 되어 있어 실행할 명령어를 메모리에서 읽으면 명령어의 길이만큼 증가하여 다음 명령어를 가르킴.
- 분기 명령어는 목적 주소로 갱신 할 수 있음.
주소 레지스터
(AR,Address Register)
주소나 유효 주소를 계산하는 데 필요한 주소의 일부분을 저장.
주소 레지스터에 저장한 값(값 데이터)을 사용하여 산술 연산 가능.
명령어 레지스터
(IR, Instruction Register)
현재 실행하는 명령어를 보관하는 레지스터
기준 주소 레지스터 - 프로그램에 사용하는 - 기존 주소 값 저장.
페이지나 세그먼트처럼 블록화된 정보에 접근하는데 사용.
누산기(AC,ACCumlator) 데이터를 일시적으로 저장하는 레지스터
인덱스 레지스터 유효 주소를 계산하는 데 사용하는 주소 정보를 저장. 메모리 주소 레지스터
(MAR, Memory Address Register)
프로세서가 참조하려는 데이터의 주소를 명시하여 메모리에 접근하는 버퍼 레지스터
스택 포인터 레지스터 - 메모리에 프로세서 스택을 구현하는 데 사용.
- 많은 프로세서와 주소 레지스터를 데이터 스택 포인터와 큐 포인터로 사용.
- 반환 주소, 프로세서 상태 정보, 서브루틴의 임시 변수 저장.
메모리 버퍼 레지스터(MBR, Memory Buffer Register)
-> 메모리 데이터 레지스터(MDR, Memory Data Register)
프로세서가 메모리에서 읽거나 메모리에 저장할 데이터 자체를 보관하는 버퍼 레지스터.

 

레지스터의 종류
프로세서의 기본 레지스터

메모리(Memory)

   -  컴퓨터 성능과 밀접.

   -  속도가 빠른 메모리는 가격이 비싸기 때문에, 메모리 계층 구조를 구성하여 비용, 속도, 용량, 접근시간 등을 상호보완함.

 

메모리 계층구조

 

1. 레지스터

   - 프로세스 내부에 있음.

   - 프로세서가 사용할 데이터를 보관하는 가장 빠른 메모리.

2. 메인 메모리

   - 주 기억장치 또는 1차 기억장치라고 함.

   - 프로세서 외부에 있음.

   - 프로세스에서 즉각적으로 수행할 프로그램과 데이터를 저장하거나 

   프로세서에서 처리한 결과를 메인 메모리에 저장.

   - 입출력장치도 메인 메모리에서 데이터를 받거나 저장.

메인 메모리 그림 설명
메모리 매핑
메인 메모리의 역할

3. 캐시

   - 프로세서 내부나 외부에 있음.

   - 처리 속도가 빠른 프로세서와 상대적으로 느린 메인 메모리의 속도 차이를 보완하는 고속버퍼.

   - 캐시의 동작

      (1)  주소 영역을 한 번 읽어 들일 수 있는 크기로 나눈다.

      (2)  각 블록에 번호를 부여하여 이 번호를 태그로 저장한다.

      (3)  프로세서는 메인 메모리에 접근하기 전에 캐시에 해당 주소의 자료가 있는지 먼저 확인한다.

           -1- 접근하려는 주소 24비트 중 태그에 해당되는 처음 22비트를 캐시의 모든 라인과 비교하여 일치하는 라인을 찾                     는다.

           -2- 일치하는 라인이 있으면, 주소의 나머지 2비트를 이용하여 데이터 라인의 4개바이트 중 해당하는 바이트를 가                   져온다.

       (4)  캐시 적중(chache hit): 캐시에 참조하려는 정보가 있을 때.

             캐시 실패(cache miss): 캐시에 참조하려는 정보가 없을 때.

캐시의 동작

 

   - 캐시의 성능 : 작은 용량의 캐시에 프로세서가 이후 참조할 정보가 얼마나 들어 있느냐로 좌우됨.

                            -> 프로그램을 실행할 때 참조한 메모리에 대한 공간적 지역성과 시간적 지역성이 있기 때문.

공간적 지역성(국부성) 대부분의 프로그램이 참조한 주소와 인접한 주소의 내용을 다시 참조하는 특성
시간적 지역성(국부성) 한 번 참조한 주소를 곧 다시 참조하려는 특성
발생 이유
- 프로그램이 명령어를 순차적으로 실행하는 경향이 있어 명령어가 특정 지역 메모리에 인접해 있다.
- 순환(단일 순환, 중첩 순환) 때문에 프로그램을 반복하더라도 메모리는 일부 영역만 참조한다.
- 대부분의 컴파일러를 메모리에 인접한 블록에 배열로 저장한다. 따라서 프로그램이 배열 원소에 순차적으로 자주 접근하므로 지역적인 배열 접근 경향이 있다.

* 지역성 : 블록이 크면 캐시의 히트율이 올라갈 수 있음을 의미하지만, 블록이 커지면 이에 따른 전송부담과 캐시 데이터 교체 작업이 자주 일어나므로 블록 크기를 무작정 늘릴 수 없다.

'Computer Science > 운영체제' 카테고리의 다른 글

[OS] 프로세스와 스레드  (0) 2023.05.01
[OS] 운영체제의 소개  (0) 2023.04.30

블로그의 정보

농담곰담곰이의곰담농

브이담곰

활동하기