본문 바로가기
Language & Framework & GIT/C++

[C++] WORD, DWORD, QWORD ?

by veganwithbacon 2023. 8. 3.
반응형

갑자기 생판 처음보는 친구들 다같이 와서 자기소개하길래, 뒷조사좀 했다.

 

WORD의 탄생 일화

데이터 처리 과정에서 unsigned short 와 같이 선언이 매우 귀찮다.

해당 타입을 재정의 하자.

CPU의 기본 처리 단위인 16bit(unsigned short)를 WORD라는 타입으로 재정의(typedef) 했다.

(Visual Studio 등 IDE 에서 WORD를 선언하고 F12로 확인이 가능하다)

 

 

✅DWORD의 탄생 일화

Intel 사의 16비트 프로세서에서는 기본 처리 단위를 WORD로 재정의 했었다..

다만 프로세서의 단위의 발전으로 8bit, 16bit, 32bit, 64bit 등 으로 발전했다.

(128bit 단위도 있다고 함)

따라서 기존의 16bit를 기반으로 한 기본 처리 단위, 즉 WORD가 변경이 되어야 했다.

다만 WORD 자체를 변경하면 기존의 개발내용의 수정이 불가피 하므로 새로운 단위를 만들었다.

그것이 바로 DWORD.

DWORD 는 Double WORD 의 약자로 WORD가 2배(unsigned long)라는 소리다.

 

 

✅QWORD의 탄생 일화

상단의 DWORD 는 기존 16bit에서 32bit 로 증가 했다.

다만 현재 사용되는 많은 프로세서가 64bit로 사용되고 있다.

따라서 64bit 짜리 기본 처리 단위가 또! 필요해졌다.

64bit 는 16bit * 4 이므로

Quad WORD, 즉 QWORD가 탄생하게 되었다.

 

 

(요약)

-WORD 

Intel 사의 16비트 CPU 에서 기본 처리 단위를 WORD로 지정 하였다.

-DWORD

프로세서의 처리 단위가 증가하면서 32bit 단위가 필요해져 WORD를 Double 처리해서 DWORD가 탄생했다.

-QWORD

64bit 단위도 필요해서 Quad WORD 인 QWORD도 탄생했다.

 

기본 처리 단위란 CPU 에서 레지스터에 데이터를 옮겨 놓을 수 있는 데이터의 단위이다.

ex) 8비트 프로세서(8085) -> 8bit = 기본 처리 단위

    16비트 프로세서(8086) -> 16bit = 기본 처리 단위

반응형

댓글