44
v. Элементные логические операции
Доктор физико-математических наук М. Е. ЛЕВИНШТЕЙН, кандидат физико-математических наук Г. С. СИМИН
В предыдущих заметках этой рубрики (см. «Квант», 1985, № 9—12) мы рассмотрели устройство, принципы действия и способы изготовления трансисторов — основы современных ЭВМ. Для того чтобы понять, как с помощью трансисторов в ЭВМ осуществляется процессive действия, нам потребуется сегодня разговор об элементарных логических операциях.
…Вы входите в вестибольд современного 16-этажного дома. Перед вам двери двух лифтов и одна-единственная кнопка в стене. Вы ее нажмите и по световому табло над дверью видите, как один из лифтов начинает к вам спускаться. По дороге кабина оставливается — слышен шум открывающихся и закрывающихся дверей — в лифт кто-то вошел. Cabina возобновляет движение. Наконец, двери лифта открывают. Кто-то выходит… Все это так прививно, что практические не задерживает внимание.
А теперь представьте себе на месте инженера, который должен спроектировать электронную схему, управляющую движением лифта. Эта схема должна уметь решать множество задач.
«Если кабины не заняты и нажата только одна кнопка — после к данному этажу ту кабину, которая ближе. Если об кабины на одном этаже — после ту, которая потребляет меньше энергии.»
«Если в кабине пассажир и он нажал кнопку данного этажа, а на другом этаже также нажата кнопка, причем лифт едет не вверх, а вниз, а второй лифт не занят, или, если во втором лифте также пассажир…»
Попробуйте представить себе всю совокупность логических задач, которые могут быть поставлены перед электронной схемой при наличии 16 этажей и двух лифтов, и вы убедитесь, что даже такой простейший «процессор» должен уметь справляться с очень непростыми проблемами.
Попытавшись такой процесор спроектировать, вы рано или поздно убедитесь в следующем. Составляя логическую схему, удобно на время забить о свойствхого прибора, который служит элементной базой вашего процесора, и считать, что в вашем распоряжении имеются элементарные логические ячейки — элементарные схемы, умение реализовать логические функции «И», «НЕ», «ИЛИ».
Чем сложнее функция процесора, который должен быть спроектирован, тем более эффективен такой подход. Для ЭВМ, которая должна решать задачи в тысячи раз более сложные, чем устройство управления лифтом, только он является оправданным.
Разумеется, совсем забить о свойствхом базы не удалось. Рано или поздно встает множество вопросов, решения которых определяется именно параметрами того конкретного элемента, — электромагнитного реле, трансистора, выключателя и т. д.,— на котором построены логические схемы. Как быстрое сравнитель логические ячейки? Какую мощность они
Самые первые идеи создания программмируемой автоматической цифровой вычислительной машины вывинуты более 150 лет назад. Они принадлежат англиканну Ч. Бэбиджу, человеку феноменальных способностей, чьи идеи на это лет опередили время. Воле 30 лет, начиная с 1812 года, Бэбиджу работал над изготовлением такой машины. «Elementной базой» машины Бэбиджа служили «цифровые» колеса с различным числом зубов. Часты машины Бэбиджа хранятся в научном музее в Лондоне. (Подробно о Ч. Бэбидже можно прочесть в «Кванте», 1985, № 10 в статье «История рождения компьютера».)
45
Основой этой альгебры, которая теперь называется «бульевой», является любые величины, приимающее только два значения: «да» — «нет», «0» — «1», «включено» — «выключено» и т. д.
Глубокую и прициппальный взаимосвязь бульевой альгебры и двойного характера ключейых электриных элементов установил известный американский математик Дж. фон Нейман. Идеи Неймана заложили основы однородных ЭВМ, состоящих из большого числа идентичных элементов логических схем, действующих по двойному принципу. Нейман доказал, что, используя схемы «НЕ», «ИЛИ», «И», можно создать все основные узлы ЭВМ.
Крупный вклад в алгебраическую теории автоматов внес известный советский математик академик В. М. Глишков. Важные результаты получены им в теории цифровых автоматов, в области приложений вычислительной техники, в разработке новых причислов построения малых ЭВМ.
Операции бульевой алгебры
Логическая сложение
Логическая умножение
Логическая отрицание
Соответствующие логические схемы
А + B
Схема „ИЛИ”
А · B
Схема „И”
А
А̅
Схема „НЕ”
Таблица логических операций.
потребляют? Сколько стоит логическая схема? Насколько надежно она зашищена от помех? И т. д.
Но пока вы проектируете логику процесса, обо всех этих вопросах можно не думать. Логическая схема, построенная с использованием логических ячеек типа «И», «ИЛИ», «НЕ», является универсальной; она не зависит от того, на каких элементов реализованы логические ячеек.
Что же представляют собой логические ячеек?
Это электронные схемы, на входах и выходах которых направления могут принимать только два полне определенных значения. Одно из этих значений называется логическим нулем, второе — логический единицей. Эти два значения направления обозначают, соответственно, и («0» и «1»).
Логические ячеек типа «ИЛИ» (схемы логического сложения) имеют два или более входов и один выход. Если хотя бы на один из входов поступает сигнал «1», на выход также появляется «1». Условное обозначение схемы «ИЛИ» показано в первой строке таблицы логических операций. Входы схемы обозначены буквами и . Сигнал на выход обозначется .
Логические ячеек типа «И» (схемы логического умножения) также имеют один выход и два или более входов. Сигнал «1» на выход ячеек появляется в том и только в том случае, если на всех входах ячеек также действуют сигналы «1». Если хотя бы на одном из входов действует сигнал «0», то на выход устанавливается сигнал «0».
Логические ячеек типа «НЕ» (их называют также инверторами или схемами «логического отрицания») имеют один вход и один выход. Если на вход поступает сигнал «1», на выход появляется «0», и наборот, если на вход действует «0», на выход устанавливается «1».
Логические операции сложения, умножения и отрицания подчиняются определенным правилам, устанавливаемых так называемой алгеброй логики или бульевой алгеброй.
Манипулярия только логических операций «И», «ИЛИ», «НЕ» (иногда в очень сложных сочетаниях), можно, оказывается, осуществить любые действия, позволяющие ЭВМ принимать решения, управлять, переработать информацию и т. п.
Примеры простейших логических схем, построенных на трансисторах, мы рассмотрим в следующей заметке нашей рубрики.