컴퓨터 구조와 성능 향상 (1)
03 Jan 2022컴퓨터 기본 구성
‘쉽게 배우는 운영체제’ 읽고 정리
하드웨어 구성
필수 장치
- 중앙처리장치(CPU)
- 명령어를 해석하여 실행하는 장치
- 메인 메모리
- 작업에 필요한 프로그램과 데이터 저장
- byte 단위로 분할
- 분할 공간마다 주소로 구분 주변 장치
- 입력장치
- 외부 데이터를 컴퓨터에 입력
- 키보드, 마우스, 스캐너
- 출력장치
- 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력
- 프린터, 모니터, 스피커
- 저장장치
- 하드디스크, CD, USB, SSD
- 메모리보다 느리지만, 저렴하고 큰 용량
- 전원과 상관없이 데이터 영구 저장
- 메인 보드
- CPU, 메모리 등의 부품을 연결하는 판
- 버스로 연결된 부품 작동
- 일정한 규칙에 따라 각 장치에 데이터 전송하는 역할
- 각 장치를 연결하는 선의 집합이자 데이터의 통로
폰 노이만 구조
- CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어 있는 구조
- 메모리를 이용하여 프로그래밍 가능한 구조
- 작업하는 프로그램만 메모리에 울리는 방식
- 모든 프로그램은 메모리에 올라와야 실행 가능
HW 사양 관련 용어
- 클록(clock)
- CPU의 속도와 관련된 단위
- 일정 간격으로 틱을 만들면 그 박자에 맞추어 CPU 작업
- 메인 보드의 클록이 틱을 보낼 때 데이터 주고 받음
- 헤르츠(Hz)
- 1초에 클록 틱이 몇 번 발생하는지 나타내는 단위
- 시스템 버스(system bus)
- 메모리와 주변장치를 연결하는 버스(Front Side Bus)
- 메인보드의 시스템 버스 속도에 맞춰 메모리도 작동
- CPU 내부 버스
- CPU 내부 장치 연결하는 버스(Back Side Bus)
- CPU 클록 속도와 동일하며 시스템 버스보다 빠름
CPU & Memory
구성
- 산술논리 연산잔치(Arithmetic and Logic Unit, ALU)
- 데이터 연산 장치
- 산술 연산
- 논리 연산(AND, OR)
- 제어장치(Control Unit)
- 작업 지시
- 레지스터(Register)
- 데이터 임시 보관
명령 처리 과정
아래의 코드가 주어질 때 CPU의 명령어 처리 과정은 다음과 같다.
int D2=2, D3=3, sum;
sum=D2+D3;
- 컴파일러가 코드를 기계어로 변환
- 메모리(D2, D3)에 있는 값을 레지스터 임시 보관
- 레지스터에 덧셈 연산 결과값 보관
- 레지스터의 결과값 메모리로 이동
레지스터 종류
- 데이터 레지스터(DR): 메모리에서 가져온 데이터 임시 보관, 범용 레지스터
- 주소 레지스터(AR): 데이터 또는 명령어가 저장된 메모리 주소 저장
- 프로그램 카운터(PC): 다음에 실행할 명령어 주소 저장
- 명령어 레지스터(IR): 현재 실행 중인 명령어 저장
- 메모리 주소 레지스터(MAR): 메모리에서 데이터를 가져오거나, 메모리로 데이터를 보낼 때 주소 저장
- 메모리 버퍼 레지스터(MBR): 메모에서 가져온 데이터나 메모리로 옮길 데이터 임시 저장
버스 종류
- 제어 버스
- 제어장치와 연겨
- CPU가 메모리와 주변장치에 제어 신호를 보내기 위해 사용
- 양방향
- 주소 버스
- 메모리 주소 레지스터와 연결
- 메모리나 주변장치에 데이터를 읽거나 쓸 때 위치 정보를 보내기 위해 사용
- 단방향
- 데이터 버스
- 메모리 버퍼 레지스터와 연결
- 양방향