[컴퓨터 구조] 컴퓨터 시스템 개요

컴퓨터 시스템을 구성하는 여러 하드웨어와 소프트웨어에 대해 개념적으로 살펴보고 이해하여 컴퓨터 시스템의 설계에 대한 준비한다

컴퓨터 시스템

컴퓨터 시스템은 사용자가 원하는 작업 내용을 포함하는 소프트웨어와 작업을 수행하기 위한 하드웨어로 구성

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

컴퓨터 시스템 = 하드웨어(+펌웨어) + 소프트웨어

하드웨어는 시스템을 구성하는 물리적 부품, 요소 → 전자적/기계적 장치를 의미

소프트웨어는 작업을 수행할 순서와 방법을 지시하는 명령어로 구성 → 프로그램과 프로그램 수행에 필요한 절차, 규칙, 관련 문서 등

펌웨어의 경우 하드웨어를 제어하는 데 필수적인 프로그램으로 하드웨어와 소프트웨어의 중간 개념 → 고정도가 높고 제어 프로그램의 효율을 높이기 위해 ROM 메모리에 내장

컴퓨터 시스템의 4대 기능

입력, 처리, 저장, 출력

  • 입력 : 키보드와 같은 입력장치로 정보를 입력받는 기능
  • 처리 : 입력된 정보를 CPU를 통해 산술/논리 연산을 수행하여 정보를 처리하는 기능
  • 저장 : 입력되거나 처리된 정보를 저장장치에 저장(보관)하는 기능
  • 출력 : 입력, 처리, 저장된 정보를 모니터와 같은 출력장치를 통해 출력시키는 기능

비트, 바이트, 워드

컴퓨터가 받아들일 수 있는 신호는 디지털 신호로 0과 1로 이루어진 이진수로 표현

**비트(bit)**는 정보를 구성하는 최소 단위로 0과 1의 두 가지 상태만 가짐

**바이트(byte)**는 8개의 비트로 묶어진 것으로 총 256개를 나타낼 수 있음 → 기본적인 영문자와 숫자 기호 표현 가능

**워드(WORD)**는 바이트보다 큰 정보 처리를 위해 나타낸 것으로 CPU에서 한 번에 처리할 수 있는 비트의 집합 → 일반적으로 4바이트 = 1워드

바이트와 워드는 의미를 가진 정보로 명령어나 데이터로 취급

컴퓨터 하드웨어

컴퓨터 하드웨어는 컴퓨터 기능을 수행하기 위해 전기적 신호로 구성된 정보를 이동시키거나 처리하는 물리적인 실체를 의미

중앙처리장치 (CPU)

컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치로 컴퓨터의 심장이라고도 불림

CPU는 제어장치, 연산장치, 레지스터, cpu 내부 버스 등으로 구성

control unit(제어장치)의 경우 메인 메모리로부터 적절한 순서로 명령어를 인출, 해독하여 제어신호를 보냄

연산장치는 명령어가 의도하는 대로 데이터를 실행하기위해 데이터를 처리하는 장치

레지스터는 데이터를 처리하는 동안 사용할 값이나 연산의 중간 결과를 일시적으로 저장하는 고속 기억장치이며 cpu에는 여러 역할을 하는 레지스터들이 존재

cpu 내부 버스는 cpu 내부 구성 요소를 연결하는 배선으로 신호들을 주고 받는 역할

기억장치

컴퓨터 시스템에 의해 처리될 프로그램과 데이터를 저장하기 위한 장치

일반적인 pc에서의 기억장치는 계층적으로 이루어짐

cpu 내부의 레지스터, 캐시 메모리, 메인 메모리, 보조기억장치의 계층으로 구분

cpu에 가까울수록 고속이나 고가이며 멀수록 저속이지만 대용량으로 구성

RAM은 메인 메모리에 속하며 cpu와 보조 기억장치 사이에서 프로그램과 데이터를 기억하였다가 전달하는 역할

주변장치

컴퓨터 시스템 구성 요소 중 cpu와 메인 메모리를 제외한 나머지 구성 요소를 말하며 입력, 출력, 저장장치로 구분

