Стрелка Пирса, обычно обозначаемая ↓, эквивалентна операции ИЛИ-НЕ[2] (дополнение объединения множества) и задаётся в виде двумерной (двухаргументной, двухкоординатной) диаграммы (двумерного массива) истинности из четырёх ячеек:
x↓y = x NOR y = NOT(x OR y) = !(x||y)
y
0 0
1 0 x
на которой сразу видно, что функция симметрична относительно главной диагонали,
или в виде таблицы истинности из трёх колонок (двенадцать ячеек):
0
0
1
0
1
0
1
0
0
1
1
0
Таким образом, высказывание «X ↓ Y» означает «(не X) и (не Y)», или, что то же самое, «не (X или Y)». Операция NOR коммутативна: от перемены мест операндов результат операции не изменяется.
Стрелка Пирса, как и штрих Шеффера, образует функционально-полный логический базис для пространства булевых функций от двух переменных. Это означает, что, используя только стрелку Пирса, можно построить все остальные логические операции, например:
В электронике это означает, что для реализации всего многообразия схем преобразования сигналов, представляющих логические значения, достаточно одного типового элемента, который носит название «операция 2ИЛИ-НЕ» (2-in NOR). С другой стороны, такой подход увеличивает сложность реализующих выражения схем и тем самым снижает их надёжность, а также увеличивает время прохождения сигнала и снижает быстродействие устройства.
Функциональная операция, выполняемая при входах, определяется следующим выражением:
Говоря простым языком, вентиль 2ИЛИ-НЕ — это 2ИЛИ с подключённым к нему инвертором. Для наглядности — ниже приведён пример логической схемы 2ИЛИ-НЕ с выключателями. Как известно, логика 2ИЛИ близка к выражению «или A, или B, или то и другое». Чтобы получить операцию 2ИЛИ-НЕ, результат 2ИЛИ необходимо инвертировать, чтобы получить «не (A или B)». На схеме ниже это выглядит следующим образом: серым отмечены выключатели в состоянии «выключено», синим — в состоянии «включено». На верхней левой схеме оба выключателя находятся в положении «выключено». Таким образом, следуя выражению на выходе, получаем логический 0. Инвертированный результат будет равен 1 и тем самым будет логически удовлетворять выражению «не А, не B». Следующие схемы демонстрируют соответственно «ИЛИ А», «ИЛИ B», «И А, И B» с последующей инверсией результата.
Слева представлены варианты реализации вентиля 2ИЛИ-НЕ с помощью диодно-транзисторной логики и с помощью МОП соответственно.
Представленная схема на МОП выполнена на однотипных МОП-транзисторах, однако существуют вариант схемы 2ИЛИ-НЕ на комплементарных (дополняющих) МОП-транзисторах. Такую схему получают путём последовательного соединения однотипных транзисторов и параллельного соединения группы транзисторов другого типа.
Если вы не согласны с этим, пожалуйста, покажите в тексте существенность излагаемого материала. В противном случае раздел может быть удалён. Подробности могут быть на странице обсуждения.
Кратко: Почему в статье Стрелка Пирса должна быть реализация именно на С и TurboBasic, и какими АИ подкреплены рассуждения о преимуществах и недостатках разных способов воплощения логики на физическом процессоре?.
// Программная реализация функции "стрелка Пирса" //в виде двумерного массива (табличная) и//в виде логического уравнения (логическая)#include<stdio.h> //printf();getchar();intmain(){intf1[2][2]={1,0,0,0};/*задание функции в виде двумерного массива (табличное, аппаратное АЛУ не требуется)*/intp,q,f;printf("f1(p,q)={");for(p=1;p>=0;p--){for(q=1;q>=0;q--){f=f1[p][q];/*программное табличное вычисление функции (аппаратное АЛУ не требуется)*/printf("%i",f);}}printf("} table\n");printf("f1(p,q)={");for(p=1;p>=0;p--){for(q=1;q>=0;q--){f=!(p||q);/*задание функции в виде логического уравнения (логическое, требуется аппаратное АЛУ)*/printf("%i",f);}}printf("} logic\n");getchar();return0;}
При программном же табличном вычислении логических функций аппаратное АЛУ в процессоре не требуется, что удешевляет процессор и, из-за уменьшения электроники, повышает надёжность процессора (дешевле и надёжнее).[источник не указан 303 дня][значимость факта?]
В процессорах же с аппаратными АЛУ программное табличное вычисление логических функций может быть полезным дополнением, повышающим надёжность процессора, так как в случае неисправности аппаратного АЛУ можно переключиться на программное табличное вычисление логических функций[значимость факта?][источник не указан 303 дня].