CS

[컴퓨터과학개론] 컴퓨터와 데이터

Grace 2023. 11. 19. 22:57

컴퓨터와 데이터

컴퓨터

  • 프로그램이 가능한 데이터 처리기 programmable data processor

  • 프로그램을 통해서 데이터를 입력하여 처리, 저장 검색, 출력하는 전자적 장치
  • 프로그램
    • 컴퓨터가 데이터를 어떻게 처리할지를 알려주는 일련의 명령어 집합
    • 처리 가능한 작업의 유형과 연산의 집합을 결정
      → 특수 목적의 작업을 처리하는 기계가 아니라, 다양한 형태의 작업을 수행할 수 있는 범용의 기계
    • 프로그래밍 과정의 결과물
      • 주어진 문제의 해결 방법과 절차를 찾는다. → 알고리즘
      • 적절한 프로그래밍 언어를 사용해서 컴퓨터가 이해할 수 있는 형태로 표현

컴퓨터의 장점

  • 신속한 처리
  • 처리 결과의 정확성: 유효한 입력과 프로그램이 주어지면 항상 정확한 결과 생성
  • 자동: 프로그램 지시에 따라 자동으로 처리 → 사람의 개입이 불필요
  • 대용량: 대용량의 데이터 저장 및 처리

컴퓨터과학

  • 데이터의 표현, 저장, 조작, 검색과 밀접히 관련된 분야
    → 데이터의 획득, 표현, 처리, 저장, 통신, 접근을 위한 방법들의 실행 가능성, 구조화, 표현, 기계화에 관련된 내용을 다루는 분야
  • 컴퓨터, 데이터, 프로그램, 알고리즘에 대한 분야
  • 알고리즘(주어진 문제를 해결하기 위한 처리 과정을 절차적으로 나열한 명령어들의 집합)과 관련된 이슈(한계, 분석, 개발, 통신, 표현, 실행)를 다루는 학문

컴퓨터과학의 특성

  • 비교적 짧은 역사, 빠른 변화 및 엄청난 영향력
  • 다른 분야와의 밀접한 연관 → 폭 넓은 연구/응용 범위

컴퓨터 시스템

하드웨어

  • 기계를 구성하고 있는 모든 물리적인 기계장치/전자장치
  • 핵심 장치: 폰 노이만 모델에서 제시한 4개의 서브시스템
  • 폰 노이만 모델
  • 컴퓨터의 내부 구조와 처리 과정을 정의한 모델
  • 모든 컴퓨터는 폰 노이만 모델에 기반을 둠

폰 노이만 모델에 의한 시스템

  • 기억장치(주기억장치, 보조기억장치): 처리할 입력 데이터, 처리를 담당하는 프로그램, 중간 결과, 출력할 데이터
  • 산술논리연산장치: 산술 연산과 논리 연산의 수행을 통해 직접적인 데이터 처리가 이루어지는 장치
  • 제어 장치: 컴퓨터의 기억장치, ALU, 입출력장치의 동작을 제어하는 장치
  • 입력장치(보조기억장치)
  • 출력장치(보조기억장치)

하드웨어 요소 간의 통신

폰 노이만 모델의 주요 개념

  • 내장 프로그램
    • 실행될 프로그램은 메모리에 저장되어야 한다.
    • 초기 컴퓨터에서는 데이터만 메모리에 저장되고, 프로그램은 컴퓨터 외부에 표현
    • 프로그램과 데이터가 동일한 형식(비트 패턴)으로 메모리에 표현된다는 의미를 내포
  • 프로그램은 유한 개의 명령어의 나열이다
    • 미리 정의된 기본 명령어의 유한 개의 조합으로 구성된다.
    • 메모리에서 한 번에 하나씩 명령어를 가져와서 해석하고, 실행한다.
    • 명령어의 재사용 → 프로그래밍 작업이 간단해짐

소프트웨어

모든 종류의 프로그램을 총체적으로 표현하는 용어

  • 컴퓨터가 데이터를 어떻게 처리할 것인가를 규정하는 명령어들의 나열
  • 컴퓨터가 이해할 수 있도록 표현된 알고리즘

소프트웨어의 분류

  • 시스템 소프트웨어: 컴퓨터 자체의 작업 관리와 특정 기능의 수행을 통해 컴퓨터의 전체적인 운영을 담당 (운영체제, 컴파일러 등)
  • 응용 소프트웨어: 사용자가 요구하는 작억을 직업적으로 수행하는 프로그램

데이터

  • 모든 데이터는 유형에 관계 없이 비트 패턴으로 표현
    → 비트 패턴: 이진 상태를 나타내는 비트인 0과 1이 나열된 형태 (폰 노이만 모델에서는 데이터의 표현 및 저장 형태에 대해서는 정의하지 않음)
  • 데이터의 입출력을 위해서는 적절한 형태로의 변환이 필요

사용자

컴퓨터의 설계부터 효율적인 이용에 이르기까지 전반적인 데이터 처리 과정에서 유능하고 지식이 풍부한 사람의 적극적인 개입이 필요

데이터와 정보

데이터와 정보의 관계

I = P(D): 데이터 처리, 정보 처리

  • 데이터: 현실 세계로부터 관찰이나 측정을 통해 단순히 얻어지는 값/사실
  • 정보: 어떤 상황에 대해 적절한 의사결정을 수행할 수 있게 하는 지식

데이터의 표현 형태

데이터의 유형과 무관하게 일관된 표현 방식

  • 문자, 정수/실수, 이미지, 오디오 비디오 등
  • 비트 패턴
  • 메모리에 저장된 데이터 유형에 맞는 해석과 처리가 필요
    입출력 장치나 프로그램의 책임

데이터의 표현 단위

  • 비트(binary digit)
  • 바이트(byte): bit * 8
  • KB, MB, GB, TB, PB, EB, ZB, YB
  • 워드(word): 컴퓨터 연산의 기본 단위가 되는 정보의 양 → 32비트, 64비트

진법

  • 수를 세는 방법 또는 단위
  • r진수 → 0, 1, …, (r-1)까지의 숫자만을 사용해서 표현한 수
  • 각 위치에 따른 서로 다른 가중치(자릿값)가 존재
  • 10진수 → r진수: 정수 부분과 소수 부분을 구분하여 각각 처리한 후, 각 결과를 단순히 연결해서 나열
  • 2진수 → 8진수: 3자리씩 묶어서 표현
  • 2진수 → 16진수: 4자리씩 묶어서 표현

정수 표현

부호 없는 정수

  • 부호(+, -) 비트가 없음
  • n비트 → 0 ~ 2^n-1

부호 있는 정수

최상위 비트 ⇒ 부호 비트(0: 양수, 1: 음수)

  • 부호화 크기: 절대값으로 표현
  • 1의 보수: 양수에 대한 보수로서 표현
  • 2의 보수: (1의 보수 +1) 로 음수 표현

실수 표현

과학적 표기법을 활용한 부동소수점 방식으로 표현

초과표기법

부동소수점 방식의 지수 부분만을 표현하기 위한 방법

→ 매직 넘버: m 비트 → 2^m-1 또는 (2^m-1) -1문자 표현

정규화

가수를 표현할 때 표준화된 형식이 필요

IEEE 부동소수점 방식의 표준 형식

  • 단정도: 4바이트

  • 배정도: 8바이트

문자 표현

키보드를 통해 입력되는 문자도 2진수로 표현되어 처리

  • 각 문자마다 유일한 값으로써 코드를 할당할 수 있는 약속된 문자 체계가 필요
  • ASCII, 유니코드

ASCII(American Standard Code for Information Interchange)

  • 미국표준협회(ANSI)
  • 7비트 코드
    • 128(2^7)의 서로 다른 문자 표현
    • 확장된 아스키(1비트+7비트): 패러티(parity) 비트 → 짝수 패러티 / 홀수 패러티

유니코드

세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표전

  • 1990) 애플 컴퓨터, IBM, MS 등의 컨소시엄으로 설립한 유니코드가 첫 버전 발표
  • 1995) 국제 표준으로 제정 → 공식명칭: ISO/IC 10646-1
  • 사용중인 플랫폼, 프로그램 언어에 무관
  • 16비트 코드 체계 → 65,636개(2^16)의 서로 다른 문자 표현

EBCDIC(Extended Binary Coded Decimal Interchange Code)

IBM 개발 8비트 코드 → 실제 사용되는 문자 코드는 127개로 IBM 메인프레임에서만 사용

BCD(Binary Coded Decimal)

4비트로 구성된 열 개의 코드로 10진수를 표현 → 8421 코드