EverGiver
컴퓨터 시스템 소개 본문
728x90
컴퓨터 하드웨어의 구성
- 컴퓨터 시스템
- 논리 연산을 수행하는 물리적인 기계 창인 하드웨어(hardware)와 하드웨어에 작업을 지시하는 명령어로 구성된 프로그램인 소프트웨어(softeare)로 구성 - 컴퓨터 하드웨어
- 프로세서, 메모리(기억장치), 주변장치로 구성되고, 이들은 시스템 버스로 연결
Processor
- Clock
- 컴퓨터 시간은 흔히 cycle의 수를 통해 측정
▷ Cycle : 시스템 clock 생성기가 보낸 전기 신호의 한 주기
▷ Clock 생성기는 각 장치가 요구하는 주파수의 clock 생성
→ 초당 cycle 수 (Hz, hertz)로 측정. 일반적으로 높은 주파수는 높은 성능을 의미
- Processor (CPU(중앙처리장치))
- 컴퓨터 하드웨어 구성 요소 중 운영체제와 가장 밀접한 부분으로, 컴퓨터의 모든 장치의 동작을 제어하고 연산 수행
- Processor의 register
- 프로세서 내부에 있으며, 프로세서가 사용할 데이터를 보관하는 가장 빠른 메모리
- 용도에 따른 분류
▷ 전용 레지스터 : PC, IR(명령 레지스터) etc
▷ 범용 레지스터
- 사용자가 정보 변경 가능 여부에 따른 분류
▷ 사용자 가시(user-visible) 레지스터
→ Read / Write by user program
▷ 사용자 불가시(user-invisible) 레지스터
- 저장하는 정보의 종류에 따른 분류
▷ 데이터 레지스터
▷ 주소 레지스터
▷ 상태 레지스터
Memory
- Memory hierarchy
- 1950 ~ 1960년대 너무 비싼 메인 메모리의 가격 문제 때문에 제안한 방법
- 메모리를 계층적으로 구성하여 비용, 속도, 용량, 접근 시간 등을 상호 보안
- Main memory (memory)
- 프로세서 외부에 존재
- 프로세서에서 수행할 프로그램과 데이터(read), 프로세서에서 처리한 결과 저장(write)
- 주기억장치 또는 1차 기억장치
- 저장 밀도가 높고 가격이 싼 DRAM(Dynamic RAM)을 많이 사용
- 메모리 성능 : memory access time과 memory cycle time으로 표현
▷ 프로세서와 메인 메모리 간에 속도 차이
- Address를 이용하여 참조 (reference)
- 하나의 주소값은 일반적으로 8bit (1byte)
▷ Processor에 따라 달라질 수 있다.
- 주소가 n비트라면 address space는 0~2^n - 1
▷ Ex) 32bit address : 0 ~ 0xFFFFFFFF (총 4GB)
- Word : system이 한번에 처리하는 데이터 크기
▷ 컴퓨터는 32비트, 64비트가 있다.
→ 32비트 컴퓨터의 경우 1 워드가 32비트, 즉 4바이트가 된다.
→ 64비트 컴퓨터의 경우 1워드가 64비트, 즉 8바이트가 된다.
- Cache
- 프로세서 내부나 외부에 있으며, 처리 속도가 빠른 프로세서와 상대적으로 느린 메인 메모리의 속도 차이를 보완하는 고속 버퍼
- 메인 메모리에서 데이터를 블록 단위로 가져와 프로세서에 워드 단위로 전달하여 속도를 높인다.
▷ 고속 메모리(SRAM)
▷ 캐시 적중(cache hit) : 참조하는 정보가 캐시 메모리에 있는 경우
▷ 캐시 실패(cache miss) : 참조하는 정보가 메모리에 없는 경우
- 실제 프로그램을 실행할 때 참조한 메모리에 대한 spatial locality와 temporal locality 이용
▷ spatial locality : 대부분의 프로그램이 참조한 주소와 인접한 주소의 내용을 다시 참조하는 특성
▷ Temporal locality : 한 번 참조한 주소를 곧 다시 참조하는 특성
- 캐시의 예
▷ L1과 L2 프로세서 캐시
▷ 메인 메모리의 일정 부분을 할당해 2차 저장소의 데이터를 캐싱
Buffer
- Buffer
- 전송속도에 차이가 있는 두 장치 사이에서 임시로 데이터를 저장하여 그 차이를 완화하는 장치
▷ 소프트웨어와 하드웨어 장치들이 데이터를 비동기적으로 전송하게 함으로써 시스템 성능 향상 - Spool
- CPU와 저속 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼
- Ex) Spooler
▷ 인쇄할 내용을 순차적으로 출력하는 소프트웨어
▷ Main SW는 데이터를 저장장치에 저장하면 인쇄 완료
▷ 출력 명령을 내린 프로그램과 독립적으로 동작하며 실제 인쇄 : 시스템 성능 향상
System bus
- 하드웨어를 물리적으로 연결하여 서로 데이터를 주고받을 수 있게 하는 통로
- 컴퓨터 내부의 다양한 신호(데이터 입출력, 프로세서 상태, 인터럽트 요구와 허가 등)를 시스템 버스로 전달
- 기능에 따라 데이터 버스, 주소 버스, 제어 버스로 구분
종류 | 설명 |
데이터 버스 | 프로세서와 메인 메모리, 주변장치 사이에서 데이터를 전송한다. 데이터 버스를 구성하는 배선 수는 프로세서가 한 번에 전송할 수 있는 비트 수를 결정하는데, 이를 워드라고 한다. |
주소 버스 | 프로세서가 시스템의 구성 요소를 식별하는 주소 정보를 전송한다. 주소 버스를 구성하는 배선 수는 프로세서와 접속할 수 있는 메인 메모리의 최대 용량을 결정한다. |
제어 버스 | 프로세서가 시스템의 구성 요소를 제어하는 데 사용한다. 제어 신호로 연산장치의 연산 종류와 메인 메모리의 읽기나 쓰니 동작을 결정한다. |
Peripherals
- 프로세서와 메인 메모리를 제외한 나머지 하드웨어 구성 요소
- 크게 입력장치, 출력장치, 보조 기억장치 (storage, 저장장치), 통신장치로 구분
- 저장장치 : 영구적으로 데이터를 저장하는 장치. 데이터를 입력하여 저장하며, 저장한 데이터를 출력하는 공간이므로 입출력 장치에 포함하기도 한다.
728x90
'전공 > 운영체제' 카테고리의 다른 글
Process Concept (0) | 2022.03.21 |
---|---|
컴퓨터 동작 (0) | 2022.03.13 |
운영체제의 유형 (0) | 2022.03.12 |
운영체제 발전 과정 (0) | 2022.03.06 |
운영체제 소개 (0) | 2022.03.06 |
Comments