Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Выбор между 32-х разрядной и 64-х разрядной системами

Опубликовано

Собсно, интересует следующее:

В чём разницам между 32-х и 64-х разрядными системами(включая архитектуру процессора).

Чем 64 лучше чем 32, чем хуже. Какую из них лучше выбрать для домашнего компа?

  • Ответов 66
  • Просмотры 12,4 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Изображения в теме

Рекомендуемые сообщения

Опубликовано
Господа, 64-битная операционная система позволит полностью раскрыть все возможности компьютера и чего кривить душей даже на глаз видно что комп работает быстрее
В данном случае вы кривите не душой, а глазом. Один и тот же код скомпилированный в 32-бит работает на платформе x86 в большинстве случаев быстрее, чем 64-й, изредка с такой же производительностью и в очень редчайших случаях медленнее.

 

а так же 64-битные версии Windows 7 отличаются повышенной надёжностью, поскольку они допускают установку только сертифицированных драйверов с цифровой подписью
Согласен с предыдущим оратором. Ни цифровая подпись, ни WHQL не дают никакой гарантии надёжности. Есть очень показательные примеры. У NVIDIA дрова на висту после выхода оной долго еще валились, несмотря на наличие WHQL. Более свежий пример и более чреватый последствиями. У Intel-а драйвера для встроенного в чипсет RAID Matrix Storage версии 8.9 являются ненадёжными. И настолько ненадёжными, что если вы используете RAID, то можете в один прекрасный момент распрощаться со своими данными. Ошибка присутствует уже многие месяцы, решения до сих пор нет.

 

а также лучше защищены от определённых классов вредоносного программного обеспечения.
Да ну. Каким образом?

 

Только вы скажите что "пока" 64 битной системы хорошей нет, я не говорю об NT.Нет поддержки некоторых 32 битных программ и как раз самых нужных. Но это уже другой разговор
Да почему, есть. Не просто хорошая, а вполне даже приличная. А при чём тут NT? Что значит вы о ней не говорите? Вы про windows 98 что ли? Современные windows уже лет 10 как все из семейства NT.
Опубликовано

Вы знаете, я ошибся, а на 16 битной еще быстрее чем на 32 и 64. Я даже не подумал что в 64 на один такт по шине передается в 2 раза больше битов, она работает медленнее.

Я согласен, весь выбор разрядности сводиться к оперативной памяти вашего компьютера. Все ячейки операционной памяти имеют адрес, который в 32- битной системе предоставляется в виде двоичного кода длиной 32 знака. Думаю что почти всем понятно, что 2^32=4294967296 байт, что равняется 4 ГБ. Из этого следует что ячейки, которые «перевалили» за 4 ГБ просто не будут задействованы. Понятно, что 2^64= 18446744073709551616 намного больше чем 2^32. А потому 64 битные приложения будут выполняться быстрее, объясняю - например, 64-разрядный SQL сервер может использовать больше 3-х гиг памяти под базу данных. Это значит, что большая часть базы разместится в памяти, а не на диске, а значит запросы будут выполняться быстрее. Так же и конверторы, кампиляция, и др.

Опубликовано
Вы знаете, я ошибся, а на 16 битной еще быстрее чем на 32 и 64.
Да, вы в очередной раз ошиблись. На 16-й архитектуре не быстрее.

 

Я даже не подумал что в 64 на один такт по шине передается в 2 раза больше битов, она работает медленнее.
Да, вы точно не подумали. Может, таки, начнёте думать?

 

Я согласен, весь выбор разрядности сводиться к оперативной памяти вашего компьютера. Все ячейки операционной памяти имеют адрес, который в 32- битной системе предоставляется в виде двоичного кода длиной 32 знака. Думаю что почти всем понятно, что 2^32=4294967296 байт, что равняется 4 ГБ. Из этого следует что ячейки, которые «перевалили» за 4 ГБ просто не будут задействованы. Понятно, что 2^64= 18446744073709551616 намного больше чем 2^32. А потому 64 битные приложения будут выполняться быстрее, объясняю - например, 64-разрядный SQL сервер может использовать больше 3-х гиг памяти под базу данных. Это значит, что большая часть базы разместится в памяти, а не на диске, а значит запросы будут выполняться быстрее. Так же и конверторы, кампиляция, и др.
Вы, вроде, речь вели изначально о быстродействии самой Windows. Да, приложения требовательные к объёму памяти — это единственный аргумент в пользу установки 64-й ОС на архитектуре x86. C этим никто не спорит и об этом уже писали в этой теме. «Логика где?» © А.С. Терехов.