우리가 컴퓨터를 사용하기위해 보는 모니터, 키보드, 마우스 등이 이에 포함되며 프린트, usb도 이에 해당

기타 하드웨어

컴퓨터 시스템의 주요 장치를 연결하기 위한 버스와 각 구성요소를 탑재하는 메인보드가 해당

각 구성요소는 유기적으로 연결되어야하며 적절한 속도를 내기 위해 워드 단위로 구성

  • 데이터 버스 : cpu와 메인 메모리, 주변장치 사이에 데이터를 전송하는 배선의 집합 → 32비트 컴퓨터의 경우 해당 버스의 선 수가 32개인 경우
  • 주소 버스 : cpu가 시스템 구성 요소를 식별하기 위한 주소 정보를 전달하는 배선의 집합
  • 제어 버스 : cpu가 시스템 구성 요소의 동작을 제어하는 데 사용하는 배선의 집합

메인보드의 경우 각 기능 장치를 연결하고 확장하기 위한 장치

컴퓨터 소프트웨어

컴퓨터의 구성요소 중에서 하드웨어를 제외한 무형의 부분을 가리킴

데이터의 이동방향과 데이터 처리 종류를 지정하는 등의 작업을 수행

시스템 소프트웨어와 응용 소프트웨어로 구분되어 사용하고 있음

시스템 소프트웨어

시스템 소프트웨어는 컴퓨터 하드웨어의 기능을 실행하기 위해 필수적인 작업을 하거나 응용 소프트웨어의 실행을 지원하는 소프트웨어

운영체제, 장치 드라이버, 컴파일러, 인터프리터, 링커, 로더 등의 프로그램이 이에 해당

응용 소프트웨어

컴퓨터 시스템을 특정 분야에 사용하기 위해 제작된 소프트웨어를 말함

여러 종류의 소프트웨어가 있으며 이를 통해 사용자가 원하는 작업을 수행

운영체제와 부팅

운영체제는 시스템 운영체제에서 가장 중요 → 컴공의 주요 과목으로 있음

운영체제

운영체제는 하드웨어 자원을 효율적으로 사용하고 응용 프로그램의 공통된 서비스를 제공하는 소프트웨어의 모음 → 사용자가 편리하도록 하드웨어에 대한 접근이나 호환성을 생각하지 않고 컴퓨터 사용이 가능해짐

부팅

운영체제가 컴퓨터 하드웨어를 관리하고 응용 소프트웨어를 실행할 수 있도록 컴퓨터에 시동을 거는 것으로 운영체제를 메인 메모리에 불러들이는 것

모든 소프트웨어는 메인 메모리에 적재되어야하므로 시스템 소프트웨어에 포함된 운영체제도 메모리에 적재되어야함 → 부팅의 존재 이유

RAM은 휘발성 메모리이므로 ROM에 저장된 부트로더를 통해 운영체제를 RAM으로 불러옴

컴파일러와 인터프리터

하드웨어는 기계어만 인식하기에 자연어에 가까운 고급언어를 사용하는 소프트웨어 계층 사이의 변환을 위해 컴파일러와 인터프리터를 사용

컴파일러

고급언어로 작성된 원시 프로그램을 저급언어로 구성된 목적 프로그램으로 변환하는 소프트웨어

→ 변환 시간은 길지만 변환된 프로그램은 항상 실행이 가능하며 최적화를 통해 실행 속도가 빠름

인터프리터

고급언어에서 하나의 명령어를 분석하여 동일한 효과를 가진 저급언어로 변환하여 실행시키며 이를 반복하는 소프트웨어

→ 변환 시간은 짧지만 전체적인 프로그램 실행에는 시간이 걸림

컴퓨터의 분류

컴퓨터는 각각의 목적이나 아키텍처에 따라 다양하게 분류할 수 있음

처리 능력에 따른 분류

