Ваше местоположение в сети:
Рубрика:

32 бит или 64 бит

Разделы сайта:

Сегодня я хочу поговорить об адресации памяти. Звучит, конечно, страшно, но этот пост отнюдь не для программистов. Вы ведь слышали словосочетание "64-битный компьютер", например, в рекламе? Даже если не слышали, то сейчас я попытаюсь понятным языком объяснить, о чем идет речь.

Зачем вам это нужно? Ну, например, затем, чтобы не купить слишком много оперативной памяти на свой компьютер, неспособный с таким количеством памяти работать. Ну или чтобы знать, что могут возникнуть некоторые проблемы при работе некоторых программ после перехода на более новый компьютер и.т.п. Так что, думаю, стоит знать, что есть 32 бит и 64 бит.

Начну с простого. Бит - это 0 или 1, минимальный носитель информации, "горит - не горит" - в первых компьютерах биту как раз и соответствовала лампочка. Более часто используемое слово, "байт" - это последовательность из восьми битов. Так как каждый из них принимает значение 0 или 1, всего получается 2*2*2*2*2*2*2*2=256 значений. Достаточно, например, чтобы закодировать символ (не слишком специфический). Перейдем к адресации памяти...

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

Сейчас объясню. Допустим, вы используете 16 битов для адресации памяти. Мы можем адресовать 2^16 (два в шеснадцатой степени) байтов. В килобайте 1024 байта (2^10), соответственно 10 битов уходит на адресацию "до килобайта", остается 6, тем самым мы может адресовать 64 килобайта. Именно такая адресация использовалась во времена dos, памяти, конечно, можно было использовать больше, но для этого использовалась специальная технология страниц.

32bit-64bit

Переходим к более современным компьютерам и используем 32 бита при адресации. В килобайте 1024 байта, в мегабхайте 1024 килобайта, в гигабайте 1024 мегабайта, так что 30 уходит на адресацию "до гигабайта". Остается 2 бита, тем самым 32-битный компютер не может адресовать более 4х гигабайт. По неизвестнным мне причинам эта планка в Windows понижена, тем самым сама Windows использует не больше 3х, а конкретной программе может быть выделено не больше 2х гигабайт.

Мораль: на 32-битный компьютер не нужно покупать больше 3х гигабайт памяти! 64-битная адресация, напротив, позволяет использовать практически неограниченное количество памяти.

Но это не все! Мало иметь компьютер, умеющий работать и в режиме 32 бит и 64 бит, нужно еще поставить 64-битную операционную систему чтобы использовать преимущества 64-битной адресации и 64-битных численных операций (что тоже ускоряет работу компьютера). А вот здесь возникают определенные проболемы. Например, 64-битная Windows XP существует только в английском варианте, так что вы точно столкнетесь с проблемами кодировки. Так что, возможно, стоит остановиться на Висте, как это ни печально мне признавать (если, конечно, не начать переходить на Линукс!). Но, в любом случае, убедитесь, что ставится именно 64-битная операционная система.

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

Вот такой сказ про адресацию. Надеюсь, не слишком замурил голову. Я старался писать относительно грамотно, но при этом доходчиво. У меня получилось?

И небольшое отступление. Вы, наверное, обращали внимание на карту в шапке моего блога. Такой дизайн был выбран Найкрисом чтобы подчеркнуть идею блога - перед вами именно путеводитель по интернету. Но карты бывают нужны не только в интернете - представляю блог инфокарт- все карты сети, на котором вы найдете разнообразные карты - от звездного неба до политических карт стран.

← Что такое блог?Трюки веб-дизайна →
comments powered by Disqus