Representation of data

이현빈·2023년 3월 18일
0

CE blog

목록 보기
4/21

representation of data within a computer system

data vs information

data

  • 처리가 이루어지지 않은 상태의 단순히 측정되고 수집된 것
  • 의미나 목적을 포함하지 않고 수집 측정된 것은 raw data라고 함
  • 쉽게 말하면 단순한 사실의 나열

information

  • 목적이나 의도에 맞게 data를 가공 처리한 것
  • 의미있는 data라고 생각하면 됨

정보의 진화 단계

  • 하지만 많은 경우 information과 data를 혼용한다.

    보통 input data를 raw data, 이후에는 거의 data라 부름

computer and data

  • 다음은 computer의 또 다른 정의이다.

    외부로부터 입력된 값을 받아들여 처리한 결과를 출력시키거나 장래에 사용하기 위해 보관하는 장치

  • 이를 줄여서 data를 처리하여 information을 얻는 장치라고도 말한다.

    data processing에 초점을 둔 경우 computer를 Electronic Data Processing System(EDPS) 또는 utomatic Data Processing System(ADPS)로 부르기도 한다.

  • 다음은 computer가 다루는 information이다.

data

  • Numerical data: number
  • Non-numerical data: Letter(or character), symbol

data structure

  • Lineat lists
  • Trees
  • rings
  • ect

program (instruction set)

data representation

  • 주로 내부에서 사용되는 표현은 계산을 위한 2진수 기반의 numerical data 중심이고 외부에서 information exchange를 위해 사용되는 표현은 code 등을 기반으로 하는 non-numerical data 중심이다.

Numbers

  • Internal representation은 효율적으로 계산이 가능하며 표현을 위해 external representation으로 변환되어야 한다.

alphabet, symbols and some numbers

  • 처리를 통해 바뀌지 않는 element로 계산에 사용되지 않기 때문에 internal representation이 필요 없다.
  • external representation은 처리와 표현을 위한 것이다.

operations

  • compter가 data를 처리하는 연산을 말한다.
  • operation은 주로 숫자 또는 논리 연산을 의미하고 instruction은 주로 자료의 로딩, 복사 등의 컴퓨터가 수행하는 작업들의 기본 단위를 의미한다.

    수학에서는 empty set이 아닌 set에서 2개의 element를 이용하여 제 3의 element를 만드는 것을 의미한다.

  • operation은 operand의 개수에 따라 다음과 같이 구부된다.

Unary

  • 1개의 operand, 1개의 output
  • e.g. shift, move, not etc

Binary

  • 2개의 operand, 1개의 output

  • e.g. and, or, 사칙연산 etc

  • operand의 type에 따라 operator가 구분되기도 한다.

Numerical operator

Logic operator

information

  • 위에서 설명한 information의 정의는 정성적이고 data와의 비교로 설명한 것으로 정량적인 부분을 도입한 설명은 다음과 같다.
  • 정보량은 학습의 결과로 인한 degree of surprise로 해석할 수 있다.
  • 쉽게 설명하면 envent의 발생확률이 낮으면 정보량이 크며 이는 정보량 h(x)h(x)는 해당 event의 p(x)p(x)에 의해 결정된다.

amount of information: bit

  • discrete random variable xx에서 해당 xx의 값을 알게 됐을 경우 얻게되는 정보량을 shannon이 제안한 방식은 다음과 같다.
    h(x)=log2p(x)h(x) = -\log{2}{p(x)}
    h(x)h(x): 확률변수가 xx값을 가질 때의 정보량
    p(x)p(x): 확률변수가 xx값을 가질 확률
  • 확률은 0과 1사이의 수가 되며 로그의 base는 2를 사용하여 정보량의 단위가 bit가 됨을 알 수 있다.

    base가 ee일 때 즉 자연로그를 사용할 때에는 단위가 Nat( \approx 1.443bit)이다.

entropy

  • entropy: random variable xx에 대한 평균 정보량
  • random variable이 descrete와 continuous인 경우로 나뉜다.

deiscrete random variable

H(x)=x=0np(x)log2p(x)H(x) = -\displaystyle\sum_{x=0}^{n}p(x)\log{2}{p(x)}
  • 확룰변수가 절대 될 수 없는 값이라면 p(x)=0p(x)=0이므로 entropy에 기여하지 않는다.
  • 확률변수가 특정 상수로 고정될 경우 p(x)=1p(x)=1이고 log2p(x)=log21=0\log{2}{p(x)} = \log{2}{1} = 0이므로 entropy가 0이 된다. 즉 entropy에 기여하지 않는다.