컴퓨터의 처리할 내용에 따라 연산 속도, 메모리의 용량 등과 같은 하드웨어 사양이 달라지면서 분류가 가능 → 가장 유용했지만 최근에는 모호한 부분이 있어 사용 빈도가 줄어드는 중

  • 테블릿 컴퓨터 : 모바일 인터넷 기기 등을 이야기함 → 최근에는 스마트폰의 보급으로 모호해진 느낌
  • 개인용 컴퓨터(personal computer) : pc로 불리며 가정이나 사무실에서 개인의 일 처리에 사용
  • 워크 스테이션 : pc와 비슷하나 고사양의 하드웨어로 이루어져 소수의 전문가의 특수한 작업 수행에 사용
  • 미니 컴퓨터와 메인프레임 컴퓨터 : 공동 작업용이나 기업용으로 사용 → 주로 서버용 컴퓨터를 의미
  • 슈퍼 컴퓨터 : 복잡한 연산 작업을 초고속으로 처리할 수 있는 고성능 컴퓨터 → 기상 예측, 항공 우주 등 여러 분야에 사용

사용 목적에 의한 분류

  • 특수 목적 컴퓨터 or 전용 컴퓨터 : 특정 목적을 위해 설계된 컴퓨터로 최근엔 컴퓨터의 대중화로 많이 줄어든 느낌
  • 범용 컴퓨터 : 다목적 용도로 설계된 컴퓨터 대부분의 컴퓨터가 해당 범주에 속함

응용 분야에 의한 분류

컴퓨터는 응용 분야에 따라 설계 요구 사항과 사용하는 하드웨어 기술이 다를 수 있음

  • 데스크톱 컴퓨터 : 처리 능력에 의한 분류상 개인용 컴퓨터가 속하며 가격이 저렴하여 대규모 시장을 형성하고 있음
  • 서버 : 미니컴퓨터와 메인프레임 컴퓨터, 슈퍼컴퓨터가 이 곳에 속하며 기업 및 기관용으로 사용
  • 임베디드 컴퓨터 : 다른 시스템에 내장되어 미리 정해진 특정 기능을 수행하는 컴퓨터, 최근에는 여러 분야에서 많이 사용되는 중

사용 데이터에 의한 분류

  • 디지털 컴퓨터 : 불연속적인 자료의 조합으로 구성된 디지털 데이터를 처리하는 컴퓨터로 현재 컴퓨터는 대부분 디지털 컴퓨터
  • 아날로그 컴퓨터 : 전압, 전류, 온도 등 연속적인 데이터, 아날로그 데이터를 처리한 후 곡선이나 그래프로 출력하는 컴퓨터 → 한정된 분야에서 사용 중

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

컴퓨터 시스템의 설계나 사양은 설계 수준인 구조, 구성, 실현으로 구분 가능

컴퓨터 구조 (좁은 의미)

컴퓨터는 하드웨어, 소프트웨어, 그 사이의 완충 역할을 하는 명령어 집합 구조로 구성

이 중에서 컴퓨터 구조는 명령어 집합 구조에 해당 → 컴퓨터 구조는 하드웨어와 소프트웨어의 인터페이스

넓은 의미의 컴퓨터 구조는 컴퓨터 구성을 포함

컴퓨터 구성

아키텍쳐 사양에 대한 형체를 제공하는 논리적인 골격 (CPU와 각종 구성 요소, 관련 회로의 인터페이스에 대한 세부사항) → 구조는 ‘무엇’, 구성은 ‘어떻게’

컴퓨터 실현

컴퓨터 구현의 구체적인 버전으로 컴퓨터 부품이 사용되며 어떻게 연결되고 배치되는지 결정

컴퓨터 계열

다양한 컴퓨터 제조사에서 다양한 모델의 컴퓨터 시스템을 생산 → 동일한 컴퓨터 구조에도 다양한 형태의 컴퓨터 모델을 만들 수 있음

동일한 명령어 집합을 사용하기 때문에 동일한 소프트웨어를 실행 가능 → 소프트웨어 호환성 여부에 연결

'Computer Science > Computer Architecture' 카테고리의 다른 글

[컴퓨터 구조] 명령어 집합  (3) 2023.09.06