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라면 의미없지않은가?
이것은 가상메모리를 사용한다.
활용 가능 메모리의 확장
{ 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; } |
'강좌 정리 > 뇌를자극하는윈도우즈시스템프로그래밍' 카테고리의 다른 글
04.장 컴퓨터 구조에 대한 두번째 이야기 ① 컴퓨터 구조의 접근방법 (0) | 2012.06.29 |
---|---|
03장. 64비트 기반 프로그래밍 ② 프로그램 구현 관점에서의 WIN32 vs WIN64, 오류의 확인 (0) | 2012.06.28 |
02장. 아스키코드 vs 유니코드 MBCS와 WBCS의 동시 지원 (0) | 2012.06.27 |
2장. 아스키코드 vs 유니코드 ①Windows에서의 유니코드(UNICODE) (0) | 2012.06.25 |
01장. 컴퓨터 구조에 대한 첫 번째 이야기 ②프로그램의 실행과정, 하드웨어 구성의 재접근 (0) | 2012.06.25 |