Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (1186251), страница 11
Текст из файла (страница 11)
Аз-и = 0001 1000 0011; (А, )"" = 10001 ПЮО 0011 + 0110 0110 0110 Вз ~е = + 1001 0010 0100 (В,,)п" =О 1001 0010 0100 Прибавление кода 0110 (Аз-м)ок = 1 0111 1110 1001 1 1000 0001 0110 + 0001 Инверсия Прибавление единицы (Вз н)л~ = 0 1001 0010 0100 (А, „)л'= 1 1000 0001 0111 (В2- 0)д = + О 1001 0010 0100 (Аг-н+ Вз-м)д~ = 10 0001 0011 1011 коррекция + 01 1О 0110 (Аз н + Вз-н)лк = 0 0111 0100 0001; Сложение При суммировании возник перенос из первой тетрады и образовалась запрещенная комбинация в последней тетраде (А+В)з и= + 01110100 0001; (А+ В)м= + 741 5б Одноразрядный двоично-десятичный сумматор содержит два четырехразрядных двоичных сумматора и схему коррекции (рис.
3. 23). Первый двоичный сумматор выполняет сложение двоично-десятичных тетрад как сложение двоичных чисел. Схема коррекции формирует сигнал коррекции при возникновении переноса из тетрады или появлении запрещенной комбинации в тетраде двоичной суммы. Признаком запрещенной комбинации (Я4535зВ, = 1010, 1011, 1100, 1101, 1110, 1111) является наличие единиц одновременно в разрядах суммы В,Вз или 545з. Вместе с двоичной суммой сигнал коррекции поступает на входы Ь, и Ь, второго двоичного сумматора, при этом к двоичной сумме добавляется код коррекции, равный 0110,. Мультиплексоры.
Мультиплексор представляет собой комбинационную схему с несколькими входами и одним выходом. Входы мультиплексора делятся на информационные и управляющие (адресные). Мультиплексор передает данные с одного из информационных входов на выход. Номер (адрес) подключаемого входа задается на управляющих входах. Мультиплексор с В управляющи- а! аз аз аз бз Рз-! ми входами может иметь до 2» информационных входов. Для выбора подключаемого входа используется дешифратор.
Функциональная схема мультиплексора с двумя управляюшими (Ае и А,) и четырьмя информационными (Ве... 13з) входами показаны на рис. 3.24, а. Схема мультиплексора включает в себя дешифратор на два входа и выходную схему. При поступлении адреса А,АЬ на входы 57 а4 ь, Ь, Ьз Ь, аз аз а! б4 Ь! Ьз Р! Ьз ь„ Рис. 3.23. Одноразрядный двоичио-деснтичный сумматор: а — схема; б — УГО Рис. 3.24. Мультиплексор: а а — фунхннональнея схема; б — УГО дешифратора на одном из его выходов формируется сигнал «1», который подключает вход В; с заданным адресом к выходу схемы. Условное графическое обозначение мультиплексора приведено на рис.
3.24, б. Используя теорему разложения булевой функции, на мультиплексорах можно реализовать любую логическую функцию. Из мультиплексоров с небольшим числом входов можно построить мультиплексор с необходимым числом входов, используя каскадные схемы (рис. 3.25). Схема (см. рис. 3.25, а) реализует таблицу истинности элемента И вЂ” НЕ на два входа, так как на входах схемы зафиксированы значения функции И вЂ” НЕ, а на адресные входы подаются значения А1 оо А~ Ао 8 9 10 П з 5» 1 Ао 12 13 14 15 А1 Ао Рис. 3.25.
Схемы реализации логических функций: а — функция И вЂ” НЕ; б — сложение по модулю 2; в — выделение наборов пяти переменных, содержаших одну единицу; г — каскадный мультиплексор на !6 входов 58 переменных х и у. Для выполнения операции сложения перемен,тых х, у и ~ по модулю 2 входные сигналы подаются так, как это показано на рис.
3.25, б. Если, например, х = О„у = 1, ~ = О, то на адресные входы поступит адрес «01», будет выбран вход 1, и на выход будет выдан сигнал Г= ~ = 1, т.е. Г= х 9 у 9 я = 0 9 1 9 0 = 1. Если на вход схемы (см. рис. 3.25, н) подать комбинацию сигналов лЬс41е = 00100, то сН = 10 и, следовательно, на мультиплексорах первого яруса будет выбран вход 2. При этом на вход 0 мультиплексора второго яруса поступит сигнал е, а на входы 1 и 2— сигнал «О». Так как аЬ = 00, будет выбран нулевой вход этого мультиплексора. На выходе схемы возникнет сигнал г = 1, т.е. будет обнаружен код, содержащий одну единицу.
Пример каскадного мультиплексора на 16 входов приведен на рис. 3.25, г. Демультиплексоры. Демультиплексор представляет собой комбинационную схему с одним информационным входом, несколькими управляющими (адресными) входами и несколькими выходами. Демультиплексор передает сигнал с информационного входа на один из выходов, номер (адрес) которого задается сигналом на адресных входах.
Таким образом, демультиплексор выполняет функцию, обратную по отношению к функции мультиплексора. Так как мультиплексор и демультиплексор выполняют функции, связанные с выбором одного из входов или выходов, их называют также селекторами. Максимальное число выходов демультиплексора составляет 2», где й — число адресных входов. Функциональная схема демультиплексора с четырьмя информационными выходами и его УГО показаны на рис.
3.26. Входной сигнал Р подает- 4» 4« Рис. 3.26. Демультиплексор: а а — функциональная схема; 6 — УГО 59 ся на входы всех выходных ключей, выполненных на элементах И, На вторые входы ключей поступают сигналы с выхода дешифратора, которые открывают один из ключей и разрешают входному сигналу пройти на выход схемы с заданным адресом. 3.5. Типовые узлы накапливающего типа Регистры.
Регистры предназначены для приема, временного хранения и выдачи данных. Чаще всего данные сохраняются в регистре на время выполнения одной или нескольких машинных команд. Кроме хранения данных регистры могут выполнять и другие операции (сдвиг данных, логические операции). Основу регистра составляют триггеры, число которых равно разрядности хранимых данных.
Наиболее простую схему имеет регистр с параллельной записью данных. На рис. 3.27 приведена схема регистра, построенного на синхронных Р-триггерах с дополнительными асинхронными входами Я и Я. Записываемые данные (Ра... Р„,) подаются на информационные входы триггеров. Запись производится при поступлении сигнала «Прием», подаваемого в определенный момент времени на входы синхронизации всех триггеров регистра. Для установки регистра в состояние «О» используется сигнал «Уст.
О», который подается на дополнительные входы триггеров Я. Данные из регистра с параллельной записью и входом установки в состояние «О» могут быть выданы в прямом или обратном (инверсном) коде (рис. 3.28, а). Условное графическое обозначение регистра показано на рис. 3.28, б. Для выдачи данных из регистра в прямом или обратном коде подается соответствующий управляющий сигнал. Данные обычно выдаются из одного регистра и одновременно принимаются в другой (рис. 3.29). При этом используются регистры, построенные на синхронных ЯЯ-триггерах, а передача данных осуществляется в парафазном коде. В этом случае прием дан- «При «Ус и„, па Рис.
3.27. Регистр с параллельной записью 60 пк ОК Рис. 3.2В. Регистр; а — схема выдачи данных из регистра; б — УГО ных в регистр Рг1 производится при поступлении сигнала ПрРг1, а запись данных из Рг1 в регистр Рг2 — при поступлении сигнала ПрРг2. Передача данных между регистрами может выполняться как прямо, т.е. без изменения номеров разрядов, так и со сдвигом влево или вправо на один илн несколько разрядов. г2 Рг1 Рис. 3.29. Схема передачи данных из регистра в регистр 61 Для сдвига информации в пределах одного регистра используются сдвигающие региср 2, тры (рис.
3.30). Сложносп сдвига заключается в том, что каждый разряд регистра должен одновременно принять новую и один разряд вправо передать старую информацию. Для устойчивой работы сдвигающего регистра в каждом разряде используют два однотактных триггера или один двухтактный, т.е. сдвигающий регистр фактически состоит из двух регистров. Сдвигающий регистр представляет собой сдвоенный регистр и состоит из регистров первой (Рг1ст) и второй (Рг2ст) ступеней, между которыми производится обмен данными. Перед сдвигом в регистрах первой и второй ступеней записана одна и та же информация. При сдвиге данные сначала передаются из Рг2ст в Рг1ст со сдвигом вправо, затем возвращаются в Рг2ст без сдвига.
Схема регистра сдвига на один разряд вправо, выполненного на однотактных Яз-триггерах, приведена на рис. 3.31. Сдвиг производится при поступлении сигнала «Сдвиг». Каждый сигнал «Сдвиг» вызывает сдвиг данных на один разряд. При этом в осво- 62 Рис.
3.31. Регистр сдвига вправо бодившийся разряд записывается «О», а данные, выходящие из регистра, теряются. дяалогичным образом можно построить регистр сдвига вправо, регистр со сдвигом данных на несколько разрядов в одном ~акте или реверсивный сдвигающий регистр, позволяющий сдвигать данные влево или вправо в зависимости от управляющего сигнала. На основе сдвигающего регистра можно построить преобразователь последовательного кода в параллельный, и наоборот (рис. 3.32). Преобразователь выполнен на основе регистра со сдвигом данных вправо на один разряд. Регистр сдвига состоит из двухтактных ,)К-триггеров с дополнительными асинхронными входами 5 и Я.
Для преобразования параллельного кода в последовательный регистр устанавливается в нулевое состояние сигналом «Уст. О», Затем данные в параллельном коде поступают на дополнительные входы регистра Х При подаче сигнала «Сдвиг» данные в последовательном коде выдаются на последовательный выход регистра. Для преобразования последовательного кода в параллельный данные подаются на последовательный вход одновременно с поступлением сигналов «Сдвиг». После заполнения регистра данные могут быть выданы в параллельном коде с выходов Р„Р,, ..., Р„ь Подача сигналов с выходов последнего триггера на входы Хи К первого триггера позволяет получить кольцевой регистр сдвига, в котором разряды данных последовательно проходят через все триггеры, а состояние регистра периодически повторяется. Счетчики.