6

Почему 32-битная память ограничена 4 ГБ ОЗУ, но может легко поддерживать жесткие диски емкостью 1 ТБ?

Как работает двоичная математика?

2 ответа2

17

Проблема заключается в адресации: адресация в ОЗУ осуществляется на байтовой основе, поэтому 2 ^ 32 позволяет сделать адресацию 4G байтов.

Адресация жесткого диска осуществляется по секторам. Каждый сектор имеет длину 512 байт. Таким образом, одно 32-битное значение позволяет адресовать сектор на диске 2 ТБ.

Чтобы разрешить доступ для дисков размером более 2 ТБ, операционная система использует 64-битные адреса секторов.

3

Это не имеет ничего общего с бинарной математикой. Это связано с размером адресного пространства, которое вы можете создать с ограниченным количеством битов. Биты являются экспоненциальными с точки зрения их индивидуальных возможностей адресации. Переход с 32 бит на 64 бит не дает вам вдвое больше адресного пространства, чем раньше, он дает вам гораздо больше. Например:

128 64 32 16 8 4 2 1

Вот как выглядит 8 бит или байт. Каждый бит упорядочен и имеет указанное значение. Таким образом, с 8 битами, вы можете создать число в диапазоне от 0 до 255. Попробуйте сами, сложите все вместе и посмотрите, что вы получите ...

1 + 2 + 4 + 8 ... and so on = 255

Проще говоря как ...

2^8 where 8 is the number of bits

Однако добавьте только один дополнительный бит, и вы сможете увеличить свое значение до 511: (255 + 256) = 511

256 128 64 32 16 8 4 2 1

Итак, представьте, что каждое адресное пространство является просто числом, поэтому с 8 битами вы можете адресовать 256 байтов памяти. Возможно значение 65536 или 64k выглядит знакомо? Это потому, что это число байтов памяти, которое может быть адресовано 16 битами. Таким образом, с 32 битами вы можете адресовать 4 ГБ памяти:

2^32 = 4294967296 or 4GB

Теперь ответим на ваш вопрос о жестких дисках. Жесткие диски не имеют статических физических проводов, которые требуют адресного пространства. Жесткие диски динамичны, в них есть движущиеся части. В любой момент времени ОС не обязательно адресует каждый байт на жестком диске. Он может адресовать часть этого в памяти, пока это требуется (следовательно, чтение с диска в память), а затем записывать обратно, когда это не требуется. Контроллер жесткого диска имеет драйвер, который позволяет ОС взаимодействовать с файловой системой. Файловые системы имеют индекс, который является адресуемым и использует его для загрузки расширенных индексов или для того, чтобы узнать, где искать на диске для получения данных. Вот почему жесткие диски медленнее по сравнению с памятью, потому что доступ к данным - это очень механический процесс.

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

Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .