Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Простейшая микро-ЭВМ. Проектирование. Наладка. Использование.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.89 Mб
Скачать

3.2. Основные логические операции

Любое преобразование кодов в машине основано на выполнении над ними логических опера­ций. К логическим относятся операции над наборами двоичных (принимающих только значения 0 и 1) аргументов, в результате выполнения которых получают единственное значение: 0 или 1. Логические операции могут быть описаны с помощью специаль­ных функций, принимающих 0 и 1 на наборах двоичных пере­менных и называемых булевыми функциями. Число всевозможных булевых функций от п переменных равно 2 и, следова­тельно, растет очень быстро с ростом п. Для двух переменных число всех булевых функций равно 16, а для одной перемен­ной — 4. Функции одной и двух переменных играют важную роль в теории переключательных схем (схем, реализующих логические преобразования дискретных сигналов).

Таблица 3.2

Значение

аргумен­та

Значения функций

X

f1

f2

f3

f4

0

0

1

0

1

1

0

1

1

0

Множество всех булевых функций от и переменных может быть описано конечной таблицей, число строк которой рав­но 2", а число столбцов — 22 . Например, все четыре булевы функции от одной переменной могут быть описаны табл. 3.2.

Первые две функции не требуют для своей реализации спе­циальных аппаратурных затрат, так как первая f1 (носящая название "константа 0") соответствует разрыву цепи передачи сигнала, а вторая f2 ("константа 1") — постоянному соедине­нию. Третья функция f3 носит название "функции повторе­ния" (имеется в виду повторение значения аргумента), а по­следняя f4 — "функции отрицания", или "функции инверсии".

В электрических цепях элемент, называемый буфером и слу­жащий для развязки цепей и согласования нагрузок, может реализовывать функцию f3, а так называемый инвертирую­щий буфер — функцию инверсии f4. Функцию f3 могут выпол­нить два последовательно включенных инвертора, т. е. элемен­ты, реализующие функцию инверсии сигнала f4. Это свойство инвертора использовано в схеме буфера шины адреса ПМ-ЭВМ (см. §6.3).

Рис. 3.1. Схемные обозначения буфера (а) и инвертора (б)

Рис. 3.2. Схемные обозначения:

а — элемента И; б — элемента ИЛИ; в - элемента И-НЕ; г -элемента И ЛИ-НЕ; д — элемента ИСКЛЮЧАЮЩЕЕ ИЛИ

Схемное обозначение буфера приведено на рис. 3.1,а, а ин­вертора — на рис. 3.1,6. Инвертор является весьма распростра­ненным элементом логических схем, поскольку входит в со­став других логических элементов, реализующих более слож­ные булевы функции. На схеме рис. 3.1 приведены по два схем­ных обозначения буфера и инвертора. Первое обозначение ис­пользуется в основном в англоязычной литературе, второе — в отечественной и рекомендовано ГОСТ.

Среди всех 16 возможных булевых функций от двух пере­менных наибольшее распространение получили следующие пять функций, описываемые в табл. 3.3.

Функция f5 носит название функции логического умноже­ния (конъюнкции), или функции И. Она реализуется с по­мощью логического элемента, называемого схемой И. Графическое обозначение этого элемента приведено на рис. 3.2,а. К особенностям работы элемента И относится то, что сигнал на его выходе, соответствующий логической единице, появля­ется только в том случае, если аналогичные сигналы присутст­вуют одновременно на его двух входах. Если же хотя бы на одном входе элемента И сигнал нулевой, выход также прини­мает значение 0. Понятие функции (схемы) И естественным образом расширяется на п переменных (входов).

Функция f6 носит название функции логического сложения (дизъюнкции), или функции ИЛИ. Она реализуется с помощью логического элемента, называемого схемой ИЛИ. Графическое обозначение элемента ИЛИ приведено на рис. 3.2,6. В отличие от схемы И на выходе элемента ИЛИ единичный сигнал появля­ется при наличии аналогичного сигнала на любом входе. И толь­ко если на обоих входах элемента ИЛИ присутствуют нулевые сигналы, на его выходе формируется тоже нулевой сигнал. Аналогичным образом вводится понятие и-входового элемен­та ИЛИ.

Таблица 3.3

Значения аргументов

Значения функций

X1

Х2

f5

f6

f7

f8

f9

0

0

0

0

1

1

0

0

1

0

1

1

0

1

1

0

0

1

1

0

1

1

1

1

1

0

0

0

Значения функции f7 противоположны значениям функции f на одних и тех же наборах входных сигналов. Поэтому функ­ция f7 называется функцией И-НЕ. Графическое обозначение соответствующего элемента дано на рис. 3.2,в. Его название - элемент И-НЕ.

Значения функции f8 противоположны значениям функ­ции f6 на одних и тех же наборах. Поэтому функция f8 носит название функции ИЛИ-НЕ. Она реализуется элементом с тем же названием, представленным на рис. 3.2,г.

Наконец, последняя функция f9 отличается от функции fб значением выходного сигнала на последнем наборе. Эта функ­ция называется логической неравнозначностью или суммой по модулю 2. Выходной сигнал у соответствующего элемента, реализующего эту функцию (рис. 3.2,д), принимает значение, равное 1, в том и только в том случае, когда сигналы на его входах имеют противоположные значения. Элемент, реализую­щий функцию сложения по модулю 2, является одним из основ­ных логических элементов схемы микропроцессорного блока микро-ЭВМ, поскольку, как мы увидим в дальнейшем, он явля­ется базой построения всех суммирующих схем. Кроме того, если выход элемента, реализующего функцию сложения по модулю 2 (другое название этого элемента - ИСКЛЮЧАЮЩЕЕ ИЛИ), подать на вход инвертора, то на выходе последнего сиг­нал l будет формироваться только при условии совпадения значений сигналов на входах элемента ИСКЛЮЧАЮЩЕЕ ИЛИ. Такой схемой можно воспользоваться для сравнения значений двух одноразрядных чисел. Эта операция в микро-ЭВМ исполь­зуется очень часто.

