32비트에서 64비트는 왜 오랜세월이 걸렸을까요..?

karpe90의 이미지

제목그대로... 8->16->32비트순서와 다르게 32->64는 왜그렇게 오래걸렸을까요..?

램개발속도가 더뎌서 그런걸까요?

bootmeta의 이미지

OS라면 필요성의 문제겠죠.
지금도 64bit OS가 아직 대중화되지 않았습니다.
솔직히 특정 서버용 프로그램을 제외하고 일반 사용자에겐 아직 32bit 프로그램만으로 충분히 만족스러우니까요.

karpe90의 이미지

cpu개발이 8 16 32와 달리 오래 걸린것같은데...

bootmeta의 이미지

제가 알기로 한 때 삼성에서 license로 생산하기도 했던 dec alpha chip은 이미 1992년에 나왔습니다.
그러나 대중적으로 알려진 것이 아닌 특정 용도 서버로만 사용됬죠.

http://en.wikipedia.org/wiki/DEC_Alpha

구글로 "최초 64bit cpu" 검색하니
"1991년 MIPS Technologies에서 최초의 64bit CPU를 발표하고, SGI의 그래픽 워크스테이션인 크림슨(Crimson)에 탑재"되었다고 나오는 군요.

단지 64bit cpu, os가 딱히 대중화되지 않은 것은 8 > 16 > 32 bit로 바뀔 때 보여주었던 큰 성능상의 도약이 없기때문이 아닐까요?

karpe90의 이미지

64비트 엄청일찍나왔네요..

그런데 32->64로 성능상도약이없다는게..흠...

64비트 등장 초기부터 os개발및 프로그램개발을 했다면 지금쯤이면 더나은 환경이 되지않았을까요..?

bootmeta의 이미지

visicalc - apple2(8bit)
lotus123 - dos(16bit)
excel - windows95(32bit)

샘처럼의 이미지

말씀하신 분의 의도이신 killer application의 부재라는 말씀이 맞기는 하지만,
내용에 조금 딴지를 걸자면, excel은 windows 95 에도 있었습니다.
다만, excel과 이의 편리함이 windows의 확산에 큰 도움을 준 것은 맞다고 들었습니다.

prio의 이미지

alpha 는 'pure' 64-bit 으로 최초이고,

64-bit register를 사용한 architecture는 60년대부터 있었습니다.

그러고 보면 과제를 하시기 위해서는

과연 '64-bit architecture'의 정의부터 따지고 들어야 하지 않을까 싶군요. :-)

karpe90의 이미지

찾아보니 64bit register를 사용한 32bit cpu도 있고 그러던데 64bit cpu와의 정확한 차이를 모르겠습니다.

redneval의 이미지

http://en.wikipedia.org/wiki/64-bit#History

70년대의 몇몇 슈퍼컴퓨터의 프로세서는 64bit 였다.
90년대에는 하이엔드 워크스테이션과 서버에 64bit 프로세서를 사용하기 시작하였고
90년대 중반, Sun, IBM, HP 는 64bit 프로세서를 개발하였다.

(주의 : 출처는 위키피디아이고, 정확하지 않은 내용일 수도 있습니다.)

--------------------Signature--------------------
Light a candle before cursing the darkness.

danskesb의 이미지

8->16, 16->32비트 전환 시기에는 두 쌍의 명령어 집합을 지원하는 CPU가 있어서 일반 사용자들이 쉽게 이동할 수 있었습니다. IA-32와 64비트 아키텍처를 같이 지원하는 CPU는 인텔 아이태니엄이 최초였지만, 아이태니엄은 '개인 사용자'보다는 서버를 대상으로 하였고 설상가상으로 나중에는 하드웨어 IA-32 지원이 빠집니다. AMD 애슬론 64가 되어서야 '개인 사용자'를 대상으로 한 최초의 64비트 프로세서가 나왔죠.
---- 절취선 ----
http://blog.peremen.name

karpe90의 이미지

두쌍의 명령어 집합을 지원하는 cpu라는게 16bit cpu에서 8bit프로그램을 쓸수 있다는 거죠??

danskesb의 이미지

