• 이 글은 김종현님의 저서인 Computer Architecture를 보고 정리한 내용입니다

컴퓨터시스템의 개요

  • 컴퓨터시스템은 기본적으로 하드웨어와 시스템 소프트웨어(system software)로 구성되며, 그러한 시스템에 각종 응용 소프트웨어(application software)들이 탑재되어 사용자와 대화하면서 프로그램을 처리한다

  • 컴퓨터가 주어진 작업(job)을 수행하기 위해서는 전기적 신호들로 표현된 정보들을 이동시키거나 처리하여 새로운 정보를 생성해야 한다

  • 컴퓨터에서 각종 정보의 전송 통로를 제공해주고, 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들을 하드웨어(hardware)라고 부른

컴퓨터 하드웨어는 다음과 같은 요소들로 이루어진다

컴퓨터 하드웨어의 주요 요소들

  • 중앙처리장치 : 펜티엄 듀얼-코어 프로세서, 쿼드-코어 옵테론 등

  • 기억장치

    • 주기억장치 : RAM, ROM, DDR SDRAM 등

    • 보조저장장치 : CD-ROM, 디스크, SSD 등

  • 입출력장치

    • 입력장치 : 키보드, 마우스 등

    • 출력장치 : 프린터, LCD모니터, 스피커 등

  • 전원공급장치, 냉각 송풍기 등

소프트웨어(software)란

  • 정보들이 이동하는 방향과 정보처리의 종류를 지정해 주고, 그러한 동작들이 수행될 시간을 지정해주는 명령(command)들의 집합이라고 정의할 수 있다

그런데 소프트웨어는 하드웨어에 의존적이다

  • 다시 말하면, 컴퓨터의 기본적인 능력은 하드웨어에 의해 결정되며, 소프트웨어는 하드웨어가 제공해주는 기능들을 이용하여 최종적인 결과를 얻을 수 있도록 도와주는 것일 뿐이다

  • 따라서 컴퓨터의 정보처리 능력, 즉 얼마나 다양한 기능들을 어느정도의 속도로 수행해줄 수 있는지는 근본적으로 하드웨어에 달려있으며, 다만 소프트웨어의 질에 따라 하드웨어의 사용 효율이 더 향상되거나 좀 더 편리한 사용 환경이 제공될 수는 있다

컴퓨터의 근본적인 기능은

  • 수치적으로 혹은 논리적 데이터를 적절히 처리하는 것이며, 이것을 위한 하드웨어는 반드시 전자회로만으로 가능한 것은 아니다

  • 컴퓨터가 단순한 계산기계로서만 작동하던 초기 시대에는 원형판이나 릴레이(relay)와 같은 기계장치들에 의해 그 기능들이 수행되었다

  • 속도 향상과 기능 확장을 위하여 점차적으로 전자장치들로 대체되어 왔다

  • 그러나 그러한 초기 컴퓨터들의 구조와 동작 원리를 분석해보면 현재의 컴퓨터들과 별로 다를 게 없다

    • 다만 기능이 더 단순하고 구조가 간단했다는 차이가 있을 뿐이다