continuous random variable

H(x)=p(x)log2p(x)dxH(x) = -\int_{-\infty}^{\infty} p(x)\log_{2}{p(x)}\mathrm{d}x
  • entropy는 random variable의 상태를 전송하는데 필요한 bit수의 Lower Bound라고 볼 수 있다.
  • e.g. entropy = 3.4라면 4bit 이상이 필요하다.

entropy 극대화

  • 해당 확률변수가 uniform probability distribution 즉 전부 확률이 같을 때 entropy가 최대임.
  • 다양한 확룰분포 중 Gaussian probability를 따르는 continuous random variable의 경우 해당 분포의 variance가 클수록 entropy가 커진다.
  • variance가 무한대인 경우가 바로 uniform probability distribution이다.
  • 다음은 Gaussian distribution (Norma distribution)이다.
    p(x)=12πσe(xμ)22σ2p(x) = \frac{1}{\sqrt{2\pi\sigma}} \mathrm{e}^{-\frac{(x-\mu)^2}{2\sigma^2}}

bit (binary digit)

  • Binary: 둘 중 하나의 값을 갖는 것
  • Digit: 숫자(엄밀히는 10개 중 하나의 값을 가지는 것을 가르킴)

    information을 표현하는 기본 단위

  • bit는 흔히 0과 1 중 하나의 값을 가지며 0과 1 각각의 의미는 다를 수 있다.
  1. information을 표현하는 기본 단위로 큰 비트에 해당하는 information이 정보량이 많다.
  2. 처리 가능한 bit가 큰 컴퓨터일수록 처리 가능한 정보량이 크다.
  3. 처리 가능하다는 것은 표현(representation)할 수 있다는 의미로도 쓰인다.

참고

  • 컴퓨터에서 bit를 정보량의 기본단위로 사용하여 이진수와 연계되어 표현되는 경우가 많다.
  • 0을 False, 1을 True로 처리하여 boolean algebra와 연결시킬 수 있다.
  • 0을 off, 1을 on으로 또는 그 반대로 switch를 통해 1bit를 구현할 수 있으며 vacuum Tube, Relay, Transistor 모두 일종의 switch로 bit를 표현하는데 사용가능한 device이다.

MSB and LSB

  • MSB: Most Significant Bit, 2진수 표기시 가장 왼쪽
  • LSB: Least Significant Bit, 2진수 표기시 가장 오른쪽
  • 돈에서 어느 자리 숫자가 중요한지 생각보면 쉽게 이해할 수 있다.
  • MSB는 positive integer만 표시하는 unsigned의 경우 가장 큰 자리수가 된다.
  • MSB는 negative integer를 고려할 경우 0이면 positive, 1이면 negative이다.

unit of measure bit

  • bit는 information의 최소단위로 너무 작은 단위기 때문에 다음과 같은 단위가 필요하다.

bit

  • information의 최소단위

nibble

  • 4bit에 해당하는 단위
  • 현재는 많이 사용되지 않으며 16진수와 묶어서 사용된다.

byte

  • 8bit에 해당한다.
  • bit는 너무 작아 사용되지 않기 때문에 주로 사용되는 단위 중 가장 작은 단위이다.

word

  • 컴퓨처가 한 cycle에 처리할 수 있는 단위이며 주소를 가르키는 pointer 변수의 크기라고 생각할 수 있다.
  • 주로 데이터의 입력, 처리, 저장 및 출력을 수행하는 기본 단위를 지칭한다.
  • 위의 word 정의에 따르면 계속 커지므로 prefix를 붙여서 구분을 한다.

half word

  • 16bit에 해당한다.
  • computer가 16bit machine일 때의 word였으나 컴퓨터가 발전하면서 half를 붙여서 구분한다,

long word (or full word)

  • 32bit에 해단한다.
  • 이 또한 computer가 32bit machine일 때의 word이며 컴퓨터가 발전하면서 long이라는 preifix를 붙여서 구분하기 시작했다.
  • 일반적으로 word라고 하면 long word를 말하기도 한다.

double word

  • 64bit에 해당한다.
  • 현재 computer는 64bit machine으로 원래 word의 정의에 따르면 double word가 word이지만 하위호완성 등에 대한 고려로 double word라고 지칭하는 게 일반적이다.

field

  • 여기서부터는 정량적인 단위보다 논리적인 단위이다.
  • 파일 구성의 최소 단위
  • 아이템, 항목이라고도 불리며 오늘날엔 주로 DB의 column을 의미한다.

