Архитектура компьютерных систем 1 часть. Логические вентили / Хабр
Логические элементы
Доброго времени суток, я начинаю серию статей по написанию виртуальной машины на языке Golang. Я выбрал этот язык так как он прост для чтения и имеет в стандартной библиотеке уже необходимые функции, которые пригодятся в дальнейшем.
Эта статья не несёт в себе абсолютно никакой новой информации для тех, кто умеет составлять таблицы истинности для простых логических вентилей. Если вы это умеете, то не тратьте время и переходите ко второй части.
Логический вентиль это устройство с одним или несколькими входами и одним или несколькими выходами. В этой части будем рассматривать только самые простые из них. Для моделирования вентилей мы будем использовать только сигналы 0 и 1, не используя входные, выходные характеристики реальных вентилей.
Так как мы будем работать с Golang, то каждый элемент можно представить в виде функции.
В Go функция выглядит так:
func имя(имя переменной тип переменной) тип возвращаемого значения { //код return имя возвращаемой переменной }
Буфер
Это самый простой элемент имеющий один вход и один выход.
На практике используется для усиления сигнала или создания задержки, иногда можно заменить проводником.в случае с буфером наша функция будет выглядеть так:
func Buf(v bool) bool {
return v
}Инвертор
Тот же самый буфер, только на выходе инвертирует сигнал.
в случае с инвертором функция будет выглядеть так:
func Inv(v bool) bool {
return !v
}ИЛИ
Этому элементу необходим хотя бы один сигнал равный 1, чтобы на выходе получить 1.
func Or(v, s bool) bool {
return v || s
}И
Всегда возвращает 1, когда на все его входы подаётся 1, во всех остальных случаях он возвращает 0.
func And(v, s bool) bool {
return v && s
}Исключающее ИЛИ
Для того, чтобы на выходе получить 1, нужно чтобы на вход подавались разные сигналы (0 и 1) или (1 и 0). Эта операция является полезной, так как позволяет поменять местами две переменные без использования дополнительной памяти.
s) мы не можем потому, что для bool такой операции в языке нет, поэтому юзаем костыль
return (v || s) && !(v && s)
}ИЛИ-НЕ
Работает как элемент ИЛИ, только к его выходу подсоединён инвертор, с которого получаем сигнал.
func Nor(v, s bool) bool {
return !(v || s)
}И-НЕ
Элемент работает точно так же, как элемент И, только на выходе инвертируется сигнал.
func Nand(v, s bool) bool {
return !(v && s)
}Исключающее ИЛИ с инверсией
Элемент работает точно так же, как элемент ИЛИ, только на выходе инвертируется сигнал.
func Xnor(v, s bool) bool { // и тут костыль return !((v || s) && !(v && s)) }
Теперь, когда функции написаны, можно их собрать в пакет Gate, на основе которого будем реализовывать более сложные вещи. Наша иерархия пакетов будет похожа иерархию абстракций реального компьютера. Исходный код можно найти здесь.

Создан логический вентиль из ДНК
В журнале «Nature Nanotechnology» учеными из «Hebrew University of Jerusalem» была опубликована статья, где авторы заявили о создании логического вентиля (базовый элемент цифровой схемы, выполняющий элементарную логическую операцию) на основе молекул ДНК. Устройство теоретически способно работать внутри тела и, например, регулировать выделение лекарственных средств, освобождая их только там, где это необходимо, — пишет «New Scientist».
Логический вентиль выдает тот или иной сигнал на выходе в зависимости от входных сигналов. В данном случае ученым удалось реализовать логические вентили, выполняющие различные логические функции, в частности функцию исключающего «ИЛИ». Ключевыми элементами созданной авторами новой работы системы выступали комплементарные нити ДНК, то есть нити определенных последовательностей, которые образуют друг с другом прочное соединение. Каждая из нитей представляла значение «1», если присутствовала, и «0», если отсутствовала.
Помимо создания единичного работающего логического вентиля, ученые также получили систему из последовательно работающих вентилей, реализующих различные логические функции. Теоретически развитие этой работы может привести к созданию компьютера из ДНК, способного выполнять элементарные арифметические операции — сложение и вычитание. Кроме того, исследователи добились протекания нескольких последовательных операций, когда сигнал на выходе одного устройства служил входным сигналом для следующего.
Авторы новой работы протестировали в пробирке, насколько полезным созданное ими устройство может быть для медицины. Ученые связали логический вентиль с молекулой, способной инактивировать тромбин, фермент, вызывающий сворачивание крови.
В норме сворачивание крови позволяет избежать кровотечений, но при сердечно-сосудистых заболеваниях образующиеся сгустки крови представляют серьезную опасность для жизни человека. В созданной учеными схеме инактиватор тромбина выделялся только в том случае, если вентиль «натыкался» на фермент.
Создание компьютеров на основе биологических систем — не самое популярное, но достаточно активно развивающееся направление науки. Различные коллективы исследователей по-разному подходят к решению этого вопроса. Один из возможных подходов — это создание компьютеров из бактерий. Недавно такой компьютер смог решить классическую вычислительную задачу по сортировке блинов.
По материалам www.nature.comrel=»nofollow»>;
www.newscientist.comrel=»nofollow»>; www.lenta.rurel=»nofollow»>
Цікава інформація для Вас:
НОУ ИНТУИТ | Лекция | Логические вентили, схемы, структуры
Аннотация: Рассматриваются основные теоретические (математические, логические) понятия и сведения, касающиеся базовых логических элементов и структур – логических вентилей, логических (переключательных) схем, логической базы аппаратуры ЭВМ и их оптимальной структуры, оптимизации их структур.
Любой, самый примитивный компьютер – сложнейшее техническое устройство. Но даже такое сложное устройство, как и все в природе и в технике, состоит из простейших элементов. Любой компьютер, точнее, любой его электронный логический блок состоит из десятков и сотен тысяч так называемых вентилей (логических устройств, базовых логических схем ), объединяемых по правилам и законам (аксиомам) алгебры вентилей в схемы, модули.
Логический вентиль (далее – просто вентиль) – это своего рода атом, из которого состоят электронные узлы ЭВМ. Он работает по принципу крана (отсюда и название), открывая или закрывая путь сигналам.
Логические схемы предназначены для реализации различных функций алгебры логики и реализуются с помощью трех базовых логических элементов ( вентилей, логических схем или так называемых переключательных схем ). Они воспроизводят функции полупроводниковых схем.
Работу вентильных, логических схем мы, как и принято, будем рассматривать в двоичной системе и на математическом, логическом уровне, не затрагивая технические аспекты (аспекты микроэлектроники, системотехники, хотя они и очень важны в технической информатике).
Логические функции отрицания, дизъюнкции и конъюнкции реализуют, соответственно, логические схемы, называемые инвертором, дизъюнктором и конъюнктором.
Логическая функция «инверсия», или отрицание, реализуется логической схемой ( вентилем ), называемой инвертор.
Принцип его работы можно условно описать следующим образом: если, например, «0» или «ложь» отождествить с тем, что на вход этого устройства скачкообразно поступило напряжение в 0 вольт, то на выходе получается 1 или «истина», которую можно также отождествить с тем, что на выходе снимается напряжение в 1 вольт.
Аналогично, если предположить, что на входе инвертора будет напряжение в 1 вольт («истина»), то на выходе инвертора будет сниматься 0 вольт, то есть «ложь» ( схемы на рисунках 6.1 а, б).
Рис. 6.1.
Функцию отрицания можно условно отождествить с электрической схемой соединения в цепи с лампочкой (рис. 6.2), в которой замкнутая цепь соответствует 1 («истина») или х = 1, а размыкание цепи соответствует 0 («ложь») или х = 0.
Рис. 6.2. Электрический аналог схемы инвертора
Дизъюнкцию реализует логическое устройство ( вентиль ) называемое дизьюнктор (рис. 6.3 а, б, в):
Рис. 6.3a.
Рис. 6.
3b. Рис. 6.3c. Принцип работы дизъюнктора
Дизъюнктор условно изображается схематически электрической цепью вида (рис. 6.4)
Рис. 6.4. Электрический аналог схемы дизъюнктора
Конъюнкцию реализует логическая схема ( вентиль ), называемая конъюнктором (рис. 6.5 а, б, в):
Рис. 6.5a.
Рис. 6.5b.
Рис. 6.5c. Принцип работы конъюнктора
сделан шаг к химическим компьютерам
Группа учёных под руководством исследователей из Калифорнийского технологического университета смогла сделать небольшой, но значимый шаг в разработке произвольно программируемых химических компьютеров.
В качестве базовых вычислительных элементов в таких системах используются наборы ДНК, которые по своей природной сущности обладают способностью к самоорганизации и росту. Всё, что надо для работы вычислительных систем на основе ДНК ― это тёплая солоноватая вода, закодированный в ДНК алгоритм роста и базовые стандартные наборы ДНК-последовательностей.
Вычисления с помощью ДНК подобны работе ткацкого станка, где каждый новый слой ― это шаг исполнения одной команды (Erik Winfree/Caltech)
До сих пор «вычисления» с помощью ДНК проводились строго с использованием какой-либо одной последовательности. Для произвольных вычислений действующие методики не годились. Учёные из Калтеха (Caltech) смогли преодолеть это ограничение и представили технологию, которая может выполнять произвольные алгоритмы, используя один базовый набор из условно логических ДНК-элементов и отвечающую за алгоритм «расчёта» выборку из 355 базовых ДНК-последовательностей ― аналога компьютерных инструкций. В солевой раствор вносится логическое «семя» и набор «инструкций», после чего начинается расчёт ― сборка последовательности.
Примеры алгоритмов с использованием вентилей-ДНК и набором заданных последовательностей
Базовый элемент или «семя» представляет собой ДНК-свёртку (ДНК оригами) ― это нанотрубка длиной 150 нм и диаметром 20 нм. Структура «семени» остаётся практически неизменной вне зависимости от алгоритма, который будет вычисляться. Периферия «семени» сформирована таким образом, что на его окончании стартует сборка последовательностей ДНК. Растущая нить ДНК, как известно, собирается из последовательностей, которые по молекулярной структуре и химическому составу подходят предложенным последовательностям, а не случайным образом. Поскольку периферия «семени» представлена в виде шести условных вентилей, где каждый вентиль обладает двумя входами и двумя выходами, рост ДНК начинает подчиняться заданной логике (алгоритму) который, как уже сказано выше, представлен помещенным в раствор заданным набором ДНК-последовательностей из 355 базовых вариантов.
Учёные в ходе опытов показали возможность исполнения 21 алгоритма, включая счёт от 0 до 63, выбор лидера, определение деления на три и другие, хотя этими алгоритмами всё не ограничивается.
Процесс вычисления идёт шаг за шагом, по мере роста нитей ДНК на всех шести выходах «семени». Этот процесс может занимать от одних до двух суток. На изготовление «семени» уходит существенно меньше времени ― от часа до двух. Результат расчётов можно воочию увидеть под электронным микроскопом. Трубка разворачивается в ленту, а на ленте в местах каждого значения «1» на последовательности ДНК присоединяется видимая в микроскоп молекула протеина. Нули в микроскоп не видны.
Развёрнутые последовательности ДНК под электронным микроскопом после вычисления . Цифры ― это код алгоритма, выгравированный на «семени», а всё что справа от цифр ― это последовательность выполнения команд в виде выросших нитей ДНК. На ленте видны только единицы благодаря молекулам протеина (Damien Woods/Maynooth University)
Безусловно, в представленном виде технология далека от выполнения полноценных расчётов. Пока это похоже на чтение ленты с телетайпа, растянутое на двое суток. Тем не менее, технология работает и оставляет за собой обширное поле для совершенствования.
Стало понятно в каком направлении можно двигаться, и что необходимо делать для приближения химических компьютеров.
Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Архитектура компьютерных систем 1 часть. Логические вентили
Логические элементы
Доброго времени суток, я начинаю серию статей по написанию виртуальной машины на языке Golang. Я выбрал этот язык так как он прост для чтения и имеет в стандартной библиотеке уже необходимые функции, которые пригодятся в дальнейшем.
Эта статья не несёт в себе абсолютно никакой новой информации для тех, кто умеет составлять таблицы истинности для простых логических вентилей. Если вы это умеете, то не тратьте время и переходите ко второй части.
Логический вентиль это устройство с одним или несколькими входами и одним или несколькими выходами. В этой части будем рассматривать только самые простые из них. Для моделирования вентилей мы будем использовать только сигналы 0 и 1, не используя входные, выходные характеристики реальных вентилей.
Так как мы будем работать с Golang, то каждый элемент можно представить в виде функции.
В Go функция выглядит так:
func имя(имя переменной тип переменной) тип возвращаемого значения {
    //код
    return имя возвращаемой переменной
}Буфер
Это самый простой элемент имеющий один вход и один выход. На практике используется для усиления сигнала или создания задержки, иногда можно заменить проводником.
в случае с буфером наша функция будет выглядеть так:
func buf(v bool) bool {
    return v
}Инвертор
Тот же самый буфер, только на выходе инвертирует сигнал.
в случае с инвертором функция будет выглядеть так:
func inv(v bool) bool {
    return !v
}ИЛИ
Этому элементу необходим хотя бы один сигнал равный 1, чтобы на выходе получить 1.
s) мы не можем потому, что для bool такой операции в языке нет, поэтому юзаем костыль
    return (v || s) && !(v && s)
}ИЛИ-НЕ
Работает как элемент ИЛИ, только к его выходу подсоединён инвертор, с которого получаем сигнал.
func nor(v, s bool) bool {
    return !(v || s)
}НЕ-И
Элемент работает точно так же, как элемент И, только на выходе инвертируется сигнал.
func nand(v, s bool) bool {
    return !(v && s)
}Исключающее ИЛИ с инверсией
Элемент работает точно так же, как элемент ИЛИ, только на выходе инвертируется сигнал.
func xnor(v, s bool) bool {
// и тут костыль
    return !(v || s) && !(v && s)
}Теперь, когда функции написаны, можно их собрать в пакет Gate, на основе которого будем реализовывать более сложные вещи.
Наша иерархия пакетов будет похожа иерархию абстракций реального компьютера. Исходный код можно найти здесь.Создан логический вентиль для теплового компьютера: Наука и техника: Lenta.ru
Ученые создали логические вентили для теплового компьютера. Вентили – основные элементы логической обработки данных – состоят из термических транзисторов, в которых носителем информации является наличие/отсутствие не электрического тока, а передачи тепла, сообщает PhysOrg.
В простейшем транзисторе обычного компьютера основным носителем информации является электрический ток: есть ток – транзистор находится в открытом состоянии, нет тока – в закрытом (на самом деле стандартный транзистор устроен чуть сложнее: состояние зависит от напряжения). В оптическом компьютере (такие уже созданы) функцию тока выполняет свет.
Профессор Баовэнь Ли (Baowen Li) и его коллеги из Национального университета Сингапура уже несколько лет работают над созданием еще одного типа компьютера, в котором носителем информации было бы тепло – тот вид энергии, который обычно считается в информационных технологиях бесполезным и даже вредным.
Тепловой компьютер также называют «фононным»: в обычном компьютере информацию переносят электроны, в оптическом – фотоны, а в тепловом – фононы. Фононы – это квазичастицы, представляющие собой квант колебаний атомов твердого тела. С их помощью удобно описывать, в частности, передачу тепла.
Простейшим элементом теплового компьютера является термический транзистор, состоящий из трех точек (в обычных транзисторах точки называются электродами): две, определяющие состояние транзистора, особым образом соединены, третья – контрольная. Тепло в транзисторе передается колебаниями кристаллической решетки. Когда колебательные спектры двух точек перекрываются, между точками возникает устойчивый поток тепловой энергии (открытое состояние), когда не перекрываются – потока нет или он очень слаб (закрытое состояние).
Чтобы состояния были устойчивыми, система должна обладать особым свойством – малым тепловым откликом – большое изменение температуры должно вызывать малое изменение теплового потока.
Сингапурская группа научилась делать такие системы в 2006 году.
На данный момент термические транзисторы позволяют оцифровывать тепловой сигнал, а также создавать вентили NOT (отрицание) и AND/OR (нестрогое ‘или’).
Исследователи утверждают, что потенциальный тепловой компьютер будет требовать сравнительно мало энергии и сможет питаться, например, остаточным теплом, производимым другими устройствами.
Логические вентили, схемы, структуры
Любой, самый примитивный компьютер – сложнейшее техническое устройство. Но даже такое сложное устройство, как и все в природе и в технике, состоит их простейших элементов. Любой компьютер, точнее, любой его электронный логический блок состоит из десятков и сотен тысяч так называемых вентилей (логических устройств, базовых логических схем), объединяемых по правилам и законам (аксиомам) алгебры вентилей в схемы, модули.
Логический вентиль (далее – просто вентиль) – это своего рода атом, из которого состоят электронные узлы ЭВМ.
Он работает по принципу крана (отсюда и название), открывая или закрывая путь сигналам.
Логические схемы предназначены для реализации различных функций алгебры логики и реализуются с помощью трех базовых логических элементов (вентилей, логических схем или так называемых переключательных схем). Они воспроизводят функции полупроводниковых схем.
Работу вентильных, логических схем мы, как и принято, будем рассматривать в двоичной системе и на математическом, логическом уровне, не затрагивая технические аспекты (аспекты микроэлектроники, системотехники, хотя они и очень важны в технической информатике).
Логические функции отрицания, дизъюнкции и конъюнкции реализуют, соответственно, логические схемы, называемые инвертором, дизъюнктором и конъюнктором.
Логическая функция «инверсия», или отрицание, реализуется логической схемой (вентилем), называемой инвертор.
Принцип его работы можно условно описать следующим образом: если, например, «0» или «ложь» отождествить с тем, что на вход этого устройства скачкообразно поступило напряжение в 0 вольт, то на выходе получается 1 или «истина», которую можно также отождествить с тем, что на выходе снимается напряжение в 1 вольт.
Аналогично, если предположить, что на входе инвертора будет напряжение в 1 вольт («истина»), то на выходе инвертора будет сниматься 0 вольт, то есть «ложь» (схемы на рисунке 9).
Функцию отрицания можно условно отождествить с электрической схемой соединения в цепи с лампочкой (рисунок 10), в которой замкнутая цепь соответствует 1 («истина») или х=1, а размыкание цепи соответствует 0 («ложь») или х=0.
Рисунок 9 – Принцип работы инвертора
Рисунок 10 – Электрический аналог схемы инвертора
Дизъюнкцию реализует логическое устройство (вентиль) называемое дизъюнктор (рисунок 11):
Рисунок 11 – Принцип работы дизъюнктора
Дизъюнктор условно изображается схематически электрической цепью вида (рис. 12)
Рисунок 12– Электрический аналог схемы дизъюнктора
Конъюнкцию реализует логическая схема (вентиль), называемая конъюнктором (рис.
13):
Рисунок 13– Принцип работы конъюнктора
Конъюнктор можно условно изобразить схематически электрической цепью вида (рис. 14)
Рисунок 14– Электрический аналог схемы конъюнктора
Схематически инвертор, дизъюнктор и конъюнктор на логических схемах различных устройств можно изображать условно следующим образом (рис. 15). Есть и другие общепринятые формы условных обозначений.
Рисунок 15– Условные обозначения вентилей (вариант)
Из указанных простейших базовых логических элементов собирают, конструируют сложные логические схемы ЭВМ, например, сумматоры, шифраторы, дешифраторы и др. Большие (БИС) и сверхбольшие (СБИС) интегральные схемы содержат в своем составе (на кристалле кремния площадью в несколько квадратных сантиметров) десятки тысяч вентилей. Это возможно еще и потому, что базовый набор логических схем (инвертор, конъюнктор, дизъюнктор) является функционально полным (любую логическую функцию можно представить через эти базовые вентили), представление логических констант в них одинаково (одинаковы электрические сигналы, представляющие 1 и 0) и различные схемы можно «соединять» и «вкладывать» друг в друга (осуществлять композицию и суперпозицию схем).
Таким способом конструируются более сложные узлы ЭВМ – ячейки памяти, регистры, шифраторы, дешифраторы, а также сложнейшие интегральные схемы.
В двоичной системе таблицу суммирования цифры x и цифры y и получения цифры z с учетом переноса p в некотором разряде чисел x и y можно изобразить таблицей вида
Эту таблицу можно интерпретировать как совместно изображаемую таблицу логических функций (предикатов) вида
Логический элемент, соответствующий этим функциям, называется одноразрядным сумматором и имеет следующую схему (обозначим ее как или – если мы хотим акцентировать именно выбранный, текущий i-й разряд) (рис. 16):
Рисунок 16– Схема одноразрядного сумматора
«Черным ящиком» называется некоторое закрытое устройство (логическая, электрическая или иная схема), содержимое которого неизвестно и может быть определено (идентифицировано) только по отдельным проявлениям входа/выхода ящика (значениям входных и выходных сигналов).
В «черном ящике» находится некоторая логическая схема, которая в ответ на некоторую последовательность входных (для ящика) логических констант выдает последовательность логических констант, получаемых после выполнения логической схемы внутри «черного ящика». Определим логическую функцию внутри «черного ящика» (рис. 17), если операции выполняются с логическими константами для входных последовательностей (поразрядно). Например, х = 00011101 соответствует последовательности поступающих значений: «ложь», «ложь», «ложь», «истина», «истина», «истина», «ложь», «истина».
Рисунок 17– Схема «черного ящика 1»
Из анализа входных значений (входных сигналов) х, у и поразрядного сравнения логических констант в этих сообщениях с константами в значении z – результате выполнения функции в «черном ящике», видно, что подходит, например, функция вида .
Действительно, в результате «поразрядного» сравнения сигналов (последовательностей значений «истина», «ложь») получаем следующие выражения (последовательности логических констант):
.
Важной задачей (технической информатики) является минимизация числа вентилей для реализации той или иной схемы (устройства), что необходимо для более рационального, эффективного воплощения этих схем, для большей производительности и меньшей стоимости ЭВМ.
Эту задачу решают с помощью методов теоретической информатики (методов булевой алгебры).
Пример. Построим схему для логической функции . Схема, построенная для этой логической функции, приведена на рис. 18.
Рисунок 18– Схема для функции 1
Пример. Определим логическую функцию , реализуемую логической схемой вида (рис. 19):
Рисунок 19– Схема для функции 2
Искомая логическая функция, если выписать ее последовательно, заполняя «верх» каждой стрелки, будет иметь следующий вид: .
Вопросы для обсуждения.
1. Что мы называем высказывательной формой?
2. Что называется логической переменной?
3. Что есть предикат?
4. Какая функция называется логической (булевой)?
5 Какую задачу мы называем инфологической?
6. Дайте определение логического вентиля.
7Структурные схемы алгоритмов
Общие сведения
Широкая известность понятия алгоритма в наше время обусловлена развитием и широким применением электронно-вычислительной техники. Использование ЭВМ способствовало уяснению того, что разработка алгоритма – необходимый этап в процессе решения задачи на ЭВМ и, что в связи с этим, алгоритмы представляют самостоятельную ценность как интеллектуальные ресурсы общества. В данных методических указаниях рассматриваются основы алгоритмизации как внемашинного процесса построения алгоритма.
Большинство филологов термин «алгоритм» связывают с именем выдающегося узбекского ученого Аль Хорезми, жившего в VIII-IX веках.
По его трудам в Европе познакомились с десятичной системой счисления и правилами арифметических действий. Книга Аль Хорезми «Арифметика индусскими цифрами» произвела огромное впечатление на европейских математиков. Имя ученого в их устах превратилось в Algorithmus. Аль Хорезми первым сформулировал правила, позволяющие систематически составлять и решать квадратные уравнения.
Строгое математическое определение термина «алгоритм» принадлежит математикам А.Н.Колмогорову и А.А.Маркову. Проблемы, связанные с изучением самого понятия алгоритма, выросли в настоящее время в отдельную «теорию алгоритмов». Потребность такой теории вызвана бурным развитием вычислительной техники, а также средств автоматизированного проектирования промышленных роботов, автоматизированных линий, систем управления. Во всех случаях требуется создание алгоритмов выполнения тех или иных операций разной степени сложности.
Что же мы называем алгоритмом?
В соответствии с ГОСТ 19.004-80 «алгоритм – точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату».
В литературе встречаются различные трактовки термина «алгоритм». Приведем их.
Алгоритм – система формальных правил, четко и однозначно определяющая процесс выполнения заданной работы в виде конечной последовательности действий.
Алгоритм – точный порядок действий, определяющий процесс перехода от исходных данных к искомому результату.
Алгоритм – это конечный набор правил, однозначно раскрывающих содержание и последовательность выполнения операций для систематического решения определенного класса задач за конечное число шагов.
Алгоритм – однозначно трактуемая конечная последовательность точно определенных шагов или операций, для выполнения каждой из которых требуется конечный объем оперативной памяти и конечное время, необходимое для решения задачи на ЭВМ.
Алгоритм должен обладать следующими свойствами:
- детерминированностью – однозначностью получаемого результата при одних и тех же исходных данных;
- массовостью – возможностью получения искомого результата при различных исходных данных для некоторого класса задач;
- результативностью – для любых допустимых исходных данных алгоритм должен через конечное число шагов завершить свою работу, либо подать сигнал о том, что данный алгоритм неприменим для решения поставленной задачи;
- дискретностью – возможностью разбиения определенного алгоритмического процесса на отдельные элементарные этапы, выполнение которых человеком или ЭВМ не вызывает сомнения, а результат выполнения каждого элементарного этапа определен и понятен.
Существуют различные способы описания алгоритма. Наиболее распространенными считаются следующие формы представления алгоритмов: словесная, формульно-словесная, графическая, на языках программирования.
Словесный способ описания алгоритмов отражает содержание выполняемых действий средствами естественного языка. Достоинства этого способа: общедоступность, возможность описывать алгоритм с любой степенью детализации. Недостатки: громоздкое описание, низкая наглядность.
Формульно-словесный способ описания алгоритмов основан на записи содержания выполняемых действий с использованием изобразительных возможностей языка математики, дополненного с целью указания необходимых пояснений средствами естественного языка. Данный способ более лаконичен и нагляден.
Графический способ описания алгоритмов представляет собой изображение структуры алгоритма, при котором все этапы процесса обработки данных представляются с помощью определенного набора геометрических фигур – блоков, имеющих строгую конфигурацию в соответствии с характером выполняемых действий.
Такое графическое представление алгоритма называется схемой алгоритма. Составление алгоритмов осуществляется в соответствии с требованиями ГОСТ 19701-90 «Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения» и ГОСТ 19.003-80 «Схемы алгоритмов и программ. Обозначения условные графические». По назначению и характеру отображаемых функций условные графические изображения делятся на основные и вспомогательные. Основные символы используются для представления операций, раскрывающих характер обработки данных в процессе решения задачи. Вспомогательные символы предназначены для пояснения отдельных элементов схемы алгоритма. Изображение схем алгоритмов осуществляется по определенным правилам. Каждая схема должна начинаться и заканчиваться символами, обозначающими начало и окончание алгоритма. Все блоки в схеме располагаются в последовательности сверху вниз и слева направо. Отдельные блоки соединяются между собой линиями потоков информации. Направление линии потока сверху вниз и справа налево принимаются за основные и стрелками не обозначаются в отличие от других направлений.
Необходимым условием является один выход из символов, обозначающих обрабатывающие блоки, и двух выходов из символов, обозначающих логические операции по проверке выполнения условий.
Приведем основные условные обозначения функциональных блоков схем алгоритмов (таблица 10).
Таблица 10
Обозначения, название и функциональное назначение блоков алгоритмов
Функциональным блокам схемы алгоритма могут присваиваться порядковые номера, которые проставляются слева в верхней части символов в разрыве их контура.
Другой способ нумерации блоков заключается в следующем. Поле листа разбивают на зоны. Координаты зон по горизонтали определяются арабскими цифрами (проставляются слева направо в верхней части листа), по вертикали – прописными латинскими буквами (проставляются сверху вниз в левой части листа). Координаты зон в виде сочетаний букв и цифр присваиваются условным обозначениям блоков, размещенным в полях этих зон (рисунок 20).
Алгоритм может быть записан на одном из языков программирования. Под языком программирования понимается формальный язык, воспринимаемый ЭВМ и предназначенный для общения человека с машиной. Алгоритм, записанный на языке программирования, называется программой. В этом случае алгоритм представляется в виде последовательности операторов языка.
Выясним роль и место алгоритма при решении задач на ЭВМ.
В настоящее время принято выделять следующие этапы подготовки и решения задачи на ЭВМ:
- математическая постановка задачи – предусматривает формирование условий, ограничений и зависимостей, определяющих ее математическое описание, математическую модель. Этот этап является наиболее сложным при решении подавляющего числа задач, однако, когда уже имеются математическая постановка задачи, этот этап опускается;
- выбор численного метода определяет требования, поставленные перед разработчиком: точность решения задачи, время решения, время подготовки и т.
п.;
- проектирование алгоритмов – на основании выбранного численного метода и математической постановки задачи строится детальный алгоритм решения задачи;
- составление программы.
Рисунок 20 – Координатный метод нумерации блоков
Алгоритмы бывают чрезвычайно сложными, многоступенчатыми по своей структуре и состоят из тысяч отдельных операций.
При всем многообразии алгоритмов решения задач в них можно выделить три основных (канонических) вида алгоритмических структур: линейную (следование), ветвящуюся, циклическую. С помощью этих трех видов структур можно построить алгоритм любой сложности.
Линейным называется алгоритмический процесс, при котором все этапы решения задачи выполняются в порядке следования записи этих этапов. Порядок выполнения этапов не зависит ни от исходных данных, ни от результатов выполнения предыдущих этапов.
Например, определим величину при (рисунок 21).
Рисунок 21 – Линейный вычислительный процесс и структура следование
Порядок выполнения операций в алгоритме должен отвечать принципу следования или принципу обеспеченности переменных, в основе которого лежит обеспеченность (определенность) значений переменных на каждом шаге выполнения алгоритма.
Так для алгоритма на рисунке 21 перестановка блоков 3 и 4 не допустима, поскольку для вычисления z необходимо значение у.
Ветвящимся называется алгоритмический процесс, в котором выбор направления и характера обработки информации зависит от результатов проверки выполнения какого-либо логического условия. Часто такую структуру называют также структурой ЕСЛИ-ТО-ИНАЧЕ. Каждое отдельное направление обработки информации называется ветвью и ведет к общему выходу, так что работа алгоритма продолжается независимо от того, какая ветвь будет выбрана. Базовая структура ветвление приведена на рисунке 22, а. В частном случае может оказаться, что для одного из выбранных путей никаких действий выполнять не надо (рис. 22, б). Такая структура получила название обход или ЕСЛИ-ТО. Для приведения ее к общему виду можно во второй ветви поместить пустую операцию (рис. 22, в). Если в алгоритме ветвление имеет три и более направлений, то его можно представить в виде совокупности базовых структур ЕСЛИ-ТО-ИНАЧЕ (рис.
22, г).
Алгоритм, в состав которого входят только структуры следование и ветвление, называется разветвляющимся алгоритмом. Пример разветвляющегося алгоритма приведен на рисунке 20.
Циклический процесс представляет собой алгоритмическую структуру, называемую ЦИКЛ или ПОВТОРЕНИЕ, в которой многократно повторяются однотипные этапы обработки данных. Цикл – многократно повторяющийся участок алгоритма. Циклы, которые не содержат внутри себя других циклов, называются простыми. Сложные или вложенные циклы содержат внутри себя хотя бы одну циклическую структуру.
По способу организации порядка исполнения проверки условия окончания цикла различают две разновидности базовых циклических структур: с проверкой условия окончания цикла до (ЦИКЛ-ПОКА) и после (ЦИКЛ-ДО) реализации цикла (рис. 23).
Операция или группа операций, повторяющаяся в цикле, называется телом цикла. Основное отличие структуры ЦИКЛ-ПОКА от структуры ЦИКЛ-ДО заключается в том, что в первой структуре тело цикла, в зависимости от условия, могут не выполняться совсем, тогда как в структуре ЦИКЛ-ДО тело цикла обязательно выполняется хотя бы один раз.
Алгоритмы, имеющие в своем составе базовую структуру ЦИКЛ, называются циклическими алгоритмами. Пример циклического алгоритма для решения задачи построения таблицы функции
для a изменяющегося от 0° до 360° с шагом 10° с использованием структуры ЦИКЛ-ДО приведен на рис. 24, а. Величина a в этом случае называется параметром цикла.
Рисунок 22 – Базовая структура ветвление и ее модификации
Для организации цикла необходимы управляющие операции задания начального значения параметра цикла, изменения параметра цикла и проверки условия окончания цикла. На рис. 24, а к управляющим относятся операции 4, 7 и 8. Операции 5 и 6 составляют тело цикла. Следует обращать внимание, что необходимо выносить из цикла операции, результат выполнения которых не зависит от параметра цикла, поскольку это позволяет избежать ненужных повторений в цикле и тем самым экономить время работы.
Рисунок 23 — Базовая структура ЦИКЛ
а — структура ЦИКЛ-ПОКА; б — структура ЦИКЛ-ДО
Организация цикла с использованием структуры ЦИКЛ-ПОКА показана на рис.
24, б. Здесь к управляющим операциям относятся операции 4, 5 и 8, а тело цикла составляют операторы 6 и 7.
Для компактного изображения управляющих операций цикла в схемах алгоритмов используется символ модификации. Пример использования символа модификации для изображения циклических алгоритмов, показанных на рис. 24, а, б приведен на рис. 24, в.
Этот способ графического представления циклических алгоритмов применим для обеих структур ЦИКЛ-ДО и ЦИКЛ-ПОКА, однако, чаще всего, для определенности, его используют для представления структуры ЦИКЛ-ПОКА. Текст заголовка цикла, приведенного в символе модификация, может быть в достаточной степени произвольным, однако чаще всего используют следующую запись:
V = Vn, Vk [,DV],
где V — параметр цикла;
Vn — начальное значение параметра цикла;
Vk — конечное значение параметра цикла;
DV — шаг изменения параметра цикла.
Если этот параметр опущен вместе с предшествующей ему запятой, шаг параметра цикла предполагается равным 1.
На практике допускаются обе формы графического представления алгоритма, выбор конкретной формы зависит от степени детализации алгоритма.
Рисунок 24 — Схемы циклических алгоритмов
а— структура ЦИКЛ-ДО; б— структура ЦИКЛ-ПОКА;
в — изображение цикла с использованием символа модификация
Что такое логический вентиль (AND, OR, XOR, NOT, NAND, NOR и XNOR)? Определение с сайта WhatIs.com
Логический вентиль — это устройство, которое действует как строительный блок для цифровых схем. Они выполняют основные логические функции, которые являются фундаментальными для цифровых схем. В большинстве электронных устройств, которые мы используем сегодня, есть логические вентили. Например, логические вентили могут использоваться в таких технологиях, как смартфоны, планшеты или в устройствах памяти.
В схеме логические вентили будут принимать решения на основе комбинации цифровых сигналов, поступающих с их входов.Большинство логических вентилей имеют два входа и один выход. Логические вентили основаны на булевой алгебре. В любой момент каждый терминал находится в одном из двух двоичных состояний: ложно или истинно . Ложь представляет 0, а истина представляет 1. В зависимости от типа используемого логического элемента и комбинации входов двоичный выход будет отличаться. Логический вентиль можно представить себе как выключатель света, в котором в одном положении выход выключен — 0, а в другом — включен — 1. Логические вентили обычно используются в интегральных схемах (IC).
Базовые логические вентилиСуществует семь основных логических вентилей: И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, НЕ, И-НЕ, ИЛИ-ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ.
И | ИЛИ | XOR | НЕ | NAND | NOR | XNOR
Логический элемент И назван так потому, что, если 0 называется «ложным», а 1 — «истинным», вентиль действует так же, как логический оператор «И».
На следующем рисунке и в таблице показаны символы схемы и логические комбинации для логического элемента И. (В символе входные клеммы слева, а выходные клеммы справа.) Выход «истина», когда оба входа «истина». В противном случае вывод будет «ложным». Другими словами, выход равен 1 только тогда, когда оба входа один И два равны 1.
И ворота
| Вход 1 | Ввод 2 | Выход |
| 1 | ||
| 1 | ||
| 1 | 1 | 1 |
Логический элемент ИЛИ получил свое название благодаря тому факту, что он ведет себя по образцу логического включающего «или».
«Выход -« истина », если один или оба входа« истина ». Если оба входа« ложь », то выход« ложь ». Другими словами, для выхода будет 1, по крайней мере вход ИЛИ два должны быть 1.
OR ворота
| Вход 1 | Ввод 2 | Выход |
| 1 | 1 | |
| 1 | 1 | |
| 1 | 1 | 1 |
Элемент XOR ( исключающее ИЛИ ) вентиль действует так же, как логическое «или / или».
«Выходной сигнал« истина », если один из входов, но не оба, являются« истиной ». Выходной сигнал« ложь », если оба входа« ложь »или если оба входа« истина ». Другой способ взглянуть на это Схема должна следить за тем, чтобы на выходе было 1, если входы разные, и 0, если входы одинаковые.
Вентиль XOR
| Вход 1 | Ввод 2 | Выход |
| 1 | 1 | |
| 1 | 1 | |
| 1 | 1 |
Логический инвертор , иногда называемый вентилем НЕ , чтобы отличать его от других типов электронных инверторных устройств, имеет только один вход.
Он меняет логическое состояние на обратное. Если на входе 1, то на выходе 0. Если на входе 0, то на выходе 1.
Логический элемент И-НЕ работает как логический элемент И, за которым следует логический элемент НЕ. Он действует как логическая операция «и» с последующим отрицанием. На выходе будет «ложь», если оба входа «истина». В противном случае вывод будет «истина».
вентиль NAND
| Вход 1 | Ввод 2 | Выход |
| 1 | ||
| 1 | 1 | |
| 1 | 1 | |
| 1 | 1 |
Логический элемент ИЛИ представляет собой комбинацию логического элемента ИЛИ, за которым следует инвертор.
Его выход будет «истина», если оба входа «ложь». В противном случае вывод будет «ложным».
NOR ворота
| Вход 1 | Ввод 2 | Выход |
| 1 | ||
| 1 | ||
| 1 | ||
| 1 | 1 |
Логический элемент XNOR (исключающее ИЛИ) — это комбинированный вентиль XOR, за которым следует инвертор.
Его вывод — «истина», если входы одинаковые, и «ложь», если входы разные.
Ворота XNOR
| Вход 1 | Ввод 2 | Выход |
| 1 | ||
| 1 | ||
| 1 | ||
| 1 | 1 | 1 |
Сложные операции могут выполняться с использованием комбинаций этих логических вентилей.
Теоретически не существует ограничений на количество ворот, которые могут быть объединены в одно устройство. Но на практике существует ограничение на количество ворот, которые могут быть упакованы в данное физическое пространство. Массивы логических вентилей находятся в цифровых ИС. По мере развития технологии ИС требуемый физический объем для каждого отдельного логического элемента уменьшается, и цифровые устройства того же или меньшего размера становятся способными выполнять все более сложные операции с постоянно увеличивающейся скоростью.
Состав логических вентилей
Высокий или низкий двоичные состояния представлены разными уровнями напряжения.Логическое состояние терминала может и обычно часто изменяется по мере того, как схема обрабатывает данные. В большинстве логических вентилей низкое состояние составляет приблизительно ноль вольт (0 В), а высокое состояние — приблизительно пять вольт положительного напряжения (+5 В).
Логические вентили могут быть выполнены из резисторов и транзисторов или диодов.
Резистор обычно можно использовать как подтягивающий или понижающий резистор. Подтягивающие и понижающие резисторы используются, когда есть какие-либо неиспользуемые входы логического элемента для подключения к логическому уровню 1 или 0.Это предотвращает ложное переключение ворот. Подтягивающие резисторы подключены к Vcc (+ 5 В), а подтягивающие резисторы подключены к земле (0 В).
Обычно используются логические вентили TTL и CMOS. ИС TTL или транзисторно-транзисторной логики будут использовать биполярные переходные транзисторы типа NPN и PNP. КМОП, или дополнительные металл-оксидно-кремниевые ИС, построены из полевых транзисторов типа MOSFET или JFET. ИС TTL обычно обозначают как микросхемы серии 7400, в то время как ИС КМОП часто обозначают как микросхемы серии 4000.
Основные логические ворота с таблицами истинности
В настоящее время компьютеры стали неотъемлемой частью жизни, поскольку они выполняют множество задач и операций за довольно короткий промежуток времени.
Одной из наиболее важных функций ЦП в компьютере является выполнение логических операций с использованием оборудования, такого как программные технологии и электронные схемы интегральных схем. Но как это оборудование и программное обеспечение выполняют такие операции — загадочная загадка. Чтобы лучше понять такую сложную проблему, мы должны познакомиться с термином «логическая логика», разработанным Джорджем Булем.Для простой операции компьютеры используют двоичные цифры, а не цифровые. Все операции выполняются воротами базовой логики. В этой статье обсуждается обзор того, что такое базовые логические вентили в цифровой электронике и их работа.
Что такое базовые логические вентили?
Логический вентиль — это базовый строительный блок цифровой схемы, имеющей два входа и один выход. Отношения между i / p и o / p основаны на определенной логике. Эти затворы реализованы с помощью электронных ключей типа транзисторов, диодов.Но на практике базовые логические вентили строятся с использованием технологии CMOS, полевых транзисторов и полевых транзисторов MOSFET (Metal Oxide Semiconductor FET).
Логические вентили используются в микропроцессорах, микроконтроллерах, встроенных системных приложениях, а также в электронных и электрических схемах проекта. Основные логические элементы делятся на семь категорий: AND, OR, XOR, NAND, NOR, XNOR и NOT. Эти логические вентили с их символами логических вентилей и таблицами истинности объясняются ниже.
Работа основных логических вентилей
Что такое 7 основных логических вентилей?
Основные логические вентили подразделяются на семь типов: вентиль И, вентиль ИЛИ, вентиль ИЛИ, вентиль И-НЕ, вентиль ИЛИ, вентиль ИЛИ-ИЛИ и вентиль НЕ.Таблица истинности используется для демонстрации функции логического элемента. Все логические элементы имеют два входа, кроме элемента НЕ, который имеет только один вход.
При построении таблицы истинности используются двоичные значения 0 и 1. Каждая возможная комбинация зависит от количества входов. Если вы не знаете о логических вентилях и их таблицах истинности и нуждаетесь в руководстве по ним, просмотрите следующую инфографику, которая дает обзор логических вентилей с их символами и таблицами истинности.
Почему мы используем базовые логические вентили?
Базовые логические элементы используются для выполнения основных логических функций.Это основные строительные блоки цифровых ИС (интегральных схем). Большинство логических вентилей используют два двоичных входа и генерируют один выход, например 1 или 0. В некоторых электронных схемах используется несколько логических вентилей, тогда как в некоторых других схемах микропроцессоры включают в себя миллионы логических вентилей.
Реализация логических вентилей может осуществляться с помощью диодов, транзисторов, реле, молекул и оптики, иначе говоря, различных механических элементов. По этой причине основные логические вентили используются как электронные схемы.
Двоичные и десятичные числа
Прежде чем говорить о таблицах истинности логических вентилей, важно знать предысторию двоичных и десятичных чисел. Все мы знаем десятичные числа, которые мы используем в повседневных вычислениях, например, от 0 до 9.
Эта система счисления включает в себя десятичную систему счисления. Таким же образом двоичные числа, такие как 0 и 1, могут использоваться для обозначения десятичных чисел, если основание двоичных чисел равно 2.
Значение использования двоичных чисел здесь состоит в том, чтобы обозначать положение переключения, в противном случае положение напряжения цифрового компонента .Здесь 1 представляет высокий сигнал или высокое напряжение, тогда как «0» указывает низкое напряжение или низкий сигнал. Таким образом, была начата булева алгебра. После этого каждый логический вентиль обсуждается отдельно, он содержит логику логического элемента, таблицу истинности и ее типичный символ.
Типы логических вентилей
Различные типы логических вентилей и символов с таблицами истинности обсуждаются ниже.
Базовые логические вентилиИ вентиль
Логический вентиль И представляет собой цифровой логический вентиль с «n» i / ps один o / p, который выполняет логическое соединение на основе комбинаций своих входов.
Выход этого вентиля истинен только тогда, когда все входы истинны. Когда один или несколько входов i / ps логического элемента И являются ложными, тогда только выход логического элемента И является ложным. Таблица символов и истинности логического элемента И с двумя входами показана ниже.
Логический элемент ИЛИ
Логический элемент ИЛИ — это цифровой логический вентиль с n i / ps и одним o / p, который выполняет логическое соединение на основе комбинаций своих входов. Выход логического элемента ИЛИ истинен только тогда, когда один или несколько входов истинны.Если все i / ps логического элемента ложны, то ложным является только выход логического элемента ИЛИ. Таблица символов и истинности логического элемента ИЛИ с двумя входами показана ниже.
Логический элемент ИЛИ и его таблица истинностиЭлемент НЕ
Элемент НЕ — это цифровой логический вентиль с одним входом и одним выходом, который управляет инверторной операцией входа.
Выход логического элемента НЕ является обратным входу. Когда вход логического элемента НЕ истинен, тогда выход будет ложным, и наоборот. Таблица символов и истинности логического элемента НЕ с одним входом показана ниже.Используя этот вентиль, мы можем реализовать вентили ИЛИ и И-НЕ.
Шлюз И-НЕ
Логический вентиль И-НЕ — это цифровой логический вентиль с ‘n’ i / ps и одним o / p, который выполняет операцию вентиль И, за которым следует вентиль НЕ. вентиль НЕ разработан путем объединения вентилей И и НЕ. Если вход логического элемента И-НЕ высокий, то выход элемента будет низким. Ниже показаны символы и таблица истинности логического элемента И-НЕ с двумя входами.
Шлюз И-НЕ и его таблица истинностиШлюз ИЛИ
Шлюз ИЛИ-НЕ — это цифровой логический элемент с n входами и одним выходом, который выполняет операцию элемента ИЛИ, за которым следует элемент НЕ.Ворота NOR спроектированы путем объединения ворот OR и NOT. Когда любой из i / ps логического элемента ИЛИ-НЕ истинен, тогда выход логического элемента ИЛИ-НЕ будет ложным.
Таблица символов и истинности ворот ИЛИ-НЕ с таблицей истинности показана ниже. Шлюз
Элемент исключающего ИЛИ
Элемент исключающего ИЛИ — это цифровой логический вентиль с двумя входами и одним выходом. Краткая форма этих ворот — Ex-OR. Он работает на основе операции логического элемента ИЛИ. . Если на каком-либо из входов этого логического элемента высокий уровень, то выход логического элемента EX-OR будет высоким.Символы и таблица истинности EX-OR показаны ниже. Элемент
EX-OR и его таблица истинностиЭлемент Exclusive-NOR
Элемент Exclusive-NOR — это цифровой логический элемент с двумя входами и одним выходом. Краткая форма этих ворот — Ex-NOR. Он работает на основе работы логического элемента ИЛИ-НЕ. Когда оба входа этого логического элемента имеют высокий уровень, тогда выход элемента ИСКЛЮЧАЮЩЕЕ НЕ будет высоким. Но если один из входов высокий (но не оба), то выход будет низким. Символы и таблица истинности EX-NOR показаны ниже.
Применение логических вентилей в основном определяется на основе их таблицы истинности, то есть режима их работы. Базовые логические вентили используются во многих схемах, таких как кнопочный замок, охранная сигнализация с включением света, предохранительный термостат, автоматическая система полива и т. Д.
Таблица истинности для экспресс-логической схемы ворот
Схема ворот может быть выражена с помощью общий метод известен как таблица истинности. Эта таблица включает все комбинации входных логических состояний: высокий (1) или низкий (0) для каждой входной клеммы логического элемента через эквивалентный выходной логический уровень, такой как высокий или низкий.Схема логического элемента НЕ показана выше, и ее таблица истинности действительно чрезвычайно проста.
Таблицы истинности логических элементов очень сложны, но больше, чем вентиль НЕ. Таблица истинности каждого гейта должна включать много строк, как будто есть возможности для эксклюзивных комбинаций для входных данных.
Например, для логического элемента НЕ есть две возможности ввода: 0 или 1, тогда как для логического элемента с двумя входами есть четыре возможности, такие как 00, 01, 10 и 11. Таким образом, он включает четыре строки для эквивалентная таблица истинности.
Для логического элемента с 3 входами существует 8 возможных входов, таких как 000, 001, 010, 011, 100, 101, 110 и 111. Следовательно, требуется таблица истинности, включающая 8 строк. Математически необходимое количество строк в таблице истинности эквивалентно двум, увеличенным в степени «нет». i / p терминалов.
Анализ
Сигналы напряжения в цифровых схемах представлены двоичными значениями, такими как 0 и 1, вычисленными относительно земли. Недостаток напряжения в основном означает «0», тогда как наличие полного напряжения питания постоянного тока означает «1».
Логический вентиль — это особый тип схемы усилителя, который в основном предназначен для входных и выходных логических напряжений. Схемы логического затвора чаще всего обозначаются схематической диаграммой с помощью их собственных эксклюзивных символов вместо основных резисторов и транзисторов.
Как и в случае с операционными усилителями, соединения источника питания с логическими вентилями часто неуместны на схематических диаграммах в целях упрощения. Он включает возможные комбинации входных логических уровней через их конкретные выходные логические уровни.
Какой самый простой способ выучить логические ворота?
Ниже объясняется самый простой способ изучить функции основных логических вентилей.
- Для логического элемента И — Если оба входа имеют высокий уровень, то и выход также высокий
- Для ворот ИЛИ — Если минимум одного входа высокий, то выход высокий высокий, тогда высокий только выход
- Логический элемент И-НЕ — Если минимальный один вход низкий, то выход высокий
- ИЛИ вентиль — Если оба входа низкие, то выход высокий.
Теорема Де Моргана
Первая теорема ДеМоргана утверждает, что логический элемент, такой как И-НЕ, равен элементу ИЛИ с пузырьком. Логическая функция логического элемента И-НЕ:
A’B = A ’+ B’
Вторая теорема ДеМоргана утверждает, что логический элемент ИЛИ-НЕ равен логическому элементу И с пузырьком.
Логическая функция логического элемента ИЛИ-НЕ:
(A + B) ’= A’. B ’
Преобразование логического элемента И-НЕ
Логический элемент И-НЕ может быть сформирован с использованием логического элемента И и НЕ.Булево выражение и таблица истинности показаны ниже.
Формирование логических ворот NANDY = (A⋅B) ‘

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

