Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » Общекомпьютерный »
32bit vs. 64bit: разрушители мифов

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   32bit vs. 64bit: разрушители мифов
jz
Multi-Moderator

Сообщений: 4576
Откуда: SkunksWorks
Регистрация: Сентябрь 2005

написано 05 Ноября 2010 06:10ИнфоПравкаОтветитьIP

Главный вывод таков : 64 битность далеко не столь востребована,как ее расписывают и помимо плюсов обладает определенными минусами.

Плюсы 64-битности :

1. Производительность за счет увеличенного числа используемых регистров
Некоторый прирост (10-15%) наблюдается лишь в узком кругу задач,которые в большинстве своем являются узкоспециализированными и не востребованы в основном спектре задач типичного пользователя десктопа.
Самые популярные задачи на декстопах,таких как игры,офис и мультимедия не способны получить видимых преимуществ именно за счет данного фактора.
Крис Касперски ака мыщъх : "Сравнивать 32- и 64-битные процессоры бессмысленно! Если 64-битный процессор на "домашнем" приложении оказывается быстрее, то отнюдь не за счет своей 64-битности, а благодаря совершенно независимым от нее конструктивным ухищрениям, на которых инженеры едва не разорвали себе задницы!"

2. Адресация условно бесконечного объема памяти.
Хорошая штука,но ведь мы прекрасно знаем,что 32 битные процессор в режиме PAE может без всяких проблем адресовать до 64 гигабайт памяти,чего было бы достаточно (в десктопах) на несколько лет вперед точно.
Цитата Криса Касперского : 64-битная разрядность... Помилуйте! Адресовать 18.446.744.073.709.551.616 байт памяти не нужно даже Microsoft'у со всеми вместе ее графическими заворотами! ... x86 процессоры с легкостью адресуют вплоть до 16 Гбайт (по 4 Гбайта на код, данные, стек и кучу), опять-таки обходясь минимальной перестройкой операционной системы! Почему же до сих пор это не было сделано? Почему мы как лохи сидим на "жалких" 4 Гбайтах, из которых реально доступны только два?! Да потому, что больше никому не нужно! Систему, адресующую 16 Гбайт, просто так не продашь, кого эти гигабайты интересуют? Вот "64 бита" совсем другое дело! Это освежает! Вот все вокруг них и танцуют.

3. Преодоление ограничения 2 гб. на процесс
Совместно с пользователями Smirnoff,Alex_555 и Keeper мы пришли к выводу,что при грамотном программирование данное ограничение вполне легко преодолимо. Ключ /3gb поможет специально настроенному приложению получить до 3 гб под код,если ему это понадобиться. В каких задачах недостаточно даже 2 гб чисто под код,если мы будем исходить из того,что уважающие себя программеры будут отделять код от данных ?!

4. Повышенная точность расчетов.
64-битные целочисленные операнды становятся юзабельны только при обработке чисел порядка 233+ (8.589.934.592) и выше. Там, где 32-битному процессору требуется несколько тактов, 64-битный справляется за один. Но где вы видели такие числа в домашних и офисных приложениях? Не зря же инженеры из Intel пошли на сокращение разрядности АЛУ (арифметико-логического устройства), "ширина" которого в Pentium-4 составляет всего 16 бит, против 32-бит в Pentium-III. Это не значит, что Pentium-4 не может обрабатывать 32-разрядные числа. Может. Только он тратит на них больше времени, чем Pentium-III. Но, поскольку, процент подлинно 32-разрядных чисел (т.е. таких, что используют свыше 16 бит) в домашних приложениях относительно невысок, производительность падает незначительно. Зато ядро содержит меньше транзисторов, выделяет меньше тепла и лучше работает на повышенной тактовой частоте, т.е. в целом эффект положительный.

5. Более простая работа с памятью
Вот как выглядит на ассемблере одна и таже программа в 32 битном и 64 битном вариантах :
32 :
call $ + 5 ; запихнуть в стек адрес следующей команды и передать на нее
управление
pop ebx ; вытолкнуть из стека адрес возврата
add ebx, 6 ; скорректировать адрес на размер команд pop/add/mov
mov al, [ebx] ; теперь AL содержит опкод команды NOP
NOP

