컴퓨터 시스템

컴퓨터 시스템의 개념적 구성

  • 하드웨어(Hardware)
    • 시스템을 구성하는 물리적 부품으로 이루어진 전자적 / 기계적 장치를 의미
  • 펌웨어(Firmware)
    • 하드웨어를 제어하는데 필수적인 프로그램
    • 고정도가 높고 기본적인 프로그램이기 때문에 일반적으로 ROM에 저장
  • 소프트웨어(Software)
    • 하드웨어에 작업을 수행할 순서와 방법을 지시하는 명령어로 구성된 프로그램
    • 프로그램 수행에 필요한 절차, 규칙, 관련 문서 등을 총칭

컴퓨터 시스템의 4대 기능

입력 / 처리 / 저장 / 출력

비트, 바이트, 워드

컴퓨터는 두 가지 상태의 신호나 기호, 즉 디지털 정보만을 이해할 수 있음. 이를 0과 1로 이루어진 2진수로 표현

  • 비트(Bit)
    • 정보를 구성하는 최소 단위
    • 0과 1의 두 가지 상태만을 나타냄
  • 바이트(Byte)
    • 정보 표현의 기본 단위
    • 연속적인 8개 비트의 조합
    • 과거에는 정보의 기본 단위로 니블(nibble)이라는 4비트 단위를 사용하기도 하였음
  • 워드(Word)
    • 중앙처리장치에서 한 번에 처리할 수 있는 비트의 집합
    • 요즘은 32비트와 64비트를 워드로 많이 사용함

컴퓨터 하드웨어

중앙처리장치(CPU, Central Processing Unit)

중앙처리장치는 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치를 말한다.

  • CPU : 컴퓨터 시스템의 논리적 구성 요소
  • 마이크로프로세서 : CPU를 집적회로 형태로 만든 물리적 구성 요소
  • 구성요소
    • 산술논리장치(ALU, Arithmetic & Logic Unit)
    • 레지스터(Register)
    • 내부 버스
      • CPU 내부 구성 요소를 연결하는 배선의 집합
      • 데이터 신호, 주소 신호, 제어 신호 등을 전송

기억장치(Memory Device)

  • 계층적 기억장치
    • 레지스터
    • 캐시 메모리(SRAM)
    • 메인 메모리(DRAM)
    • 보조기억장치(HDD. SDD 등)

주변장치(Peripheral Device)

컴퓨터 시스템의 구성 요소 중 CPU와 메인 메모리를 제외한 나머지 구성 요소를 말함. 입출력장치라고도 함

  • 입력장치
    • 키보드, 마우스, 조이 스틱, 스캐너 등
  • 출력장치
    • 모니터, 프린터, 스피커 등

기타 하드웨어

버스

컴퓨터 시스템의 구성 요소는 이 버스를 통해 서로 각종 신호를 전달하고 교환함. 이들을 통틀어 시스템 버스라고도 함

  • 데이터버스
    • 데이터 전송
    • 배선의 수 = CPU가 한 번에 접속할 수 있는 비트 수(워드)
  • 주소버스
    • 시스템 구성 요소를 식별하기 위한 주소 정보 전송
    • 배선의 수 = CPU가 접속할 수 있는 최대 메모리의 용량
  • 제어버스
    • 시스템 구성 요소의 동작 제어하는데 사용

메인보드

  • 마더보드, 주회로기판, 시스템보드라고도 함
  • 역할
    • 컴퓨터의 실행 환경 설정
    • 설정 정보 유지
    • 안정적인 구동
    • 모든 장치간의 원활한 데이터 입출력 교환
  • 시스템 전반의 안정적인 동작 여부를 좌우함
  • 노스브릿지(MCH, Memory Controller Hub)
    • 주로 고속 장치를 구동
  • 사우스브릿지(ICH, I/O controller Hub)
    • 주로 저속 장치를 구동

