64비트 프로그래밍 환경은 어떤가요?

oldmans의 이미지

64비트 컴퓨터가 나온다고 빨라지는 것에 대해 궁금증을 가지는 사람이 많길래 (빨라지니까 궁금증을 가질 것 같기도 한데...)

메모리 어드레싱을 64비트로 한다는 것 외에(메뉴얼을 봤더니 프레스캇6xx 에서는 operand는 여전히 32비트고 어드레스만 64비트 이던데(IA-64가 아니니까요))

속도와 관련된 부분은 어떤 진보가 있나요? 같은 클럭이라면 속도가 같지 않나요? 일단 IA-64는 제쳐두고 프레스캇 6xx시리즈의 확장 메모리 64비트라는건 단지 메모리 주소를 4기가 넘게 쓸 수 있다는 말이 아닌가요? 그렇다면 속도는 증가하지 않을 것 같은데...

기존의 응용 프로그램들이 속도를 높이려면 쓰레드를 잘 활용하게 만들어서 여러장의 CPU를 꼽는 DUAL환경에 적응하는 편이 나은게 아닐런지요...dual CPU에서 조차 쓰레드를 돌린다든지 해본적이 없으니 뭔지 잘 모르겠네요.

그리고 I/O 장치와도 64비트로 주고 받으니 I/O작업은 빨라지는건가요?(아이테니움이면 I/O장치와도 64비트로 주고 받아서 더 빠를 것 같긴 한데......)

응용 프로그램을 개발한다면 IA-64기반으로 만들고 싶다면 IA-64컴파일러에서 컴파일 하면 되는건가요?

IA-64는 얼마나 효과가 좋나요? 아 궁금함. 64비트 컴퓨터가 있어서 실험해 볼 수 있는 것도 아니고 ㅠㅠ
그러나 64비트 체계로 넘어가겠죠? 미리 대비하는 것은 어떤 의미가 있지 않을까요?

64비트 환경에 대해서 궁금합니다.

개인적인 생각으로는 64비트 보다는 하이퍼 스레딩에 이은 듀얼CPU환경이 더 변화를 가져올 것 같긴 한데...

litdream의 이미지

제가 컴퓨터 아키텍쳐는 약합니다만, (뭔들 안약하겠냐 싶습니다만.. 흐흐)
제 생각을 대강 정리해보면 다음과 같습니다. 정답이라기보단 의견이라고 봐주십시오.

1. 말씀하신대로, 메모리 어드레싱이 64비트로 바뀌었다고 해서, 그 자체로 속도의
향상이 생기기보단, 사용할수 있는 가상메모리의 주소가 늘어난것 뿐이란것에
저도 동의합니다. 즉, 기존의 패러다임이 변하지 않았다면, 메모리가 늘어난것
외에 어드레싱 자체에서 얻는 이득은 없다고 보아집니다.

2. DUAL CPU 뿐 아니라, Single CPU 에서도 조차, Thread 를 쓰면 속도향상에
상당한 도움이 됩니다. 그것은 현대의 OS 가 인터럽트에 기초한 시스템인것과도
무관하지 않습니다. 전형적인 예가, I/O 인터럽트가 발생하면, CPU 가 하나라고
하더라도, 이미 두개의 프로세스가 동시에 일을 하게 되는것이죠. 단지, CPU 만
한개의 프로세스를 돌릴 뿐이죠.

3. I/O 장치와 64비트로 통신을 한다는것이 성능향상에 어떻게 영향을 미치는가
보다는 디바이스와 통신하는 band width 가 커지는것이 더 중요하지 않나
싶습니다. 예를들어, 기존의 케이블을 쓰면서, 통신방식만 64비트로 바뀌는것
이라면, 속도에 대한 이득은 없지 않을까 하는 생각입니다.

4. 64비트 응용프로그램을 64 bit 컴파일러로 제작한다는것은 당연합니다만,
더 중요한것은 응용프로그램의 코드가 64 bit 에서 컴파일이 제대로 되어야 한다
는 것이죠. 즉 기존의 32 bit 를 가정한 코드들이 64 비트에서 컴파일이 제대로
되어도, 실행이 제대로 된다는 보장이 없기 때문입니다.

아무래도 질문에 답이 되었다기보단 주절거린것 같긴 합니다만,
말씀드렸듯이, 화두를 제시한다는데 의의가 있다고 봐주십시오..
( 어제 밤샘을 했더니... 흐.. )

삽질의 대마왕...

아르아의 이미지

프레스캇이라면 EM64T를 말하신것 같은데 EM64T는 AMD64와 거의 똑같습니다. 클론이잖아요.
범용레지스터도 똑같이 64비트짜리 16개고 나머지도 거의 똑같습니다.
SSE관련 부분 빼고는 거의 차이가 없는듯 하더군요. 물론 AMD 일부 모델은 SSE3지원하지만요

레지스터도 16개로 늘어나니 약간 더 빨라질테고
AMD64는 아키텍쳐가 많이 바뀌어서 같은 클럭에서도 Athlon보다 더 빠르지만
그런것을 제외하더라도
레지스터가 64비트니 덧셈, 곱셈이 더 빨라지겠죠.
그리고 2^64-1까지는 한번에 다루니 데이타베이스같은걸 만들때 많이 이득을 볼겁니다

아 그리고 64비트로 넘어오면서 메모리 모드가 바뀌었는데
보니까 32비트 보호모드보다는 더 빠르고 좋은듯 합니다

익명 사용자의 이미지

64명을 태우는 버스가 있습니다.

32명을 태우는 버스는 잘 태워야 32명이죠. 64명을 태우려면 두번 날라야 합니다. 하지만 64명짜리 버스는 32명만 나를때는 32명짜리 버스랑 똑같지만 64명 날라야 할 상황이라면 훨씬 득을보죠.

64비트를 충분히 활용할수 있는 프로그램이 있다면 분명 큰 득이 될겁니다. 또한 메모리가 증가한다는것은 각각의 프로세스당 나눠줄 수 있는 메모리양이 증가한다는 말이지요. 그렇다면 덩치 큰놈들을 한번에 많이 돌릴수 있게 되겠네요. 그러면 우리같은 홈피씨야 상관없지만 대용량 서버들은 좋겠죠.

전 이렇게 생각합니다. ^^*

oldmans의 이미지

bos wrote:
64명을 태우는 버스가 있습니다.

32명을 태우는 버스는 잘 태워야 32명이죠. 64명을 태우려면 두번 날라야 합니다. 하지만 64명짜리 버스는 32명만 나를때는 32명짜리 버스랑 똑같지만 64명 날라야 할 상황이라면 훨씬 득을보죠.


저도 그렇게 피상적으로 생각하는 것 좋아합니다만 :D

거기가 서울이라면

몇 명을 태우는게 문제가 아니라

목적지까지 어떤 길을 타고 가느냐가 더 중요할 것 같은데요 ^^;

병목 구간을 찾고 그 병목 구간을 해결하는게...

익명 사용자의 이미지

1. 말씀하신대로, 메모리 어드레싱이 64비트로 바뀌었다고 해서, 그 자체로 속도의
향상이 생기기보단, 사용할수 있는 가상메모리의 주소가 늘어난것 뿐이란것에
저도 동의합니다. 즉, 기존의 패러다임이 변하지 않았다면, 메모리가 늘어난것
외에 어드레싱 자체에서 얻는 이득은 없다고 보아집니다.

==
유저에서 alloc할 수 있는 메모리가 2or3G에서 36G이상으로 늘어난건 어플리케이션에따라 어마어마한 이득입니다.

cinsk의 이미지

address space가 커졌다면, 그 만큼 많은 메모리를 쓸 수 있는 것이고,

register가 32bit에서 64bit가 되었다면, 그만큼 연산 속도도 빨라질 수 있습니다. 왜냐하면 32bit 덧셈 두번 할 것을 64bit 덧셈 한번 할 수 있으니까요.

I/O가 64bit이냐 아니냐에 따라 데이터의 이동 속도도 달라질 것이므로 속도 향상을 기대할 수 있습니다.

그리고 일반적으로 instruction set도 CPU가 발전하면서 조금씩 비뀌게 되므로, 단순하게 clock을 가지고 비교하는 것은 무리가 많습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.