Умножение в двоичном коде. Назначение процессора арифметико-логического устройства. Математический сопроцессор. Блок-схема алгоритма умножения. Алгоритм работы АЛУ. Описание проекта на языке VHDL и Verilog. Работа электрической схемы. Листинг умножителя.
Аннотация к работе
Государственное бюджетное профессиональное образовательное учреждение Иркутской областиАрифметико-логические устройства (АЛУ) служат для выполнения арифметических и логических преобразований над словами, называемыми в этом случае операндами. Операндами могут быть двоичные числа с фиксированной запятой (дробные и целые), двоичные (или шестнадцатеричные) числа с плавающей запятой, десятичные целые числа, команды или отдельные их поля, логические коды, алфавитно-цифровые поля. Операнды могут иметь постоянную или переменную длину. Выполняемые в АЛУ операции можно разделить на группы: - операции двоичной арифметики для чисел с фиксированной запятой;Двоичная таблица умножения имеет следующий простейший вид: 0•0=0 Многоразрядные двоичные числа можно умножать столбиком аналогично десятичному умножению пример показан на рисунке 1. Здесь действует следующее правило: - для умножения двоичного числа на два в степени n достаточно сдвинуть код этого числа относительно точки на n по абсолютной величине (|n|) на n разрядов влево, если n>0 и вправо, если n<0.Арифметико-логическое устройство (АЛУ) - блок процессора, который под управлением устройства управления служит для выполнения арифметических и логических преобразований над данными, называемыми в этом случае операндами. Вид выполняемой операции задается: - битом М (Mode - режим), позволяющим выбрать арифметическую (М = 0) или логическую (M = 1) операцию; A ИВ выполняются поразрядно: A * B = (A3 B3)(А2 * В2)(А1 * В1)(А0 * В0), Помимо операндов на вход АЛУ подается сигнал переноса С0. Процессор (как и все другие цифровые устройства) воспринимает управляющие сигналы и операнды в виде двоичных чисел. Именно эти двоичные числа заставляют процессор (в том числе и АЛУ) выполнять операции, запланированные программистом.Сопроцессор - специализированный процессор, расширяющий возможности центрального процессора компьютерной системы, но оформленный как отдельный функциональный модуль. Физически сопроцессор может быть отдельной микросхемой или может быть встроен в центральный процессор (как это делается в случае математического сопроцессора в процессорах для ПК начиная с Intel 486DX). Различают следующие виды сопроцессоров:-Математические сопроцессоры общего назначения, обычно ускоряющие вычисления с плавающей запятой, - Сопроцессоры ввода-вывода (например - Intel 8089), разгружающие центральный процессор от контроля за операциями ввода-вывода или расширяющие стандартное адресное пространство процессора, - Сопроцессоры для выполнения каких-либо узкоспециализированных вычислений. Сопроцессоры могут входить в набор логики, разработанный одной конкретной фирмой (например Intel выпускала в комплекте с процессором 8086 сопроцессоры 8087 и 8089) или выпускаться сторонним производителем (например, Weitek (англ.Заданный алгоритм целочисленного умножения двоичных чисел, начиная с младших разрядов, при неподвижном множимом и сдвиге суммы частичных произведений вправо, представлен на рисунке 6.При нулевом младшем разряде суммирование не производится, а происходит лишь сдвиг. Описанная последовательность действий повторяется до тех пор, пока счетчик разрядов не станет равным нулю. После этого переменная Z (сумма частичных произведений) становится результатом вычисления - произведением. Для восьмиразрядного множимого и восьмиразрядного множителя процесс умножения будет выглядеть следующим образом : Пусть X = 10011101, Y = 00111001, X ґ Y = ZФункциональная схема цифрового устройства может быть разбита на иерархические уровни, простейшим из которых является уровень логических элементов, которые служат базой для проектирования более сложных устройств. Именно поэтому исследование параметров элементной базы является важным для дальнейшего проектирования и корректного функционирования разработанного устройства (рисунок 8).Описание элемента умножение на языке Verilog в Приложении Операторы языка Verilog на рисунке 9.Структурная электрическая схема устройства умножения четырехразрядных двоичных чисел представлена на рисунке 11. Умножитель Y3 предназначен для умножения четырехразрядных двоичных чисел Регистр Y4 предназначен для параллельного вывода результата умножения, который представляет собой восьмиразрядное кодовое слово. Причем ввод сомножителей осуществляется по отрицательным фронтам тактовых импульсов, а вывод результата умножения - по положительным. В момент времени по отрицательному фронту тактового импульса начинается ввод сомножителей в регистр Y1 и счетчик Y2 (рисунок 9).На каждом такте выполняется вычисление промежуточного результата умножения двух 4-разрядных чисел с последующим их суммированием. В конце четвертого такта на выходе умножителя формируется 16-разрядный результат.