Да, кстати, уясните себе, что Windows пока не может адресовать 64 бита адресного пространства. Только 44.

Опубликовано
Windows пока не может адресовать 64 бита адресного пространства. Только 44.

Поясните, что Вы имеете в виду. Только так, чтобы все поняли Вашу мысль.

Опубликовано
Windows пока не может адресовать 64 бита адресного пространства. Только 44.

Поясните, что Вы имеете в виду. Только так, чтобы все поняли Вашу мысль.

Я не смогу выполнить вашу просьбу так, чтобы поняли абсолютно все.

 

Во-первых, ограничение есть у самого процессора: виртуальное адресное пространство в современных x64 процессорах адресуется 48-ю битами. Так что даже без ограничений Windows не стоит расчитывать на память объёмом больше 256 терабайт.

 

Излагаю по мотивам книги Руссиновича. Ограничение в 44 байта в Windows связано, во-первых, с тем, что Windows использует во многих своих внутренних структурах биты указателей на память для служебных целей, и, во-вторых, с отстутствием в ранних процессорах с поддержкой x64 команды cmpxchg16b (сравнить и переставить 16 байт). За ограничение в 44 бита ответственна следующая структура:

typedef union _SLIST_HEADER {
    ULONGLONG Alignment;
    struct {
        SLIST_ENTRY Next;
        WORD   Depth;
        WORD   Sequence;
    } DUMMYSTRUCTNAME;
} SLIST_HEADER, *PSLIST_HEADER;

Эта структура представляет собой элемент в односвязном списке. Размер у нее 8 байт. Next — это указатель на следующий элемент. Для эффективного выполнения операций вставки и удаления из списка на многопроцессорных/многоядерных системах реализация использует команду обмена cmpxchg8b с префиксом lock. Этот префикс гарантирует атомарность. Без этой команды пришлось бы делать спиновую блокировку. Если мы переходим к 64-й системе, то указатель на следующий элемент становится 64-м, и если Depth и Sequence остаются того же размера, то нам нужна атомарная операция для обмена по крайней мере 12, а лучше 16 байт. Однако в ранних процессорах такой не было. Вместо этого было решено упаковать всю информацию в те же 64 бита. Для 64-й ОС эта структура стала выглядеть так:

struct {
  ULONGLONG Depth : 16;
  ULONGLONG Sequence : 9;
  ULONGLONG NextEntry : 39;
} Header8

Как вы видите, для адреса оставили 39 бит. Т.к. структура всегда выровнена на 16 байт, то можно считать 4 младших бита всегда равными 0. Это даёт нам 43 бита. Ещё один бит выигрывается за счёт того, что эти списки никогда не используются через границы пользовательского и режима ядра, соответственнно, старший бит можно считать всегда равным либо 1, либо 0 в зависимости от того используется эта структура из режима ядра или из пользовательского. Итого 44 бита или 16 TB памяти.

 

Полный текст описания (который и опубликован у Руссиновича) сего ограничения можно прочитать онлайн в блоге Ионеску: http://www.alex-ionescu.com/?p=50 .

Опубликовано
Полный текст описания (который и опубликован у Руссиновича) сего ограничения можно прочитать онлайн в блоге Ионеску: http://www.alex-ionescu.com/?p=50 .

Спасибо за ответ и ссылку, на досуге почитаю. Но, как мне представляется, Вы вопрос рассматриваете с точки зрения профессионального программирования. А народ хочет ответ на уровне простого пользователя получить. Но все равно благодарю за ответ.

Опубликовано
А народ хочет
Да, вроде, кроме вашего вопроса больше ни от кого ничего не прозвучало. С чего вы взяли, что народ этого хочет?

 

Опубликовано
Полный текст описания (который и опубликован у Руссиновича) сего ограничения можно прочитать онлайн в блоге Ионеску: http://www.alex-ionescu.com/?p=50 .

