Арифметико-логические устройства ЭВМ
Разработка вычислительного устройства для умножения двоичных чисел с фиксированной запятой, без знака, представленных в прямом коде. Алгоритм операции, структурная схема АЛУ, диаграмма управляющих сигналов, функциональная схема устройства управления.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 01.10.2014 |
Размер файла | 180,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
схема вычислительный алгоритм
Электронные вычислительные машины (ЭВМ) являются универсальными техническими средствами автоматизации вычислительных работ, т.е. они способны решать любые задачи, связанные с преобразованием информации. Однако подготовка задач к решению на ЭВМ была и остается до настоящего времени достаточно трудоемким процессом, требующим от пользователей во многих случаях специальных знаний и навыков. Арифметико-логическое устройство (АЛУ) выполняет арифметические и логические операции над числовыми данными. Основной частью АЛУ является операционный автомат, в состав которого входят сумматоры, счетчики, регистры, логические преобразователи и др. АЛУ каждый раз перенастраивается на выполнение очередной операции. Результаты выполнения отдельных операций сохраняются для последующего использования на одном из регистров АЛУ или записываются в память.
Данные могут быть представлены в прямом и обратном кодах. Обратный код -- метод вычислительной математики, позволяющий вычесть одно число из другого, используя только операцию сложения над натуральными числами. Ранее метод использовался в механических калькуляторах (арифмометрах). В настоящее время используется в основном в современных компьютерах.
Перед самым старшим из возможных разрядов двоичного числа фиксируется его знак. Положительные числа имеют нулевое значение знакового разряда, отрицательные - единичные.
Задача данного курсового проекта произвести разработку вычислительного устройства для умножения двоичных чисел с фиксированной запятой, представленных в прямом коде старшими разрядами вперед со сдвигом частного произведения вправо.
1. Арифметико-логические устройства ЭВМ
Назначение, состав и структура
Арифметико-логическое устройство -- центральная часть процессора, выполняющая арифметические и логические операции.
АЛУ реализует важную часть процесса обработки данных. Она заключается в выполнении набора простых операций. Операции АЛУ подразделяются на три основные категории: арифметические, логические и операции над битами. Арифметической операцией называют процедуру обработки данных, аргументы и результат которой являются числами (сложение, вычитание, умножение, деление.). Логической операцией именуют процедуру, осуществляющую построение сложного высказывания (операции И, ИЛИ, НЕ). Операции над битами обычно подразумевают сдвиги.
АЛУ состоит из регистров, сумматора с соответствующими логическими схемами и элемента управления выполняемым процессом. Устройство работает в соответствии с сообщаемыми ему именами (кодами) операций, которые при пересылке данных нужно выполнить над переменными, помещаемыми в регистры.
Арифметико-логическое устройство функционально можно разделить на две части:
1. микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд);
2. операционное устройство (АЛУ), в котором реализуется заданная последовательность микрокоманд (команд).
Рисунок 1 - Структурная схема арифметико-логического устройства
Структурная схема АЛУ и его связь с другими блоками машины показаны в приложении 1. В состав АЛУ входят регистры Рг1 - Рг7, в которых обрабатывается информация, поступающая из оперативной или пассивной памяти N1, N2, ...NS; логические схемы, реализующие обработку слов по микрокомандам, поступающим из устройства управления.
Закон переработки информации задает микропрограмма, которая записывается в виде последовательности микрокоманд A1,A2, ..., Аn-1,An. При этом различают два вида микрокоманд: внешние, то есть такие микрокоманды, которые поступают в АЛУ от внешних источников и вызывают в нем те или иные преобразования информации (на рис. 1 микрокоманды A1,A2,..., Аn), и внутренние, которые генерируются в АЛУ и воздействуют на микропрограммное устройство, изменяя естественный порядок следования микрокоманд. Например, АЛУ может генерировать признаки в зависимости от результата вычислений: признак переполнения, признак отрицательного числа, признак равенства 0 всех разрядов числа др. На рис. 1 эти микрокоманды обозначены р1, p2,..., рm.
Результаты вычислений из АЛУ передаются по кодовым шинам записи у1, у2, ...,уs, в ОЗУ. Функции регистров, входящих в АЛУ:
· Рг1 - сумматор (или сумматоры) - основной регистр АЛУ, в котором образуется результат вычислений;
· Рг2, РгЗ - регистры слагаемых, сомножителей, делимого или делителя (в зависимости от выполняемой операции);
· Рг4 - адресный регистр (или адресные регистры), предназначен для запоминания (иногда и формирования) адреса операндов и результата;
· Ргб - k индексных регистров, содержимое которых используется для формирования адресов;
· Рг7 - i вспомогательных регистров, которые по желанию программиста могут быть аккумуляторами, индексными регистрами или использоваться для запоминания промежуточных результатов.
Часть операционных регистров является программно-доступной, то есть они могут быть адресованы в команде для выполнения операций с их содержимым. К ним относятся: сумматор, индексные регистры, некоторые вспомогательные регистры.
Остальные регистры программно-недоступные, так как они не могут быть адресованы в программе. Операционные устройства можно классифицировать по виду обрабатываемой информации, по способу обработки информации и логической структуре.
АЛУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В АЛУ выполняется 51 различная операция пересылки или преобразования этих данных. Так как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем комбинирования "операция/ режим адресации" базовое число команд 111 расширяется до 255 из 256 возможных при однобайтном коде операции.
2. Классификация АЛУ
По способу действия над операндами АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
По способу представления чисел различают АЛУ:
1. для чисел с фиксированной точкой;
2. для чисел с плавающей точкой;
3. для десятичных чисел.
По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ операции над числами с фиксированной и плавающей точкой, десятичными числами и алфавитно-цифровыми полями выполняются в отдельных блоках, при этом повышается скорость работы, так как блоки могут параллельно выполнять соответствующие операции, но значительно возрастают затраты оборудования. В многофункциональных АЛУ операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зависимости от требуемого режима работы.
По своим функциям АЛУ является операционным блоком, выполняющим микрооперации, обеспечивающие приём из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Арифметико-логическое устройство управляется управляющим блоком, генерирующим управляющие сигналы, инициирующие выполнение в АЛУ определённых микроопераций. Генерируемая управляющим блоком последовательность сигналов определяется кодом операции команды и оповещающими сигналами.
3. Средства представления АЛУ
Поскольку ЭВМ в целом и АЛУ можно отнести к классу многоуровневых систем, их представление может осуществляться на различных уровнях детализации: начиная от уровня электронных компонентов логических элементов и кончая уровнем всего устройства в целом. Кроме того, представление АЛУ (ЭВМ) может быть ориентировано на описание структуры устройства, его функционирования и его технической реализации. Поэтому для различных целей и уровней представления АЛУ должны существовать различные средства, формальные и языковые. (Помимо этого, несколько самостоятельной, но тесно связанной с ними областью являются описания процессов проектирования цифровых устройств.)
Начало систематической разработки средсгв представления ЗВМ принято относить к 60м годам, когда стали появляться языки для описания аппаратных средств ЭВМ. Нетрудно заметить, что появление этих языков последовало за разработкой языков программирования. Но понятно, что средства представления ЗВМ существовали и на более ранних периодах развития вычислительной техники и заимствовались для этой цели как из математических, так и из инженерных (электротехнических, радиотехнических, связных) дисциплин.
Из математических дисциплин были заимствованы аппарат булевых функций и алгоритмические представления процессов вычислений. Из инженерных дисциплин были использованы представления в виде электрических схем, блок-схем.
На первых порах, когда вычислительные машины были относительно просты, а проектирование их велось исключительно вручную, таких представлений было достаточно. Однако с усложнением самих ЭВМ, увеличением числа уровней иерархии в них, развитием методов их проектирования и теоретических разработок понадобились более пригодные для машинного использования формализованные методы описания ЭВМ. В результате были созданы различные формальные модели и языковые средства, ориентированные на различные уровни представления и целевое назначение. В большинстве случаев эти средства не были узкоспециализированными и значительная часть из них пригодна для использования на различных уровнях и для разных целей.
При представлении ЭВМ использую различные языки описания. Эти языки можно разделить на три группы, соответствующие различным аспектам описания вычислительных средств: языки структурного описания, языки функционального описания и языки графического описания.
Языки первой группы описывают, главным образом, соединения между элементами (узлами) структуры. Достаточно часто сами элементы структуры рассматриваются при этом как «черные ящики», имеющие входы и выходы. Причем в развитых языках этой группы обычно заложена возможность многоуровневого иерархического описания структуры, когда на более высоких уровнях элементами структуры являются подструктуры, описание которых построено раньше. Примерами языков этой группы могут служить языки СТРУКТУРА,SDL, HSLи другие.
Языки функционального описания описывают распространение сигнала, функцию элемента или блока, алгоритм функционирования, смену состояния. Если структурные описания отображают статические связи на уровне структуры, то функциональные описания представляют динамику работы устройств, последовательность развертывающихся в них процессов. В отличие от языков структурного описания, легко интегрирующих иерархическую структуру, описание функционирования на разных уровнях влечет за собой значительные различия в используемых моделях, а следовательно, и в языках представления.
На наиболее высоком уровне (системном или архитектурном) используется вероятностное описание взаимодействия различных устройств, например, модели теории массового обслуживания, сети Петри. Такому уровню соответствуют языки описания имитационных моделей типа GPSS, СИМСКРИТ, СИМУЛА и другие.
Следующим является уровень программ и машинных команд, которому соответствуют языки программирования и языки машинных команд.
Еще более низким уровнем функционального описания является уровень микрооперации и микропрограмм, на котором функционирование описывается в терминах переходов регистров и триггеров из одного состояния в другое.
Иногда для представления АЛУ и других дискретных устройств используют языки, позволяющие описывать и структуру и функционирование одновременно, например язык ДИСТАЛ. Можно составлять такие описания и на алгоритмических языках тип APL и даже типа Паскаль и Си, однако такие описания могут быть не наглядными и громоздкими.
Наконец, для описания технической реализации вычислительных устройств используются графические языки. С помощью этих языков могут описываться маски и топология интегральных схем, изображаться фотошаблоны для изготовления печатных плат, задаваться конфигурации радиокомпонентов и микросхем, изображаться очертания печатных плат, размещение на них элементов, строиться символические изображения элементов и т. д. Следует учитывать, что собственно графических языков немного, это, например, языки СIF и SMF. Более частым вариантом является построение и обработка файлов графических изображений с помощью специальных программных пакетов или графических программных средств, предусмотренных в той или иной системе автоматизированного проектирования.
4.Словесное описание алгоритма умножения
В данном курсовом проекте разрабатывается вычислительное устройство для умножения двоичных чисел, начиная со старших разрядов множителя со сдвигом частного произведения вправо. Этот метод получил наибольшее применение в ЭВМ, т.к. позволяет использовать регистры одинарной длины.
Умножение чисел сводится к последовательности сложения и сдвигов. И произведение вычисляется, как результат суммирования частичных произведений. Умножение наиболее просто организовывается в прямом коде. В этом случае знак результата определяется как сумма знаковых разрядов. Далее производится умножение модулей множитель, и к результату присоединяется знак.
В зависимости от направления продвижения по разрядам множителя выделяют два способа перемножения: старшими или младшими разрядами вперед. Далее в зависимости от подвижности множимого после умножения на каждый разряд выделяют умножение при неподвижном множимом и со сдвигом множимого.
Комбинируя данные способы, можно получить 4 варианта машинной реализации умножения: младшими разрядами вперед со сдвигом множимого влево, младшими разрядами вперед при неподвижном множимом, старшими разрядами вперед со сдвигом множимого вправо, старшими разрядами вперед при неподвижном множимом.
Рассмотрим вариант умножения при неподвижном множимом старшими разрядами вперед. При этом способе умножения содержимое регистров множителя и суммы частичных произведений должно сдвигаться вправо после умножения на каждый очередной разряд множителя, начиная со старшего.
Рисунок 2. - Схема умножения чисел старшими разрядами вперед при неподвижном множимом.
Если цифра множителя равна единице, то к содержимому регистра суммы частичных произведений добавляется множимое и производится сдвиг на один разряд вправо, если нулю - сдвиг регистра суммы частичных произведений. После n циклов в регистре суммы частичных произведений будет находиться 2n-разрядное произведение.
Пример умножения старшими разрядами вперед при неподвижном множимом:
x1x2 = x, где x1=11012=1310, x2=10112=1110.
* |
1 |
1 |
0 |
1 |
||||
1 |
0 |
1 |
1 |
|||||
1 |
1 |
0 |
1 |
|||||
0 |
0 |
0 |
0 |
|||||
+ |
1 |
1 |
0 |
1 |
||||
1 |
1 |
0 |
1 |
|||||
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
Таким образом, x=100011112=14310
Варианты со сдвигом множимого более быстродействующие, однако требует двойной разрядности регистра множимого, что усложняет реализацию. Способы умножения при неподвижном множимом менее производительны, но проще в реализации.
5.Блок-схема алгоритма выполнения операции
Пусть операнды имеют вид:
где ПК - прямой код.
Операция умножения чисел с фиксированной запятой, заданных в прямом коде, со старших разрядов множителя выполняется по следующей формуле:
Рассмотрим алгоритм решения задачи. Пусть имеется два числа:
[X]пк= 1101;
[Y]пк= 1011;
Алгоритм решения задачи имеет вид:
Модули исходных чисел имеют вид:
|X| = 1 1 0 1;
|Y| = 1 0 1 1,
где y1=1, y2=0, y3=1, y4=1.
Пошаговая операция вычисление произведения двух чисел в соответствии с приведенной формулой выглядит следующим образом:
00000000 0
y1 = 1 01101000
01101000
y2 = 0 00000000
01101000
y3 = 1 00011010
10000010
y4 = 1 00001101
10001111
10001111 |Z| = |Z| + |X|*2
Алгоритм вычислений представлен в приложении 1.
Каждой переменной, представленной в алгоритме, в схеме должен соответствовать элемент хранения. Разрядность модуля произведения равна сумме разрядностей сомножителей. Умножение двоичного числа на 2-i обеспечивается сдвигом этого числа вправо на соответствующее количество разрядов. Переход к анализу очередного разряда множителя (i = i + 1) может быть обеспечен сдвигом регистра множителя на один разряд в сторону старших разрядов.
6.Определение набора управляющих сигналов
В соответствии с разработанной блок схемой, определим состав оборудования и управляющие сигналы, необходимого для реализации АЛУ заданного типа для n = 4 (таблица 1).
Таблица 1. Состав оборудования, необходимого для реализации АЛУ
Схема |
Разрядность |
Функции |
Управляющий сигнал |
|
Регистр модуля множимого RGX . |
8 |
Загрузка . Сдвиг в сторону младших разрядов |
УС1 УС2 |
|
Регистр модуля множителя RGY |
4 |
Загрузка. Сдвиг в сторону старших разрядов. |
УС3 УС4 |
|
Регистр модуля результата RGZ |
8 |
Загрузка. Установка в "0". |
УС5 УС6 |
|
АЛУ |
8 |
Комбинационный сумматор |
- |
|
Комбинационные схемы |
Получение на входе АЛУ сигналов "0" или RGX в зависимости от значения yi |
7. Структурная схема устройства
Структурная схема -- это совокупность элементарных звеньев объекта и связей между ними, один из видов графической модели. Под элементарным звеном понимают часть объекта, системы управления и т. д., которая реализует элементарную функцию.
Структурная схема является наименее детализированной. Она предназначена для отражения общей структуры устройства, то есть его основных блоков, узлов, частей и главных связей между ними. Из структурной схемы должно быть понятно, зачем нужно данное устройство и что оно делает в основных режимах работы, как взаимодействуют его части. Обозначение структурной схемы могут быть достаточно свободными.
Структурная схема АЛУ для умножения 4-разрядных целых двоичных чисел без знака представлена в приложении 3.
8. Временная диаграмма управляющих сигналов
Для описания работы вычислителя и принципов выполнения команд удобно использовать диаграммы изменения сигналов во времени. Поскольку все рассматриваемые сигналы являются цифровыми, на диаграмме они изображаются в виде условных уровней - низкого и высокого.
Временная диаграмма управляющих сигналов, поступающих на арифметико-логическое устройство, показана в приложении 3.
Работа схемы АЛУ выглядит следующим образом:
Такт 1. Загрузка модулей операндов в регистры RGX, RGY. Сброс в "0" регистра результата RGZ.
Такт 2. Сдвиг регистра RGX на один разряд вправо. Через время, равное задержке на переключение регистров и комбинационных схем, на выходе комбинационного сумматора и, следовательно, на входе регистра RGZ устанавливается результат
Такт 3. Загрузка RGZ:
|Z|=|Z|+y
Такт 4. Сдвиг RGX на 1 разряд вправо:
Сдвиг RGY на 1 разряд влево: i=i+1.
Устройство управления проверяет условие окончания операции: i > n. Такты (5,6), (7,8), (9,10) ... . Повтор действий тактов (3,4) с анализом других значений yi. В такте 10 в регистре RGZ формируется модуль произведения. Такт 10 используется лишь для определения условия окончания операции умножения.
9.Схемное решение устройства управления
Устройство управления схемного типа состоит из:
· датчика сигналов, вырабатывающего последовательность импульсов, равномерно распределенную во времени по своим шинам;
· блока управления операциями, осуществляющего выработку управляющих сигналов, то есть коммутацию сигналов, поступающих с ДС, в соответствующем такте на нужную управляющую шину;
· дешифратора кода операций, который дешифрирует код операции команды, присутствующей в данный момент в регистре команд, и возбуждает одну шину, соответствующую данной операции; этот сигнал используется блоком управления операциями для выработки нужной последовательности управляющих сигналов.
Микропрограммное устройство управления представлено в приложении 4. Преобразователь адреса микрокоманды преобразует код операции команды, присутствующей в данный момент в регистре команд, в начальный адрес микропрограммы, реализующей данную операцию, а также определяет адрес следующей микрокоманды выполняемой микропрограммы по значению адресной части текущей микрокоманды.
10. Микропрограмма выполнения команды умножения
Микропрограмма выполнения операции умножения представлена в таблице 2.
Таблица 2. Микропрограмма выполнения команды умножения
Адресс МК |
УС1 |
УС2 |
УС3 |
УС4 |
УС5 |
УС6 |
Сигнал записи в РК |
Адрес следующей МК |
|
100 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
101 |
|
101 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
102 |
|
102 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
103 |
|
103 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
104 |
|
104 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
Х |
Заключение
В ходе курсового проекта был разработано вычислительное устройство для выполнения умножения двоичных чисел с фиксированной запятой, без знака, представленных в прямом коде. Был разработан алгоритм выполнения операции, построена структурная схема АЛУ, временная диаграмма управляющих сигналов, а также составлена функциональная схема устройства управления.
Все пункты курсового задания были выполнены.
Список использованных источников
1. Базарова С.Б-М., Чемерисюк А.С., Тулохонов Э.А., Гомбоев Е.Ш., Варфоломеев А.В. Выполнение арифметических операций в АЛУ для чисел с фиксированной запятой. Часть I: Практическое пособие - ВСГТУ. - Улан-Удэ 2006.-77 с
2. Каган Б.М. Электронные вычислительные машины и системы: Учеб.пособие. - М.: Энергоатомиздат, 1995. - 547с.
3. Луцик Ю.А. Арифметические и логические основы вычислительной техники: Учеб. пособие по курсу «Арифметические и логические основы вычислительной техники» для студентов специальности «Вычислительные машины, системы и сети» всех форм обучения. - Мн.: БГУИР, 2004. - 121с.
4. Проектирование цифровых систем на комплектах микропрограммируемых БИС / Под ред. Колесникова И.Г. - М.: Радио и связь, 1984. - 537с.
5. Савельев А.Я. Прикладная теория цифровых автоматов. - М.: Высшая школа, 1987. - 272 с.
6. Спиридонов В.В. Проектирование структур АЛУ: Учебное пособие. - СПб.: СЗПИ, 192.72 с.
Приложение
Структурная схема АЛУ
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Блок-схема алгоритма выполнения операции умножения
Временная диаграмма управляющих сигналов.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Функциональная схема устройства управления.
Размещено на Allbest.ru
Подобные документы
Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.
курсовая работа [169,3 K], добавлен 25.12.2012Разработка алгоритма работы блока сложения дробных двоичных чисел в обратном модифицированном коде с фиксированной запятой. Определение состава узлов и управляющих сигналов блока по схеме электрической функциональной, описание его принципа работы.
реферат [415,8 K], добавлен 29.11.2010Разработка устройства обработки и передачи информации для суммирования двоичных чисел в дополнительном коде. Разработка алгоритма выполнения операций и структурной схемы. Составление временной диаграммы управляющих сигналов, расчет быстродействия.
курсовая работа [32,0 K], добавлен 16.08.2012Схема алгоритма работы устройства сравнения трех чисел, структурная, функциональная и принципиальная схемы. Оценка параметров устройства. Схемы задержки и сброса по питанию, комбинационная схема определения среднего числа. Построение временной диаграммы.
курсовая работа [205,0 K], добавлен 24.06.2013Обобщенная структура центрального процессора. Основные характеристики и классификация устройств управления. Структура арифметико-логического устройства для сложения, вычитания и умножения чисел с фиксированной запятой. Параллельные вычислительные системы.
шпаргалка [688,3 K], добавлен 24.06.2009Операционный блок микропроцессора, арифметические операции с целыми операндами. Пути увеличения производительности арифметико-логического устройства за счет параллельной обработки различных команд выполняемой программы. Сумматор частичных произведений.
контрольная работа [56,5 K], добавлен 05.09.2010Разработка устройства, выполняющее следующие операции: загрузку операндов, алгебраическое вычитание чисел с фиксированной точкой в модифицированных дополнительных кодах и выдачу результата. Функциональная микропрограмма работы операционного устройства.
курсовая работа [2,7 M], добавлен 14.02.2012Выбор принципов проектирования устройства записи, хранения и передачи чисел. Разработка алгоритма выполнения операций, необходимых для обработки информации. Структурная схема устройства. Элементарная база, необходимая для разработки принципиальной схемы.
курсовая работа [1,3 M], добавлен 16.08.2012Функциональная схема и алгоритм работы устройства. Техническое обоснование выбора серии ИМС. Состав и описание работы узлов устройства. Расчёт необходимых сопротивлений резисторов, потребляемой мощности и тока. Построение и анализ временных диаграмм.
курсовая работа [311,7 K], добавлен 19.05.2011Выполнение операции деления в ЭВМ. Умножение чисел, представленных в форме с плавающей запятой. Методы ускорения операции умножения. Матричный метод умножения. Деление чисел в машинах с плавающей запятой. Деление чисел с восстановлением остатков.
реферат [49,4 K], добавлен 18.01.2011