Почему двоичный код представлен в октетах? - PullRequest
3 голосов
/ 14 февраля 2012

Я искал ответ в Google и не могу его найти. Но двоичный файл представлен в байтах / октетах, 8 бит. Итак, символ а (я думаю) - 01100010,, а слово эй -

01101000 
01100101 
01111001 

Итак, мой вопрос, почему 8? Это хороший номер для работы с компьютером? И я заметил, что 32-битные / 62-битные компьютеры все кратны восьми ... так как все это связано с тем, как были созданы первые компьютеры?

Извините, если этот вопрос не соответствует стандартам Q / A ... он не связан с кодом, но я не могу придумать, где еще его задать.

Ответы [ 3 ]

2 голосов
/ 14 февраля 2012

Ответ на самом деле "исторические причины".

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

Но это было бы не очень эффективно, поскольку интерфейс, соединяющий процессор с памятью, должен бытьв состоянии передать достаточно информации, чтобы указать, какой адрес он хочет.Чем меньше степень детализации доступа, тем больше нужно проводов (или больше проталкивается по тому же количеству проводов), прежде чем вы дадите достаточно точный адрес для поиска.Кроме того, возврат одного бита несколько раз менее эффективен, чем возврат нескольких битов один раз (примечание: в общем, истина. Это дебаты последовательный-параллельный, и из-за уменьшенной сложности и физики системы последовательные интерфейсы обычно могут работать быстрее.Но в целом, большее количество битов более эффективно).

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

Итак, мы используем память, логически адресуемую на менее тонких уровнях (хотя физически ни один чип ОЗУ не вернет простоодин байт).Только полномочия двух действительно имеют смысл для этого, и исторически уровень доступа был байтом.С таким же успехом это может быть клочок или двухбайтовое слово, и на самом деле более старые системы имели куски меньше, чем восемь битов.

Теперь, конечно, современные процессоры в основном потребляют память в размере строки кэшаувеличивается, но наши средства выражения группировок и разделения виртуального адресного пространства остались, а наименьший объем памяти, к которому инструкция CPU может напрямую обращаться, по-прежнему остается восьмибитным.Машинный код для инструкций ЦП (и / или путей, идущих в процессор) должен был бы расти так же, как число проводов, соединяющихся с контроллером памяти, чтобы регистры были адресуемыми - это та же проблема, что и сдоступность системной памяти, о которой я говорил ранее.

2 голосов
/ 14 февраля 2012

"В начале 1960-х годов AT & T впервые представила цифровую телефонию на междугородних магистральных линиях. В них использовалось 8-битное кодирование по µ-закону. Эти большие инвестиции обещали снизить затраты на передачу 8-битных данных. Использование 8Кбит-коды для цифровой телефонии также привели к тому, что 8-битные октеты данных были приняты в качестве основного блока данных раннего Интернета "

http://en.wikipedia.org/wiki/Byte

Не уверен, насколько это верно.Похоже, что это всего лишь символ и стиль, принятые IEEE.

0 голосов
/ 16 февраля 2012

Одна из причин, по которой мы используем 8-битные байты, заключается в том, что сложность окружающего нас мира имеет определенную структуру.В масштабе людей наблюдаемый физический мир имеет конечное число отличительных состояний и паттернов.Наши врожденные ограниченные способности классифицировать информацию, отличать порядок от хаоса, ограниченный объем памяти в нашем мозге - это все причины, по которым мы выбираем [2 ^ 8 ... 2 ^ 64] состояний, чтобы быть достаточными для удовлетворения наших повседневных основныхвычислительные потребности.

...