Все элементы, реализующие рассмотренные основные функ­ции, обладают одной характерной особенностью. Сигналы на выходах этих элементов полностью определяются входными сигналами, т. е. сигналами, присутствующими в рассматривае­мый момент времени на их входах. От сигналов, подававшихся на входы элементов в более ранние моменты времени, выходные сигналы не зависят. Поэтому эти элементы относятся к классу комбинационных схем, или к классу схем, не обладаю­щих памятью.

С помощью комбинационных элементов в ЦГО микро-ЭВМ реализуются все основные логические операции над 8-разрядны­ми словами данных и 16-разрядными словами адресов. К ним относятся операции поразрядного логического умножения (по­разрядное И), сложения (поразрядное ИЛИ), инвертирования (поразрядное НЕ), сравнения. С их помощью реализуются арифметические операции (см. § 3.3). Однако многие из этих операций были бы практически невыполнимы, если бы схема обработки двоичных сигналов не содержала специальных уст­ройств для временного хранения данных.

К таким устройствам принадлежат регистры. Они состоят из элементов, число которых (или длина регистра) равно числу двоичных разрядов поступающих на них данных. Каждый эле­мент способен сохранить на своем выходе значение поступив­шего и затем пропавшего входного сигнала до тех пор, пока не возникнет необходимость сохранения вновь поступившей ин­формации. Эти элементы, называемые триггерами, относятся не к комбинационным схемам, а к схемам с памятью. Триг­гер — это схема с двумя устойчивыми состояниями: ВКЛЮЧЕ­НО, обозначаемое 1, и ВЫКЛЮЧЕНО, обозначаемое 0. Распро­страненным типом триггера является триггер с двумя входами, обозначаемыми R и S. Такой тип триггера носит название RS-триггера. Вход R (Reset — очистка) предназначен для пере­вода триггера в состояние 0, или, как говорят, для очистки триггера. При появлении сигнала на этом входе триггер перево­дится в состояние 0, если до этого он находился в состоянии 1, или остается в состоянии 0, если до этого он находился в со­стоянии 0. Вход S (Set — установка) предназначен для перевода триггера в состояние 1, или, как говорят, для установки триг­гера.

При появлении сигнала на этом входе триггер переводится в состояние 1, если до этого он находился в состоянии 0, или остается в состоянии 1, если до этого он находился в состоя­нии 1. Сигнал, переводящий триггер в то или иное состояние, может быть как единичным (в этом случае вход называется прямым) или нулевым (вход называется инверсным). Так, например, в схеме К155ТМ2 (см. гл. 5) сигналы сброса и уста­новки имеют нулевые значения. В этой схеме триггер остается в состоянии 0 и в том случае, если значение сигнала изменится с 0 на 1. Перевести его в состояние 1 можно только подачей сигнала 0 на вход S (Set — установка). Состояние 1 триггер будет также сохранять при изменении значения сигнала на входе S на единичное.

Триггер типа RS является далеко не единственным и даже не наиболее применяемым в схемотехнике дискретных уст­ройств. Более распространенным, например, является D-триг-гер. Он имеет два входа: D и С. Вход D является информацион­ным, а С — управляющим. Сигнал со входа D переписывается в триггер только при наличии определенного сигнала на управ­ляющем входе С. Некоторые триггеры, реализованные в виде микросхем, имеют входы, соответствующие как RS-триггеру, так и D-триггеру, и могут быть использованы как триггеры любого из указанных двух типов.

Состояние триггера однозначно соответствует сигналу на выходе, который называется прямым выходом. Кроме пря­мого выхода у триггера имеется так называемый инверсный выход, значение сигнала которого всегда противоположно значению сигнала прямого выхода. Это позволяет, например, иметь на выходах регистра, состоящего из восьми триггеров, одновременно прямой и обратный коды вводимого 8-разряд­ного двоичного числа.

Поскольку все процессы преобразования сигналов в ЭВМ синхронизированы, в схемах регистров используются синхро­низируемые триггеры. В таких триггерах кроме информацион­ных входов имеется специальный вход, на который подаются сигналы синхрогенератора. Изменение состояния триггера про­исходит только во время появления тактового импульса на его синхронизирующем входе. Изменение значений информацион­ных сигналов в период пауз тактовых импульсов на состояние триггера влияния не оказывает.

Используемые для одновременного хранения нескольких двоичных разрядов регистры состоят из последовательно со­единенных триггеров и управляющих связей между ними, по­зволяющих организовать последовательную или параллельную подачу запоминаемой информации. С помощью управляющих связей можно сдвигать хранящуюся в регистрах информацию на произвольное число разрядов вправо и влево, а также счи­тывать информацию в последовательной и параллельной фор­мах. Такие регистры называются сдвиговыми регистрами. Они широко используются для реализации арифметических функций, в частности умножения и деления.

Итак, в самом общем случае регистры позволяют осущест­вить следующее:

1) хранить поступившую на них двоичную информацию в течение необходимого времени;

2) осуществлять преобразование последовательных двоич­ных кодов в параллельные и обратно;

3) сдвигать при необходимости хранимые данные вправо

и влево;

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