반응형

8bit = 1byte

1024byte = 1kilo-byte

....

 

1024배를 하는 이유는 2진수로 이루어져서 점점 커지기 때문에 배수를 2의 제곱수로 해야함 2^10 = 1024

 

10진수 일상 생활에 사용하는 0~9까지 사용하는 표현법
ex) 0 1 2 3 4 5 6 7 8 9
2진수 0과 1로만 숫자를 표현하는 방법
ex) 0 1
8진수 0~7까지만 사용하는 표현법
2진수 3자리 8진수 1자리로 표현.
ex) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
16진수 0~9까지는 숫자로 10~15까지는 a, b, c, d, e, f를 사용
2진수 4자리 16진수 1자리로 표현.
ex) 0 1 2 3 4 5 6 7 8 9 A B C D E F

 

32비트 CPU와 64비트 CPU의 차이점은 한마디로 CPU가 한번에 처리 할 수 있는 용량의 크기를 나타낸다.

즉 레지스터의 크기라고 봐도 무방하다.

 

32bit(4byte) CPU가 연산을 했는데 연산한 값이 64bit(8byte)이상이라면 나누어서 처리해야 할 것이다.

이렇게 되면 컴퓨터의 연산 속도는 느려질 수 밖에 없는 것이다.

 

32bit운영체제에서 RAM을 4GB밖에 인식하지 못하는 이유도, 운영체제의 한계 때문이지만 이 운영체제의 한계는 결국 한번에 처리할 수 있는 데이터의 양이 32bit

즉, 2^32승 = 4294967296bit 가 되어버리고 이것을 GB로 환산하면 4GB이기 때문에 그런 것이다.

 

이것을 토대로 시스템은 처음에 시작될 때 시스템에 장착된 모든 메모리 공간의 주소 정보를 담은 지도를 만드는데,

이 지도가 바로 Physical Address Map(PAM) 이다.

윈도우는 이 PAM 을 토대로 메모리를 인식하고 접근하는 것이다.

 

윈도우에서 32비트 운영 체제를 만들 때, 이 PAM을 32비트를 전용으로 만들었으니, 64비트 CPU를 사용하면서 램을 8GB를 사용해도 32비트운영 체제를 사용하면 당연히 RAM을 4GB밖에 인식하지 못한다.

 

64비트 운영체제에서 32비트 프로그램을 사용할 수 있지만, 64비트 프로그램보다는 실행 시간이 느리다.

 

 

아래는 레지스터 크기의 차이이다.

64비트와 32비트 디버거의 차이

 

EAX는 총 8자리로 구성 되어 있다.

RAX는 총 16자리로 구성 되어 있고,

 

32 ~ 64이니 2배가 되는 것은 당연한 것이고

16진수 1자리의 크기는 4비트 즉,

 

EAX = 4 * 8 = 32bit

RAX = 4 * 16 = 64bit

 

반응형

'컴퓨터 시스템 이것저것' 카테고리의 다른 글

자료형의 크기와 2038년 문제  (0) 2022.05.05
CRLF / LF / CR 차이점  (0) 2022.03.13