Разработка операционного устройства
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Курсовой проект
по диiиплине
Теория автоматов
Разработка операционного устройства
Санкт-Петербург 2009 г.
Аннотация
В вычислительной технике применяются так называемые операционные устройства. Эти устройства могут выполнять различные микрооперации над кодовыми словами. Любая операция может быть представлена конечной последовательностью действий, эти действия называются микрооперациями. На порядок выполнения микроопераций оказывают влияние логические условия.
В данной работе проводится проектирование операционного устройства, реализующего операцию: получение операнда A (1:24); получение операнда B (1:24); выдачу результата C (1:24); алгебраическое вычитание для чисел с фиксированной точкой в простых дополнительных кодах. Используется канонический метод синтеза комбинационных схем, управляющий автомат разрабатывается с жесткой логикой.
Введение
Любой сложный преобразователь дискретный информации может быть представлен в виде совокупности операционных устройств (ОУ) и интерфейса (сопряжения этих устройств).
Функцией ОУ является выполнение фиксированного множества операций F={f1, f2., fG} над множеством входных слов D={d1, d2,тАж. dH} для вычисления слов R = {r1, r2,тАж, rQ}, которые являются результатами операций из множества F. В течение определенного отрезка времени устройство может реализовать только одну операцию R=fg(D), которая определяется кодом операции (номером) g=1, 2., G. Функцию ОУ можно представить в виде R=W(D), где
ОУ объединяются в структуру с помощью цепей, по которым передаются электрические сигналы. Одна цепь передает в один момент времени бит информации (01). Совокупность цепей, связывающих два ОУ и алгоритм, определяющий порядок передачи информации между ОУ, называется интерфейсом. Обычно ОУ представляют в виде двух автоматов: операционного автомата (ОА) и управляющего автомата (УА). ОА выполняет действия над словами информации - хранение, реализацию МКО и вычисление ЛУ - и, таким образом, является исполнительной частью ОУ. УА генерирует последовательность управляющих сигналов, которая определена микропрограммой и соответствует значениям ЛУ и, следовательно, задает порядок выполнения МКО в ОА.
На рисунке 1 представлена упрощенная структура ОУ. D - множество входных слов, R - множество выходных слов, Y - множество микроопераций, X - множество логических условий, g - код операции fg.
Рис. 1. Упрощенная структура ОУ
1. Определение функций операционного устройства
1.1 Анализ алгоритма заданной операции
Алгоритм операции:
1.Начало.
2.Слову П(1) присвоить значение 0.
.Изменить знак вычитаемого на противоположный.
.Образовать дополнительные коды слов А и В.
.Слову С присвоить значение суммы слов А и В.
.Знаковые разряды слов А и В равны?
ДА: перейти к п. 7,
НЕТ: перейти к п. 9.
7.Знаковые разряды слов С и А равны?
ДА: перейти к п. 8,
НЕТ: перейти к п. 10.
8.Имеется особый случай переполнения?
ДА: перейти к п. 10,
НЕТ: перейти к п. 9.
9.Образовать прямой код результата и перейти к п. 11.
10.Слову П(1) присвоить значение 1 и перейти к п. 11.
.Конец.
Для проектирования ОУ, необходимо было удостовериться в правильности алгоритма, для этого была осуществлена проверка (смотри таблицу 1).
Таблица 1. Проверка алгоритма
Пункт алгоритмаДействие и результатПункт переходаКомментарии1. A (1:5) = 1.10112 = -11; B (1:5) = 1.01112 = -7Сложение без переполнения; знаки операндов А и В отрицательные2П (1) = 03Слову П(1) присвоить значение 03В (1) = В (1)4Изменить знак вычитаемого на противоположный4A (1:5) = 1.0101 B (1:5) = 0.01115Образовать дополнительные коды слов А и В5С (1:5) = A (1:5) + B (1:5) A (1:5) = 1.0101 B (1:5) = 0.0111 C (1:5) = 1.11006Слову С присвоить значение суммы слов А и В6А (1) = 1; В (1) = 0 А (1) В (1) = 19Проверка на совпадение знаковых разрядов слов А и В9С (1:5) = 1.01002 = -411Образовать прямой код результата11Конец2. А (1:5) = 0.10112 = 11; B (1:5) = 0.01112 = 7Сложение без переполнения; знаки операндов А и В положительные2П(1) = 03Слову П(1) присвоить значение 03В (1) = В (1)4Изменить знак вычитаемого на противоположный4А (1:5) = 0.1011 В (1:5) = 1.10015Образовать дополнительные коды слов А и В5С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.1011 B (1:5) = 1.1001 C (1:5) = 10.0100 = 0.01006Слову С присвоить значение суммы слов А и В6А (1) = 0; В (1) = 1 А (1) В (1) = 19Проверка на совпадение знаковых разрядов слов А и В9С (1:5) = 0.01002 = 411Образовать прямой код результата11Конец3. A (1:5) = 0.10112 = 11; B (1:5) = 1.00112 = -3Сложение без переполнения; знак операнда А положительный, а В отрицательный2П (1) = 03Слову П(1) присвоить значение 03В (1) = В (1)4Изменить знак вычитаемого на противоположный4А (1:5) = 0.1011 В (1:5) = 0.00115Образовать дополнительные коды слов А и В5С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.1011 B (1:5) = 0.0011 C (1:5) = 0.11106Слову С присвоить значение суммы слов А и В6А (1) = 0; В (1) = 0 А (1) В (1) = 07Проверка на совпадение знаковых разрядов слов А и В7С (1) = 0; A (1) = 0 С (1) А (1) = 08Проверка на совпадение знаковых разрядов слов А и С8С(1).C (2:5) = 1.1110 9Проверка особого случая переполнения9С (1:5) = 0.11102 = 1411Образовать прямой код результата11Конец4. А (1:5) = 1.10112 = -11; В (1:5) = 0.00112 = 3Сложение без переполнения; знак операнда А отрицательный, а В положительный2П (1) = 03Слову П(1) присвоить значение 03В (1) = В (1)4Изменить знак вычитаемого на противоположный4А (1: