ВВЕДЕНИЕ
Арифметико-логическиеустройства (АЛУ) служат для выполнения арифметических и логическихпреобразований над словами, называемыми в этом случае операндами. Операндамимогут быть двоичные числа с фиксированной запятой (дробные и целые), двоичные (или шестнадцатеричные) числа с плавающей запятой, десятичные целыечисла, команды или отдельные их поля, логические коды, алфавитно-цифровые поля.Операнды могут иметь постоянную или переменную длину.
Выполняемые вАЛУ операции можно разделить на группы:
— операциидвоичной арифметики для чисел с фиксированной запятой;
— операциидвоичной арифметики для чисел с плавающей запятой;
— операциидесятичной арифметики;
— операциииндексной арифметики;
— операцииспециальной арифметики;
— операциинад логическими кодами (логические операции);
— операциинад алфавитно-цифровыми полями.
Карифметическим операциям относятся сложение, вычитание, умножение и деление.Группу логических операций составляют операции дизъюнкции (логическое ИЛИ) иконъюнкции (логическое И). Специальные арифметические команды включаютнормализацию, арифметический сдвиг, логический сдвиг.
Можнопривести следующую классификацию АЛУ.
По способу действия над операндами АЛУ делятся на последовательные и параллельные. Впоследовательных АЛУ операнды представляются в последовательном коде, аоперации производятся последовательно во времени над их отдельными разрядами. Впараллельных АЛУ операнды представляются параллельным кодом и операции совершаютсяпараллельно во времени над всеми разрядами операндов.
По способупредставления чисел различают АЛУ:
— для чисел сфиксированной запятой;
— для чисел с плавающейзапятой;
— для десятичных чисел.
АЛУ для чиселс фиксированной запятой в свою очередь делятся на АЛУ с дробными и АЛУ с целымичислами.
По способуреализации работы различают асинхронные и синхронные АЛУ. В асинхронных АЛУопределяется момент фактического окончания операции, после чего немедленноможет начинаться следующая операция. В синхронных АЛУ независимо от фактическойпродолжительности операции, определяющейся значениями операндов, на выполнениеотдельных операций отводится фиксированное время.
По характеруиспользования элементов и узлов АЛУ делятся на блочные и многофункциональные. Вблочном АЛУ операции над числами с фиксированной и плавающей запятой,десятичными числами и алфавитно-цифровыми полями выполняются в отдельныхблоках. При этом повышается скорость работы, т.к. блоки могут параллельновыполнять соответствующие операции, но при этом значительно возрастают затратына оборудование. В многофункциональных АЛУ операции для всех форм представлениячисел выполняются одними и теми же схемами, которые коммутируются нужнымобразом в зависимости от требуемого режима работы.
По своим функциямАЛУ является операционным блоком, выполняющим микрооперации, обеспечивающиеприем из других устройств (например, памяти) операндов, их преобразование ивыдачу результатов в другие устройства. АЛУ управляется управляющим блоком,генерирующим управляющие сигналы, инициирующие выполнение в АЛУ определенныхмикроопераций. Генерируемая управляющим блоком последовательность сигналовопределяется кодом операции команды и оповещающими сигналами.
ПроектированиеАЛУ включает выбор кодов для представления данных, определение алгоритмоввыполнения отдельных операций, структур операционных блоков и реализуемых в нихнаборов микроопераций. Затем производят объединение отдельных операционных блоков и соответствующих наборов микроопераций в один многофункциональныйоперационный блок или несколько блоков для отдельных групп операций.Стремление обеспечить возможность эффективного объединения операционныхблоков отдельных операций влияет на выбор их структур.
1.Описание алгоритма вычисления
Заданныйалгоритм целочисленного умножения двоичных чисел, начиная с младших разрядов,при неподвижном множимом и сдвиге суммы частичных произведений вправо,представлен на рис.1. В начале происходит проверка младшего разряда множителя Y, если он равен 1, то к старшейполовине RgY прибавляется множитель X, а затем происходит сдвиг содержимого регистра RgY вправо на один разряд.
/>Рисунок 1 Алгоритмумножения с неподвижным множимым и сдвигом суммы частичных произведений вправо.
При нулевоммладшем разряде суммирование не производится, а происходит лишь сдвиг. Далеесчетчик разрядов уменьшается на единицу. Описанная последовательность действийповторяется до тех пор, пока счетчик разрядов не станет равным нулю. Послеэтого переменная Z (сумма частичных произведений) становится результатом вычисления- произведением.
Для восьмиразрядного множимого и восьмиразрядного множителя процесс умножениябудет выглядеть следующим образом :
Пусть X = 10011101, Y = 00111001, X ´ Y = ZN такта Y H Y L J 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 2 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 3 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 4 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 5 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 2 6 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 2 7 0 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 3 8 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 3 9 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 4 10 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 1 4 11 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 5 12 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 5 13 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 6 14 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 6 15 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 7 16 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 7 17 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 18 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1
Результатпроизведения Z= 0010001011110101. Полученный результат нетрудно проверить. В десятичной системебудем иметь Х = 157, Y = 57. Тогда результат в десятичной системе будет равен Z = 8949. Такимобразом, чтобы умножить два восьмиразрядных числа, необходимо произвести восемьраз сложение и восемь раз сдвиг.
2.Разработка структурной схемы
РазрабатываемоеАЛУ будет иметь восьмиразрядный вход данных X, восьмиразрядный вход данных Y, шестнадцатиразрядныйвыход результата Z, вход начала вычисления START, выход готовности результата READY, вход принудительногосброса Rи тактовый вход C (рис.2.1).
/>
Рисунок 2.1Условное графическое изображение АЛУ.
Приразработке структурной схемы необходимо обратить внимание на уменьшениеколичества применяемых элементов, что в свою очередь приведет к снижениюпотребляемой мощности. Одновременно с этим необходимо обеспечить времявычисления менее заданного. Также необходимо уделить внимание предотвращениюгонок в схеме.
Исходнымиданными для разработки структурной схемы является алгоритм вычисления. Всоответствии с заданным алгоритмом вычисления для его реализации как минимумпотребуются два регистра для хранения и сдвига операндов. Для реализациисчётчика потребуется три триггера. Для определения окончания вычислениянеобходима схема сравнения J с 0.
Дляреализации математических вычислений потребуется восьмиразрядный сумматор.
Разработаннаяструктурная схема показана на рис. 2.2. В этой схеме множитель Y и результат Zхранятся в одном сдвиговом 16-ти разрядном регистре RgY. Регистры RgХ и RgY имеют как прямые, так иинверсные выходы, что позволяет уменьшить количество элементов в сумматоре.
/>Рисунок 2.2Структурная схема АЛУ для умножения двоичных чисел.
Как видно изсхемы активный уровень сигналов управления — высокий, и устройство управлениятактируется по фронту импульса, а исполнительные устройства — по спаду, чтопозволяет избежать гонок в схеме.
3Синтез Компонентов
3.1Синтез сумматора
Так как построить сумматор сразу длявосьми разрядов достаточно сложно, сумматор будем выполнять по схеме последовательного соединения полных одноразрядных сумматоров.
Таблицаистинности полного двоичного сумматора приведена в табл.3.1, где а и b — слагаемые, S — сумма, P — перенос изпредыдущего разряда. Рn – перенос в следующий разряд.
Таблица 3.1а B P S Рn 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
По таблицеистинности строим карты Карно (рис.3.1) и проводим минимизацию логическихвыражений, описывающих работу полного сумматора.
S Pn
/>
/>
/>
/>
/>
/>
/>
/>
/> 1 1
/> 1 P 1 1
P 1 1 1
/>a
/>
/>
/>
/>
/>
/>
/>
Рисунок 3.1Карты Карно для полного сумматора.
/> (3.1)
/> (3.2)
Полученныевыражения (3.1) и (3.2) приводим к заданной элементной базе:
/> (3.3)
/> (3.4)
По полученнымвыражениям строим схему полного сумматора (рис.3.2).
/>
Рисунок 3.2Принципиальная схема полного сумматора.
Нулевойразряд сумматора для экономии элементов построим по схеме полусумматора.Таблица истинности полусумматора представлена в табл.3.2.
Таблица 3.2А B S Ро 1 1 1 1 1 1 1
По таблицеистинности получаем логические выражения:
/> (3.5)
/> (3.6)
По полученным выражениям строим принципиальную схему (рис.3.3).
/>
Рисунок 3.3Принципиальная схема полусумматора.
Потребляемую схемой мощность найдем по формуле:
/>. (3.7)
где N – количество логических элементов в схеме;
/>– мощность, потребляемая однимэлементом.
Количество элементов в схеме равно 83 а мощность элемента –/>. Подставляяданные в формулу (3.7) получим:
/>.
Время вычисления будет максимально в случае формированияпереноса последовательно в семи младших разрядах сумматора. Таким образом,время счета будет определяться как сумма времени формирования переноса в семимладших разрядах и времени формирования выходного сигнала в старшем разряде:
/>, (3.8)
где />– время срабатывания одногологического элемента;
/> – максимальный путь (количествопоследовательно пройденных элементов) формирования переноса в i-ом разряде;
/> – максимальный путь формированиярезультата в старшем разряде (3 элемента).
Время срабатывания равно 4/>. Пути /> длясумматора (разряды 1 – 7) и для полусумматора (разряд 0) равны трём. Тогда поформуле (3.8) получим:
/>.
3.2Синтез регистров
Для храненияи сдвига множителя Y и суммы S необходим шестнадцатиразрядный регистр сдвига. Дляхранения множимого понадобится один восьмиразрядный регистр RgX.
Структурнаясхема регистра сдвига показана на рис.3.4, из которого видно, что необходимосинтезировать одну комбинационную схему. Таблица истинности для этой схемыпредставлена в табл. 3.3, где значение управляющего сигнала W/S равное нулю соответствуетрежиму записи, а равное единице — режиму сдвига на один бит вправо за такт.
/>
Рисунок 3.4Структурная схема регистра сдвига.
Таблица 3.3D Q S J X X 1 1 X 1 1 X 1 1
Поприведенной таблице истинности находим логические выражения, описывающие работусинтезируемой схемы, и приводим их к заданному базису.
/> (3.9)
/>
Рисунок 3.5Схема управления сдвигом.
Принципиальнаясхема, построенная по выражению (3.9), приведена на рис.3.5.
Восьмиразрядныйрегистр для хранения Х будет представлять собой восемь JK – триггеров собъединенными тактовыми входами.
Мощность, потребляемую регистрами, определим по формуле
/>, (3.10)
где />, />– количество триггеров в регистрахRgXи RgY соответственно;
/> –мощность, потребляемая триггером (12 мВт).
/> - мощность, потребляемая схемойуправления сдвигом (8 мВт).
Подставив численные значения в формулу (3.10), получим:
/>.
Время предустановки регистра равно времени предустановкитриггера />,а время задержки – времени задержки триггера />.
3.3Синтез счётчика
По принципу формирования выходных сигналов счетчики бываютпоследовательные и параллельные. У первых каждый разряд счётчикаустанавливается последовательно вслед за предыдущим. В параллельных счётчикахпереключение происходит параллельно всех разрядов. Таким образом, последовательные счётчики имеют задержку кратную разрядности, поэтомумогут применяться в устройствах не критичных к быстродействию.
Разрабатываемая схема не позволяет применить последовательный счётчик, поэтому будетприменяться параллельный (синхронный) счётчик. Так как необходимо считать довосьми, то счетчик будет трёхразрядным. Такой счётчик можно синтезировать какцифровой автомат с кольцевым последовательным перемещением. В этом режиме припоступлении тактового сигнала на триггеры записывается информация с комбинационныхсхем, преобразующих предыдущее состояние счётчика в последующее. Состояниясчётчика приведены в таблице 3.4.
Таблица 3.4N Q2 Q1 Q0 D2 D1 D0 1 1 1 1 2 1 1 1 3 1 1 1 4 1 1 1 5 1 1 1 1 6 1 1 1 1 1 7 1 1 1
/> (3.11)
/> (3.12)
/> (3.13)
Приводимданные выражения к заданному базису:
/> (3.14)
/> (3.15)
/> (3.16)
Схема такогосчётчика показана на рис. 3.6.
/>
Рисунок 3.6Схема параллельного счетчика.
Мощность, потребляемую схемой, определим по формуле
/>. (3.17)
Подставляя численные значения, получим:
/>.
Максимальное время задержки счетчика в параллельном режимебудет равно сумме времени задержки КС и времени задержки триггера:
/>. (3.18)
Максимальный путь сигнала в КС – 2 элемента. Тогда поформуле (3.18):
/>.
В режиме счета быстродействие счетчика будет определятьсятолько параметрами триггера (/>и />) и логических элементов (/>), что в суммеменьше полученного ранее результата. Следовательно, в дальнейших расчетах будемиспользовать значение />.
3.5 Синтез устройства управления
Устройствоуправления представляет собой цифровой автомат. В зависимости от структурыразличают два класса автоматов: автомат Мили и автомат Мура. Различие междуними заключается в том, что в автомате Мили управляющие сигналы зависят как оттекущего состояния, так и от входных сигналов, а у автомата Мура — только оттекущего состояния. В соответствии с этим можно выделить следующие преимущества: автомат Мили может иметь меньше состояний, чем аналогичный автомат Мура, ноавтомат Мура более помехозащищённый и надёжный. Таким образом, выбираем вкачестве структуры устройства управления автомат Мура.
При синтезецифрового автомата необходимо определить разрядность регистра состояний и синтезировать комбинационные схемы КС1 и КС2.
Построениеавтомата Мура начинается с создания графа, описывающего работу схемы. Граф,описывающий работу разрабатываемого устройства управления, представлен на рис.3.8
/>
Рисунок 3.8Граф переходов устройства.
Далееопределяем разрядность регистра состояний по формуле:
n = ]log2N[ (3.19)
где n — разрядность регистрасостояния;
N — количество состояний вграфе.
В нашемслучае получим n =2. Таким образом, для реализации регистра состоянийпотребуется два триггера.
По графустроим таблицу состояний цифрового автомата (табл. 3.5).
Таблица 3.5Q(t) Оповещающ. сигналы Управляющие сигналы Q(t+1) Q1 Q0 U0 U1 V1 V2 V3 V4 V5 D1 D0 X 1 1 X 1 1 1 X X 1 1 1 1 X 1 1 1 1 X 1 1 1 1 1 X X
Обозначения управляющих сигналов:
V1 – записьинформации в регистр RgX;
V2 – сбросрегистра RgY;
V3 – записьинформации в регистр RgY;
V4 – разрешениеработы счётчика;
V5 – сигнал готовностирезультата Ready;
По таблице истинности определим функции, описывающие работуКС1 и КС2, и приведем их к заданному элементному базису. Для КС2:
/>; (3.20)
/>; (3.21)
/>. (3.22)
Для КС1:
/>; (3.23)
/>. (3.24)
Из равенства выражений для сигналов />, и />можно сделать вывод, чтона этапе проектирования управляющего автомата выявляются возможностиоптимизации, упущенные при разработке структурной схемы операционной части.Схема цифрового автомата представлена на рисунке 3.10.
Для реализации цифрового автомата потребуется 13 логическихэлементов и 2 триггера. Таким образом, мощность потребления определим поформуле
/>. (3.25)
Подставляя численные значения, получим:
/>.
/>
Рисунок 3.10 Принципиальная схема управляющего автомата.
Максимальный путь сигнала через комбинационную схему КС1равен 2-м элементам, и через КС2 – 2-м. Тогда время задержки комбинационныхсхем определим по формулам:
/>, (3.26)
/>. (3.27)
По формулам (3.26), (3.27) определим:
/>,
/>.
Время задержки и время предустановки регистра состоянийбудет полностью определяться соответствующими параметрами триггеров:
/>, />.
4. ПРОВЕРКА РАСЧЕТНЫХ ПАРАМЕТРОВ НА СООТВЕТСТВИЕКОНСТРУКТИВНЫМ ТРЕБОВАНИЯМ
4.1 РАСЧЕТ ТАКТОВОГО СИГНАЛА
Временная диаграмма тактового сигнала представлена нарисунке 4.1.
/>
Рисунок 4.1 Временная диаграмма тактового сигнала.
Устройство управления (триггеры регистра состояния)тактируются по фронту, а операционная часть – по спаду (тактовый сигнал навходы триггеров операционной части подаются через элементы 2И-НЕ). Такимобразом, длительность активной фазы сигнала /> будет определятьсябыстродействием устройства управления, а фазы /> – быстродействием операционнойчасти и комбинационной схемы КС1.
Определяющим фактором длительности вычислений устройствауправления является готовность управляющих сигналов. Поэтому интервал времени /> будетопределяться временем задержки срабатывания схемы КС2, временем предустановкирегистра и временем задержки регистра:
/>. (4.1)
Подставим в формулу (4.1) численные значения входящихвеличин, определенные выше:
/>.
Наибольшее время для вычисления в операционной частипотребуется в состоянии />, так как в этом состояниипроизводится суммирование, требующее значительно больших затрат времени посравнению с другими операциями. Интервал времени /> будет определяться временемзадержки логического элемента, инвертирующего тактовый сигнал, временемустановки регистра RgY и временем формирования бита переноса в сумматоре:
/>. (4.2)
Подставив численные значения, получим:
/>.
Теперь нетрудно определить период тактового сигнала:
/>.
4.2 ОПРЕДЕЛЕНИЕ МАКСИМАЛЬНОГО ВРЕМЕНИ ВЫЧИСЛЕНИЯ
Максимальное время вычисления определим по формуле
/>, (4.3)
где />– максимальное количество тактов.
При умножении целых чисел методом последовательногосуммирования максимальное количество тактов будет определяться величиноймножителя Y. Для восьмиразрядного множителя при совмещении операцийсложения и сдвига в один такт максимальным значением является восемь. Помимоэтих 8 тактов понадобится один такт для начальной установки регистров исчетчика (состояние />) и еще один такт для установкисигнала READY по окончании счета. Следовательно, общее число тактов/>, амаксимальное время вычисления
/> или />.
Полученное значение меньше заданного ограничения 2 мкс.
4.3 ОПРЕДЕЛЕНИЕ ПОТРЕБЛЯЕМОЙ МОЩНОСТИ
Потребляемая устройством мощность будет равна суммемощностей, потребляемых всеми ее составными частями (регистры X и Z, счетчик,сумматор, схема сравнения, три логических элемента 2И-НЕ и устройствоуправления):
/>. (4.4)
Подставляя численные значения, получим потребляемуюустройством мощность:
/>.
Реальная потребляемая мощность оказалась меньше заданногоограничения 1000 мВт.
ЗАКЛЮЧЕНИЕ
В результате выполнения данного курсового проекта былразработан блок АЛУ для умножения двух положительных двоичных чисел. Всетребования, оговоренные в техническом задании, были выполнены.
Разработанное устройство имеет по 8 входов для множителя Y0 – Y7 и множителя X0 – X7, входразрешения начала счета START с активным уровнем «1», вход принудительногосброса с активным уровнем «1» и вход синхронизации с тактированием пофронту импульса; 16 выходов результата Z0 – Z15 и выходготовности результата READY с активным уровнем «1».
Максимальное время счета />.
Потребляемая мощность />.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Курс лекций по дисциплине«Техническое обеспечение и внешние устройства ЭВС». / Под ред. А.В.Тютякина – ОрелГТУ, 2000.
2. Курс лекций по дисциплине «Расчети конструирование элементов ЭВС». / Под ред. И.И. Неврова – ОрелГТУ, 2000.
3. Курслекций по дисциплине «Аналоговая и цифровая электроника». / Под ред.А.А. Рабочего – ОрелГТУ, 1999.