본문 바로가기

Hacking & Security/Reverse Engineering

x86 그리고 x64

0x00. 개요

윈도우즈 PC에는서 프로그램등을 다운받을때 x86, x64버전이 표시되었던 것을 본적이 있을것이다.

두 버전 중 한 가지를 꼭 선택해야만 다음 단계로 넘어갈 수 있기에 의무적으로 하나는 선택을 해야했다.

과연이 두 버전에는 어떠한 차이가 있으며 무엇을 선택하는게 옳을까?

 

0x01. 32bit & 64bit

어떠한 것을 고를지 선택하기 위해서는 bit의 개념을 알아야 한다. 

bit란 Binary Digit의 약자이며 CPU가 처리하는 데이터의 최소단위의 크기가 몇 bit인지 에서 나온 단어로 숫자 0과 1 두 수 만으로 이루어진 숫자열을 의미한다.

여기서 왜 0과 1 두 수만 이용하는지에 대한 의문이 들 수 있다. 

컴퓨터는 모든 데이터를 0과 1 을 이용한 이진법으로만 처리하기 때문이다.

 크게 32bit와 64bit로 나누어 볼 수 있으며 32bit는 한번에 처리가 가능한 데이터의 크기가 2^32 , 64bit는 한번에 처리가 가능한 데이터

크기가 2^64의 크기를 갖는다.

(2^32 = 4,294,967,296 bit , 2^64 = 18,446,744,073,709,551,616 bit)

그렇다... 실제로 32bit 와 64bit 사이 연산 속도는 엄청난 차이를 갖는다.

연산속도 뿐만 아니라 램 인식에서도 차이가 존재한다.

32bit의 경우, 4GB까지 인식하여 64bit의 경우 4GB 이상의 램을 인식할 수 있다.

 

 

0x02. x86 & x64

윈도우즈 PC에서 내 컴퓨터 정보를 살펴보면 x86 혹은 x64라는 문자를 확인할 수 있다.

친절하게 32bit / 64bit라고 적혀있으면 좋겠지만 그렇지 않다...

x64는 64bit를 의미하며 x86은 32bit를 의미한다. 필자는  32bit가 왜 x32가 아니고 x86인지 무척 궁금했다.

알아본 결과, x86으로 표시된 이유는 바로 PC의 칩셋 품번 때문이라고 한다. x86으로 표기가 된 것은 80-86이라는 숫자를

인텔 32비트 이하 게열 제품명에 붙였기 때문에 32bit는 x86이라고 표시되어 있는것이다.

 

 

'Hacking & Security > Reverse Engineering' 카테고리의 다른 글

ASPACK unpacking  (1) 2019.09.26
Stolen Bytes  (0) 2019.09.26
#1. Reverse Engineering  (0) 2018.09.21
Reverse Engineering 2  (0) 2017.11.23
Reverse Engineering  (0) 2017.11.23