컴퓨터 시스템
컴퓨터 시스템의 개념적 구성
- 하드웨어(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 |
---|