загрузка...

 

загрузка...
Знакомство с ЭВМ     |     Искусственные языки

Немного о логических операциях

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

Науку о человеческом мышлении создал древнегреческий философ и ученый Аристотель (384—322 до н. э.). Он назвал ее логикой. Логика предписывала общие правила, по которым человек должен мыслить, рассуждать, делать умозаключения и приходить к истине.

Немецкий математик Г. В. Лейбниц (1646—1716) сблизил логику с вычислениями. У него возникла мысль создать новую науку — математическую логику, в которой логические понятия обозначались бы математическими знаками. Если для этих знаков,— говорил Лейбниц,— установить правила соединения, то логические высказывания примут вид математических формул и логика станет искусством исчисления, позволяющим ученым и философам разрешать свои споры спокойными вычислениями. К сожалению, Лейбницу не удалось осуществить свою мечту. Только почти через двести лет английский математик Дж. Буль (1815—1864) частично реализовал идеи Лейбница.

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

Исчисление высказываний

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

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

Снег холодный — высказывание и притом истинное.

Дважды два четыре — тоже высказывание и тоже истинное.

Снег теплый — высказывание, но ложное.

Дважды два пять — тоже высказывание и тоже ложное.

Речка движется и не движется (из популярной песий) — не высказывание, так как из этого предложения нельзя понять, ложно оно или истинно.

Который час? — это не высказывание, а вопросительная фраза. Вопросительные и восклицательные фразы, наряду с предложениями, выражающими просьбу, приказ или условность действий, не являются повествовательными предложениями, не употребляются для логических рассуждений и поэтому не могут быть высказываниями алгебры логики. Истинность или ложность логического высказывания называется значением истинности и условно обозначается символом 1, если высказывание истинно, и 0, если оно ложно. Кроме того, само высказывание формально (условно) обозначается буквами латинского алфавита (А, В, С или х , у, z , ..), мысленно отвлекаясь от конкретного содержания высказывания, то есть не принимая его им внимание.

Попробуем уяснить эту зависимость. Возьмем к примеру, такое высказывание: Завтра будет тепло и завтра будет сухо. Это сложное высказывание в виде прогноза хорошей погоды состоит ИЗ Двух простейших высказываний. Первое высказывание говорит о ТОМ, что завтра будет тепло, а второе о том, что завтра будет сухо. Оба они соединены связывающим союзом И. Если обозначить первое высказывание буквой А, связывающее слово буквой И, второе высказывание буквой В, а сложное высказывание (прогноз погоды) буквой Q, то условно, отвлекаясь от содержания высказывание, формально можно написать А И В = Q.

Чтобы ВЫЯСНИТЬ значение истинности сложного высказывания в зависимости от значения истинности составляющих высказываний Л и В , вспомним, что А и В могут быть либо истинными (равными 1), либо ложными (равными 0). При этом возможны такие четыре варианта сочетаний Значения истинности А и В, сведенных в табл.

Пользуясь здравым смыслом, покажем правильность значений Q, записанных в четвертой колонке.

Рассмотрим вариант 1, при котором А = 1 и В = 0. Когда А = 1, то первое простейшее высказывание истинно, оно говорит о том, что завтра будет тепло. Однако В = 0, а это означает, что второе высказывание ложно, то есть завтра не будет сухо, будет дождливо. Если, поверив прогнозу, мы не захватим зонтик и промокнем, то, несмотря на теплую погоду (А — 1), справедливо сможем считать прогноз хорошей погоды ложным, требующим записи в четвертую колонку таблицы значения Q = 0.

Рассмотрим вариант 2. Когда А == 0 и В = 1, то погода будет холодной, хотя и сухой. Продрогнув от холода, можно с уверенностью сказать, что предсказание погоды не оправдалось и в четвертой колонке нужно снова записать Q= 0.

При варианте 3, когда А = 0 и В = 0, то есть когда и холодно и дождливо, то, конечно, каждый посчитает прогноз ложным, требующим записи Q = 0 в четвертой колонке.

Только тогда, когда А == 1 и В = 1 (вариант 4), то есть когда будет тепло и сухо, мы вправе утверждать, что прогноз оправдался, оказался истинным, и в четвертой колонке сможем записать Q = 1.

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

Математически в соответствии с данными табл. 2.2. это правило записывают так:

1И 0= 0 0 И 1 = 0

0И 0= 0

1И 1 = 1

Если вместо символа И поставить знак умножения (в виде точки), то получим такую таблицу:

0-1 = 0 0-0=0 1-1=1

Сравнивая эту таблицу с таблицей умножения двоичных чисел (см. с. 22), можно обнаружить их абсолютное сходство. В связи I 1ТИМ логическую операцию определения меры истинности сложною высказывании и зависимости от значения истинности составляющих высказываний, связанных союзом И , называют логическим умножением, а табл. 2.2 — таблицей истинности логического умножения. Часто эту таблицу записывают так, как это сделано В I.H.II 2 3

И алгебре логики чаще всего пользуются понятием НЕИСКЛЮЧАЮЩЕГО ИЛИ. Помня о таком значении союза ИЛИ, перейдем К рассмотрению истинности сложного высказывания в зависимости ОТ истинности простейших высказываний, связанных этим союзом. Анализ будем выполнять в том же порядке, как мы это делали, рассматривая логические высказывания, связанные союзом И. Для анализа воспользуемся таким предложением: Ночью выпадут о< .1/1 к и в виде падающего дождя ИЛИ падающего снега. Это сложное высказывание состоит из двух простейших высказываний. Первое простейшее высказывание о дожде условно обозначим буквой А И заметим, что А = 1, когда дождь идет, и А = 0, если ДОЖДЯ нет, Второе простейшее высказывание о снеге обозначим буквой И и ПОЛОЖИМ, что В=, когда снег падает, и В — 0, если снега нет.

Сложное высказывание в виде прогноза осадков обозначим буквой Q и условимся, что Q = 1, когда осадки выпадают, и Q = 0, если осадков нет.

Формально, исследуемое логическое высказывание можно записать в таком виде:

А ИЛИ В = Q,

где А — первое простейшее высказывание, ИЛИ — связывающее слово, В — второе простейшее высказывание, Q — сложное высказывание.

Для выяснения значения истинности Q в зависимости от значения истинности А и В составим табл. 2.4, аналогичную таблице 2.2.

Рассмотрим вариант 1, когда А = 1 и В = О — идет дождь, но нет снега. В этом случае осадки будут иметь место, поэтому Q=1.

При варианте 2, когда А = О и В = 1 — нет дождя, но падает снег, осадки все же имеют место и поэтому, как и раньше, Q=1.

При варианте 3, когда А = 1 и В = 1 — идет дождь и падает снег, осадки, конечно, выпадают и поэтому Q = 1.

Только при варианте 4, когда Л =0 и В = 0 — нет дождя или снега, то нет и осадков. В этом случае Q = 0.

Отсюда следует такое правило булевой алгебры:

Сложное высказывание, которое состоит из двух простейших высказываний, связанных между собой союзом ИЛИ, будет истинно (равно 1), если истинно хотя бы одно из простейших высказываний или истинны они оба, и ложно (равно 0), тогда и только тогда, когда будут ложны оба простейшие высказывания

Математически это правило записывают так:

Если вместо символа ИЛИ поставить знак сложения (+), то получим такую таблицу:

Соответствующая таблица истинности — табл. 2.5.

It литературе вместо символа ИЛИ иногда пишут знак / а Логическое сложение называют дизъюнкцией.

Помимо логической операции неисключающее ИЛИ, и микропроцессорной технике иногда используют операцию ИСК-

ЛЮЧАЮЩЕЕ ИЛИ. Не рассматривая ее подробно, отметим, что в этом случав логического сложения единица образуется тогда и только тогда, когда складываемые числа имеют различное значение истинности (когда у одного числа 0, а у другого 1,

или наоборот у первого 1, а у второго 0). Если числа имеют одинаковые значения истинности (оба равны 0 или оба равны 1, го результата сложения будет нулевым),

Таблицу истинности логического сложения для операции ИСКЛЮЧАЮЩЕЕ ИЛИ записывают так, как это сделано в табл 2.6,

Логическое действие ИСКЛЮЧАЮЩЕЕ ИЛИ обозначают знаком ф

Теперь рассмотрим логическую связку НЕ. В алгебре логики вводится действие, которого нет в обычной алгебре.

Если видоизменить электрическую схему и соединить батарейку Б , лампочку HL и выключатели А и В так, как это показано на рис. 8, б, то в этом случае лампочка HL будет гореть, если замкнуты контакты выключателя А, ИЛИ контакты выключателя В, ИЛИ контакты обоих выключателей. Только в том случае, когда будут разомкнуты контакты обоих выключателей, ток в цепи прекратится и лампочка HL погаснет. Таблица истинности для этого случая будет соответствовать логическому сложению (см. табл. 2.5). Операцию отрицания НЕ можно продемонстрировать с помощью электрической цепи, снабженной электромагнитным реле Р (рис. 8, в). При замыкании контактов выключателя А включается реле Р , его контакты Р.1 разрывают цепь питания лампочки HL и она гаснет.

Таким образом, замыкание контактов выключателя вызывает не зажигание лампочки, а ее гашение, то есть операцию отрицания (НЕзажигание ).

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

Сложное высказывание, которое состоит из многих простейших высказываний, связанных между собой союзом И , будет истинно (равно 1) тогда и только тогда, когда все простейшие высказывания истинны, и ложно (равно 0), если хоть одно из простейших высказываний ложно.

Сложное высказывание, которое состоит из многих простейших высказываний, связанных между собой союзом ИЛИ, будет истинно (равно 1), если истинно хотя бы одно из простейших высказываний или истинны они все, и ложно (равно 0) тогда и только тогда, когда будут ложны все простейшие высказывания.

С увеличением числа простейших высказываний, входящих в состав сложного высказывания, таблицы истинности получаются более громоздкими. Для примера в табл. 2.10 записана таблица истинности логического умножения для случая включения в электрическую цепь трех выключателей А , В и С (выключатель С показан на рис. 8, а пунктиром). В этом случае таблица истинности имеет восемь строк, вместо четырех, которые были в предыдущих таблицах (см. табл. 2.3). При четырех простейших высказываниях число строк в таблице истинности увеличивается до шестнадцати и т. д.

В микропроцессорной технике находят широкое применение электронные логические элементы типа И , ИЛИ, НЕ, у которых вместо механических выключателей А и В, показанных на рис. 8, установлены транзисторные выключатели, называемые вентилями или транзисторными ключами.

Упрощенные схемы таких логических элементов приведены на рис. 9. Если на входы 1 (рис. 9, а) и 2 подать напряжение высокого логического уровня (1), то транзисторы VTA и VTB откроются и напряжение +5В через открытые транзисторы будет поступать на выход в виде напряжения высокого логического уровня (1). Когда на один из входов (или на оба входа) подать напряжение низкого логического уровня (0), то транзистор закроется и на выходе образуется напряжение низкого логического уровня (0). Такая схема называется логической схемой 2И (двухвходовая логическая схема И).

Подключение напряжения высокого логического уровня (1) к любому из входов (входы 1 или 2 на рис. 9, б) приводит к открытию одного из транзисторов и появлению на выходе напряжения высокого логического уровня (1). Только тогда, когда на оба входа (входы 1 и 2) будет подано напряжение низкого логического уровня (0), оба транзистора оказываются закрытыми и на выходе будет иметь место низкий логический уровень (0). Такая схема получила название логической схемы 2ИЛИ (двухвходовая логическая схема ИЛИ).

