[CA] 컴퓨터의 분류, 정보의 표현
다양한 기준에 따른 컴퓨터의 분류와 정보를 표현하는 방법
Computer Classification
by Data
데이터의 형태에 따라 컴퓨터를 분류하면 다음과 같다.
- Digital computer: 연속된 양의 표현이 불가능
- Analog computer: 연속된 양을 디지털로 변환시키지 않고 직접 처리
- Hybrid computer: 아날로그와 디지털 컴퓨터를 혼합한 형태
컴퓨터의 발달은 곧 전자소자의 발달을 의미한다. 진공관에서부터 트랜지스터, IC, 마이크로프로세서까지의 발달 과정을 보면 알 수 있다. 컴퓨터의 세대를 정리해보면 아래와 같다.
- 1세대 1940’s
- 진공관을 소자로 사용 (작은 백열전구 등)
- 부피, 전력소비 큼
- 주로 기계어로 프로그래밍
- 2세대 1950’s
- 다이오드, 트랜지스터 등 반도체 소자 사용
- 고급 프로그래밍 언어 개발 (포트란, 코볼 등)
- 원격 데이터 통신, OS, 멀티태스킹 도입
- 3세대 1960’s
- 트랜지스터를 집약시킨 집적회로 사용
- 범용 컴퓨터 개발, 사무처리 능력 확대
- 4세대 1970’s~현재
- 마이크로프로세서가 CPU로 개발되어 사용
- 개인용 컴퓨터 대중화
- 5세대 1980’s~미래
- 초병렬컴퓨터 (GPU)
- Wearable Computer
- 신경망 (바이오컴퓨터)
by Processing power
처리 능력에 따라서는 다음과 같이 분류한다.
-
소형: PC, 전문가용 워크스테이션
-
대형: 메인 프레임, 주전산기
-
슈퍼컴퓨터: 주로 국방, 첨단연구 목적
top500.org 에서 상위 500대의 슈퍼컴퓨터를 1년에 2회(6월, 11월) 발표한다. 한국 국내 1위인 KIST 슈퍼컴퓨터의 경우 2020.11월 기준 세계 21위이다.
by Use
사용 기능(형태)에 따라서는 다음과 같이 분류한다.
- 중앙집중식: 여러 사람이 중앙컴퓨터에 접속해서 사용
- 분산식: 인터넷에 연결된 컴퓨터처럼 외부 자원 공유
- 독립형: 일반적인 pc. 한 대에서 웬만한 작업 모두 가능
Cloud Service
Cloud를 직역하면 구름이다. 말 그대로 나타났다 사라졌다 모양이 바뀌고 유연한 존재이다.
클라우드 서비스란 클라우드 컴퓨팅을 가리킨다. Amazon Web Services, Google Cloud 등을 예시로 들 수 있다.
- Hosting service (기존)
- 물리적 서버 구축, 네트워크로 연결
- 유연성 부족. 자원 낭비
- Cloud service
- 가상 서버. 네트워크 기반.
- 내장 소프트웨어 불필요
- 유연함
클라우드 컴퓨터의 장단점을 정리하면 다음과 같다.
- 장점
- 경제적
- 자료가 서버에 보관. 안정성/보안성
- 일반적 작업환경/관리에 편리
- 단점
- 네트워크로 인한 시간 지연
Server & Client
Server는 봉사자라는 의미로, 파일을 공급해주는 서비스 제공자를 뜻한다. 반대로 Client는 고객이라는 의미로, 파일을 공급 받는 서비스 요구자이다. 예를 들면 web server의 경우 홈페이지의 내용이 담긴 컴퓨터라고 볼 수 있으며, browser를 이용해 page를 열어보는 일반 사용자들의 컴퓨터를 client라고 볼 수 있다.
Expression of Information
정보를 표현하는 다양한 방법이 있다. 숫자 코드, 컴퓨터 워드, 문자 세트 등에 대해 알아보겠다.
Number code
먼저 숫자 코드는 무엇일까? code란 암호나 부호, 컴퓨터의 처리 형식에 맞도록 부호화된 프로그램 명령이나 데이터이다. 숫자 코드는 컴퓨터와 의사소통할 때 사용되는 언어로, 기계가 이해할 수 있도록 bit로 구성되어있다.
bit는 binary digit의 약자로, 2진수 체계에서 정보의 기본 단위이며 1, 0으로 표현된다.
이산 수학이나 디지털 시스템에서도 매번 배우듯, 2진수 ↔ 8진수 ↔ 10진수 ↔ 16진수 등 진법을 자유자재로 활용할 수 있는 능력은 프로그래머에게 정말 기본적인 자질이다. 숫자코드는 프로그래밍 언어마다 표현이 다르며, 주로 접두사나 접미사로 진법 단위 기호를 붙인다. (붙이지 않으면 관습적으로 10진수로 보면 된다.)
Computer word
우리는 정보를 컴퓨터 워드(computer word)로도 표현할 수 있다. 컴퓨터 워드란 한 번에 처리하는 고정된 크기의 비트 그룹 단위를 뜻한다. 즉 명령어나 데이터를 처리할 때 자주 사용하는 비트 수를 규칙으로 정한 것이다.
하드웨어적인 관점에서 봤을 때는 CPU에서 한 번에 처리할 수 있는 비트 수이고, 소프트웨어적 관점에서는 OS에서 사용하는 kernel의 비트 수, compiler에서 사용하는 데이터 단위라고도 볼 수 있다.
Character set & Encoding
문자를 표현하는 경우에는 어떻게 할까? 문자 세트(character set)는 문자의 집합을 뜻하며, 문자 인코딩(encoding)/코드 페이지(code page)는 문자 세트를 부호화한 것을 뜻한다.
-
ASCII: 7비트 인코딩 사용(남은 1비트는 error-checking)
-
ANSI: 8비트 확장 ASCII
-
Unicode(ISO/IEC 10646): 만국공통. 국제 표준
본래 Unicode는 IBM, Apple, MS 등이 설립한 컨소시엄 명칭이다.
다양한 기준에 따른 컴퓨터의 기본적인 분류와 정보의 표현 방법에 대해 정리해 보았다. 다음 CA 포스팅에서는 본격적으로 컴퓨터의 기본 구조와 동작을 다뤄보겠다.