컴퓨터 소프트웨어

  • 소프트웨어

    • 개념 : 명령의 집합으로 구성된 컴퓨터 프로그램 및 그와 관련된 문서를 총칭
    • 역할 : 데이터의 이동 방향과 데이터 처리의 종류를 지정함
    • 종류 : 시스템 소프트웨어, 응용 소프트웨어
  • 시스템 소프트웨어

    • 컴퓨터 하드웨어의 기능을 실행하기 위해 필수적인 작업을 하거나 응용 소프트웨어의 실행을 지원함
    • ex) 운영체제, 장치 드라이버, 번역기(컴파일러, 인터프리터 등), 링커, 로더 등
  • 응용 소프트웨어

    • 컴퓨터 시스템을 특정 분야에 사용하기 위해 제작된 소프트웨어
    • 최종 사용자가 원하는 작업을 수행하도록 해줌
    • ex) 사무, 그래픽, 멀티미디어, 게임, 통신 및 네트워크 등

운영체제와 부팅

운영체제

  • 하드웨어를 동작시키는데 가장 중요한 시스템 소프트웨어
  • 역할
    • 컴퓨터 시스템의 하드웨어 자원 관리
    • 사용자와 하드웨어 사이의 인터페이스 역할
    • 하드웨어의 고장 탐색, 오류 처리, 보안 유지
  • ex) 윈도우, 리눅스, MacOS, iOS, 안드로이드 등

부팅

  • 운영체제가 컴퓨터 하드웨어를 관리하고 응용 소프트웨어를 실행할 수 있도록 컴퓨터에 시동을 거는 것을 말함
  • 보조기억장치에 저장된 운영체제를 메인 메모리에 불러들이는 과정을 말함
  • 부트로더(Bootstrap Loader)와 비휘발성 메모리인 ROM을 이용
  • 자세한 내용은 해당 링크 참고

컴파일러와 인터프리터

컴퓨터의 분류

컴퓨터는 처리 능력, 사용 목적, 응용 분야, 사용 데이터, 아키텍처에 따라 다양하게 분류할 수 있음

  • 처리 능력에 의한 분류
    • 태블릿 컴퓨터, 개인용 컴퓨터, 워크스테이션, 미니텀프터와 메인프레임 컴퓨터
  • 사용 목적에 의한 분류
    • 전용 컴퓨터, 특수 목적 컴퓨터, 범용 컴퓨터
  • 응용 분야에 의한 분류
    • 데스크톱 컴퓨터, 서버, 임베디드 컴퓨터
  • 사용 데이터에 의한 분류
    • 디지털 컴퓨터, 아날로그 컴퓨터

컴퓨터의 구조, 구성, 실현

컴퓨터 구조

  • 하드웨어와 소프트웨어의 인터페이스에 대한 설명을 의미하는 명령어 집합 구조에 해당함
  • 프로그래머에게 보이는 시스템의 속성, 프로그램의 논리적 실행에 직접 영향을 미치는 시스템의 특성
  • ex) 명령어 집합, 데이터 표현에 사용되는 비트 수, 레지스터의 개수나 형식, 메모리 주소 지정 방식 등

컴퓨터 구성

  • 아키텍처 사양에 대한 형체를 제공하는 논리적인 골격
  • CPU와 각종 구성 요소, 관련 회로의 인터페이스에 대한 세부 사항 등 프로그래머에게 투명한 하드웨어 내역을 의미

컴퓨터 실현

  • 컴퓨터 구현의 구체적인 버전
  • 어떤 컴퓨터 부품이 사용되며 그 부품들이 어떻게 서로 연결되고 배치되는지를 결정함

컴퓨터 계열

  • 동일한 컴퓨터 구조를 사용하지만 다른 방식으로 시스템을 구현한 컴퓨터의 집합
  • 하나의 설계에 여러 개의 모델을 만들어낼 수 있음
  • 컴퓨터 계열은 소프트웨어의 호환성이라는 개념을 제공함

하드웨어와 소프트웨어의 상호 조정

  • 컴퓨터 시스템의 모든 기능은 하드웨어로도 구현할 수 있고 소프트웨어로도 구현할 수 있음
    • 하드웨어로 구현 : 고성능, 많은 비용
    • 소프트웨어로 구현 : 낮은 성능, 적은 비용

따라서 컴퓨터 구조의 특성을 결정할 때 반드시 이에 대한 상호 조정(tradeoff)가 필요함

'컴퓨터 구조' 카테고리의 다른 글

[책] Ch02. 컴퓨터의 발전과 성능  (0) 2019.02.12
블로그 이미지

NCookie

,