64 :mov al,[rip] ; загружаем опкод следующей машинной команды
NOP ; команда, чем опкод мы хотим загрузить в AL
===============================================================

Теперь рассмотрим минусы 64 битности (представьте себе есть и таковые).

1. Увеличенная длина кода.
Главные недостаток 64 битности. С ростом разрядности увеличивается размер кода,а значит время на его загрузку и декодирования. Сильнее всего от этого страдает отнюдь не резиновая подсистема "процессор-память",через которую приходится перегонять в среднем больше на 20% данных. Это является серьезным штрафом к первому выше указанному преимуществу 64 бит.

2. Более высокие требования к оперативной памяти.
Вытекает из п.1. На практике,если Win 7 с архитектурой x86 при старте на моей системе отнимает около 400-500 метров,то ее сестра на x64 отнимает добрые 700-800 метров. Правда на системах с 6+ гб. памяти этот минус не является существенным,но все же.

3. Windows с архитектурой x64 занимает гораздо больший объем,чем на x86
Из-за требований к совместимости (а много ли у вас на машине с Win7 x64 подлинно 64 битных программ ?) высокоразрядной винде нужно хранить копии одних и тех же файлов разной разрядности. Причем доходит до маразма,вроде того,что XP-64 держит в памяти ctfmon.exe и ctfmon*32.exe,причем благополучное удаление второго никак не сказывается на работе системы. В Win7X64 стандартные программы представлены в 32 и 64 битных вариантах (удалить невозможно) загромождая и без того перегруженную всяким лишним дерьмом систему.
Совместное использование процессов разной разрядности тоже не добавляет системе стабильности.
=================================================================

Плюсы 32 битных ОС.

1. Меньшая нагрузка на систему.
2. Гораздо более лучшая драйверная поддержка и совместимость
(большая часть возможностей моей Аудиджи 2,которую тяжело назвать древним девайсов,в 64 битных дровах просто вырезана. Безусловно,это вина разработчиков,а не разрядности,но подобные проблемы имеются и далеко не только у меня).
===============================================================
Главный вывод.
Переход на 64 бита в десктопах является маркетинговым шагом. Возможностей 32 битных систем вкупе с их преимуществами хватило бы еще на очень длинный период времени,что подтверждается серверными версиями Windows и SQL сервер,в которых поддержка PAE не была урезана в маркетинговых целях,как это было сделано во всех 32 битных версиях Windows после XP SP1 (говорят,что в 32 битной Висте с SP1 можно добится нормального PAE и 4+ гб в системе,но на этот счет точных данных нет : есть как потверждения,так и опровержения,а самому с ней возиться просто нет времени). Ничто не мешает в 32 битных системах адресовать вплоть до 64 гигов и обходить ограничение памяти на процесс.
Тем не менее,переход на 64 бита в целом нужен,но на данном этапе развития оборудования в домашней среде он преждевременнен и носит маркетинговый характер.Даже серверная среда прекрасно существует в 32 битах без каких-либо проблем
Рекоммендую использовать 32 битные операционные системы и не заморачивать себе голову 64 битами.

Владельцам 32-битных Windows 7 рекомендуется попробовать бесплатную
программку-патч 4GB-7600_RTM_x86_(11.11.2009).exe ,которая вносит изменения в ядро системы, разблокирующие настоящий PAE и позволит системе управлять памятью за пределами 4 гб.

Доктор Фауст
Member

Сообщений: 744
Регистрация: Февраль 2010

написано 05 Ноября 2010 09:16ИнфоПравкаОтветитьIP

jz
3. Преодоление ограничения 2 гб. на процесс
Совместно с пользователями Smirnoff,Alex_555 и Keeper мы пришли к выводу,что при грамотном программирование данное ограничение вполне легко преодолимо.

Мы споткнулись на это ограничение, когда стало необходимо протаскивать через эти 2GB данные размером в 25 и 50 GB. Происходит банальное фрагментирование свободной памяти процесса, когда она есть но нарезана такими кусками, что выделить одним фрагментом, скажем, сотню килобайт уже не удается. Так что маркетинг маркетингом, но подобные задачи начинают появляться даже на близких к конечному пользователю задачах. И вообще, "640KB для любых задач более чем достаточно"

