Я вроде уже несколько раз пытался это выяснить, и думал что, собственно, сделал это, но я до конца так и не понял, раз тут пишу.
32 бита и 64 разрядность - что это?
Т.е, когда я скачиваю что-либо, апликуху, новую ОС, и тд, там всегда есть выбор :32 или 64 бита.Очевидно же, что 64 быстрее.Но что это такое?Архитектура процессора ?
32 битные приложения запускаются у меня, на сколько я помню, мой проц - i7 4670.Он наверняка же 64 битный.
В общем, дайте плиз объяснение, что бы я больше не путался.
PS : Иногда вижу, как люди пишут, что - "ой, а на x86 не будет что-ли?"т.е 64 битка у них не запуститься?А запуститься ли апликуха заточенная под 32 бита на 64 битной машине?
Для операционной системы - разрядность это какие инструкции процессора содержатся в коде ОС. Для архитектур INTEL, 32-ух разрядный код будет выполняться и на 64-ёх разрядном процессоре, для других архитектур - не факт.
32 и 64 - разрядность машинного слова, если обобщить.
К скорости работы чаще всего это отношения не имеет.
А имеет отношение к операциям с большими числами (64-битной разрядности).
В частности такими числами могут являться адреса переменных в памяти. Соответственно 32-х битным приложениям (и ОС - это тоже приложение) недоступно больше 4 гб памяти - больший адрес просто не влезет в 32 бита.
Соответственно разрядность системы определят то, какую разрядность машинного слова она поддерживает. Сейчас вроде бы всегда сохраняют совместимость для 32-х разрядов.
Соответственно разрядность процессора - по сути то же самое - какой размер машинного слова он поддерживает.
Сейчас на 64-битных архитектурах всегда есть совместимость с 32-х битными. Но это необязательно. А вот обратно - нет. Т.е. если у вас 32-х битная система/проц - то 64-битные приложения не запустятся.
lugger Возможно они аллокацию переписали или что то такое. Там же даже приписка: ZBrush 4 is a 32-bit application, but can use up to 4 GB of system RAM. Т.е. это исключение, а не правило.
lugger: никакого противоречия тут нет. 32-х битное приложение можно запустить в 64-х битной ОС. Приложению будет доступно до 4 Гб памяти, еще 2 останется под нужды системы и сопутствующий софт.
PS В принципе и 32-х битные ОС могут использовать более 4 Гб памяти через PAE, но в десктопных версиях windows эта возможность отключена.
GavriKos, память = [количество адресов] x [кол-во битов в одном адресе]
Тут просто обывателя сбивает с толку 4 ГБ, хотя вроде на моей 32-битной машине 16 гб памяти.
Под 4 ГБ подразумевают именно количество адресов (2^32) - простая комбинаторика. А вот сколько физической памяти на самом деле - зависит от кол-ва битов в одном адресе
Получается, что максимальное число памяти, доступное для 32-битной системы - 32 ГБ (2 ^ 32 * 64 bits, учитвая текущие стандарты, где размер данных не превышает 64 бита)
UPD:
Епта, оказывается в большинстве нами используемхы процессорах 1 байт используется для одного адреса. То есть действительно 4гб максимум
Кому это очевидно? И с чего оно должно быть быстрее?
Разрядность это максимальная длина слова которым оперирует процессор.
От нее зависят такие вещи как размер адресуемой памяти и подобное.