01.32비트와 64비트란?
02.32비트 시스템인 경우
03.64비트 시스템인 경우
- x64는 64비트
- x86은 32비트를 의미하는 것
- 32비트 vs 64비트
- 차이는 레지스터의 처리값
- CPU는 I/O버스를 통해 데이터 내,외부로 전송함
- 그 한 번에 데이터를 전송하는 양이 32bit, 64bit임
- 32비트 컴퓨터와 64비트 컴퓨터 차이
- Ram에서 표현할 수 있는 주소값에서 보임
- 2^32
- = 2^2 * 2^30
- = 4 * 2^30 = 4GB
- 즉, 4GB를 초과하는 메모리 영역에는 참조할 수 없고,
- 32비트 CPU에서는 4GB RAM을 인식하지 못함
- 즉, 4GB를 초과하는 메모리 영역에는 참조할 수 없고,
- Ram에서 표현할 수 있는 주소값에서 보임
- 32bit프로그램은 64비트 운영체제에서 작동하지 않나?
- Wow64(Windows on Windows 64)32비트 프로그램이 64비트 운영체제에서 작동하게 도와준다고함
- 그러나, DLL은 따로 빌드를 거쳐 32bit, 64bit를 따로 나눠야함
- Wow64(Windows on Windows 64)32비트 프로그램이 64비트 운영체제에서 작동하게 도와준다고함
- 32bit는 왜? x86인가?
- x86계열의 CPU가 32bit를 지원했다고 함
- 즉, x86이 32bit이다 라고 말할 수 없음
- 그리고 x86-64를 줄여서 x64라고한다고 함
- x86계열의 CPU가 32bit를 지원했다고 함
- AnyCpu : 32비트 프로세스로 실행되며 AnyCpu 및 x86어셈블리를 로드 할 수 있으며 x64어셈블리
BadImageFormatException
을 로드하려고 하면 가져옴 - X86 : Any Cpu와 동일함
- X64 :
BadImageFormatException
항상
- AnyCpu : 64비트 프로세스로 실행되며 AnyCpu 및 x64어셈블리를 로드 할 수 있으며 x86어셈블리
BadImageFormatException
을 로드하려고 하면 가져옴 - X86 : 32비트 프로세스로 실행되며 AnyCpu및 x86어셈블리를 로드 할 수 있으며 x64어셈블리
BadImageFormatException
를 로드하려고 하면 가져옴 - X64 : Any Cpu와 동일함