record

  • 하나 이상의 관련된 field가 모여 구성된다.
  • 오늘날엔 주로 DB의 row를 의미한다.

block

  • 하나 이상의 record가 모여 구성된다.
  • block 단위로 입출력이 이루어지는 device가 보편화 되어 주로 최소 I/O 단위로 많이 사용된다.

file

  • 프로그램 구성의 기본 단위
  • storage에서 사람이 인식하는 기본 저장 단위이다.

DB

  • database를 가리킨다.
  • 여러 개의 관련된 파일의 집합을 의미하지만 일반적으로 RDBMS과 같은 database 시스템을 지칭하는데 사용되는 정보량을 의미하는데 잘 사용되지 않는다.

boolean algebra

what is a Boolean algebra

  • George Boole이 고안한 logic을 다루는 algebra로 True, False를 1과 0에 대입하고 AND, OR, NOT 등의 logical operation을 사용하여 논리적 동작을 대수적으로 처리한다.

    즉, bit들을 이용한 logical operation들에 대한 규칙을 정의한다.

pre-requirements

operation

  • empty set이 아닌 set에서 2개의 element를 이용하여 제 3의 element를 만드는 것을 가르킨다.

local operation

  • logical operation, logical connective 혹은 boolean operation
  • True, False 두 가지 element만 존재하는 set(엄밀하게는 ring)에서의 operation

algebra

간단한 정의

  • set of rules for operating on numbers
  • number 사이의 관계를 문자를 사용하여 간단하게 나타내는 것과 이를 이용하여 효율적으로 계산하는 기술

학문적 정의

  • set(집합)과 set에 속한 element를 이용하도록 정의된 operation에 대한 규칙을 연구하는 학문

    e.g. linear algebra의 vetor space, vector set과 vetor sum, scalar 등을 정의하고 이를 묶은 것

rules

  • Associative Rule (결합) : (aANDb)ANDc=aAND(bANDc)(a AND b) AND c = a AND (b AND c)
  • Commutative Rule (교환) : $ a AND b = b AND a$
  • Distributive Rule (분배) : $ a AND (b AND c) = (a AND b) AND (a AND c)$

basis operations

  • 진리표에 연산들의 정의가 있다.

NOT

AND

OR

composite operation

  • 진리표에 연산들의 정의가 있다.

NAND

NOR

XOR

  • 이름 그대로 basic operation들의 조합으로 만들어진다.

symbols and truth table

  • NOT의 symbol의 경우 작은 circle로 대체된다.

De Morgan's law

  • 1800년대 Augustus De Morgan이 Boolean algebra에 추가한 규칙

명제학

(pq)=pq¬(p ∨ q) = ¬p ∧ ¬q
(pq)=pq¬(p ∧ q) = ¬p ∨ ¬q

set

(pq)c=pcqc(p ∪ q)^c = p^c ∩ q^c
(pq)c=pcqc(p ∩ q)^c = p^c ∪ q^c

디지털 회로

(A+B)=AB\overline{(A + B)} = \overline{A}\cdot \overline{B}
(AB)=A+B\overline{(A \cdot B)} = \overline{A} + \overline{B}

negative logic

  • positive logic은 high voltage에 1, low voltage에 0을 할당하는 경우이고 nagative locgic은 그 반대로 high voltage에 0, low voltage에 1을 할당하는 경우이다.

  • 다음에 나오는 2장의 사진으로 이해해보자


    '디지털 논리회로 이해', 오창환 저, 한국학술정보(주)

  • 쉽게 생각하면 AND gate의 등가는 모든 입출력에 NOT을 붙이고 AND를 OR로 바꿔주면 되고 이를 나타내는 것이 바로 De Morgan's Law이다.

prefixs for SI unit and for bits (IEC)

prefix for SI units


Wiliam H. Hayt, Jr., Jack E. Kemmerly, Jamie D. philips, Steven M. Durbin, engineering circuit analysis, Mc Graw Hill Education, 2019, p.12

  • 이 단위는 인간을 위한 것이라 base가 10이지만 bit의 경우 2의 제곱으로 표현되어야 한다.
  • 2102^10을 1000에 가까워서 1000으로 사용했지만 용량이 늘어

Prefix for bit (IEC standard prefix)

  • KiB는 kibi-bytes를 의미하고, Mib는 Mebi-bits를 의미한다.

reference
1. 정보의 진화단계
2. 정논리와 부논리
3. techtarget's kibi, mebi, gibi, tebi, pebi and exbi
4. mkdocs ch1.1~3

0개의 댓글