|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Алгоритм решения задачАлгоритм решения задачСодержание
Целью курсового проектирования является закрепление знаний по курсу: «Организация ЭВМ и систем» , полученных в результате изучения лекционного курса и выполнения лабораторного практикума. Объектом курсового проектирования является процессор специализированной ЭВМ. В процессоре выделяют устройство, в котором выполняются все основные (арифметические и логические) операции. Это устройство называют арифметико-логическим устройством (АЛУ). Если все основные операции выполняются за один такт (это имеет место в большинстве современных микропроцессоров), АЛУ является частью операционного автомата процессора; если же некоторые или все основные операции выполняются алгоритмически за много тактов, АЛУ имеет собственное устройство управления. Разработка процессора специализированной ЭВМ включает в себя следующие этапы: - Разработка алгоритма решения функциональной задачи. - Выбор системы команд специализированной ЭВМ. - Определение форматов команд и операндов. - Разработка алгоритмов микропрограмм выполнения минимально необходимого набора операций АЛУ. - Разработка объединенной микропрограммы работы АЛУ. - Разработка структурной схемы операционного автомата АЛУ. - Разработка управляющего автомата АЛУ. 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
Содержательный алгоритм вычитания представлен на рисунке 4.2: Рисунок 4.2 - Алгоритм вычитания Описание слов, использованных в микропрограмме вычитания представлены в таблице 4.2: Таблица 4.2
Содержательный алгоритмы умножения и деления представлены на рисунках 4.3 и 4.4: Описания слов, использованных в микропрограммах представлены в таблицах 4.3 и 4.4: Таблица 4.3
Таблица 4.4
Содержательные алгоритмы умножения на 2 и нахождения абсолютной величины числа представлены на рисунке 4.5 и 4.6, а описания слов, использованных в микропрограммах - в таблице 4.5 и 4.6: Рисунок 4.5 - Алгоритм операции «умножение на 2» Рисунок 4.6 - Алгоритм приведения абсолютной величины числа Таблица 4.5
Таблица 4.6
Содержательный алгоритм микропрограммы специальной функции Arth(x) представлен на рисунке 4.7, здесь до начала выполнения программы регистру RG4 присваивается значение X. Описания слов, использованных в микропрограмме - в таблице 4.7: Таблица 4.7
Теперь необходимо составить схему укрупненного алгоритма, используя уже полученную микропрограмму вычисления функции Arth(x). Предполагается, что переменные x1, x2 и x3 перед началом выполнения программы уже будут загружены соответственно в регистры RG4, RG3 и RG5. Данная схема алгоритма представлена на рисунке 4.8: Рисунок 4.8 - Схема алгоритма В таблице 4.8 представлено описание слов, использованных в программе. Так как описание слов для микропрограммы вычисления специальной функции было представлено в таблице 4.7, здесь приводится описание только тех слов, которые принимали значения отличные от тех, что использовались в алгоритме на рисунке 4.7. Таблица 4.8
Процессор состоит из АЛУ и УЦУ. В объединенном списке микроопераций, используемых в микропрограммах минимального набора операций АЛУ, для унификации формы записи различных операций и форматов одноименных слов следует по сравнению с рисунком 4.3 изменить три микрооперации: - для вершины 2 вместо микрооперации RG2 := RG нужно использовать микрооперацию RG2 := RG(1:16).0; - для вершины 6 вместо микрооперации RG2(1:15):=R1(RG (15).RG2(1:15)) - использовать микрооперацию RG2(1:15):=R1(RG(16).RG2(1:16); - вместо микрооперации RG(0):=1 в вершине 11 - использовать микрооперацию RG(0:1):=11. Благодаря этим изменениям значение числовой части результата каждой операции присваивается полю RG(2:16) слова RG, а нулевой и первый разряды этого слова используются для представления знака числа. Появляется возможность считать, что перед началом каждой операции над двумя операндами в АЛУ значение первого операнда присваивается полю RG(1:16) слова RG, а значение второго операнда - слову RG1. При выполнении этого условия перед началом сложения и вычитания необходимо произвести присваивание RG(0) := RG(1), перед началом умножения нужно осуществить передачу RG2 := RG(1:16).0, а перед делением - микрооперации RG2(0):= RG(1) и RG(0:1):= 00. В таблице 5.1 приведен список логических условий, используемых в микропрограммах: Таблица 5.1
В таблице 5.2 приведен список микроопераций, используемых в микропрограммах: Таблица 5.2
В приложениях 1, 2 и 3 приведена соответственно схема объединенной микропрограммы работы АЛУ, закодированная схема объединенной микропрограммы работы АЛУ и структурная схема операционного автомата. 6 Закодированные алгоритмы микропрограммЗакодированные алгоритмы сложения, вычитания, умножения, деления, умножения на «2» и выделения абсолютной величины числа представлены соответственно на рисунках 6.1, 6.2, 6.3, 6.4, 6.5 и 6.6: 7 Проектирование управляющего автоматаФормат микрокоманды при вертикальном кодировании имеет формат, представленный на рисунке 7.1: Формат команды с принудительной адресацией представлен на рисунке 7.2: Алгорим формирования исполнительного адреса обращения к микропрограммной памяти (МПП) представлен на рисунке 7.3: Рисунок 7.3 - Алгоритм формирования адреса В таблице 7.1 приведены все микрооперации, расположенные в микропрограммной памяти, где адрес A0 - переход по «истина»: Таблица 7.1
Продолжение таблицы 7.1
|
РЕКЛАМА
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |