[목차] == 컴퓨터의 처리 단위 == [include(틀:비트)] 64-bit. 0부터 18,446,744,073,709,551,615[* 최대자릿수가 놀랍게도 경 단위이다!! 앞 숫자의 자릿수는 약 '1844경'이다.]까지의 [[정수]]를 나타낼 수 있고, 8 비트가 1 바이트이기에 64비트 [[프로세서]]는 정보를 싱글 코어 기준으로 클럭 1회에 8 [[바이트]]씩 처리할 수 있다. 즉 듀얼 코어이면 16 바이트, 쿼드 코어이면 32 바이트인 식이다. CPU의 레지스터를 64비트로 확장시킨 것이다. 16비트 프로세서에서는 확장된 레지스터가 없는 기본 범용 레지스터가 존재했다. (AX,BX 등) 이후 이것은 32비트로 확장되면서 EAX, EBX (Extended -)의 이름을 가지게 된다. 이것이 또 확장된 것이 RAX, RBX 등의 64비트 확장 레지스터다. 레지스터가 확장되어 레지스터의 크기 한계로 인해 여러 번 나눠서 연산할 것을 한 번에 하게 되어 성능 향상이 발생하고, 또 64비트 레지스터를 다루는 명령어를 사용할 수 있게 되므로 프로그램은 더 발전할 수 있게 되는 것이다. [[메모리]]를 4 GiB 이상 쓸 수 없는 32비트의 [[RAM/주소할당 문제|주소할당 문제]] 때문에 많은 [[소프트웨어]]와 [[하드웨어]]들이 [[32비트]]에서 64비트로 넘어가고 있다.[* [[RAM/주소할당 문제]]에도 있듯이, 메모리의 용량이 16 EiB(엑시바이트)를 초과하면 인식 못 한다. 즉, 근본적인 문제가 해결된 것이 아니므로 64비트 프로그램이 완전한 해결법은 아니다. 다만, [[엑사바이트|EB]]가 워낙 큰 단위이고 지금 램은 기가바이트 단위에서 놀고 있기 때문에 향후 몇 년에서 몇 십 년 동안은 절대 걱정하지 않아도 된다. [[엑사바이트|EB]](엑사바이트)는 [[MB#s-2|MB]](메가바이트), [[기가바이트|GB]](기가바이트), [[테라바이트|TB]](테라바이트), [[페타바이트|PB]](페타바이트)의 다음 단위이다.] 또, 32비트는 [[2038년 문제|날짜 표시와 밀접한 문제]] 때문에 [[2038년]] 이후로는 쓰기가 어려워진다. 128비트, 256비트 등도 있는데, [[암호학]]에서는 자주 언급되지만, 64비트가 본 궤도로 진입한 시기도 얼마 지나지 않아 이를 워드 길이로 사용하는 CPU는 아직 없다. == 하드웨어 == * Tom 칩 (보조 연산 장치) * [[아타리 재규어]] (1993년) - 실제로는 CPU와 GPU가 32비트이고 보조 연산 장치만 64비트인데, 억지 논리를 내세워 64비트라고 주장했다. 자세한 내용은 문서 참조. === CPU === * 인텔 * [[인텔 아이태니엄 시리즈]] (2001년 ~ 2012년) * [[EM64T]]를 지원하는 [[펜티엄 4]] [[프레스캇]] 이상 (2004년 이후) * [[인텔 코어2 시리즈]] (2006년 이후) * '''[[AMD64]]''' (2003년) * [[AMD]] [[슬레지해머]] 기반 [[옵테론]] 및 [[AMD 애슬론 64 시리즈|애슬론 64 시리즈]] (2003년 이후) * [[ARM Cortex-A 시리즈]] (AArch64를 지원하는 v8 이후의 프로세서 (Cortex-A32 제외)) * [[NVIDIA Tegra]] * [[닌텐도 스위치]] * [[썬 마이크로시스템즈|썬]]/[[오라클(기업)|오라클]] SPARC (버전 9) * [[PowerPC]] * [[IBM]] z/Architecture ([[메인프레임]]용) * [[MIPS#s-5.2]] * [[옐브루스 프로세서]] * [[RISC-V]] (RV64I 지원 필요) 해당 문서의 문단 참고. === GPU === * 리얼리티 코프로세서 * [[닌텐도 64]] (1996년) * Seta Aleck 64 (1998년) == 소프트웨어 == *[[어도비 프리미어 프로]], [[어도비 애프터 이펙트]]: CS5 버전부터 64비트용이다. *[[언리얼 엔진]]: 언리얼 엔진 4의 개발 환경은 64비트용이다. *[[유니티 엔진]]: 유니티 5.6부터 64비트용이다. *[[MAGIX 베가스]](구 소니 베가스): 베가스 12부터 64비트용이다. *[[Atom(에디터)]] *[[Blender]]: 2.81부터 64비트 전용. *64비트 전용 [[에뮬레이터]] *[[Cemu]] *CEN64 *[[Citra]] *[[Dolphin]] *[[higan]]: v095부터. *Yabause: 0.9.15부터. *이 밖에도 64비트용으로 만들어진 [[EXE#s-1|exe]] 파일이 있다. 32비트 윈도우로 exe 파일을 작동시키면 올바른 win32 응용 프로그램이 아니라는 말을 띄운다. *운영체제 *[[iOS]]: [[iOS 7]]부터 [[iOS 10]]까지는 64비트도 지원하는 32비트 호환 운영체제이지만, 2017년에 발표된 [[iOS 11]]부턴 '''64비트가 아닌 앱들은 동작하지 않는다!''' *[[안드로이드(운영체제)|안드로이드]]: 2019년 8월부터는 유니티5.6 미만 버전을 쓰는 앱을 제외한 나머지 모든 앱이 64비트 바이너리를 제공하여야 한다. 2021년 8월부터 모든 앱이 반드시 64비트를 지원하여야 한다. === [[Microsoft Windows]] === 일반용은 [[Windows XP]] x64 Edition부터[* 제대로 된 지원은 [[Windows Vista]]부터 지원한다.], 서버용은 [[Windows Server 2003]] x64부터 64비트를 지원한다. 일반용은 [[Windows XP]]부터 마지막 일반용 윈도우로 출시된 [[Windows 10]]까지 모두 32비트와 64비트가 함께 있지만, 서버용은 [[Windows Server 2008 R2|2008 R2]]부터 마지막 서버용 윈도우로 출시된 [[Windows Server 2019|2019]]까지 64비트만 있다. 운영체제 수준으로 <WoW64>(Windows on Windows 64)라는 호환 레이어를 씌워 [[32비트]]를 지원하기에 일반적인 프로그램은 32비트여도 잘 돌아간다. 64비트 프로그램으로 32비트 프로그램을 돌릴 때의 가장 큰 이점은 32비트 프로그램에 들일 수 있는 메모리 한계치인 2,147,483,648 바이트를 넘겨서 사용할 수 있는 것이다. 다만, [[16비트]][* [[MS-DOS]]와 [[Windows 3.1]]에서 돌아가는 [[소프트웨어]]나 [[고전게임]] 등이 대표적이다. 그래서 [[가상머신]]이나 [[DOSBox]]의 힘을 빌려야 한다.][* 32비트 OS도 [[Windows XP]] 이상의 운영체제에서는 특유의 테마가 아닌 고전 테마로 나오고, [[Windows Vista]] 이후로는 특유의 아이콘도 없이 exe 파일의 기본 아이콘 상태로 나온다.]는 지원하지 않아 아쉬워하는 사람이 많다. 문제는 커널에 붙어야 하는 구조의 드라이버와 '''[[ActiveX]]'''로서, 커널이 64비트이면 32비트 드라이버와 ActiveX가 작동하지 않는다. 드라이버야 어지간해선 64비트+운영체제별 지원을 해 주는 데다가 하드웨어를 제대로 써먹기에는 쓰는 것이 좋지만,[* 만약에 지원을 못 하면 [[단종]]된 하드웨어이거나 회사가 [[도산]]한 경우이다. 그나마, 해당 드라이버를 개발했던 당시의 관계자들을 비용을 얼마나 들이건 간에 섭외 할 수가 있다면 64비트에서도 쓸 수가 있게 수정해달라고 요청하면 되겠지만 실제로 그것이 쉬운 일인지는 상상에 맡긴다.] ActiveX는 가뜩이나 [[웹표준]]+[[크로스 플랫폼]]의 의의에 위배되는데 64비트 환경이 늘어나는 상황에도 대응을 못하고 있어서 별별 삽질을 강요받는 수준이다. === [[macOS]] === "[[하위호환]]? [[그거 먹는 건가요]]?" 하는 [[Apple|애플]]답게 2005년에 [[macOS/버전#s-8|MAC OS X 타이거]]부터 작업하여 2007년에 거의 갈아탔고, 2009년부턴 64비트만 지원하여 모든 앱이 64비트로 구동되고 있다[* 다만 실질적으로 애플리케이션이 64비트를 지원하기 시작한 건 2009년 10.6 스노우 레오파드부터이다. Apple의 앱들도 이 시기부터 64비트로 포팅이 되기 시작하였고.]. 그리고 2018년부터 앱스토어에 올리는 모든 앱에 64비트 강제 의무가 붙고, 32비트는 당연히 애플 말로 ‘도태’될 예정. macOS 10.15 Catalina 부터는 아예 64비트 프로그램만 실행 가능하게 변경되었다. === [[리눅스|Linux]] === [[오픈소스]]의 첨병에 선 운영체제답게 64비트를 가장 먼저 지원 시작한 운영체제이기도 하다. x86-64 명령어셋을 지원하는 [[리눅스]] 커널의 배포판 리눅스들이 64비트를 지원하는데, 64비트용 프로그램이 없어도 소스 받아서 컴파일하면 장땡이고, 64비트 환경 설정을 제대로 맞추면 제대로 돌아간다. 또한 필요하다면 Windows의 WoW64 와 같이 i686이나 AArch32 라이브러리를 별도로 설치하면 64비트 환경에서 32비트 코드를 실행하는것이 가능하다. == 관련 문서 == * [[AMD64]] * [[32비트]] * [[RAM/주소할당 문제]] * --[[64 bits 32 bits 16 bits 8 bits 4 bits 2 bits 1 bit]]-- [[분류:컴퓨터]]