64비트와 32비트의 구분 방법
- 구분의 두 가지 기준
- 한 번에 송수신 가능한 데이터의 크기
- I/O BUS 시스템 비트수
- 데이터 처리 능력
- CPU가 한 번에 읽어 드릴수 있는 명령어의 비트수
프로그래머 입장에서의 64비트 컴퓨터(32비트 -> 64비트)
- 프로그램으로 표현할 수 있는 범위의 증가
- 표현할 수 있는 메모리의 전체 크기
- 32비트(4바이트) 시스템은 포인터가 왜 32비트(4바이트)인가?
- I/O BUS가 64비트 일 때 포인터가 128비트면 64비트를 2번 전달해야 하게 되며, 이는 성능 저하로 돌아온다.
- I/O BUS가 한 번에 전달 가능한 수준에 크기로 결정하는 게 최적이기 때문에 시스템이 32비트이면 32비트(4바이트) 포인터, 시스템이 64비트면 64비트(8바이트) 포인터로 사용된다.
- 32비트 시스템에서는 사용 가능한 메모리는 왜 4기가인가?
- 32비트 시스템에서 표현 가능한 주소의 범위는 2의 32승은 4,294,967,296입니다.
- 64비트 시스템에서 표현 가능한 주소의 범위는 2의 64승은 18,446,744,073,709,600,000입니다.
- 64비트와 32비트 공존의 문제점
- 64비트에서 프로그래밍 할 땐 포인터를 기본 자료형으로 강제 캐스팅 하지 말자.
- 데이터 손실의 문제가 발생할 수있다.
반응형
'Programming > System Programming' 카테고리의 다른 글
프로세스의 이해 / 프로세스의 생성 (0) | 2016.04.04 |
---|---|
컴퓨터 구조의 접근방법 (2) | 2016.04.03 |
Windows에서의 유니코드(UNICODE) (3) | 2016.04.01 |
프로그램의 실행과정 / 하드웨어 구성의 재접근 (0) | 2016.03.31 |
시스템 프로그래밍이란? (2) | 2016.03.30 |