Часть III. Описание архитектуры учебной эвм
Скачать 2.15 Mb.
|
ГЛАВА 10 Курсовая работа 10.1. Цель и содержание работы Целью курсовой работы является: □ обобщение, закрепление и углубление знаний по дисциплинам, связанным с проектированием средств ВТ; формирование навыков разработки и оформления текстовой и графической технической документации; □ развитие навыков устных сообщений по содержанию работы. Содержанием курсовой работы является разработка арифметико-логического устройства (АЛУ), реализующего заданный набор операций с учетом ограничений на код выполнения операций и способ построения управляющего автомата. 10.2. Задания Задания на курсовую работу включают в себя некоторый набор исходных данных и ограничений для проектирования АЛУ. Все варианты задания сведены в табл. 10.1. Строка таблицы представляет один вариант задания, причем номер варианта определяется номером группы (1—2) и порядковым номером студента по списку группы (1—25). Разрабатываемое АЛУ должно выполнять одну арифметическую и одну поразрядную бинарную логическую операцию, причем на способ выполнения арифметической операции заданием накладываются некоторые ограничения. Варианты операций обозначаются в табл. 10.1 следующим образом: ± — алгебраическое сложение/вычитание; — умножение обыкновенное; Таблица 10.1. Варианты курсовых заданий 2 — умножение ускоренное (с анализом двух разрядов множителя); 1 —деление с восстановлением остатка; 2 — деление без восстановления остатка; — дизъюнкция; & — конъюнкция; — неравнозначность; — эквивалентность. Для всех вариантов заданий исходные данные (операнды) поступают в формате 16-разрядных двоичных чисел с фиксированной запятой, представленных в прямом коде [a0a1…a15]d, [b0b1…b15]d причем нулевой разряд является знаковым и запятая фиксирована после знакового разряда. Таким образом, в арифметических операциях участвуют правильные дроби со своими знаками (в логических операциях, естественно, положение запятой и знак игнорируются, операции выполняются над 16-разрядными двоичными векторами). Соответственно, результат операции должен быть представлен в той же форме: [c0c1…c15]d. В задании вводится ограничение на код выполнения операции (столбец Код ВО в табл. 10.1). Если код ВО отличается от прямого — обратный (ОК) или дополнительный (ДК), то при выполнении арифметической операции следует перевести операнды в заданный код, выполнить в нем операцию, а результат вновь перевести в прямой код. Логические операции, естественно, выполняются без всякого преобразования. Результатом выполнения операции в АЛУ должно быть не только значение суммы (произведения, конъюнкции и др.) но и признаки результата (флаги). Каждый вариант задания предполагает формирования двух различных флагов (заданных в столбце Флаги табл. 10.1) из приведенного ниже множества. Z — признак нулевого результата; Р — признак четности числа единиц в результате; С — признак переноса (заема) из старшего разряда; OV — признак арифметического переполнения. В столбце Тип УА задан номер типа управляющего автомата, который необходимо использовать при проектировании заданного АЛУ. Список типов УА приведен ниже. 1 — "жесткая логика", автомат Мура; 2 — "жесткая логика", автомат Мили; 3 — программируемая логика, единый формат микрокоманды, принудительная адресация; 4— программируемая логика, единый формат микрокоманды, естественная адресация; 5— программируемая логика, различные форматы для операционных микрокоманд и микрокоманд перехода, естественная адресация; 6 — программируемая логика, различные форматы для операционных микрокоманд и микрокоманд перехода, принудительная адресация. В задании не определены ограничения на базис логических, операционных элементов и элементов памяти. Поэтому при разработке структурных и функциональных схем можно использовать любые стандартные логические и операционные элементы. 10.3. Этапы выполнения работы В главе 4 настоящего пособия подробно рассматривается процесс проектирования цифрового устройства. При проектировании его удобно представить в виде композиции операционного и управляющего автоматов (см. разд. 4.2). Тогда процесс проектирования устройства сводится к процедурам последовательного проектирования операционного и управляющего автоматов. Здесь можно выделить следующие этапы: Разработка алгоритмов выполняемых операций. На этом этапе следует определить список входных, выходных и внутренних переменных и выбрать коды выполняемых операций. Поскольку все задания предполагают реализацию одной/двух арифметических и одной логической операций, целесообразно представить все алгоритмы в форме объединенной ГСА. Разработка структуры операционного автомата— определение состава элементов и связей между ними. Разработка структуры нестандартных элементов. Результатом работы на этом этапе должна стать структурная (функциональная) схема операционного автомата, а также функциональные схемы всех использованных в ОА нестандартных элементов. Определение списка микроопераций и логических условий. Необходимо сопоставить каждому оператору из ГСА микрокоманду или группу микрокоманд, обеспечивающих реализацию этого оператора на разработанной ранее структуре. На этом этапе возможно расширение набора элементов и/или связей структуры, если без такого расширения не удается реализовать все операторы ГСА. Кроме того, необходимо определить, где будут формироваться значения логических переменных, которые анализируются в логических вершинах ГСА и при необходимости предусмотреть специальные элементы структуры для формирования этих значений. Результат работы на этом этапе — списки микроопераций и логических условий ОА. Разработка микропрограммы выполнения заданных операций на выбранной структуре ОА. В простейшем случае можно сохранить топологию графа алгоритма и просто заменить операторы во всех операторных вершинах на соответствующие микрооперации, а условия, которые анализируются в условных вершинах — на соответствующие логические условия из списка, полученного на предыдущем этапе. Однако при переходе от ГСА к микропрограмме следует всегда стремиться к уменьшению числа (операторных) вершин, что, в свою очередь, приведет к упрощению схемы управляющего автомата. Достигнуть этого можно, например, совмещением двух или более операторных вершин ГСА в одну вершину микропрограммы, если смысл реализуемого алгоритма и разработанная ранее структура операционного автомата позволяют выполнить эти действия одновременно. Разработанная на этом этапе микропрограмма является исходной для проектирования управляющего автомата. На этом заканчивается процесс разработки операционного автомата. Этапы разработки управляющего автомата различны в зависимости от его типа. Для разработки микропрограммного автомата с "жесткой" логикой следует: Осуществить разметку микропрограммы. Эта процедура устанавливает соответствие между вершинами микропрограммы и состояниями автомата. В разд. 4.4.1 настоящего пособия описано, как осуществлять разметку микропрограммы для проектирования автомата Мура и автомата Мили. Построить граф автомата. Граф автомата строят по размеченной микропрограмме, причем вершины графа соответствуют состояниям автомата, а ребра — переходам, на этом этапе можно не показывать на графе функцию переходов. Выбрать тип элемента памяти, закодировать состояния автомата. Составить автоматную таблицу переходов. Пример построения такой таблицы для случая использования в качестве элементов памяти D-триггеров приведен в разд. 4.4.1. Аналогичный формат имеет таблица при использовании Т-триггеров. Если в качестве элемента памяти автомата выбран RS-триггер, в каждом разряде необходимо сформировать две функции возбуждения — для R- и S-входов. Определить функции возбуждения для переключения элементов памяти. Автоматная таблица может рассматриваться как таблица истинности, задающая функции возбуждения для входов элементов памяти автомата. Все функции возбуждения в общем случае зависят от значений элементов памяти Тj и значений логических условий Xj. При необходимости можно для каждой из функций построить карту Карно и записать ее минимальное выражение. Иногда проще бывает предварительно дешифрировать состояния автомата и записать функции возбуждения в зависимости от текущего состояния автомата и слова логических условий. Определить функции выходов, формирующие значения микроопераций. Для автомата Мура функция выходов в каждом такте дискретного времени зависит только от текущего состояния автомата и значение выхода определяется содержимым операторной вершины микропрограммы, соответствующей этому состоянию автомата. В автомате Мили выходное слово соответствует содержимому той операторной вершины микропрограммы, через которую осуществляется переход из текущего состояния автомата в следующее. Поэтому функция выходов автомата Мили, как и его функция переходов, зависит от текущего состояния автомата и слова логических условий. Построить функциональную схему УА. Получив выражения для функций возбуждения и выходов, можно построить функциональную схему управляющего автомата с использованием выбранных элементов памяти и стандартного базиса логических и операционных элементов. Для разработки микропрограммного автомата с программируемой логикой следует: Разбить множество микроопераций на подмножества попарно-несовместимых микроопераций (этот пункт не выполняется, если выбран "вертикальный" или "горизонтальный" способ кодирования поля микроопераций). Определить формат микрокоманды (микрокоманд). Разработать функциональную схему управляющего автомата. Заполнить таблицу программирования ПЗУ микрокоманд. Проектирование управляющего автомата с программируемой логикой с различными способами адресации микрокоманд и кодирования микроопераций подробно описаны в разд. 4.4.2. 10.4. Содержание пояснительной записки Пояснительная записка к курсовой работе должна включать следующую информацию (для вариантов с управляющими автоматами с "жесткой" логикой): Титульный лист. Задание на проектирование АЛУ. Форматы входных, выходных и внутренних переменных, с которыми оперирует АЛУ. ГСА выполняемых операций и объединенную ГСА. Структурную схему операционного автомата АЛУ. Функциональные схемы "нестандартных" элементов ОА. При необходимости привести процедуры синтеза операционных элементов (например, карты Карно для минимизации булевых функций). Список микроопераций, реализуемых в ОА. Список логических условий, формируемых в ОА. Микропрограмму выполняемых в АЛУ операций в терминах микроопераций и логических условий с разметкой состояний для проектирования управляющего автомата. Граф автомата. Таблицу кодирования внутренних состояний автомата. Описание выбранного элемента памяти (триггера) и его таблица функционирования. Автоматную таблицу переходов. Выражения для функций возбуждения элементов памяти (при необходимости — процедуру минимизации). Выражения для функций выходов управляющего автомата. Функциональную схему управляющего автомата. Заключение. Библиографический список. Для вариантов с управляющими автоматами с программируемой логикой вместо информации, приведенной в пп. 9—16, необходимо включить: Микропрограмму выполняемых в АЛУ операций в терминах микроопераций и логических условий. Формат или форматы микрокоманд с указанием размеров и назначения нолей. Разбиение множества микроопераций ОА на подмножества несовместимых микроопераций. Функциональную схему управляющего автомата. Таблицу программирования ПЗУ микрокоманд. |