Вопрос: Что означает «бит» в ОС


Я знаю, что на рынке есть 32/64 бит ОС.
Q1-> Но что этот бит означает на самом деле?
Q2-> Что такое младшая бит ОС и самая высокая бит ОС?


4
2017-07-02 10:01


Источник




Ответы:


Но что этот бит означает на самом деле?

Это означает количество бит, используемых для адресации в памяти.

Память состоит из огромного количества байтов. У каждого байта есть уникальный адрес. Вы можете думать о памяти как о улице с домами, где дом представляет собой байт *, а номер дома представляет адрес. Теперь представьте, что кто-то решает, что номера домов всегда должны иметь 3 цифры. Это означает, что самый низкий номер дома - 000, а самый высокий - 999. Это просто и просто, но это означает, что у вас не может быть более 1000 домов, просто потому, что у вас заканчиваются номера домов.

Для вашей памяти это то же самое: x Bits - это количество цифр, которые вы указали. Единственное отличие состоит в том, что числа двоичные. 32-разрядная операционная система использует двоичные числа с ровно 32 цифрами (двоичная цифра = бит).

Таким образом, на 32-битной системе вы можете иметь 2 ^ 32 возможных адреса, которые составляют около 4 миллиардов. 4 миллиарда байтов - 4 ГБ. Если ваша память занимает более 4 ГБ пространства, это означает, что вы можете использовать только 4 ГБ доступной памяти, потому что у вас просто нет адресов для остальной части памяти.

В настоящее время стало нормально иметь RAM объемом более 4 ГБ и, конечно же, мы хотим использовать эту память. В этом случае требуется решение, и самое простое, что мы можем сделать **, - это увеличить адресное пространство. Хотя любое большее число бит будет делать, мы обычно просто удваиваем количество бит с 32 до 64. Таким образом, у нас есть адреса для 2 ^ 64 байтов, которые составляют 16 * 2 ^ 60 байтов или 16 эксабайт.

Обратите внимание, что люди по маркетингу иногда пытаются заставить нас поверить, что 64-битные операционные системы / процессоры как-то быстрее, чем 32-разрядные эквиваленты. Однако это не так. ***. Фактически увеличение размера адреса делает вещи медленнее, потому что чем больше число, тем более трудоемкие вычисления и да, мы вычисляем адреса. Совершенно бессмысленно использовать 64-битный процессор / ОС, если ваша память достаточно мала, чтобы вы могли полностью решить проблему с 32 бит.

Что такое младшая бит ОС и самая высокая бит ОС?

Для бит, который вы можете использовать, нет предела. «Один бит ОС» на самом деле не имеет смысла, потому что это означает, что на вашем компьютере не может быть больше 2 байтов памяти. Я думаю, что спускные системы начинаются с 8 бит. 32 бит является наиболее распространенным, хотя 64-битный процессор растет и в итоге заменит 32-битный. Я слышал о некоторых мейнфреймах, которые имеют 128 бит, но я не думаю, что что-то более высокое действительно существует, потому что 128 бит дает вам уже невообразимое большое количество адресов ;-).

* Это не обязательно один адрес на байт. Это самая распространенная единица в современной архитектуре, но теоретически мы также можем выбрать один бит или несколько байтов. Например. виртуальная машина Java обращается к некоторым случаям в нескольких байтах по 4 байта. Однако вам нужна поддержка как центрального процессора, так и операционной системы, чтобы использовать это.

** Конечно, есть и другие возможности. Например. есть PAE (расширения физических адресов). Это решение делит память на более мелкие сегменты, где каждый сегмент имеет не более 4 ГБ. С PAE вы можете адресовать до 64 ГБ. Это обычно использовалось на серверах с объемом памяти более 4 ГБ, прежде чем 64-битные процессоры стали обычным местом.

*** Ну, новые 64-битные процессоры, конечно, на самом деле быстрее, чем старые 32-битные процессоры. Но это не из-за того, что они 64-битные, а просто потому, что процессоры эволюционировали в целом. Если бы мы построили новый 32-битный процессор со всем, что мы узнали за это время, это будет быстрее, чем современный 64-битный процессор.


9
2017-07-02 10:12



«потому что 128 бит дает вам уже невообразимое большое количество адресов ;-)». Это напоминает мне о Билле Гейтсе, «640K должно быть достаточно для кого-то»., (FYI: На самом деле, Билл Гейтс не сказал этого ... :() - JiminP
@yankee Что вы имели в виду под «так как каждый адрес обычно связи на один байт "- (внимание мое). Не могли бы вы немного объяснить это? - Geek
@Geek: Подумайте о городе с одной очень длинной дорогой. Дома все еще имеют номера, и для простоты все дома имеют одинаковый размер. Я бы сказал, что номер дома связан с домом. Не комната, дверь или кирпич. «Дом» - это байт и «адрес» номера дома. Может быть, есть лучшее слово, тогда «ссылки». Может быть, «относится» ... - yankee
Непонятно, что один «так как каждый адрес обычно связывается с одним байтом» тоже. Мысли в голове: 32bit = 4 байт для адресации, поэтому каждый адрес сопоставляется с 4 байтами, а не с 1 байт .. а затем пенни выпадают :) Я бы отменил это и сказал, что «каждый байт в памяти должен иметь (и на самом деле имеет) свой собственный уникальный адрес, поэтому у вас не может быть более 4 миллиардов уникальных байтов размером 4 ГБ ». - pkuderov
@pkuderov: Спасибо за отзывы, я переписал часть своего ответа. - yankee


«Бит» процессора может фактически означать несколько вещей; внутри и снаружи процессора есть несколько вещей, которые ограничены несколькими битами. Однако в случае процессоров x86 здесь имеются следующие отличия:

  • 64-разрядные процессоры могут работать с гораздо большим объемом оперативной памяти без обходных решений, таких как PAE, чем 32-разрядные процессоры.
  • 64-битная архитектура AMD, которая стала доминирующей, добавила к CPU больше регистров общего назначения. Регистры представляют собой временные области хранения для вычислений, которые намного быстрее, чем ОЗУ.
  • Все регистры в CPU 64-бит. Это означает, что процессор может работать с большими значениями с меньшим количеством инструкций.

Что касается совместимых с ПК процессоров Intel, младшая бит-операционная система - это 16-разрядные ОС, такие как DOS, CP / M-86, Xenix и Windows 3.x. Intel сделала несколько 8-битных чипов (8008, 8080), которые использовали вариант CP / M, если я не ошибаюсь, и, конечно же, есть старый 4004, который является 4-разрядным чипом, но он никогда не запускал какую-либо ОС. В настоящее время никто не выпускает 128-битный чип, совместимый с x86, или выше.


2
2017-07-02 12:11