Этапы конструирования логического устройства
Конструирование логического устройства состоит из следующих этапов:
Построение таблицы истинности по заданным условиям работы проектируемого узла (т.е. по соответствию его входных и выходных сигналов).
Конструирование логической функции данного узла по таблице истинности, ее преобразование (упрощение), если это возможно и необходимо.
Составление функциональной схемы проектируемого узла по формуле логической функции.
После этого остается только реализовать полученную схему. Попробуем, действуя по этому плану, сконструировать устройство для сложения двух двоичных чисел (одноразрядный полусумматор). Пусть нам необходимо сложить двоичные числа X и Y. Через P и Z обозначим первую и вторую цифру суммы: X + Y = PZ. Вспомните таблицу сложения двоичных чисел.
1. Таблица истинности, определяющая результат сложения, имеет вид:
2. Сконструируем функции P(X,Y) и Z(X,Y) по этой таблице:
P(X,Y)=X & Y; Z(X,Y)=( X&Y)V (X& Y).
Преобразуем вторую формулу, пользуясь законами логики.
( X&Y)V(X& Y) <=> (( X&Y)VX)& (( X&Y)V Y) <=> (XV( X&Y))&( YV (Y& X)) <=>((XV X)&(XVY))& (( YVY)&( Y V X)) <=> (1&(XVY))&((И& (X&Y)) <=> (XVY)& (X&Y).
3. Теперь можно построить функциональную схему одноразрядного полусумматора:
Одноразрядный двоичный сумматор на три входа и два выхода называется полным одноразрядным сумматором.
Сумматор - это электронная логическая схема, выполняющая суммирование двоичных чисел поразрядным сложением. Сумматор является центральным узлом арифметико-логического устройства процессора. Находит он применение и в других устройствах компьютера. Сумматор выполняет сложение многозначных двоичных чисел. Он представляет собой последовательное соединение одноразрядных двоичных сумматоров, каждый из которых осуществляет сложение в одном разряде. Если при этом возникает переполнение разряда, то перенос суммируется с содержимым старшего соседнего разряда.
Общая схема сумматора:
Триггер - электронная схема, применяемая для хранения значения одноразрядного двоичного кода. Воздействуя на входы триггера, его переводят в одно из двух возможных состояний (0 или 1). С поступлением сигналов на входы триггера в зависимости от его состояния либо происходит переключение, либо исходное состояние сохраняется. При отсутствии входных сигналов триггер сохраняет свое состояние сколь угодно долго.
Термин триггер происходит от английского слова trigger - защёлка, спусковой крючок. Для обозначения этой схемы в английском языке чаще употребляется термин flip-flop, что в переводе означает "хлопанье". Это звукоподражательное название электронной схемы указывает на её способность почти мгновенно переходить ("перебрасываться") из одного электрического состояния в другое. Существуют разные варианты исполнения триггеров в зависимости от элементной базы (И-НЕ, ИЛИ-НЕ) и функциональных связей между сигналами на входах и выходах (RS, JK, T, D и другие). Самый распространённый тип триггера - это RS-триггер (S и R соответственно от английских set - установка, и reset - сброс). Условное обозначение RS-триггера:
Триггер имеет два симметричных входа S и R, которые используются для установки в единичное состояние и сброса, - в нулевое. Еще у него есть два симметричных выхода Q и , причем выходной сигнал Q является логическим отрицанием сигнала . За единичное состояние триггера условились принимать такое, при котором Q=1. На каждый из входов S и R могут подаваться входные сигналы в виде кратковременных импульсов . Наличие импульса на входе считается единицей, а его отсутствие - нулем. Ниже показана схема реализации триггера с помощью элементов ИЛИ-НЕ и соответствующая таблица истинности.
Два одинаковых двухвходовых логических элемента ИЛИ-НЕ соединены симметричным образом. Сигнал, поданный на один из входов каждого элемента, снимается с выхода другого. Наличие такого соединения и дает триггеру возможность сохранять свое состояние после прекращения действия сигналов (никакой другой логический элемент не в состоянии поддерживать сигнал на выходе после прекращения действия входного напряжения). Проанализируем возможные комбинации значений входов R и S триггера, используя его схему и таблицу истинности схемы.
1. Пусть поданы сигналы S=1, R=0. Независимо от состояния другого входа на выходе верхнего элемента появится 0. Этот нулевой сигнал подается на вход нижнего элемента, где уже есть R=0. Выход нижнего элемента станет равным 1. Эта единица возвращается на вход первого элемента. Теперь состояние другого входа (S) этого элемента роли не играет: если даже убрать входной сигнал S, состояние триггера останется без изменения. Поскольку Q=1, триггер перешел в единичное состояние, устойчивое, пока не придут новые внешние сигналы.
2. При S=0 и R=1 вследствие симметричности схемы все происходит аналогично, но теперь на выходе Q будет 0. То есть при подаче сигнала на вход R триггер сбрасывается в устойчивое нулевое состояние.
3. При окончании действия обоих сигналов (R=0 и S=0) триггер сохраняет на выходе Q тот сигнал, который был установлен входным импульсом S или R.
4. Подача импульсов одновременно на входы R и S может привести к неоднозначному результату, поэтому эта комбинация входных сигналов (R=1 и S=1) запрещена. Один триггер хранит один бит информации. Для хранения одного байта информации необходимо 8 триггеров. Современные микросхемы памяти содержат миллионы триггеров. По технологии изготовления память делится на статическую и динамическую. На триггерах основана статическая память, а динамическая устроена по принципу конденсатора: заряженный конденсатор соответствует единице, а незаряженный - нулю.
Динамическая память проще по устройству, имеет больший объем и дешевле. В силу этих преимуществ в настоящее время основной объем оперативного запоминающего устройства компьютера является динамическим. Однако статическая память имеет более высокое быстродействие. Кэш-память имеет статическую природу, что позволяет согласовать высокое быстродействие процессора и низкую скорость работы динамической памяти. Конденсаторы динамической памяти постепенно разряжаются через внешние цепи, и потому требуют периодичекой подзарядки, чтобы не потерять информацию. Этот процесс называется регенерацией памяти, его наличие усложняет подключение микросхем динамической памяти. Микросхема статической памяти сильнее нагревается при работе, так как использует активные элементы - транзисторы.
Некоторое количество триггеров, объединенных вместе общей системой управления, называется регистром. Регистры содержатся в различных вычислительных узлах компьютера - процессоре, периферийных устройствах и т.д. Регистр - это устройство, предназначенное для хранения многоразрядного двоичного числового кода, которым можно представлять и адрес, и команду, и данные. Упрощенно регистр можно представить как совокупность ячеек, в каждой из которых может быть записано одно из двух значений: 0 или 1, то есть один разряд двоичного числа. Существует несколько типов регистров, отличающихся видом выполняемых операций. Некоторые важные регистры имеют свои названия, например:
1) сдвиговый регистр - предназначен для выполнения операции сдвига;
2) счетчики - схемы, способные считать поступающие на вход импульсы. К ним относятся Т-триггеры (название от англ. tumble - опрокидываться). Этот триггер имеет один счетный вход и два выхода. Под действием сигналов триггер меняет свое состояние с нулевого на единичное и наоборот. Число перебрасываний соответствует числу поступивших сигналов;
3) счетчик команд - регистр устройства управления процессора (УУ), содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти;
4) регистр команд - регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные - для хранения кодов адресов операндов.
Техническая сторона логики компьютера основана на технологии транзистора, что позволяет получать одну из двух возможных единиц информации (0 и 1), оперируя с передачей или отсутствием передачи тока. На следующем уровне вступает система носителей (переносчиков) информации - это нули и единицы (0 и 1), которые отражают в себе реальную информацию путем применения, как систем счисления, так и системы команд микропроцессора.
Логика микропроцессора (МП). МП имеет (может иметь) встроенную логику, основанную на формальной логике человека. Таким образом, имеется возможность обрабатывать информацию. Так, например, получая группу информационных потоков (два потока), МП может, используя формальную логику, выдать один искомый поток.
Логика операционной системы. Хотя технически возможна работа на компьютере без использования операционной системы (ОС), так как в ПЗУ находятся (могут находиться) для этого специальные программы, целесообразность использования ОС никем не подвергается сомнению. ОС представляет собой программу (группу программ), которая обеспечивает полный системный интерфейс компьютера. И, наконец, логика прикладных программ. В данном случае все зависит от фантазии и профессионализма программиста или пользователя.
Проиллюстрируем уровни логики ЭВМ. Получив на два регистра по единице и команду реализовать функцию AND, МП, применив заложенную в нем формальную логику, выдает на результирующий регистр единицу. Эта единица некоторым образом интерпретируется операционной системой, например, как истинность выполненной операции, а затем передается (может передаваться) прикладной программе, которая в свою очередь так же интерпретирует полученную информацию и производит в соответствии с этим некоторые действия.
Вопросы для самоконтроля
1. Основные логические операции: конъюнкция, дизъюнкия (оба вида), отрицание, импликация, эквивалентность. Примеры логических выражений.
2. Таблица истинности. Примеры. A and not A; A or not A
3. Основные законы математической логики: перестановочное, сочетательное и распределительное
4. Законы де Моргана (закон отрицания).
5. (Совершенная) дизъюнктивная нормальная форма. Примеры.