[개미의 걸음 1과목 컴퓨터 일반] 자료의 구성단위 및 표현방식 & 오류검출코드
자료의 구성단위
물리적 단위 : 비트, 바이트, 워드
논리적 단위 : 필드, 레코드, 파일, 데이터베이스
비트 [Bit] |
컴퓨터의 자료(정보) 표현의 최소 단위 2진수(0,1)로 표현됨 N비트로 표현할 수 있는 정보의 개수 = 2N개 |
니블 [Nibble] |
4Bit로 구성 |
바이트 [Bite] |
8비트로 구성되며 문자로 표현하는 단위 한글, 한자 : 2Byte 영문, 숫자 : 1Byte * 유니코드 : 1자는 무조건 2Byte |
워드 [Word] |
중앙처리장치(CPU)가 한번에 처리할 수 있는 연산의 기본단위 명령어나 연산을 처리하는 기본 단위 Half Word : 2Byte Full Word : 4Byte Double word : 8Byte |
필드 [Field] |
서로 관련성이 있는 워드의 집합을 의미 자료 처리 단위인 레코드의 최소 구성단위 |
레코드 [Record] |
프로그램에서 처리하는 자료의 기본 단위 논리레코드 : 자료처리의 기본 단위 자료의 이불력 단위, 블록(Block)이라고 함 |
파일 [File] |
프로그램 구성의 기본 단위 |
데이터베이스 [Database] |
연관성 있는 파일들을 모아놓은 집합체 |
# 용량(크기)
KB[Kilo Byte, 킬로바이트] | 1KB = 1024Byte |
MB[Mega Byte, 메가바이트] | 1MB = 1024KB |
GB[Gega Byte, 기가바이트] | 1GB = 1024MB |
TB[Tera Byte, 테라바이트] | 1TB = 1024GB |
PB[Peta Byte, 페타바이트] | 1PB = 1024TB |
EB[Exa Byte, 엑사바이트] | 1EB = 1024PB |
ZB[Zeta Byte, 제타바이트] | 1ZB = 1024EB |
YB[Yotta Byte,요타바이트] | 1YB = 1024ZB |
# 속도(시간)
ms[mili socond] | 10-3s |
us[micro second] | 10-6s |
ns[nano second] | 10-9s |
ps[pico second] | 10-12s |
fs[femto second] | 10-15s |
as[atto second] | 10-18s |
zs[zepto second] | 10-21s |
자료의 표현 방식
- 숫자 데이터 표현 중 10진 연산을 위하여 "Pack"과 "Unpack"표현방식을 사용
- 2진 정수 데이터는 실수 데이터보다 표현할 수 있는 범위가 작으며 연산 속도는 빠름
# 정수와 실수
* 정수
연산 속도가 빠름
* 실수
연산 속도가 느림
정밀도가 높다. 표현 범위가 넓음
# 보수
컴퓨터에서 뺄샘을 할 때는 보수를 취해서 더하는 방식을 사용
즉, 음의 정수를 표현하기 위해 고안한 개념
대부분의 컴퓨터에서는 2의 보수방식을 사용
ex> A-B를 A+(-B)로 계산을 수행
# 부동소수점표현방식
정해진 bit가 없어 소수점을 마음대로 늘릴 수 있어 실수 데이터의 표현에 주로 사용. 즉, 정해진 크기가 없다
고정 소수점 방식보다 넓은 범위의 수를 표현할 수 있다.
부호비트, 지수부분, 가수부분으로 구성되어 있다.
지수부와 소수부를 분리하는 정규화 과정이 필요
부호 비트는 양수는 0, 음수는 1로 나타낸다.
지수 부분은 소수점의 위치를 나타낸다.
가수 부분은 유효자리 수를 나타낸다.
m x re(m=가수, r=밑, e=지수)
문자코드[문자데이터의 표현]
① BCD
-
비트수가 적어 영어 소문자를 표현 못함[6비트, 64가지 표현]
-
영어 소문자 표현은 불가
-
이진화 10진코드
② ASCⅡ
-
통신용으로 사용하는 미국 표준협회에서 제정된 표준코드[7비트, 128가지 표현]
-
영어 대소문자 구분 가능
-
하나의 패리티비트를 사용해 오류 검출만 가능하며 오류 교정은 불가
③ EBCDIC
-
기존 BCD코드를 확장한 것으로 대형컴퓨터에서 주로 사용[8비트, 256가지 표현]
-
특수 문자 및 소문자 표현 가능
-
확장 이진화 10진 코드
한글코드
① KS X 1001 완성형 한글 코드
-
자주 사용하는 문자를 만들어 놓고 코드값을 지정하는 방식
-
등록된 문자만 꺼내서 사용가능하며 저장용량을 고려해야 한다.
- 영문/ 숫자 : 1Byte 한글/한자 : 2Byte
- 정보 교환용으로 사용
② KS X 1001 조합형 한글 코드
-
한글 창제의 원리인 초성, 중성, 종성에 코드값을 지정하는 방식
-
영문/숫자 : 1Byte 한글/한자 : 2Byte
-
정보 처리용으로 사용
③ KS X 1005-1(유니코드)
-
전 세계의 모든 문자를 2바이트(16비트)로 표현할 수 있는 국제 표준 코드
- 데이터 교환을 원활하게 하기 위해 문자 1개에 부여된 값을 16비트로 통일
- 정보 처리 및 정보 교환용으로 사용
-
최대 65,536(216)자의 글자를 코드화할 수 있음
오류검출코드
① 패리티 코드[Parity Code]
-
오류 검출만하며 수정이 불가한 에러 검출 코드
-
짝수 패리티 방식과 홀수 패리티 방식이 있다.
홀수 패리티 방식(ODD, 기수) | 1비크의 수(1의 갯수)가 홀수개가 되도록 하는 방식 |
짝수 패리티 방식(EVEN, 우수) | 1비트의 수(1의 갯수)가 짝수개가 되도록 하는 방식 |
ex> ACSⅡ(7bit) + 패리티자리(1bit) : 10010001
1이 3개 있으므로 홀수 패리티 방식에서는 올바른 데이터 이지만 짝수 패리티 방식에서는 오류가 발생
② 해밍코드[Hamming Code]
-
컴퓨터 스스로 데이터의 오류를 검출하고 수정하는 오류 수정 코드
-
대부분의 마이크로칩 디바이스에 채택되어 신뢰도를 높이는데 사용됨
③ 순환중복검사[CRC, Cyclic Redundancy Check]
-
네트워크 등을 통해 데이터를 전송할 때 전송된 데이터에 오류가 있는지 확인하기 위한 체크값을 결정하는 방식
④ 블록 합 검사[BSC, Block Sum Check]
- 오류검출능력을 향상시키기 위해 문자 블록에 수평 패리티와 수직 패리티를 2차원적으로 검사하는 방법
- 짝수개의 비트에 오류가 발생하면 오류가 검출되지 않는 패리티 방식의 문제점을 보완한 방식
- 다수의 비트에서 오류가 발생할 때에는 블록합검사를 사용해 블록을 구성한 후 교차검사를 수행
- 행단위 패리티에 열단위의 오류검사를 수행할 수 있는 열 패리티 문자를 추가해 이중으로 오류검출작업을 수행