jz
Multi-Moderator

Сообщений: 4578
Откуда: SkunksWorks
Регистрация: Сентябрь 2005

написано 05 Ноября 2010 10:09ИнфоПравкаОтветитьIP

Доктор Фауст
Никто и не утверждает, что 64bit не нужны нигде, есть задачи где это действительно надо, но отнюдь не везде и не для всех - "для каждой эры свои химеры"
На данный момент 64bit - это очередное "Сколково", муляж прорыва без вложенного труда. На 9/10 - замануха для выкачивания бабла маркетинговый ход.
Недавно был у друга, который поставил себе Win7 x64. По просмотре диспетчера задач, в котором так и рябило *32, а также 1,5 Гб неизвестно чем занятого объёма RAM, так и тянуло его спросить - на кой чёрт тебе x64?

Доктор Фауст
Member

Сообщений: 746
Регистрация: Февраль 2010

написано 05 Ноября 2010 11:37ИнфоПравкаОтветитьIP

jz
На данный момент 64bit - это очередное "Сколково", муляж прорыва без вложенного труда

Да нет, просто очередной переходный процесс, когда три года назад это было никому не нужно, а еще через три года все будут сидеть на 64 битах в чуть менее чем полном составе. Переход с 16 на 32 бита длился гораздо дольше (когда там i386 вышел? кажется в 1985-86) и дался с бОльшим трудом. Юзвери получили нормальную массовую 32-битную OS только в 2001 году с выходом WinXP (WinNT и Win2K все же были ориентированны на корпоративных пользователей)

На 9/10 - замануха для выкачивания бабла маркетинговый ход.

Тем более что отдельных денег за 64-бита не просят - в одной коробке с виндой идут сразу обе версии.

Dikoy
Member

Сообщений: 1646
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 05 Ноября 2010 18:35ИнфоПравкаОтветитьIP

в котором так и рябило *32, а также 1,5 Гб
Забыл про загрузку проца на 50-60% непонятно на что...
Вот у меня сейчас 64%. Загружена опера и скайп. Проц 2 ядра 1400 пень.

Весельчак У
Moderator

Сообщений: 11103
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 05 Ноября 2010 22:02ИнфоПравкаОтветитьIP

Некоторый прирост (10-15%) наблюдается лишь в узком кругу задач,которые в большинстве своем являются узкоспециализированными и не востребованы в основном спектре задач типичного пользователя десктопа.
У меня на работе 1 Гига рамы катастрофически не хватает, когда открою несколько схем на редактирование, несколько pdf'ов на просмотр и оутглюк и всякое по мелочи. А ежели, как некоторые любят в ф.т.ж.пе открывать сразу кучу фотографий на редактирование...

мы прекрасно знаем,что 32 битные процессор в режиме PAE может без всяких проблем адресовать до 64 гигабайт памяти,
А мы прекрасно знаем, что больше 3,5/3,75 не получить.

если мы будем исходить из того,что уважающие себя программеры будут отделять код от данных ?!
От них редко можно дождаться когда они разделяют свои и чужие данные.

Не зря же инженеры из Intel пошли на сокращение разрядности АЛУ (арифметико-логического устройства), "ширина" которого в Pentium-4 составляет всего 16 бит, против 32-бит в Pentium-III. Это не значит, что Pentium-4 не может обрабатывать 32-разрядные числа. Может. Только он тратит на них больше времени, чем Pentium-III. Но, поскольку, процент подлинно 32-разрядных чисел (т.е. таких, что используют свыше 16 бит) в домашних приложениях относительно невысок, производительность падает незначительно. Зато ядро содержит меньше транзисторов, выделяет меньше тепла и лучше работает на повышенной тактовой частоте, т.е. в целом эффект положительный.
Вот поэтому эта ветка процессоров и получилась тупиковой. Бабло на юзверях срубили - и ладно. А эффект ,в целом, отрицательный.

С ростом разрядности увеличивается размер кода,а значит время на его загрузку и декодирования.
Поскольку у x86 архитектуры переменная длина команды, а большинство переходов в программах - относительные, то это утверждение весьма спорное.

