갑자기 생판 처음보는 친구들 다같이 와서 자기소개하길래, 뒷조사좀 했다.
✅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 = 기본 처리 단위
'Language & Framework & GIT > C++' 카테고리의 다른 글
C++ std::string 원소 접근 방법(front, back, at, operator) (74) | 2023.10.16 |
---|---|
[C++] fopen() 함수란? (105) | 2023.08.04 |
[C++] 문자열 숫자로 변환 관련 함수 - strtol, strtoul, strtod (16) | 2023.08.03 |
C++ : 제네릭 클래스 (25) | 2023.07.19 |
C++ : 템플릿 & 템플릿 함수 (30) | 2023.07.18 |
댓글