"Информатика (в 2-х частях)", Горячев А.В., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Чернышёва Т.Л., Широков Д.В.
Логические элементы превращают электрические сигналы, обозначающие 0 и 1, в новые сигналы по заданным правилам. Из таких элементов строят схемы, которые выполняют логические проверки и вычисления. Сумматор складывает двоичные разряды и передаёт перенос в следующий разряд. Триггер, в отличие от обычной комбинационной схемы, сохраняет состояние и хранит один бит. Понимание этих устройств помогает разобраться, как компьютер обрабатывает числа и запоминает данные.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Логический элемент — электронное устройство, выполняющее одну логическую операцию над сигналами, которые кодируют 0 и 1. Например, входной электрический сигнал может обозначать логическую единицу, а отсутствие нужного сигнала — ноль. Элемент нужен, чтобы не просто передавать данные, а преобразовывать их по точному правилу, из которого можно собрать компьютерную схему.
Логический элемент И — устройство, на выходе которого получается 1, только когда все входы равны 1. Если хотя бы на одном входе стоит 0, выход равен 0. Этот элемент позволяет проверить, выполнены ли сразу все условия, например поступили ли два разрешающих сигнала одновременно.
Сумматор — устройство для сложения двоичных чисел; при сложении разрядов оно учитывает входной перенос. В результате работы сумматора появляются бит суммы и, если нужно, перенос в следующий разряд. Такое устройство требуется арифметической части компьютера, чтобы складывать числа, записанные нулями и единицами.
Триггер — устройство с двумя устойчивыми состояниями, способное хранить один бит информации. Его состояния условно обозначают 0 и 1, а управляющий сигнал может переключить устройство или задать ему новое значение. Триггер нужен там, где значение должно оставаться доступным после того, как входные сигналы изменились.
Двоичные значения 0 и 1 в компьютере представлены электрическими сигналами: разным значениям соответствуют разные уровни напряжения или состояния цепи. Логический элемент получает сигналы на входах и формирует выход по заданному правилу, потому что электрическую цепь можно устроить так, чтобы она реагировала на нужные сочетания входов. Благодаря этому логические операции становятся физическими действиями схемы, а не только правилами на бумаге.
Из элементов И, ИЛИ и НЕ собирают схемы для более сложных условий. Например, схема может требовать, чтобы выполнялось одно условие и одновременно не выполнялось другое. Чтобы проверить её работу, составляют таблицу истинности: перебирают все наборы входных значений, вычисляют промежуточные сигналы и записывают итоговый выход. Такой способ помогает проверить каждый вариант и обнаружить ошибку в схеме или рассуждении.
При сложении двух двоичных разрядов получают бит суммы и бит переноса, потому что сумма двух единиц равна 10₂: в текущем разряде остаётся 0, а единица уходит в следующий. Простейший одноразрядный сумматор складывает два входных бита без переноса извне. Полный сумматор дополнительно принимает входной перенос от предыдущего разряда, ведь при многоразрядном сложении он уже мог появиться.
Многоразрядный сумматор строят из одноразрядных сумматоров, соединяя их по порядку разрядов. Сначала обрабатывают младший разряд, затем его перенос передают на вход следующего, более старшего. Это необходимо, потому что результат сложения в каждом разряде может повлиять на соседний; если перенос потерять, старшие биты ответа окажутся неверными.
Выход комбинационной схемы определяется текущими входами: изменились входы — по правилу схемы изменился и выход. Триггер устроен иначе: у него есть два устойчивых состояния, и после управляющего сигнала он может сохранить установленное значение, даже когда входы поменялись. Поэтому триггер способен хранить данные, а из множества триггеров можно составить устройства для запоминания более длинных последовательностей битов.
| Устройство | Входы | Выходы | Что делает |
|---|---|---|---|
| И | Два или более логических сигнала | Один логический сигнал | Выдаёт 1, если все входы равны 1 |
| ИЛИ | Два или более логических сигнала | Один логический сигнал | Выдаёт 1, если хотя бы один вход равен 1 |
| НЕ | Один логический сигнал | Один логический сигнал | Меняет значение входа на противоположное |
| Одноразрядный сумматор | Два бита; у полного сумматора также входной перенос | Бит суммы и перенос | Складывает значения одного разряда |
| Триггер | Информационный и управляющий сигналы | Сохранённый бит | Устанавливает и сохраняет одно из двух состояний |
Чтобы пользоваться таблицей, сначала выберите нужное устройство, а затем найдите его входы и выходы. Для И, ИЛИ и НЕ назначение подсказывает, какое значение получится при заданных входах. У сумматора отдельно отслеживайте сумму и перенос, а у триггера — сохранённое состояние.
Условие. Составьте таблицу истинности для элемента И с двумя входами A и B. Нужно перечислить все возможные сочетания входов и определить выход Y. Поскольку каждый вход может быть равен 0 или 1, сочетаний будет четыре.
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Ответ. Выход элемента И равен 1 только в строке, где A = 1 и B = 1. Проверка проста: найдите в таблице строку с двумя единицами и убедитесь, что во всех остальных строках на выходе стоит 0.
Условие. Сложите 101₂ и 011₂, указав переносы между разрядами. Разряды удобно выровнять справа, потому что справа находятся младшие биты. Начинайте с них и не отбрасывайте перенос, если сумма в разряде равна двум или трём.
Ответ. 101₂ + 011₂ = 1000₂. Переносы возникли во всех трёх разрядах: каждый раз записывался бит суммы 0, а единица переходила в следующий разряд. Проверить результат можно переводом в десятичную систему: 101₂ = 5, 011₂ = 3, а 5 + 3 = 8 = 1000₂.
Условие. Рассмотрим пример схемы: сначала A и B поступают на элемент И, затем его выход вместе с C поступает на элемент ИЛИ. Пусть A = 1, B = 0, C = 1; триггер до управляющего сигнала хранит 0, а сигнал устанавливает его в 1. Сначала найдите выход схемы, затем определите значение триггера после сигнала.
Ответ. Выход комбинационной схемы равен 1, а после управляющего сигнала триггер хранит 1. Не смешивайте вычисление схемы с работой триггера: первое определяется текущими входами, второе зависит от состояния и управляющего воздействия.
Путать И и ИЛИ. Ошибка — считать, что элемент И выдаёт 1 при единице хотя бы на одном входе; это правило относится к ИЛИ. Путаница возникает из-за похожих названий, поэтому проверяйте себя по определению: для И единицами должны быть все входы. В таблице истинности у И выход 1 только в строке, где оба входа равны 1.
Смешивать перенос и бит суммы. Перенос не заменяет результат текущего разряда: это отдельная единица, которая участвует в вычислении следующего разряда. Ошибка появляется, если записывать весь результат сложения в одну позицию. Проверяйте, что в каждом разряде отдельно записан бит суммы, а перенос передан дальше.
Терять перенос при многоразрядном сложении. Если не передать его в соседний разряд, старшие биты ответа будут неверными. Так бывает, когда считают разряды независимо друг от друга. После каждого сложения проверяйте, появился ли перенос и учтён ли он в следующем разряде.
Считать триггер обычным элементом без памяти. У комбинационной схемы выход определяется текущими входами, а триггер сохраняет установленное состояние после их изменения. Их путают, если смотреть только на значение выхода в один момент. Для проверки выясните, зависит ли результат от предыдущего состояния и управляющего сигнала: если зависит, перед вами устройство с памятью.
Для работы с сумматором нужно знать двоичную систему счисления, значения 0 и 1 и правила сложения двоичных чисел. Чтобы понимать логические схемы, пригодятся операции И, ИЛИ и НЕ, а также таблицы истинности: по ним определяют поведение элемента при любых входах. Сумматоры связывают эту тему с устройством процессора и арифметико-логическими устройствами, которые выполняют вычисления. Триггеры помогают перейти к изучению компьютерной памяти, поскольку из них строят устройства, сохраняющие данные.
Чем логический элемент отличается от логической операции?
Логическая операция — это правило обработки значений 0 и 1, например И или НЕ. Логический элемент — электронное устройство, которое физически реализует такое правило с помощью сигналов.
Как определить выход элемента по таблице истинности?
Найдите строку, в которой входы имеют те же значения, что и в задаче. Значение в столбце выхода этой строки и будет ответом.
Зачем сумматору нужен перенос?
Если сумма разрядов больше 1, в текущем разряде записывают только младший бит результата. Оставшаяся единица переносится в следующий, более старший разряд.
Как из одноразрядных сумматоров получают многоразрядный?
Для каждого двоичного разряда используют отдельный одноразрядный сумматор. Перенос с выхода одного разряда подают на вход следующего.
Почему триггер называют устройством памяти?
Триггер имеет два устойчивых состояния, которые можно обозначить 0 и 1. Он сохраняет выбранное состояние после изменения входных сигналов, поэтому хранит один бит.
§ 9–10. Логические элементы в компьютере. Сумматор. Триггер