Анализ операций умножения и деления в конкретной модели АЛУ
Страница 2
Структурная схема АЛУ и его связь с другими блоками машины показаны на рисунке 2. В состав АЛУ входят регистры Рг1 – Рг7, в которых обрабатывается информация , поступающая из оперативной или пассивной памяти N1, N2, .NS; логические схемы, реализующие обработку слов по микрокомандам, поступающим из устройства управления.
Закон переработки информации задает микропрограмма М, которая записывается в виде последовательности микрокоманд A1,A2, ., Аn-1,An. При этом различают два вида микрокоманд: внешние, то есть такие микрокоманды, которые поступают в АЛУ от внешних источников и вызывают в нем те или иные преобразования информации (на рис. 2 микрокоманды A1,A2, ., Аn), и внутренние, которые генерируются в АЛУ и воздействуют на микропрограммное устройство, изменяя естественный порядок следования микрокоманд. Например, АЛУ может генерировать признаки в зависимости от результата вычислений j,w,Q и др. (j – признак переполнения, w – признак отрицательного числа, Q – признак равенства 0 всех разрядов числа), На рис. 2 эти микрокоманды обозначены р1, p2, ., рm.
Результаты вычислений из АЛУ передаются по кодовым шинам записи у1, у2, .,уs, в ОЗУ.
Функции регистров, входящих в АЛУ:
·Рг1 – сумматор (или сумматоры) – основной регистр АЛУ, в котором образуется результат вычислений;
|
·Рг2, РгЗ – регистры слагаемых, сомножителей, делимого или делителя (в зависимости от выполняемой операции);
·Рг4 – адресный регистр (или адресные регистры), предназначен для запоминания (иногда и формирования) адреса операндов и результата;
·Ргб – k индексных регистров, содержимое которых используется для формирования адресов;
·Рг7 – l вспомогательных регистров, которые по желанию программиста могут быть аккумуляторами, индексными регистрами или использоваться для запоминания промежуточных результатов.
Часть операционных регистров является программно-доступной, то есть они могут быть адресованы в команде для выполнения операций с их содержимым. К ним относятся :
·сумматор,
·индексные регистры,
·некоторые вспомогательные регистры.
остальные регистры программно-недоступные, так как они не могут быть адресованы в программе . Операционные устройства можно классифицировать по виду обрабатываемой информации, по способу обработки информации и логической структуре. Подробная классификация АЛУ показана на рис. 3.
Сложность логической структуры АЛУ в определенной степени можно охарактеризовать количеством отличающихся друг от друга микроопераций, необходимых для выполнения всего комплекса задач, поставленных перед АЛУ. На входе каждого регистра собраны соответствующие логические схемы, обеспечивающие такие связи между регистрами, что позволяют реализовать заданный набор микроопераций.
Выполнение операций над словами сводится к выполнению последовательности микрокоманд, которые управляют передачей слов в АЛУ и действиями по преобразованию слов. Порядок выполнения микрокоманд определяется алгоритмом выполнения операций. Следовательно, связи между регистрами АЛУ и функции, которые должны выполнять регистры, зависят в основном от принятой методики выполнения операций : арифметических, логических и специальной арифметики.
Перечень операций, выполняемых в АЛУ, зависит от назначения цифровой вычислительной машины и от функций, выполняемых АЛУ при обеспечении работы остальных устройств машины. При представлении операций в виде последовательностей микроопераций АЛУ должно состоять из элементов; реализующих эти микрооперации.
Таким образом, структура АЛУ определяется набором микроопераций, необходимых для выполнения заданных арифметических, логических и специальных операций , а задачу построения АЛУ можно свести к задаче определения набора микроопераций, который позволяет составить микропрограмму любой из заданных операций. Такой набор легко получить. если записать микропрограммы всех операций, выполняемых в АЛУ, и выбрать из них все микрооперации, входящие в микропрограммы хотя бы один раз. Однако, если при этом алгоритм операций выбирать произвольно, то количество микроопераций, входящих в полный набор, может оказаться слишком большим и, следовательно, АЛУ будет сложным.
Для получения более простой схемы АЛУ алгоритмы арифметических и логических операций следует выбирать из условия получения минимального набора микроопераций. При этом необходимо учитывать требование обеспечения заданного быстродействия АЛУ: слишком ограниченный набор микроопераций может привести к “длинным микропрограммам некоторых операций”, что увеличивает время выполнения данных операций.
Структурная схема микропрограммы сложения показана на рис. 4. Выполнение этого алгоритма состоит в следующем:
1.Первое слагаемое а устанавливается на Рг1, анализируется его знак: если знак отрицательный, то операнд инвертируется и передается на Рг3, если положительный - передается без инверсии через Рг2 на Рг3
2.Второе слагаемое также устанавливается на Рг1 и анализируется его знак: если знак отрицательный, то операнд инвертируется, если положительный - сразу начинается суммирование операндов на Рг2 ( сумматоре )
3.После суммирования анализируется знак результата: если результат отрицательный, то он инвертируется, если положительный - добавляется “+1” ЦП к младшему разряду результата и выполняется анализ признаков переполнения
|
4.В случае переполнения разрядной сетки машины формируется признак переполнения j, если переполнение отсутствует, то выполняется переход на конец микропрограммы сложения.
Для того, чтобы структурная схема, показанная на рис. 4 могла выполнять операцию вычитания, достаточно перед выполнением операции проинвертировать знак второго слагаемого.
|
Теперь рассмотрим алгоритм умножения. Умножение двоичных чисел с фиксированной запятой можно свести к последовательности сдвигов и сложений Наиболее удобен следующий алгоритм: умножение начинается с младших разрядов множителя, который сдвигается вправо, сумма частичных произведений также сдвигается вправо, множимое - неподвижно. На рис. 5 показана графическая интерпретация этого алгоритма.
1.В начале операции все регистры устанавливаются в нулевое состояние.
2.Множимое и множитель располагаются в определенных регистрах, предусматриваются также регистры, в которых образуется сумма частичных произведений.
3.Анализируется младший разряд множителя: если он имеет значение “1”, то к сумме частичных произведений прибавляется множимое.
|
4.Производится сдвиг суммы частичных произведений и множителя на один разряд вправо.
5.Действия 3 и 4 повторяются n раз ( n - разрядность сомножителей )
Структурная схема микропрограммы умножения показана на рис. 6. Ввиду громоздкости деление здесь не рассматривается.