Из-за требований к совместимости (а много ли у вас на машине с Win7 x64 подлинно 64 битных программ ?) высокоразрядной винде нужно хранить копии одних и тех же файлов разной разрядности. Причем доходит до маразма,вроде того,что XP-64 держит в памяти ctfmon.exe и ctfmon*32.exe,причем благополучное удаление второго никак не сказывается на работе системы. В Win7X64 стандартные программы представлены в 32 и 64 битных вариантах (удалить невозможно) загромождая и без того перегруженную всяким лишним дерьмом систему.
А в 32-х битной системе куча процессов поддерживающих 16-битные приложения, чего нет в 64-x.

Совместное использование процессов разной разрядности тоже не добавляет системе стабильности.
В 32-x битной системе всё то же.

Гораздо более лучшая драйверная поддержка и совместимость
(большая часть возможностей моей Аудиджи 2,которую тяжело назвать древним девайсов,в 64 битных дровах просто вырезана.

У меня всё наоборот Terratec Aureon FireWire 7.1 под XP x64 работает нормально, а под x32 никак не могу заставить нормально работать.

(говорят,что в 32 битной Висте с SP1 можно добится нормального PAE и 4+ гб в системе,но на этот счет точных данных нет : есть как потверждения,так и опровержения,а самому с ней возиться просто нет времени).
Ничего хорошего от костылей не выйдет. Всё же не зря перешли на линейную модель памяти с сегментированной.

Даже серверная среда прекрасно существует в 32 битах без каких-либо проблем
Поэтому изначально серверные процессоры (вроде Итаниума) сразу делались на 64 разряда.

1,5 Гб неизвестно чем занятого объёма RAM
А это точно из-за x64, а не из-за 7-ки?

Dikoy
Забыл про загрузку проца на 50-60% непонятно на что...
Вот у меня сейчас 64%. Загружена опера и скайп. Проц 2 ядра 1400 пень.

Вот Оперой и загружено. Всякая ява да флэш крутятся и жрут ресурсы.
На старом компе (Athlon XP 2000+ XP x32) в составе покоя была загрузка 2..4%, на нынешнем (Core2 Duo E8400 3ГГц XP x64) 0..1%.

WaGoN
Вам Телега. Получите.

Сообщений: 2883
Откуда: ПИВНОЕ ДЕПО
Регистрация: Май 2007

написано 18 Ноября 2010 14:34ИнфоПравкаОтветитьIP

Свой плевок в тему...

Полгода работал на носимом ноуте с вин7max-32, потом ради интереса пересел на 64 разрядку... Было изначально 4 гига оперативы... Что заметил сразу, так это стабильно высокую скорость работы интерфейса при любых нагрузках... Фотошоп явно свободнее начал работать с данными объемом больше гига... Но каких-то реальных отличий на сотнях других программ и задач замечено не было...

jz
Multi-Moderator

Сообщений: 4666
Откуда: SkunksWorks
Регистрация: Сентябрь 2005

написано 18 Ноября 2010 14:47ИнфоПравкаОтветитьIP

WaGoN
Что заметил сразу, так это стабильно высокую скорость работы интерфейса при любых нагрузках...
Хм. Если ты о сетевом интерфейсе, то я и на довольно слабых по железу конфигурациях с 32-битными ОС затыков при загрузке CPU < 90% как-то не наблюдал ощутимых..

Фотошоп явно свободнее начал работать с данными объемом больше гига...
А вот это вполне возможно, ибо на 32 битах ему по умолчанию больше 2 гигов оперативки никто не давал.

Доктор Фауст
Member

Сообщений: 822
Регистрация: Февраль 2010

написано 18 Ноября 2010 15:00ИнфоПравкаОтветитьIP

jz
Хм. Если ты о сетевом интерфейсе, то я и на довольно слабых по железу конфигурациях

Ты меня извини, но кажется он говорит об интерфейсе который "прорисовка окошек". А с фотошопом я бы лишний раз удостоверился что была использована его 64-битная версия

jz
Multi-Moderator

Сообщений: 4668
Откуда: SkunksWorks
Регистрация: Сентябрь 2005

написано 18 Ноября 2010 15:04ИнфоПравкаОтветитьIP

Доктор Фауст
Ты меня извини, но кажется он говорит об интерфейсе который "прорисовка окошек".
Это просто у меня рабочий день сегодня напряжённый несколько, все мысли вокруг сетей крутятся

WaGoN
Вам Телега. Получите.

Сообщений: 2886
Откуда: ПИВНОЕ ДЕПО
Регистрация: Май 2007

написано 18 Ноября 2010 15:17ИнфоПравкаОтветитьIP

Да о графическом интерфейсе, конечно же... О скорости работы менюшек, открытие окон, диспетчеров и прочем...
А фотошоп сейчас весь идет двухрежимный... Но и в 32 и 64 он ведет себя намного приятнее, чем на 32битной семере...

Доктор Фауст
Member

Сообщений: 823
Регистрация: Февраль 2010

написано 18 Ноября 2010 15:32ИнфоПравкаОтветитьIP

WaGoN
Но и в 32 и 64 он ведет себя намного приятнее, чем на 32битной семере...

Ну да, даже 32-разрядному фотошопу в 64-битной системе дадут оперировать большим адресным пространством (по идее до 4GB включительно, хотя черт их знает) чем в 32-битной ОС.

WaGoN
Вам Телега. Получите.

Сообщений: 2889
Откуда: ПИВНОЕ ДЕПО
Регистрация: Май 2007

написано 18 Ноября 2010 15:47ИнфоПравкаОтветитьIP

Доктор Фауст
С временными файликами объемом под 2,5 гига я в фотошопе работал... Плакаты большего размера друзья еще не заказывали...

Доктор Фауст
Member

Сообщений: 824
Регистрация: Февраль 2010

написано 18 Ноября 2010 16:07ИнфоПравкаОтветитьIP

WaGoN
С временными файликами объемом под 2,5 гига я в фотошопе работал...

Это другое, это просто файлы на диске и не более того. Примерно также при воспроизведении bluray проигрыватели прокачиваю через себя файлы размером в десятки гигабайт.

WaGoN
Вам Телега. Получите.

Сообщений: 2893
Откуда: ПИВНОЕ ДЕПО
Регистрация: Май 2007

написано 18 Ноября 2010 16:56ИнфоПравкаОтветитьIP

Доктор Фауст
Это не тупо файлы на диске, это объем проекта в оперативной памяти... Сам файлик может вообще мегов 300 весить в итоге... А вот вся история операций, слои, стили и прочее временно жрут оперативку безбожно... Вроде был такой термин как "утечка оперативки в фотошопе", если не ошибаюсь...

jz
Multi-Moderator

Сообщений: 4676
Откуда: SkunksWorks
Регистрация: Сентябрь 2005

написано 18 Ноября 2010 16:56ИнфоПравкаОтветитьIP

WaGoN
Вроде был такой термин как "утечка оперативки в фотошопе", если не ошибаюсь...
Да, сталкивался.

Доктор Фауст
Member

Сообщений: 827
Регистрация: Февраль 2010

написано 18 Ноября 2010 17:21ИнфоПравкаОтветитьIP

WaGoN
Это не тупо файлы на диске, это объем проекта в оперативной памяти...

там много чего намешано: физическая память, виртуальная память, свопфайл, временные файлы, файлы проецируемые в память и т.д. и т.п. и то что ты называешь "проектом в оперативной памяти" размазывается тонким слоем по всему перечисленному.

ту же "историю операций" хранить в оперативке совсем не обязательно - ее можно тупо сбросить во временный(е) файл(ы), которые ты судя по всему и видишь.

WaGoN
Вам Телега. Получите.

Сообщений: 2897
Откуда: ПИВНОЕ ДЕПО
Регистрация: Май 2007

написано 18 Ноября 2010 17:36ИнфоПравкаОтветитьIP

Доктор Фауст
Я вижу лишь размер проекта внизу рабочей области фотошопа, о его составляющих банально не задумывался... Выглядит это примерно так "Док:253М/2120М"... Если мне память не изменяет, это дробь означает "размер самого итогового файла/размер проекта"... Вот такие пироги...

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика