[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 |
블로그의 정보
농담곰담곰이의곰담농
브이담곰