Интернет магазин китайских планшетных компьютеров



Компьютеры - Битовые операции - Практические применения

23 января 2011


Оглавление:
1. Битовые операции
2. Битовые сдвиги
3. В теории сложности алгоритмов
4. Практические применения



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

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

Физическая реализация битовых операций

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

В первой половине XX века до изобретения транзисторов применяли электромеханические реле и электронные лампы.

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

Наиболее распространены электронные реализации битовых операций при помощи транзисторов, например резисторно-транзисторная логика, диодно-транзисторная логика, эмиттерно-связанная логика, транзисторно-транзисторная логика, N-МОП логика, КМОП логика и др.

Одной из причин, из-за которой базовые логические элементы строят на инверторах, а повторители являются дополнительными элементами, было то, что в электронике инверторы мощнее повторителей. Но основной причиной является то, что два инвертора заменяют один повторитель, а на повторителях инвертор не построить.

В квантовых вычислениях из перечисленных булевых операций реализуются только НЕ и искл. ИЛИ. Квантовых аналогов И, ИЛИ и т. д. не существует.

Схемы аппаратной логики

Результат операции ИЛИ-НЕ или ИЛИ ото всех битов двоичного регистра проверяет, равно ли значение регистра нулю; то же самое взятое от выхода искл. ИЛИ двух регистров проверяет равенство их значений между собой.

Битовые операции применяются в знакогенераторах и графических адаптерах; особенно велика была их роль в адаптере EGA в режимах с 16 цветами — хитроумное сочетание аппаратной логики адаптера с логическими командами центрального процессора позволяет рассматривать EGA как первый в истории графический ускоритель.

Использование в программировании

Благодаря реализации в арифметическом логическом устройстве процессора многие их регистровые битовые операции аппаратно доступны в языках низкого уровня. В большинстве процессоров реализованы в качестве инструкции регистровый НЕ; регистровые двухаргументные И, ИЛИ, исключающее ИЛИ; проверка равенства нулю; три типа битовых сдвигов, а также циклические битовые сдвиги.

Регистровая операция И используется для сброса конкретных битов по битовой маске, ИЛИ — для установки, исключающее ИЛИ — для инвертирования битов регистра по маске, сдвиг вправо/влево - для умножения/деления на 2.

Так, например, в сетевых интернет-технологиях операция И между значением IP-адреса и значением маски подсети используется для определения принадлежности данного адреса к подсети.



Просмотров: 3058


<<< Битовое поле
Сложение по модулю 2 >>>