네. 당장 32비트 CPU에서도 16비트 프로그램이 잘 돌았죠.

---- 절취선 ----
http://blog.peremen.name

지리즈의 이미지

정확히 말하면, 시장에 요구에 따라 CPU가 나오는 것이지,
CPU의 개발능력 때문에 시장에 맞춰가는 것은 아니기 때문입니다.

사실상 8->16->32의 체감적 성능 발전은 2배씩이 아니라 말그대로 기하 급수적이었죠.
딱 각 아키텍쳐가 일반적으로 접근할 수 있는 메모리의 크기를 보면 잘 알 수 있습니다.
여전히 32비트라도 사용하는데, 불편함이 없는 수준입니다.

그럼 64비트는 더 오래갈까요?

제가 볼 때는 64비트는 32비트에 비해 단명할 것 같은 생각이 듭니다.
정확히 말하면, 64비트의 시대라고 불릴만한 시대가 없어질 것이라는 것이 정확한 표현일 겁니다.
64비트에 이르러 아키텍쳐가 접근할 수 있는 메모리의 한계는
현실적으로는 무한대라고 해도 할만큼 무의미해졌다고 보입니다.
64비트이후로는 이러한 64/128/256비트 이런 개념이 무의미한 시대가 될 것으로 보입니다.

가상화 기술등이 발전되면서, 상위 비트의 바이너리와 하위 비트의 바이너리가
지금보다는 더 세련되게 공존할 수 있을 것이고,
128,256 비트 컴퓨터가 나와도...와~ 이런 사람들보다는
L1,L2 캐쉬가 커진다던지, 아니면 HT 정도의 기술로서 시장자체에서 수용될 가능성이 높다는 생각입니다.
말그래로 64/128/256/512 심지어면 1024비트 컴퓨터가 그냥 자연스럽게 공존하는 시대가 될 겁니다.

그렇게 되는 가장 큰 이유는? 3D 같은 멀티미디어 지원때문일 겁니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

karpe90의 이미지

3D같은 멀티미디어의 지원때문이라는게 정확히 어떤뜻인지요?

지리즈의 이미지

64bit 128bit 레지스터를 활용하는 인스트럭션셋이 등장하는 이 유는
2D 특히 3D같은 경우 8 byte, 16byte 정수,부동소스점 연산이 빈번히 이용되기 때문입니다.
GPU는 더 긴 길이의 레지스터를 이용하기도 한다고 하더군요.

더 정밀하고 실사적인 영상을 얻으려면 아무래도 이런 덩치큰 연산이 필요해지죠.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

karpe90의 이미지

그당시 64비트 운영체제는 어떤걸 썻을까요??

지리즈의 이미지

아니면 말구요. ㅋ

http://en.wikipedia.org/wiki/Tru64

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

샘처럼의 이미지

Dec Alpha인 경우 windows NT 4.0에서는 binary를 봤던 기억이 있고,
그이전 버전인 NT 3.5인가 3.1에서는 서버 CD-rom에 intel뿐만 아니고 alpha등의 다른 CPU용 binary가 같이 들어 있었던 것으로 기억합니다.

출처 : http://en.wikipedia.org/wiki/Windows_NT + 기억에 의존..

blkstorm의 이미지

여담입니다만, 한때 dec alpha의 개발 목표가 가장 빠른 Windows NT 머신이었다고 합니다.

(아마 실제로 빨랐을 겁니다)

심지어 intel 바이너리를 Binary translation 까지 해서 돌렸다고 합니다. 그당시에 사용된

binary translater의 성능이 아주 뛰어났다고 들은 기억이 있습니다.

jick의 이미지

32비트가 대중화된 시점: 대중이 64KB로 부족함을 느꼈을 때
(좀 더 정확히 말하자면 x86은 segmentation이라는 변태엽기를 동원하여 1M까지 버티기는 했지만 말입니다.)

64비트가 대중화된 시점: 대중이 4G RAM으로 부족함을 느꼈을 때

1M부터 계산해도 메인메모리가 4천배 커지는 세월이 필요했으니, 오래 걸린 게 아닐까요?
64비트로 모자라려면... 에헤... 어디 보자... 계산이 되나...?