2012-02-14 1 views
3

Я искал ответ на google и, похоже, не нашел его. Но двоичный файл представлен в байтах/октетах, 8 бит. Таким образом, характер а (я думаю), это 01100010, и слово эй этоПочему двоичный файл представлен в октетах?

01101000 
01100101 
01111001 

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

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

+1

Это было не всегда 8 бит - см. Http://en.wikipedia.org/wiki/Word_(data_type)#Word_size_choice для таблицы различных архитектур и выбора их размера слова –

+0

О, да, однажды я услышал, что более старый код использовал 6 бит, и после этого люди начали использовать первые 2 бита, чтобы представить, был ли это продолжение или что-то еще, и все еще использовали другие 6 бит для данных ... – Gabe

ответ

2

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

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

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

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

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

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

2

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

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

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

+0

Я решил, что эти октены использовались с 1960 года. .. но опять же я понятия не имею. – Gabe

+0

Ну, 8-битная система была просто использована в этом отношении. Помните, что 4-битные, 16-битные, 32-битные и 64-битные системы также работают и используются. – Bry6n

0

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