64비트와 32비트의 구분방법

한번에 송수신 가능한 데이터 크기

데이터가 메모리에서 I/O BUS를 통해 CPU로 전송되는 크기가 각 시스템 크기에따라

64비트, 32비트 로 나눌수 있다.


데이터 처리능력

위와 마찬가지로 CPU에서 한번에 처리 가능한 데이터 크기로 나눌 수 있다.

데이터 이동과 처리가 동일한 크기로 이루어져야 완벽한 시스템을 이룰 수 있다.


64비트 시스템에서 일반적으로 64비트 명령어를 사용하지만 32비트로 디자인하면 한번에 32비트 데이터 2개를 처리 할 수도 있다.


프로그래머 입장에서의 64비트 컴퓨터


32비트 → 64비트

프로그램으로 표현 할 수 있는 범위의 증가

표현할 수 잇는 메모리의 전체 크기


일반적으로 32비트 시스템에서 포인터의 크기가 32비트이고

64비트 시스템에서는 포인터의 크기가 64비트이다.

32비트 시스템이라면 메모리를 어드레싱 할 때 주소값을 2^32 만큼을 갖는데 32비트 시스템에서 4G이상의 메모리를 사용 못 하는 이유가 바로 이것이다. 

시스템이 64비트라면 표현할 수 있는 메모리의 크기가 2^64로 훨씬더 크게 사용 할 수 있다.


만약 64비트 시스템을 사용하지만 메모리가  2G라면 의미없지않은가?

이것은 가상메모리를 사용한다.




활용 가능 메모리의 확장


 
int _tmain(void)

{

TCHAR str[100];


_tscanf(_T("%s"),str);

_tprintf(_T("%s"),str);

return 0;

int _tmain(void)

{

TCHAR ch;

do

{

_tscanf(_T("%c"),&ch);

_tprintf(_T("%c"),ch);

}while(ch!="\n");


return 0;

}




















+ Recent posts