Логическую схему И часто называют схемой совпадения, благодаря тому, что на выходе схемы единичный уровень (1) появляется тогда, когда совпадают по времени действия единичные уровни (1), подаваемые на входы.

Логическую схему ИЛИ называют собирательной или суммирующем схемой, так как она собирает (суммирует) входные единичные уровни (1) и выдает их в виде единичного уровня (1) на выходе.

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

В виде примера на рис. 10 приведена схема и расположение выводов одной из самых распространенных логических микросхем типа К155ЛАЗ, представляющих собой сочетание в одном корпусе четырех двухвходовых схем 2И—НЕ. Каждая логическая схема 2И имеет два входа (выводы: 1 и 2, 4 и 5, 9 и 10, 12 и 13) и один выход (выводы: 3, 6, 8 и 11). Кружком на выходах обозначено инверсное действие НЕ, в результате которого на выходе образуется уровень логического нуля, когда на оба входа поданы уровни логических единиц. Напряжение уровня логической единицы для К155ЛАЗ составляет +2,4В , а напряжение уровня логического нуля +0,4 В.

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

Для закрепления знаний рассмотрим пример использования логических элементов И , ИЛИ для решения практической задачи.

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

Ставится задача: с помощью логических микросхем И , ИЛИ собрать устройство, которое автоматически сигнализировало бы о выигрыше.

Как известно, в этой игре выигрывает тот, кто первым зажжет все три лампочки в какой-либо строке квадрата, например лампочку 1 (рис. 11), лампочку 2 и лампочку 3 в верхней горизонтальной строке. Поэтому, подключив к лампочкам каждой строки трехвходовые логические элементы ЗИ, то есть подав на каждый вход этих элементов уровень напряжений логической единицы от светящейся лампочки, можно получить на выходе каждого элемента ЗИ уровень логической единицы, сигнализирующий о выигрыше. Так как строк в игре восемь, то необходимо подключить восемь микросхем типа ЗИ. Для того чтобы сигнализация о выигрыше срабатывала от любой из этих восьми микросхем ЗИ (от первой, второй, третьей или четвертой и т. д., вплоть до восьмой), нужно к выходу каждой микросхемы ЗИ подключить вход восьмивходовой логической микросхемы 8ИЛИ. Тогда уровень логической единицы, поступающей на любой из восьми входов элемента 8ИЛ И, приведет к появлению уровня логической единицы на его выходе и напряжение этого уровня включит сигнальное устройство о выигрыше.

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

Для читателей, которые не поняли работу логических элементов при помощи таблиц истинности, советуем рассмотреть рис. 12—14, где упрощенно изображены действия логических элементов в виде домиков, во входные двери которых входят, а из выходных — выходят человечки высокого роста — красные единички и низкого роста — зеленые нулики. Напомним, что единички представляют собой высокий уровень напряжения, а нулики — низкий, нулевой уровень напряжения.

Когда в домик типа НЕ (рис. 12) входят единички то они выходят оттуда в виде нуликов. И, наоборот, нулики, которые приходят в домик, покидают его единичками (рис. 12, б).

Если во входную дверь домика НЕ (рис. 12 в) приходит цепочка, состоящая из одной единички и двух нуликов, то на выходе образуется цепочка в виде одного нулика и двух единичек.

На рис. 13 показано действие домика 2И. Когда на входы Л и В (рис. 13, г) поступают единички, то из выходной двери А В тоже выходят единички. Во всех других случаях (рис. 13, а, б, в на выходе образуются только нулики.

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

Помимо простейших логических элементов И—ИЛИ—НЕ в виде однокомнатных домиков, изображенных на рис. 12—14, промышленность выпускает более сложные, комбинированные логические элементы, состоящие как бы из многокомнатных квартир. На рис. 15 изображено устройство и принцип действия логического элемента — домика типа четыре 2И—НЕ, электрическая схема которого была приведена на рис. 10 (логическая микросхема типа К155ЛАЗ).

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

Реклама