CS 공부
운영체제 2020-1학기 중간고사 대비 1-1(Computer HardWare) 본문
컴퓨터 시스템이란
데이터를 처리하는 물리적인 기계장치인 하드웨어(HardWare) +어떤 작업을 지시하는 명령어로 작성한 프로그램인 소프트웨어(SoftWare)
<Computer HardWare>
하드웨어는 프로세서, 메모리, 주변장치로 구성
이들은 시스템 버스로 연결
프로세서 CPU(중앙 처리장치)
컴퓨터의 모든 장치의 동작을 제어하고 연산 수행
(CPU는 산술논리 연산장치(ALU) 제어장치 레지스터로 구성)
프로세스의 레지스터의 분류
용도에 따른 분류
전용 레지스터
범용 레지스터
사용자가 정보 변경 가능 여부에 따른 분류
사용자 가시 레지스터
사용자 불가시 레지스터
저장하는 정보의 종류에 따른 분류
데이터 레지스터
주소 레지스터
상태 레지스터
종류 | 설명 | |
데이터 레지스터 DR (Data Register) |
하는 일: 함수의 연산에 필요한 데이터를 저장한다. 저장 data: 값, 문자 사용되는 곳: 산술 또는 논리연산에 사용 연산결과: 플래그 값 |
|
주소 레지스터 AR (Address Register) |
하는 일: 주소나 유효주소를 계산하는 데 필요한 주소의 일부분을 저장한다. 저장 데이터: 주소 값 사용가능: 산술연산 (주소 레지스터에 저장한 값을 사용 연산가능) |
|
기준 주소 레지스터 |
하는 일: 프로그램을 실행 할 때 사용하는 기준 주소값 저장 저장 데이터: 기준 주소 값 사용되는 곳: 페이지나 세그먼트처럼 블록화 된 정보에 접근하는데 사용 기준 주소란 하나의 프로그램이나 일부처럼 서로 관련 있는 정보를 저장 연속된 저장 공간을 지정하는 데 참조할 수 있는 주소이다. |
|
인덱스 레지스터 |
하는 일: 유효 주소를 계산하는 데 사용하는 주소 정보를 저장 저장 데이터: 주소 값 |
|
스택 포인터 레지스터 |
하는 일: 반환 주소, 프로세서 상태 정보, 서브루틴의 임시변수를 저장 사용되는 곳: 메모리에 프로세서 스택을 구현하는 데 사용 |
사용자 불가시 레지스터
종류 | 설명 |
프로그램 카운터 PC (Program Counter) |
하는 일: 다음에 실행할 명령어의 주소를 보관하는 레지스터 계수기로 되어 있어 실행할 명령어를 메모리에서 읽으면 명령어의 길이만큼 증가하여 다음 명령어를 가리키며 분기 명령어는 목적 주소로 갱신할 수 있다. |
명령어 레지스터 IR (Instruction Register) |
하는 일: 현재 실행하는 명령어를 보관하는 레지스터 |
누산기 ACC (ACC umulator) |
하는 일: 데이터를 일시적으로 저장하는 레지스터 |
메모리 주소 레지스터 MAR (Memory Buffer Register) |
하는 일: 프로세서 참조하려는 데이터의 주소를 명시하여 메모리에 접근하는 버퍼 레지스터 |
메모리 버퍼 레지스터 MBR (Memory Buffer Register) |
하는 일: 프로세서가 메모리에서 일거나 메모리에 저장할 데이터 자체를 보관하는 버퍼 레지스터 메모리 데이터 레지스터라고도 한다. |
프로세스의 기본 레지스터의 구조
메모리 계층구조
레지스터
프로세서가 사용한 데이터를 보관하는 가장 빠른 메모리
메인 메모리
프로세서 외부에 있으면서 프로세서에서 수행할 프로그램과 데이터를 저장하거나 프로세서에 처리한 결과를 저장
주기억장치 또는 1차 기억장치라고도 한다. 저장 밀도가 높고 가격이 싼 DRAM을 많이 사용
비트로 구성된 다수의 셀(cell)로 구성
셀이 k비트면 2^k값 저장 가능
메인 메모리에 데이터를 저장할때는 셀 한 개나 여러 개에 나눠서 저장
셀은 주소를 참조하는데 n비트이라면 주소범위는 0~ 2^(n-1)
레지스터와 캐시 그리고 메인 메모리는 프로세서가 프로그램과 데이터에 직접 접근 가능
프로세서와 보조기억장치 사이에 있다.
디스크 입출력 병목현상 해결 역할
프로세서와 메인 메모리 간에 속도 차이의 부담을 줄이려고 프로세서 내부나 외부에 캐시를 구현하기도 함
메모리 매핑(mapping)
컴파일로 논리적 주소를 물리적 주소로 변환하는 과정
메모리 속도
메모리 접근시간과 메모리 사이클 시간으로 표현
캐시
프로세서의 속도 차이를 보완하는 고속 버퍼
메인 메모리가 데이터를 블록 단위로 가져와 프로세서에 워드 단위로 전달하여 속도를 높임
데이터가 이동하는 통로를 확대하여 프로세서와 메모리의 속도차이를 줄임
캐시의 성능은 작은 용량의 캐시에 프로세서가 이후 참조할 정보가 얼마나 들어 있느냐로 좌우
캐시 적중: 프로세서가 참조하려는 정보가 있을 때
캐시 실패: 프로세서가 참조하려는 정보가 없을 때
블록의 크기는 캐시의 성능으로 좌우
실제 프로그램을 실행할 때 참조한 메모리에 대한 공간적 지역성(국부성)과 시간적 지역성(국부성)이 있기 때문
공간적 지역성: 대부분의 프로그램이 참조한 주소와 인접한 주소의 내용을 다시참조
시간적 지역성: 한 번 참조한 주소를 곧 다시 참조하는 특성
공간적 지역성과 시간적 지역성의 발생 원인
프로그램이 명령어를 순차적으로 실행하는 경향이 있어 명령어가 특정 지역 메모리에 인접해 있다.
순환(단일 순환, 중첩 순환 등) 때문에 메모리는 일부 영역만 참조한다.
대부분의 컴파일러를 메모리에 인접한 블록에 배열로 저장한다. 따라서 프로그램이 배열 원소에 순차적으로 자주 접근하므로 지역적인 배열 접근 경향이 있다.
(블록크기는 무작정 늘릴 수는 없음)
보조기억장치: 대용량의 자기 디스크, 이동이 편리한 광디스크, 파일을 저장하는 속도가 느린 자기테이프
프로그램과 데이터를 메인 메모리에 옮겨야 실행할 수 있다.
시스템 버스
하드웨어를 물리적으로 연결
데이터 주고받는 통로
컴퓨터 내부의 다양한 신호(데이터 입출력 신호, 프로세서 상태 신호, 인터럽트 요구와 허가 신호, 클록 신호등)를 시스템 버스로 전달
데이터 버스: 프로세서와 메인 메모리, 주변 장치사이에서 데이터를 전송
데이터 버스를 구성하는 배선 수는 프로세서가 한 번에 전송할 수 있는 비트 수를 결정함 이를 워드라 한다.
주소 버스: 프로세서가 시스템의 구성 요소를 식별하는 주소 정보를 전송
주소 버스를 구성하는 배선 수는 프로세서와 접촉가능한 메인 메모리의 최대 용량을 결정
제어 버스: 프로세서가 시스템의 구성 요소를 제어하는 데 사용한다.
제어 신호로 연산 장치의 연산종류와 메인 메모리의 읽기나 쓰기 동작 결정
주변장치
프로세서와 메인 메모리를 제외한 하드웨어 구성 요소
크게 입력장치, 출력장치, 저장장치로 구분
'CS공부 > 운영체제' 카테고리의 다른 글
운영체제 2020-1학기 중간고사 대비 3-1 (0) | 2021.07.01 |
---|---|
운영체제 2020-1학기 중간고사 대비 2-3(운영체제의 서비스 제공) (0) | 2021.07.01 |
운영체제 2020-1학기 중간고사 대비 2-2(다중 프로그래밍 ,시분할, 다중처리,실시간 처리, 분산처리 시스템) (0) | 2021.07.01 |
운영체제 2020-1학기 중간고사 대비 2-1(운영체제의 개념) (0) | 2021.07.01 |
운영체제 2020-1학기 중간고사 대비 1-2(컴퓨터 시스템의 동작) (0) | 2021.07.01 |