Основы бортовых вычислительных машин
Скачать 3.2 Mb.
|
a 1 1 0 1 9 13 5 1 1 х 1 a 0 0 1 1 0 х 8 12 4 0 0 a 2 х 2 х 2 х 2 a 2 a 2 a а) ( ) f x б) j 3 a 3 a 2 6 6 2 0 a 1 a 3 7 7 3 0 a 1 5 5 1 1 a 0 4 4 0 0 a 2 a 2 a 2 a в) i Рисунок 3.15 105 Исходная диаграмма Вейча превратилась в две однотипных восьмиклеточных диаграммы. С учетом значений функции ( ) f x , за- данной единицами в диаграмме Вейча (см. рисунок 3.15,а), определим значения входных переменных, подаваемых на информационные входы мультиплексора. Для того чтобы отличать информационные входы мультиплек- сора от аргументов функции ( ) f x , обозначим их буквами DI (от анг- лийского Data Input, что переводится как "входные данные"). Из ри- сунков 3.15,а и 3.15,в следует, что 0 3 3 1 3 3 3 4 3 3 5 3 3 6 3 3 7 0 ; 1; 0 0 0; 0 ; 0 ; 0 ; 0 0 0. DI x x DI x x DI DI x x DI x x DI x x DI = ∨ = = ∨ = = ∨ = = ∨ = = ∨ = = ∨ = = ∨ = По полученным значениям i DI можно реализовать функцию ( ) f x на мультиплексоре 8 → 1. При выборе других переменных i x в качестве адресных получится другая схема. Предпочтение следует отдать той схеме, на информационные входы которой подается боль- шее число констант 0 и 1. Выбрать оптимальную с этой точки зрения схему можно; выполнив синтез для всех возможных вариантов ком- бинаций адресных сигналов. Все возможные варианты разбиения диаграмм Вейча показаны на рисунках 3.16, 3.17. 3 a 3 a 3 a 3 a 2 6 6 2 0 a 6 6 2 2 0 a 1 a 1 a 3 7 7 3 7 7 3 3 0 a 0 a 1 5 5 1 5 5 1 1 1 a 1 a 0 4 4 0 0 a 4 4 0 0 0 a 2 a 2 a 2 a 2 a 2 a 2 a а) 2 1 0 i a a a = б) 3 1 0 i a a a = j Рисунок 3.16 106 3 a 3 a 3 a 3 a 4 6 2 0 0 a 5 7 3 1 0 a 1 a 1 a 5 7 3 1 5 7 3 1 0 a 0 a 5 7 3 1 4 6 2 0 1 a 1 a 4 6 2 0 0 a 4 6 2 0 0 a 2 a 2 a 2 a 2 a 2 a 2 a а) 3 2 0 i a a a = б) 3 2 1 i a a a = j Рисунок 3.17 В таблице 3.4 указаны значения i DI для различных комбинаций адресных сигналов, полученные на основании рисунков 3.15,в и ри- сунков 3.16, 3.17. Таблица 3.4 i Вход 2 1 0 a a a 3 1 0 a a a 3 2 0 a a a 3 2 1 a a a 0 DI 3 x 1 1 x 1 1 DI 1 2 x 1 x 0 2 DI 0 0 1 x 0 x 3 DI 0 0 0 0 4 DI 3 x 0 0 0 x 5 DI 3 x 1 1 x 0 6 DI 3 x 2 x 1 x 0 x 7 DI 0 0 1 x 0 x Наилучший вариант схемы получается при задании адресов чис- лами 3 1 0 i a a a = , так как в этом случае на входе схемы присутствует наибольшее число констант. Функциональная схема устройства, реа- лизующего данный вариант представлена на рисунке 3.18. 107 Рисунок 3.18 Из рисунка 3.15,а следует, что МДНФ функции 3 2 1 3 1 0 3 1 0 3 2 1 0 ( ) f x x x x x x x x x x x x x x = ∨ ∨ ∨ Так как внутренний дешифратор мультиплексора реализует восемь конституент единицы трех переменных, то в качестве адресных сиг- налов следует использовать те переменные, которые входят в МДНФ наибольшее число раз 3 1 0 ( , , ) x x x . В этом случае внутренний дешиф- ратор мультиплексора будет нести наибольшую логическую нагрузку. Такой подход к выбору адресных сигналов позволяет исключить пол- ный перебор всех вариантов. 3.3 Регистры 3.3.1 Общие сведения о регистрах Регистром называется устройство, предназначенное для записи и хранения двоичных чисел. Классификация регистров осуществляется по ряду признаков. По способу приема и выдачи кодов чисел регистры подразделя- ются на параллельные и последовательные. В параллельных регистрах информация записывается и считыва- ется в параллельном коде, т.е. все разряды числа записываются и счи- тываются одновременно. В последовательных регистрах запись и считывание чисел про- изводится в последовательном коде, т.е. разряд за разрядом, начиная со старших (или младших). 108 Последовательные регистры могут иметь цепи параллельной за- писи информации в регистр и выдачи ее из регистра. С помощью та- ких регистров осуществляется преобразование последовательных ко- дов в параллельные и наоборот. Для сохранения считываемой из последовательного регистра информации, его выход с помощью ЛЭ соединяют со входом. В этом случае записанная в регистре информация циркулирует в нем. Такой регистр называется закольцованным. Строятся регистры, как правило, на основе триггеров различных типов. При этом для регистрации п - разрядного двоичного слова 1 2 1 0 n n A a a a a − − = , используется п триггеров, каждый из которых предназначен для реги- страции значения цифр строго определенного разряда. Совокупность этих триггеров, объединенных общими цепями управления, и представляет собой регистр. В общем виде регистр это ЦА, состояние которого оценивается совокупностью логических переменных i Q на выходах триггеров (со- вокупностью состояний i-х триггеров) { } 1 2 1 0 , , , , n n Q Q Q Q ψ − − = … При этом состояние каждого i - го триггера i Q отождествляется со значением i - го разряда, хранимого в регистре числа i a На рисунке 3.19 показано условное графическое обозначение двух сдвигающих регистров: 555ИР8 - последовательно- параллельный 8-разрядный регистр и 564ИР2 – два четырехразряд- ных сдвигающих регистра. Рисунок 3.19 109 3.3.2 Регистры параллельного действия В параллельных регистрахдля обеспечения одновременной за- писи и считывания всех разрядов кода числа используются однотип- ные триггеры и логические схемы. Рассмотрим принцип построения таких схем. Различают два способа записи и считывания информации: одно- фазный и парафазный (двухфазный). При однофазном способе записи информация о двоичном символе i a , который надо записать в триггер i - го разряда регистра, подводится к нему по одному проводу. Двух- фазный способ отличается тем, что информация к триггеру i-го раз- ряда регистра подводится по двум проводам: по одному поступает - i a , а по другому - i a . Учитывая способы записи и считывания, опре- делим функциональную схему i – го разряда регистра, полагая, что запись информации в триггер осуществляется синхронно, т.е. в ре- зультате воздействия управляющего сигнала С = 1. Поэтому входны- ми сигналами для триггера являются логические переменные i a и С. Таблица переходов для i - го триггера в режиме приема информации соответствует таблице 3.5, а функция возбуждения триггера i - го разряда соответствует данным таблицы 3.6. Полагаем, что в качестве элемента памяти используется RS - триггер, т.е. ( , , ); ( , , ). i i i i i i R R Q a C S S Q a C = = Таблица 3.5 Таблица 3.6 ( ) i Q t i a C 0 1 ( ) i Q t i a C i R i S 0 0 0 1 0 0 0 * 0 0 1 0 0 0 0 1 * 0 1 0 0 1 0 1 0 * 0 1 1 1 1 0 1 1 0 1 1 0 0 0 * 1 0 1 1 0 1 1 0 0 * 1 1 1 0 * Примечание. Индекс * означает то, что на соответствующий вход может поступать или нуль, или единица. 110 Минимизированные функции возбуждения для i R и i S опреде- лим с помощью диаграмм Вейча (рисунок 3.20 а,б) для неполностью определенных функций. Рисунок 3.20 В результате минимизации получены следующие МДНФ: ; i i i i R a C S a C = = Функция переходов i - го разряда регистра соответствует урав- нению [ ] 1 ( 1) ( ) | i i i C i Q t a C Q t a = + = ∨ = Функциональные схемы i - го разряда регистра для двух спосо- бов записи приведены на рисунке 3.21. Рисунок 3.21 Объединением таких схем по входу синхронизации можно по- лучить параллельный регистр любого числа разрядов. На рисунке 3.22 показана реализация параллельного двухразрядного регистра на универсальных JK триггерах. В данной схеме используется парафаз- ный способ представления записываемых данных. Выводы S и R триггеров могут использоваться для начальной установки регистра в заданное состояние. При реализации параллельного регистра на дис- кретных триггерах выходной сигнал можно по выбору считывать как в прямом, так и инверсном виде. 111 Рисунок 3.22 – Двухразрядный параллельный регистр 3.3.3 Регистры последовательного действия В регистрах последовательного действия ввод и вывод инфор- мации осуществляется последовательно (разряд за разрядом), начиная с младшего или старшего разряда. При записи очередного разряда ра- нее записанная в последовательный регистр информация сдвигается, поэтому такие регистры называют еще сдвигающими регистрами. За- пись или считывание одного разряда (сдвиг) выполняется под дейст- вием одного синхронизирующего импульса. Сдвиг данных в регистре - одна из основных операций в цифро- вых устройствах. С ее помощью можно преобразовать параллельный код в последовательный, сдвигая по тактам двоичное число от разря- да к разряду. Выполнить операции умножения и деления на число 2 n , т.к. сдвиг числа на один разряд вправо означает уменьшение его в два раза, а влево - увеличение в два раза. Таким образом, чтобы разделить или умножить число, записанное в регистре на 2 n необходимо его сдвинуть вправо или влево на п - разрядов. Операция сдвига осуществляется с помощью специального по- следовательного соединения триггеров, составляющих последова- тельный (сдвигающий) регистр. Сдвигающие регистры строятся на основе синхронных RS , D, DV, JK - триггерах. В п - разрядном реги- стре применяются n триггеров. Наиболее приспособленными для сдвигающих регистров являются двухступенчатые триггеры, т.к. они свободны от проблемы гонок. На рисунке 3.23 показан фрагмент схе- мы сдвигающего регистра на JK - триггерах. 112 Рисунок 3.23 В общем случае п - разрядный сдвигающий регистр представля- ет собой цифровой автомат, содержащий n - элементов памяти, имеющий 2 n L ψ = различных состояний, которые пронумерованы чис- лом β . При этом номер состояния сдвигающего регистра можно оп- ределить следующим образом: а) если сдвиг информации в регистре произошел на один разряд влево, то [ ] 0 0 mod 2 ( 1) 2 ( ) ( ) 2 n t t t β β ϕ + = + ⋅ , где ( ), ( 1) t t β β + - номер состояния регистра на моменты времени t и t+1 соответственно; 0 ( ) t ϕ - значение функции возбуждения на ин- формационном входе младшего разряда в момент t. Приведенное выражение отражает тот факт, что при выполнении операции сдвига влево на один разряд кроме умножения записанного в нем числа на два по модулю 2 n производится еще и запись символа а 0 в младший разряд регистра, значение которого определяется зна- чением функции 0 ϕ ; б) если сдвиг информации в регистре происходит на один разряд вправо, то 1 0 1 ( ) ( ) ( 1) ( ) 2 2 n n t Q t t t β β ϕ − − − + = + ⋅ , где 1 n ϕ − - значение функции возбуждения триггера ( п - I) -разряда; 0 Q - значение логической переменной на выходе триггера младшего разряда. Таким образом, при сдвиге кода в регистре на один разряд впра- во происходит не только потеря информации из младшего разряда и 113 деление числа на два, но также и запись в старший разряд регистра цифры 1 ( ) n t ϕ − Сдвигающие регистры можно строить различным образом, зави- сящим от выполнения требуемой операции: сдвиг влево, сдвиг впра- во, сдвиги влево и вправо. Регистры, имеющие возможность сдвигать информацию и влево, и вправо называют реверсивными. В их составе обязательно присутствует управляющая схема, которая определяет, в соответствии с командой, направление сдвига информации. Управ- ляющая схема является схемой комбинационного типа и может быть синтезирована на основе теории ПФ для каждого конкретного случая. 3.4 Счетчики 3.4.1 Общие сведения о счетчиках Счетчиком называется устройство, предназначенное для подсче- та числа импульсов. Основными характеристиками счетчика является быстродействие и информационная емкость. Быстродействие опреде- ляется двумя параметрами: сч f - максимальной частотой счета (или обратной величиной, на- зываемой минимальным периодом счета); уст τ - временем установления, равным временному интервалу между поступлением последнего счетного импульса и моментом ус- тановления выходного кода. При этом быстродействие счетчика часто еще оценивают разре- шающим временем разр Т . Время разр Т - это тот минимально допусти- мый временной интервал между двумя входными импульсами, при котором обеспечивается переход счетчика в новое состояние. Частота счета связана с разр Т соотношением 1 1 сч и разр и уст f t Т t τ = ≈ + + , где и t - наименьшая длительность входного импульса. Информационная емкость определяется модулем счета µ , рав- ным максимальному числу импульсов, которое может сосчитать счетчик. Счетчик представляет собой автомат Мypa с µ состояниями, за- кодированными числовым кодом N, принимающим значения от 0 до 114 µ -1. В дальнейшем состояние счетчика будем отождествлять с ко- дом. Код N представляет собой результат счета. Состояние N = 0 на- зывается начальным. Как правило, в счетчиках предусматривается микрооперация "Установка 0", выполняемая при подаче управляюще- го сигнала на установочный вход R и состоящая в переходе счетчика из любого текущего состояния в начальное. По своему назначению счетчики делятся на суммирующие, вы- читающие и реверсивные. В суммирующем счетчике единичный сиг- нал на входе увеличивает значение кода на единицу, а в вычитающем - уменьшает на единицу. Реверсивный счетчик в зависимости от управляющих сигналов может работать либо как суммирующий, либо как вычитающий. По используемой системе счисления счетчики бывают двоич- ные, восьмеричные, десятеричные, шестнадцатеричные и т.д. В даль- нейшем будем рассматривать в основном только двоичные счетчики. В зависимости от способа образования межразрядных связей, предназначенных для передачи сигналов (цифр) переноса от младших разрядов к старшим, различают счетчики с последовательным, парал- лельным и последовательно-параллельным переносом. По степени использования сигналов синхронизации счетчики делятся на синхронные и асинхронные. Счетчик является цифровым автоматом с памятью, следовательно, для его реализации использу- ются триггеры. Синхронные счетчики строятся на синхронных триг- герах, асинхронные - на асинхронных. Технически счетчики импульсов могут реализовываться в виде специальных интегральных микросхем, в этом случае они маркиру- ются буквами ИЕ. Например: 133ИЕ4. Кроме того, счетчики могут быть реализованы на отдельных ин- тегральных микросхемах, содержащих в своем составе регистры, триггеры, логические элементы. 3.4.2 Суммирующий счетчик Это устройство представляет собой автомат с одним информа- ционным (счетным) двоичным входом Т с с двоичными информацион- ными выходами и выходом переноса Р с , которые описываются функ- цией переходов |