컴퓨터 구조와 성능 향상 (1)

컴퓨터 기본 구성

‘쉽게 배우는 운영체제’ 읽고 정리

하드웨어 구성

필수 장치

  • 중앙처리장치(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;
  1. 컴파일러가 코드를 기계어로 변환
  2. 메모리(D2, D3)에 있는 값을 레지스터 임시 보관
  3. 레지스터에 덧셈 연산 결과값 보관
  4. 레지스터의 결과값 메모리로 이동

레지스터 종류

  • 데이터 레지스터(DR): 메모리에서 가져온 데이터 임시 보관, 범용 레지스터
  • 주소 레지스터(AR): 데이터 또는 명령어가 저장된 메모리 주소 저장
  • 프로그램 카운터(PC): 다음에 실행할 명령어 주소 저장
  • 명령어 레지스터(IR): 현재 실행 중인 명령어 저장
  • 메모리 주소 레지스터(MAR): 메모리에서 데이터를 가져오거나, 메모리로 데이터를 보낼 때 주소 저장
  • 메모리 버퍼 레지스터(MBR): 메모에서 가져온 데이터나 메모리로 옮길 데이터 임시 저장

버스 종류

  • 제어 버스
    • 제어장치와 연겨
    • CPU가 메모리와 주변장치에 제어 신호를 보내기 위해 사용
    • 양방향
  • 주소 버스
    • 메모리 주소 레지스터와 연결
    • 메모리나 주변장치에 데이터를 읽거나 쓸 때 위치 정보를 보내기 위해 사용
    • 단방향
  • 데이터 버스
    • 메모리 버퍼 레지스터와 연결
    • 양방향