참고로 이 글은 과거에 적은 글을 옮겨 적는 것임을 알린다.

1. x86 x64 란
x86 과 x64 차이는 CPU의 레지스터 처리값 차이!!
CPU register 처리값 차이라고 하면 CPU는 I/O bus 를 통해서 data 를 전송하는데 한 번에 전송할 수 있는 양을 말함
한 번에 32bit인지 64bit인지를 말함
우선 자세한 내용을 먼저 정리하고 마지막에 요약하도록 하겠음
1978년 intel(인텔)에서 CPU의 레지스터 처리값 16bit인 x86-IA16 (intel architecture)을 출시
(참고로 이건 한 3년 쓰다가 안 쓰여서 의미 없음)
이후 1985년 CPU 레지스터 처리값 32bit인 x86-IA32 을 출시
바로 이 x86-IA32 가 1900년대 후반을 휩쓸었던 CPU 아키텍쳐의 표준!!!!!
심지어 후발주자인 AMD도 이 x86-IA32를 표준으로 채택해서 CPU를 생산했음
그 nVIDIA 와 경쟁사인 AMD 맞음
아무튼 그래서 32bit CPU (register 처리값이 32bit)가 1900년대 초 대박을 쳤음
다들 x86-IA32 를 표준으로 삼다보니 32bit CPU 아키텍쳐를 통틀어서 x86 이라고 부르게 됨
정확히는 x86-IA32 라고 하는게 맞지만 그냥 x86 이라고 부름
그러던 중 점차 32bit CPU 의 한계점들이 문제가 되었음
(ex. RAM을 4GB까지밖에 못 씀)
64bit CPU 에 대한 필요성이 대두되던 중 intel 에서는 IA-64 라는 64bit CPU 를 출시
하지만 이 IA-64 에는 가장 큰 문제가 있었음
당시 모든 운영체제가 32bit 처리가 기준으로 되어있었기 때문에 64bit CPU 와 호환이 안 돼서 다시 다 개발해야 했음
하지만, 소프트웨어 회사 입장에서 수익도 안 되는 이걸 할리가 없어서 안 함
그러다가 2003년 AMD에서 32bit 와 호환이 가능한 확장 64bit CPU architecture 를 개발해냄
바로, x86-64
(나중에 AMD64라고 이름 바꿔서 둘은 같은 것)
이게 초 대박을 침
기존 x86-IA32와 호환이 되면서 64bit 처리가 가능하기 때문에 기존의 것들을 모두 사용할 수가 있게 된 것
특히 Linux 가 x86-64 64bit OS를 사용하면서 초대박을 침
32bit의 여러 프로그램들을 64bit로 컴파일만 해주면 사용가능하고, 메모리 처리는 64bit로 할 수 있으니 여러 소프트웨어 제작사들에서 64bit버전을 발표함
심지어 Linux가 무료 운영체제이기까지해서 기업용으로 대박을 침
이제는 IA-64를 밀어붙이던 intel 조차 intel64를 출시하면서 32bit와 호환이 가능한 CPU architecture 제작
요즘 사용하는 대부분의 CPU는 x86-64 라고 생각하면 됨
결론적으로
x86 은 32bit CPU architecture
x64 는 64bit CPU architecture
를 의미함
단, x64 = IA64 + x86-64 둘다 포함
2. 운영체제(ex. window, linux)에 나오는 x86, x64는 뭘까?
운영체제가 x86인지, x64인지라는 것은
x86 CPU를 처리할 수 있는지,
x64 CPU를 처리할 수 있는지를 말하는 것
그냥
x86 OS는 32bit CPU용
x64 OS는 64bit CPU용
이라고 생각하면 됨
여기서 조금 더 심화하면
x86 OS로 64bit CPU를 사용하면???
사용 가능함!!!
대신 64bit CPU의 기능을 다 사용하지는 못 함
그러면
x64 OS로 32bit CPU를 사용하면???
불가능!!!
x64 OS는 최소 64bit CPU가 있어야 OS 작동이 가능하기 때문에 32bit CPU로는 작동이 안 됨
참고로 window는 설치할 때 x86 과 x64 를 선택할 수 있고 linux는 아예 따로 다운로드 받아야 함
3. 각종 소프트웨어 (프로그램)에서 말하는 x86, x64 는 어떻게 받아들여야 하나?
프로그램들도 마찬가지로 x86 이냐 x64 이냐 선택하게 됨
만약, x86 OS 에서 x64 software 를 설치하면???
실행 불가능!!!!!
당연함
x64 software 는 x64이상의 OS에서 작동되도록 되어있기 때문
software는 훌륭한데 이를 실행시켜줄 배경인 OS 가 딸리는 느낌
만약, x64 OS 에서 x86 software 를 설치하면???
실행가능!!!!
이렇게 설치를 하면
"C:\Program Files (x86)\"에 설치됨
x64 software 면 당연히 설치가 될 것이고 "C:\Program Files\"에 설치될 것
x86 x64 차이점 (CPU, OS, software)
'Language > 기본 용어' 카테고리의 다른 글
모바일 AP 란? (0) | 2022.01.14 |
---|---|
모뎀 (modem), 공유기 (router) 란?? (0) | 2022.01.14 |
mobile AP CPU 의 ARM (feat. RISC, CISC) (0) | 2022.01.14 |
필드(Field), 변수(Variable), 맴버변수, 전역변수, 지역변수, 인스턴스 변수, 스태틱 변수 등 관계 깔끔하게 정리 (0) | 2022.01.12 |
비동기 처리 vs 동기 처리 (0) | 2021.11.10 |