Алгоритм решения задач
Содержание - Введение
- 1 Алгоритм решения функциональной задачи
- 2 Выбор системы команд специализированной ЭВМ
- 3 Форматы команд и операндов
- 4 Содержательные графы микропрограмм операций АЛУ
- 5 Разработка объединенной микропрограммы работы АЛУ
- 6 Закодированные алгоритмы микропрограмм
- 7 Проектирование управляющего автомата
ВведениеЦелью курсового проектирования является закрепление знаний по курсу: «Организация ЭВМ и систем» , полученных в результате изучения лекционного курса и выполнения лабораторного практикума. Объектом курсового проектирования является процессор специализированной ЭВМ. В процессоре выделяют устройство, в котором выполняются все основные (арифметические и логические) операции. Это устройство называют арифметико-логическим устройством (АЛУ). Если все основные операции выполняются за один такт (это имеет место в большинстве современных микропроцессоров), АЛУ является частью операционного автомата процессора; если же некоторые или все основные операции выполняются алгоритмически за много тактов, АЛУ имеет собственное устройство управления. Разработка процессора специализированной ЭВМ включает в себя следующие этапы: - Разработка алгоритма решения функциональной задачи. - Выбор системы команд специализированной ЭВМ. - Определение форматов команд и операндов. - Разработка алгоритмов микропрограмм выполнения минимально необходимого набора операций АЛУ. - Разработка объединенной микропрограммы работы АЛУ. - Разработка структурной схемы операционного автомата АЛУ. - Разработка управляющего автомата АЛУ. 1 Алгоритм решения функциональной задачиУкрупненный алгоритм решения поставленной задачи представлен на рисунке 1.1. Алгоритм вычисления функций F приведен соответственно на рисунке 1.2. Рис.1.1 Укрупненный алгоритм Для вычисления функции F можно воспользоваться степенным рядом: Функция Arth(x) разлагается [3] в степенной ряд: Этот ряд сходится при |x|<1, . Сумму ряда удобно находить с помощью рекуррентных соотношений. Общий член ряда выражается в данном случае через предыдущий член ряда с помощью равенства: 2 Выбор системы команд специализированной ЭВМДля двухадресной системы команд без признака засылки основные операции над двумя операндами будут выглядеть так: , где А1 - первый адрес в команде; А2 - второй адрес в команде; * - обозначение операции. Введем обозначение: N . Наименование операции . X . Y X - первый операнд и результат операции. Y - второй операнд (если он не участвует, то ставится -). Для двухадресной системы команд без признака засылки программа будет выглядеть так: Часть команд в этой программе имеют два адреса, а часть - один адрес, поэтому и система команд ЭВМ должна состоять из одноадресных и двухадресных команд. 3 Форматы команд и операндовБудем считать, что оперативная память (ОП) состоит из 256 ячеек длиной в один байт каждая. Двухадресная система команд без признака засылки содержит 13 различных наименований команд, для кодирования которых поле КО должно иметь 4 разряда. Поскольку в данном случае имеются одноадресные команды и двухадресные команды, для их различия введено одноразрядное поле кода длины команды (КДК) и принято считать: КДК=1 - для одноадресных и КДК=0 - для двухадресных команд. Разряды 5-7 первого байта всех команд здесь не используются. Формат команд приведен на рисунке 3.1. В качестве операнда будет использоваться 16-разрядное слово, запятая считается фиксированной перед старшим разрядом, а ОП оперирует с однобайтовыми словами. Формат операнда в ОП представлен на рисунке 3.2: Такой операнд загружается за два обращения к ОП, здесь старшие разряды операнды и знак содержатся в первом байте, а младшие разряды - во втором. 4 Содержательные графы микропрограмм операций АЛУЧисла представляются в 16-разрядном формате, старший (нулевой) разряд используется для представления знака числа, для операции сложения используется модифицированный дополнительный код, поэтому регистр RG имеет 17 разрядов (0:16) (поле RG(1:16) - для хранения первого слагаемого), регистр RG1 имеет 16 разрядов RG1(0:15) - для второго слагаемого, одноразрядному полю признака переполнения изначально присвоено нулевое значение, при операции сложения слагаемые помещаются по младшим разрядам, результат (сумма) помещается в поле RG(1:16), прибавление константы означает прибавление 1 к младшему разряду слова. Содержательный алгоритм сложения представлен на рисунке 4.1: Рисунок 4.1 - Алгоритм операции сложения Описание слов, использованных в микропрограмме сложения, представлены в таблице 4.1: Таблица 4.1 |
Тип | Слово | Пояснение | | ILO | RG(0:16) | Слагаемое (Сумма) | | IL | RG1(0:16) | Слагаемое | | ILO | ПП | Признак переполнения | | |
Содержательный алгоритм вычитания представлен на рисунке 4.2: Рисунок 4.2 - Алгоритм вычитания Описание слов, использованных в микропрограмме вычитания представлены в таблице 4.2: Таблица 4.2 |
Тип | Слово | Пояснение | | ILO | RG(0:16) | Уменьшаемое (разность) | | IL | RG1(0:16) | Вычитаемое | | ILO | ПП | Признак переполнения | | |
Содержательный алгоритмы умножения и деления представлены на рисунках 4.3 и 4.4: Описания слов, использованных в микропрограммах представлены в таблицах 4.3 и 4.4: Таблица 4.3 |
Тип | Слово | Пояснение | | ILO | RG(0:16) | Множитель, произведение | | IL | RG1(0:16) | Множимое | | L | RG2(0:16) | Множитель, произведение | | L | СТ(1:4) | Счетчик циклов | | |
Таблица 4.4 |
Тип | Слово | Пояснение | | ILO | RG(0:16) | Делимое, остаток, частное | | IL | RG1(0:16) | Делитель | | L | RG2(0:16) | Частное | | L | СТ(1:4) | Счетчик | | ILO | ПП | Признак переполнения | | |
Содержательные алгоритмы умножения на 2 и нахождения абсолютной величины числа представлены на рисунке 4.5 и 4.6, а описания слов, использованных в микропрограммах - в таблице 4.5 и 4.6: Рисунок 4.5 - Алгоритм операции «умножение на 2» Рисунок 4.6 - Алгоритм приведения абсолютной величины числа Таблица 4.5 |
Тип | Слово | Пояснение | | ILO | RG(2:16) | Операнд | | ILO | ПП | Признак переполнения | | |
Таблица 4.6 |
Тип | Слово | Пояснение | | ILO | RG(0:1) | Операнд | | |
Содержательный алгоритм микропрограммы специальной функции Arth(x) представлен на рисунке 4.7, здесь до начала выполнения программы регистру RG4 присваивается значение X. Описания слов, использованных в микропрограмме - в таблице 4.7: Таблица 4.7 |
Тип | Слово | Пояснение | | ILO | RG(0:16) | Переменная x,n,b,a,F множитель, произведение, делимое, остаток, частное, слагаемое, сумма, уменьшаемое, разность | | IL | RG1(0:15) | Переменная F,b,a константа, Множимое, делитель, слагаемое, вычитаемое | | L | RG2(0:16) | Множитель, произведение, частное | | L | RG3(0:15) | Переменная F | | L | RG4(0:15) | Переменная x,a,b | | L | RG5(0:15) | Переменная n | | L | CT(1:4) | Счетчик | | ILO | ПП | Признак переполнения | | |
Теперь необходимо составить схему укрупненного алгоритма, используя уже полученную микропрограмму вычисления функции Arth(x). Предполагается, что переменные x1, x2 и x3 перед началом выполнения программы уже будут загружены соответственно в регистры RG4, RG3 и RG5. Данная схема алгоритма представлена на рисунке 4.8: Рисунок 4.8 - Схема алгоритма В таблице 4.8 представлено описание слов, использованных в программе. Так как описание слов для микропрограммы вычисления специальной функции было представлено в таблице 4.7, здесь приводится описание только тех слов, которые принимали значения отличные от тех, что использовались в алгоритме на рисунке 4.7. Таблица 4.8 |
Тип | Слово | Пояснение | | ILO | RG(0:16) | Переменная x1, x2,X делимое, остаток, частное, уменьшаемое, разность абсолютная величина числа | | IL | RG1(0:15) | Переменная x2, x3 константа, делитель, вычитаемое | | L | RG3(0:15) | Переменная x2 | | L | RG4(0:15) | Переменная x1, X | | L | RG5(0:15) | Переменная x3 | | | 5 Разработка объединенной микропрограммы работы АЛУПроцессор состоит из АЛУ и УЦУ. В объединенном списке микроопераций, используемых в микропрограммах минимального набора операций АЛУ, для унификации формы записи различных операций и форматов одноименных слов следует по сравнению с рисунком 4.3 изменить три микрооперации:
Страницы: 1, 2
|