제2장데이터의 표현과 메모리 구조 

2진법, 16진법의 표현법과 비트, 바이트 

진법은 수를 표시하는 기법을 말하는데 2진수는 0과1을 사용하여 나타낸다. 6을나타낼려면 110으로 나타낸다.우리는 주로 십진수를쓰는데 컴퓨터에서는전기가흐른다의 1 과 흐르지안는다의 0 만 쓰기떄문에 변환하여야하는데 변환공식이 10진수를 2로 계속 나누는 것이다.목이 1이될때까지 그리고 나눈 값의 목과 나머지가 2진수이다

2) 49

2) 24---1

2)12---0

2)6---0

2)3---0

2)1---1

2)1

110001이 49를 2진수로 표현한 값이다. 밑에서부터 순서되로 읽어주면된다.

16진수 는 10진수로 표현하기 힘든 수를 편하게 표현하기위해서 만들어졋다. 우리는 읽기힘들지만 켬퓨터는 편하다.

16진수는 0에서f까지 사용하며 10진수에서 16진수로 변환공식은 10진수로 표현된 수를 16으로 계속나누는 것이다.16진수도 2진수와 같이 목과 나머지값을 거꾸로읽은 값이 16진수이다. 참고로 10==a, 11==b, 12==c, 13==d, 14==e, 15==f 이다.

16)49

16)2--13

2는 16진수에서도 2이고 13은 d이므로 49는 16진수로 2d이다. 

컴퓨터는 데이터량을 표시할떄 비트 바이트 키로바이트 메가바이트 기가바이트 테라바이트 엑사바이트를 사용하는데

8비트다 바이트이고 1024바이트가 1키로바이트 1024키로바이트가 1메가바이트 1024메가바이트가 1기가바이트 1023기가바이트가 1테라바이트 1024테라바이트가 1엑사바이트 이다. 하드디스크를보면 분면 1테가라써있는데 실제용량이다른걸본적있는가? 그이유는 1테가바이트의 상위1만남기고 나머지숫자는 내림하여 없앳기떄문이다. 따라서 실제용량과는 다른다. (뭔가 사기당한기분)  

정수의 표현

컴퓨터에서는 정수를 2진수로 변환 한후에 마이너스이면 2의보수를 추한뒤에 계산을한다.2의보수를취하는 이유는  가장왼쪽에있는 비트에 1이저장되어있으면 음수이다. 하지만 00000101은 5이고 10000101은 -5일거같지만 계산해보면 

2의보수는 1의 보수에 1을더해주는것이다. 1의보수는 not연산과 같이 1과0을 반전시키는것이다.

2)   00000101

2)+ 10000101

2)   10001010

0이아닌 전혀다른 값이나온다. 따라서 우리는 2의 보수를 추한뒤에 계산한다.

2)  00000101

2)+11111011

2) 100000000

맨왼쪽 1이 올려진후 버려짐으로 0이된다.

실수의 표현 

///실수의 표현 

문자의 표현 주로 ascii코드를 사용한다.

컴퓨터에서는 문자를 여러 비트로 모아서 표기하기 때문에 ascii코드,bcd(binary coded decimal), EBCDIC가있다.

bcd는 십진수를 2진수로 변환해준다. 2진수의 4자리수로 맟추어서 표현한다.처음에는 4비트로 사용했는데 특수문자나 대/소문자를 구별하기위해 2비트(zone bit)를 추가하여 6비트로 사용하엿다.



문자나 특수문자에 주로 사용된다.

ASCII코드 아스키코드는 7개의 비트로 구성된 코드이다.(3개의 zone비트와 4개의 digit 비트로이루어져있다.)

존비트에는 영문자 숫자 특수문자를 구별할수잇도록 하엿고 요즘에는 앞에 1비트를 추가해 오류검사코트로 사용한다.(패리티비트) 마지만 디지비트에는 값이저장되있다.

EBCDIC비트에는 4개의 존비트와 4개의 디지비트로 구성되있다. 256개의 문자를 표시할수잇다. 이코드는 imb의 대형컴퓨터에서 주로사용되엇다.

어러검출용 비트또는변환비트

피리티비트

1비트의 검사용비트를 더해 기꼐적에러를 검출한다.

해밍코드

해밍코드는 해밍이란사람이 고안했으며 잘못돤정보를 발견하고 수정해주는코드이다.

그레이코드 

한숫자에서 다른숫자로 갈떄 오직하나의 티므나 바뀐다. 데이터의전송 입출력장치 아날로그에서 디지털로 변환기 또는 주변장치에서 주로쓰이는 비가중치 코드이다.

엑세스코드 

bcd에서 3을 더한 코드로 3초과 3중코드로 불리는 코드이다. 그래이코드와 같이 특별한의미가없는 비가중치 코드이다.

2-5진코드 

1자리를 나타내는데 7비트를 사용하고 7비트를 2비트와 5비트로 나눈다음 2비트의 에러검출과 5개의 2진코드가있어서 에러검출이쉽다.

바이트 순서(Little Endian과 Big Endian) 

리틀에디안 인텔에서 사용하는 데이터 표기순서이다. 리틀에디안은 수를 거꾸로 써넣어서 계산을 최대한 빠르겟 하는것이다. 짝수 홀수 비교할떄도 맨첫번째 자리 수만 2로나누어보면 되니 참으로 간편하다. 

빅에디안은 리틀에디안과 다르게 순서대로 표기한다. 빅에디안은 tcp/ip의 표준이며 tcp/ip공부를 할때 htonl등 여러가지 변환함수를 보게되는데 이것이 리틀에디안을 빅엗디안으로 변환 해주는 함수이다.

아레표는 리틀에디안과 빅에디안을 비교한것이다.값은 0125365898을 비교해보겟다.

빅에디안

01

25

36

58

98

리틀에디안

98

58

36

25

01

참고로 두자리씩 표기하기떄문에 두자리는 순서가 바뀌지않는다 

메모리의 구조 

CPU와 메모리간의 연결 

1. 8086에서 짝수 번지, 홀수 번지 


2. 80386, 80486, 그리고 Pentium에서의 데이터 전송

fsb는 시피유와 노스브릿간의 버스인데요 메인보드에서 장치간에 데이터이동주파수를 말함니다.여기서 ddr의 주파수가 400mhz라면 400(mhz) x64(bit)=25600(Mbit/sec)로 처리함니다.


Posted by 준P