컴퓨터 하드웨어
1. overview
1-1. 프로세서(Processor)
- 프로세서는 쉽게 말해 계산하는 장치이다.
- CPU
- 그래픽카드(GPU)
- 응용 전용 처리장치 등
1-2. 메모리(memory)
- 메모리는 쉽게 말해 저장하는 장치이다.
- 주 기억장치
- 보조 기억장치 등
1-3. 주변장치
- 키보드/마우스
- 모니터, 프린터
- 네트워크 모뎀 등
2. 프로세서
2-1. 컴퓨터의 두뇌(중앙처리장치)
- 연산 수행
- 컴퓨터의 모든 장치의 동작 제어
2-2. 레지스터(Register)
프로세서(cpu) 내부에 있는 메모리
- 프로세서가 사용할 데이터 저장
- 컴퓨터에서 가장 빠른 메모리
레지스터의 종류
- 용도에 따른 분류
- 사용자가 정보 변경 가능 여부에 따른 분류
- 사용자 가시 레지스터, 사용자 불가시 레지스터
- 저장하는 정보의 종류에 따른 분류
- 데이터 레지스터, 주소 레지스터, 상태 레지스터
-프로그램 카운터, 명령어 레지스터, 누산기는 교양 지식으로라도 알고 있자!
2-3 운영체제와 프로세서
운영체제는 프로세서가 처리할 작업을 할당 및 관리함.
프로그램의 프로세서 사용 제어
- 프로그램의 프로세서 사용 시간 관리
- 복수 프로그램간 사용 시간 조율 등
3. 메모리
데이터를 저장하는 장치(기억장치)
- 프로그램(os, 사용자SW 등), 사용자 데이터 등
3-1. 메모리의 종류
- 레지스터
- 캐시
- 메인 메모리(주기억장치)
- 보조기억장치
3-1-1. 주기억장치(Main memory)
- 프로세서가 수행할 프로그램과 데이터 저장
- DRAM을 주로 사용
- 디스크 입출력 병목현상(I/O bottleneck) 해소
- Main memory의 존재 이유:
- 병목현상을 해결하기 위해.
- 원랜 디스크와 프로세서만 있었는데 프로세서의 속도의 발전을 디스크가 따라가지 못하게 되면서 그 사이에 main memory를 두게 됨. 미리 퍼다놓고 더 빠르게 쓰기 위함.
3-1-2. 캐시(cache)
-
프로세서(cpu) 내부에 있는 메모리(L1, L2 캐시 등)
-
메인 메모리의 병목현상(I/O bottleneck) 해소
-
메인 메모리를 뒀는데도 속도가 느려서 cpu와 main memory사이에 캐시를 둠.
-
캐시의 동작
- 일반적으로 HW적으로 관리 됨.
- 데이터를 캐시에서 먼저 확인. 있으면 바로 퍼가고, 없으면 메인메모리에 가서 가져옴.
- 캐시 히트(cache hit)
- 캐시 미스(cache miss)
- 필요한 데이터 블록이 없는 경우(메인 메모리에 가서 가져옴)
-
지역성(Locality)
- 공간적 지역성
- 시간적 지역성
- 한 번 참조한 주소를 곧 다시 참조하는 특성
-예) for 문 등의 순환문
- 지역성은 캐시 적중률(cache hit ratio)과 밀접
- 알고리즘 성능 향상을 위한 중요한 요소 중 하나
3-1-3. 보조기억 장치(Auxiliary memory / secondary memory / storage)
- 프로그램과 데이터를 저장
- 프로세서가 직접 접근할 수 없음(주변장치)
- 주기억장치를 통해 접근
- 프로그램/데이터 > 주기억장치) 인 경우는?
- 용량이 큼. 가격 저렴.
- 예시) usb, cd, dvd등.
3-2. 메모리와 운영체제
1)운영체제는 메모리 할당 및 관리 역할을 함
- 프로그램의 요청에 따른 메모리 할당 및 회수
- 할당된 메모리 관리
2)운영체제는 가상 메모리 관리함.
- 가상 메모리 생성 및 관리
- 논리주소 -> 물리주소 변환
4. 시스템 버스(System Bus)
- 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로
5. 주변장치
프로세서와 메모리를 제외한 하드웨어들
- 입력장치: 키보드, 마우스
- 출력장치: 모니터, 스피커, 프린터
- 저장장치: usb, cd
주변장치와 운영체제
운영체제는 장치 드라이버를 관리한다
운영체제는 인터럽트(Interrupt)(=주변 장치의 요청) 처리한다.
파일 및 디스크 관리
출처: https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN