Jump to content
Sign in to follow this  
free_volk

Ламерский вопрос про х32 и х64

Recommended Posts

Уже с месяц использую дебиан тестинг х64. Единственная проблема - при попытке включить в иксах два монитора иксы не запускаются. В остальном весьма доволен. Хотя х32, конечно, более тщательно протестирована и в силу этого надежнее. Хотя и медленнее Smile

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Fri, 22 May 2009 20:22

Хотя х32, конечно, более тщательно протестирована и в силу этого надежнее. Хотя и медленнее Smile

В чем заключается медлительность версии i386 по сравнению с amd64 или x86_64? Это почувствовать можно только когда обрабатывается графика или проигрывается видео. Небольшой прирост производительности есть, по большому счету amd64 это чисто маркетинговая фишка, с технологической точки зрения amd64 это i386 + 64 разрядные расширения за счёт чего адресуемой памяти может быть больше чем 4Gb. Для i386 с времён первых Штеудовских Pentium1 добавили технологию PAE (physical address extension), которая позволяет использовать более 4Gb памяти. Однако всё равно есть большой недостаток - одному процессу по прежнему адресоваться может не более 4Gb. Для мощного сервера, у которого процессы по несколько гигабайт занимают - выгоднее использовать amd64 или x86_64 нежели чем i386. А так, что-то я производительности особой не заметил…

Share this post


Link to post
Share on other sites

BSDobermann писал(а) Tue, 26 May 2009 14:41

EvilShadow писал(а) Fri, 22 May 2009 20:22

Хотя х32, конечно, более тщательно протестирована и в силу этого надежнее. Хотя и медленнее Smile

В чем заключается медлительность версии i386 по сравнению с amd64 или x86_64? Это почувствовать можно только когда обрабатывается графика или проигрывается видео. Небольшой прирост производительности есть, по большому счету amd64 это чисто маркетинговая фишка, с технологической точки зрения amd64 это i386 + 64 разрядные расширения за счёт чего адресуемой памяти может быть больше чем 4Gb. Для i386 с времён первых Штеудовских Pentium1 добавили технологию PAE (physical address extension), которая позволяет использовать более 4Gb памяти. Однако всё равно есть большой недостаток - одному процессу по прежнему адресоваться может не более 4Gb. Для мощного сервера, у которого процессы по несколько гигабайт занимают - выгоднее использовать amd64 или x86_64 нежели чем i386. А так, что-то я производительности особой не заметил…

Вопрос почти пустой, но все же хочу довавить что 4G = 2^32 - это максимально адресуемое пространство 32 bit процессорами. В модели памяти, используемой в linux, всем процессам в сумме может быть выдан 1 гигабайт максимум. Если нужно больше, память будет отображаться в область до 1G. 64 разрядная архитектура снимает это ограничение. Но тем не менее, я согласен с EvilShadow: x64 емеет смысл ставить на ноутбуке, если и памяти много, и потребноть программ большая.

Share this post


Link to post
Share on other sites

BSDobermann писал(а) Tue, 26 May 2009 13:41

В чем заключается медлительность версии i386 по сравнению с amd64 или x86_64? Это почувствовать можно только когда обрабатывается графика или проигрывается видео. Небольшой прирост производительности есть, по большому счету amd64 это чисто маркетинговая фишка

А я ощутил прирост производительности, забутстрапив дебиан x64 после дебиана же x32. ЧЯДНТ?

Цитата:

с технологической точки зрения amd64 это i386 + 64 разрядные расширения за счёт чего адресуемой памяти может быть больше чем 4Gb.

Это намного больше, чем расширение адресного пространства. Процитирую Вики:

Цитата:

Архитектура x86_64 имеет:

16 целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15),

8 80-битных регистров с плавающей точкой (ST0 — ST7),

8 64-битных регистров Multimedia Extensions (MM0 — MM7, имеют общее пространство с регистрами ST0 — ST7),

16 128-битных регистров SSE (XMM0 — XMM15),

64-битный указатель RIP и 64-битный регистр флагов RFLAGS.

Думаю, не стоит пояснять, что операции над двумя 64битными числами намного быстрее произвести с ипользованием 64битных регистров, нежели через 32битные. А уж с использованием технологий типа SSE - и подавно, ведь в одном регистре теперь может жить два старых 4байтных int'а. И это важно, поскольку задача процессоров - вычисления, чем эффективнее, тем лучше.

Share this post


Link to post
Share on other sites

Я ощутил, правда не на линукс, а на 3 ds Max 64 bit под виндовс х64, проводил тесты, реально х64 быстрее, но не намного, конечно.

з.ы.сорри за офтоп Wink

Share this post


Link to post
Share on other sites

gogi

Вопрос почти пустой, но все же хочу довавить что 4G = 2^32 - это максимально адресуемое пространство 32 bit процессорами. В модели памяти, используемой в linux, всем процессам в сумме может быть выдан 1 гигабайт максимум. Если нужно больше, память будет отображаться в область до 1G. 64 разрядная архитектура снимает это ограничение. Но тем не менее, я согласен с EvilShadow: x64 емеет смысл ставить на ноутбуке, если и памяти много, и потребноть программ большая.

In computing, Physical Address Extension (PAE) is a feature
of x86 and x86-64 processors that enable the use of more than 4
gigabytes[1] of physical memory to be used in 32-bit systems,
given appropriate operating system support. PAE is provided by
Intel Pentium Pro and above CPUs (including all later
Pentium-series processors except the 400 MHz bus versions of the
Pentium M), as well as by some compatible processors such as the
Athlon and later models from AMD.

The x86 processor hardware is augmented with additional address
lines used to select the additional memory, so physical address
size is increased from 32 bits to 36 bits. This increases maximum
physical memory size from 4 GB to 64 GB. The 32-bit size of the
virtual address is not changed, so regular application software
continues to use instructions with 32-bit addresses and (in a
flat memory model) is limited to 4 gigabytes of virtual address
space. The operating system uses page tables to map this 4 GB
address space into the 64 GB of RAM, and the map is usually
different for each process. In this way, the extra memory is
useful even though no single regular application can access it
all simultaneously.

Share this post


Link to post
Share on other sites

to BSDobermann

Это все понятно, но речь шла немного о другом, а именно о использование памяти в linux.

http://www.ibm.com/developerworks/ru/library/l-memmod/index. html

Ядро Linux может быть собрано:

- 32 бит, опция NOHIGHMEM - ограничение 1GB

- 32 бит, опция HIGHMEM64G - до 64GB, не работает на процессорах, не поддерживающих режим PAE (поддержка PAE появилась начиная с Pentium Pro, ) оптимально при размере ОЗУ от 1 до 4GB

- 64 бит, - 128GB

Основной недостаток PAE - память выше 4Гб не кэшируется CPU, что сильно сказывается на производительности.

Второй недостаток - некоторое замедление вследствие того, что запрос на пользовательскую страницу должен быть сначала выполнен из зоны ZONE_NORMAL, если завершение неудачно - с ZONE_HIGHMEM;

PS. Совершенно очевидно, что PAE - это костыли, необходимые до тех пор, пока существует необходимость установки 32 бит систем на аппаратуру с памятью выше 1G (в линуксе).

PPS. Извиняюсь, понадеявшись на свою память забыл про распространенную и полезную опцию HIGHMEM4G (работает, начиная с пентиумов и позволяет адресовать до 4GB памяти) и явно снизил предел памяти x86_64 -на самом деле 18 эксабайт SmileSmile

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...