Tag Archives: 64bit

Tech #1 : What is the 64bit?

Processor PC의 세계는 4bit 시대로부터 시작하여, Z80에 대표되는 8bit, 8086과 MPU68000에 대표되는 16bit, i386과 Pentium에 대표되는 32bit로 발전되어 왔다.  그리고, 64bit 시대에 접어들어 “64bit화”가 진행되고 있다.

64bit란?

 간단하게 말하자면, Bit(1또는 0인 Computer의 최소단위)의 수가 64개가 나열되어 있는 것. 이 64개의 1과 0을 조합하여 표현 가능한 수의 폭은 264 이 됩니다.  각 bit수와 값을 Table 1로 정리하면.

Table 1 Bit수와 값의 범위
Bit수 값의 범위(Addressing의 범위) Size
4bit 24 0 ~ 16[0xF] 16byte
8bit 28 -128 ~ +127
0 ~ 255[0xFF]
256byte
16bit 216 -32768 ~ +32767
0 ~ 65535[0xFFFF]
64Kbyte
32bit 232 -2147483648 ~ 2147483647
0 ~ 4294967295[0xFFFFFFFF]
4Gbyte
64bit 264 -9223372036854775808 ~ 9223372036854775807
0 ~ 18446744073709551615[0xFFFFFFFFFFFFFFFF]
16Ebyte

 

 이 값의 범위를 비교해 보면, 64bit라는 수가 엄청난 크기의 값이라는 걸 금방 알 수 있을 겁니다. 64bit에서 표현가능한 Address 범위는 16Ebyte나 됩니다. 참고로 Ebyte를 참고하기 위해 아래 표를 확인.

Table 2 값의 단위와 Binary 값
단위 Binary 값
Kilo(K) 1,000 1,024
Mega(M) 1,000,000 1,048,576
Giga(G) 1,000,000,000 1,073,741,824
Tera(T) 1,000,000,000,000 1,099,511,627,776
Peta(P) 1,000,000,000,000,000 1,125,899,906,842,624
Exa(E) 1,000,000,000,000,000,000 1,152,921,504,606,846,976

 

물리 Address와 가상 Address의 범위

 위에서 64bi의 Address범위는 16EByte라고 설명했지만, 현재의 64bit 대응 Processor으로는 모든 Address범위를 다루지 못 합니다.

 Itanium2 Processor로 대표되는 Intel IA-64 Architecture에서는 50bit가 물리 Address 범위입니다. 또, AMD Opteron등의 AMD64 Architecture에서는 40bit까지의 물리 Address와 48bit까지의 가상 Address가 Support되고 있습니다. 이 40bit라는 값은 1TByte까지의 물리 Address범위를 cover하고 있는 것이 됩니다.

 또, 이 범위에 관해서는 Processor 혹은 OS 종류에 따라 달라지기 때문에 주의 할 필요가 있습니다. 실제의 64bit 대응 Processor에서 다룰 수 있는 물리 Address 범위는 Table 3에 있습니다.

Table 3 주요 64bit 대응 Processor의 물리 Address 범위
Processor Architecture 물리Address 가상Address
Intel Itanium2 IA-64 50bit 64bit
Intel Itanium IA-64 44bit 54bit
AMD Opteron AMD64 40bit 48bit
AMD Athlon 64 AMD64 40bit 48bit

 

왜 64bit를 필요로하는가?

 Computer 세대가 발전에 나가는 것에 맞춰, bit수도 증가해 왔습니다. 그럼, 왜 이와같이 bit수를 증가시켜야만 했을까요. 그것은 기술의 발달과 함께 처리해야하는 Data량이 증가하여, Computer에 실장되어 있는 Memory의 상한선에 다다르게 되었기 때문입니다.

 이미 Memory는 32bit의 한계범위에 있는 4GByte(232 Byte)에 도달 해 버렸습니다. 일반적인 32bit Computer에서 4GByte 이상의 Memory를 직접(물리적으로) Access 접근할 수 없습니다. 그러나, Hi-End의 x86 Multiple Processor System에서는 이미 이 4GByte의 폭을 넘어서 있습니다.

 Intel Server용의 Xeon Processor (Nocona 혹은 일부의 Prescott Core)에서는 “Intel Extended Server Memory Architecture”라고 하는 확장 기능으로 36bit의 물리 Address 공간을 Support하고 있고, 최대 64GByte까지의 Memory 영역을 다룰 수 있습니다. 그러나, 이것은 물리 Address의 한계로의 근본적인 해결책은 아닙니다.

 이런 문제를 해결하기 위해서, 64bit로 가기위한 준비의 필요성이 부각되고 있습니다.

64bit는 32bit의 배

 64bit는 32bit의 배의 bit폭이므로, 처리속도 및 다룰 수 있는 Data양도 배가 된다고 기대하기 쉽지만, 그렇지 않습니다. 이런 잘못된 인식을 갖지 않도록 64bit에 대해서 정확하게 이해하고 있지않으면 안되지요.