2013-12-06 3 views
0

Возможно, самый простой компьютерный вопрос за все время, но я не смог найти прямой ответ, и это сводит меня с ума. Когда компьютер «читает» байт, он читает его как последовательный ряд из них и нули один за другим, или он каким-то образом считывает все 8 и нули сразу?Как биты становятся байтом?

+5

Как раз из названия, я предполагал, что это потому, что они пьют молоко? –

+4

Это зависит от того, что вы имеете в виду (жесткий диск? RAM?) Среди многих других вещей и, вероятно, очень зависит от оборудования. – iamnotmaynard

+0

Как я боюсь, ваш вопрос слишком широк и неясен. – iamnotmaynard

ответ

0

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

0

Это действительно выходит за рамки Stackoverflow, но он возвращает такие приятные воспоминания из колледжа.

Это зависит. Несколько раз компьютер считывает биты по одному за раз. Например, для более старого ethernet используется manchester code. Однако по сравнению с старыми параллельными кабелями для принтеров было отправлено 8 контактов, каждый из которых сигнализировал бит, и сразу же отправляется целой (байта).

В последовательных (одноразрядных по времени) кодировках вы обычно измеряете переходы в линии или переходы против некоторого четко определенного источника синхронизации.

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

0

Бит передаются по одному за раз в последовательной передаче и множественных чисел бит в параллельной передаче. Побитовая операция по выбору обрабатывает биты по одному. Скорость передачи данных обычно равна , измеренной в десятичных SI кратных единичного бита в секунду (бит/с), , таких как kbit/s.

Wikipedia's article on Bit

2

компьютерной система считывает данные в обоих направлениях в зависимости от типа операции, и, как цифровая система designed.I'll объяснить это с очень простым примером Полной суммирующей схемы.

Полный сумматор добавляет двоичные числа и счета для значений, переносимых в, так и снаружи (Википедия)

Пример параллельной работы

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

Пример последовательной работы

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

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

Shift register

Shift register operations demo

0

думать об этом таким образом, по крайней мере, на физическом уровне: в кабеле передачи от точки А до В (А и В может быть любым, жесткий диск, процессор, ОЗУ , USB и т. Д.) Каждый провод в этом кабеле может передавать один бит за раз. Оба A и B имеют тактовую синхронизацию с одинаковой скоростью. На каждом импульсе отправитель изменяет количество мощности, идущей вниз по каждому проводу, чтобы обозначить значение нового бита (ов). Таким образом, количество проводов в кабеле = количество бит, которое может быть передано каждому «импульсу». (Примечание: это очень упрощенное и теоретическое объяснение).

На уровне программного обеспечения в ЦП вы никогда не можете адресовать что-либо меньшее, чем байт. Вы можете «получить доступ» и манипулировать конкретными байтами с помощью побитовых операторов (& (AND), | (OR), < < (Левый сдвиг), >> (правый сдвиг),^(XOR)).

В аппаратном обеспечении количество передаваемых битов каждого импульса полностью зависит от самого оборудования.

Смежные вопросы