Спасибо за ответ и ссылку, на досуге почитаю. Но, как мне представляется, Вы вопрос рассматриваете с точки зрения профессионального программирования. А народ хочет ответ на уровне простого пользователя получить. Но все равно благодарю за ответ.

 

Для того, чтобы адресовать произвольный байт внутри этого адресного пространства необходимо 36 бит (2**36=64ГБ). Но память же не 8-мибитная и мы считываем не по 1 байту за раз. Считывается по 8 байт (ширина шины данных 64 линии). При этом прочитать произвольные 8 байт возможности нет - из ОЗУ в процессор всегда передаются данные, выровненные по 8-мибайтовой границе. Собственно, это одна из основных причин почему Вы используете выравнивание данных в программе - если считывать в регистр значение по невыравненному адресу, то вместо одного цикла шины может потребоваться два (вторая причина выравнивая - это необходимость обеспечить размещение переменной в одной строке кэш-памяти, чтобы она не занимала сразу две). Итак, данные передаются по 8 байт. Но процессор не может прочитать скажем байты с адресами 2-9 или 3-10. Читать можно только так: 0-7, 8-15, 16-23... В двоичной записи выравнивание по границе 8 байтов выглядит следующим образом (перепишем вышеприведенные числа в двоичной системе: 00000000-00000111, 00001000-00001111, 00010000-00010111. Вы можете заметить, что все эти диапазоны выглядят одинаково - начинаются адресом на конце которого три ноля и заканчиваются адресом с тремя единицами на конце.

И это совершенно естественно. Адрес выравненный по границе 8 байт - это адрес, который целится на 8 без остатка. Число кратное восьми в двоичной системе - это число заканчивающееся тремя нулями.

А раз последние три бита адреса в любом случае равны нулю, то и передавать их нет никакого смысла. Поэтому для того, чтобы считать по 8-мибайтной шине число из 64 гигабайтного диапазона достаточно иметь 36-3=33 линии шины адреса, а потому и 44 бита обьяснимо.

 

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

В первом посте ТС спрашивал, в частности: "Чем 64 лучше чем 32, чем хуже. Какую из них лучше выбрать для домашнего компа?". Не думаю, что ему те детали, о которых Вы сообщили, нужны. Меня Ваши ответы в некоторой степени заинтересовали, за что респект уже высказал.

Опубликовано
В первом посте ТС спрашивал, в частности: "Чем 64 лучше чем 32, чем хуже. Какую из них лучше выбрать для домашнего компа?". Не думаю, что ему те детали, о которых Вы сообщили, нужны.
Не нужны абсолютно. Достаточно знания факта, что есть ограничение объёма памяти в 16 терабайт.
Опубликовано

Драйверы устройств для 64-битной винды писать существенно сложнее, чем для 32-бит. (FAQ можно найти в DDK)

Код заметно длиннее (в строчках, в байтах тем паче). Что это означает? Да, почти ничего.

При условии, что у драйверописателей руки из правильного места растут.

Опубликовано
тера- это приставка такая.

терра - земля по-аглицки(терра-инкогнита)

Спасибо за то, что исправили досадную опечатку. Только terra таки латинского происхождения (равно как и incognita).
Опубликовано
Для домашнего пользователя единственный плюс - поддержка >4 Гб оперативы.

 

Домашний пользователь в принципе не использует столько оперативы.

 

Выигрыш в x64 есть только у определенных приложений, вряд ли кто-то их использует дома. С x64 кстати, будет проблема найти антивирус (по-мойму они пока в бете).

 

Про антитвирус неверно - у меня x64 и антивирус обычныq доктор веб. Работает вполне надежно.

 

 

  • 2 недели спустя...
Опубликовано

 

Простой пример полезности x64 при работе с мультимедия. Мои музыкальные проекты с кучей сэмплов начали падать на x32 по причине лимита в 2 гб на процесс. Когда в проекте открыты 5-6 сэмплеров, петли, и т.д. этот лимит расходуется мгновенно. В итоге я перешел на x64 Windows 7. Под нее есть 64 битные версии Фотошопа (работает ощутимо быстрее чем 32 бит версия), видеоредактор Sony Vegas (заметно быстрее рендерит проекты), Cakewalk Sonar тоже есть с заточкой под 64 бит. Так что в моем случае миграция имела смысл и спасла от фатальных и частых падений проектов. Вот и думайте после этого.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.