[CS Study] 컴퓨터의 구조

컴퓨터의 구성

하드웨어와 소프트웨어

컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나눠진다.

  • 하드웨어
    • 컴퓨터를 구성하는 기계적 장치
  • 소프트웨어
    • 하드웨어의 동작을 지시하고 제어하는 명령어 집합

하드웨어 종류

  • 중앙처리장치 (CPU)
  • 기억장치
    • RAM (Main Memory)
    • HDD·SSD
  • 입출력 장치
    • 마우스, 프린터, 모니터 등

소프트웨어 종류

  • 시스템 소프트웨어
    • 운영체제
    • 컴파일러
  • 응용 소프트웨어
    • 워드프로세서
    • 스프레드시트



하드웨어

Untitled

  • 하드웨어는 중앙처리장치(CPU), 기억장치, 입출력장치로 구성된다.
  • 이들은 시스템 버스로 연결되어 있다.
    • 시스템 버스 : 데이터명령 제어 신호 를 각 장치로 실어나르는 역할을 한다.


중앙처리장치(CPU)

Untitled

  • 인간의 두뇌에 해당하는 부분이다.
  • 주기억장치(Main Memory)에서 프로그램 명령어데이터 를 읽어와 처리하고 명령어의 수행 순서를 제어한다.
  • CPU의 구성
    • 산술논리연산장치 (ALU) : 비교와 연산을 담당
    • 제어장치 : 명령어의 해석과 실행을 담당
    • 레지스터 : 속도가 가장 빠른 데이터 기억장소


기억장치

Untitled

  • 프로그램, 데이터, 연산의 중간 결과를 저장하는 장치이다.
  • ‘주기억장치’ 와 ‘보조기억장치’ 로 나눠진다.
    • 주기억장치 : RAM, ROM
    • 보조기억장치 : HDD, SSD


입출력장치

  • 입력과 출력 장치로 나뉜다.
  • 입력 장치
    • 컴퓨터 내부로 자료를 입력하는 장치
    • 키보드, 마우스 등
  • 출력 장치
    • 컴퓨터에서 외부로 표현하는 장치
    • 프린터, 모니터 등

시스템 버스

Untitled

  • 하드웨어 구성 요소를 물리적으로 연결하는 선이다.
  • 각 구성요소끼리 데이터를 주고 받는데 사용되는 통로이다.
  • 용도에 따라 데이터 버스, 주소 버스, 제어 버스로 나뉜다.
  • 데이터 버스
    • 중앙처리장치(CPU)와 기타장치 사이에서 데이터를 전달하는 통로
    • 데이터 버스의 폭이 컴퓨터 성능에 영향 을 미친다.
    • 기억장치와 입출력장치의 명령어 & 데이터중앙처리장치(CPU)
    • 중앙처리장치의 연산 결과기억장치, 입출력장치
    • 양방향 버스
  • 주소 버스
    • 데이터를 정확히 실어나르기 위해선, 기억장치의 주소를 정해줘야 한다. 이때 기억장치의 주소를 전달하는 통로이다.
    • 주소 버스의 폭이 시스템에서 사용하는 기억 장치의 최대 용량을 결정 한다.
    • 중앙처리장치주기억장치, 입출력장치
    • 단방향 버스

      CPU가 접근해야하거나 연산결과를 저장할 주소를 일방적으로 전달

  • 제어 버스
    • 주소 버스와 데이터 버스는 모든 장치에서 공유되기 때문에, 이를 제어할 수단이 필요하다.
    • 데이터 버스와 주소 버스의 사용을 제어할 때 사용하는 버스이다.
    • 제어 신호 종류
      • 기억장치 읽기 및 쓰기
      • 버스 요청 및 승인
      • 인터럽트 요청 및 승인
      • 클럭
      • 전송 확인
    • 양방향 버스

      CPU ↔ 각 시스템 모듈



컴퓨터의 기본 동작

컴퓨터는 기본적으로 아래와 같이 동작한다.

READPROCESSWRITE

읽고 처리한 뒤 저장 하는 과정의 연속이다.

이 과정을 진행하면서 끊임없이 주기억장치(RAM) 과 중앙처리장치(CPU) 가 소통한다.

이때 운영체제가 64Bit 라면, CPU는 RAM으로부터 데이터를 한번에 64비트씩 읽어온다.

[ CPU가 한번에 읽을 수 있는 데이터의 길이 == 64비트 ]
이 말은 즉, CPU가 RAM에 접근할 수 있는 주소의 최대 길이가 2^64 라는 것을 의미한다.
따라서 64비트 운영체제에서 사용할 수 있는 RAM의 최대 용량은 64 개의 비트로 나타낼 수 있는 주소의 개수만큼이다.