- •Введение
- •1 Определение функций операционного устройства
- •1.1 Анализ алгоритма заданной операции
- •1.2 Функциональная микропрограмма работы оу
- •1.3 Определение функции операционного автомата
- •1.4 Определение функции управляющего автомата
- •2 Синтез функциональной схемы операционного автомата
- •2.1 Разработка структурной схемы оа
- •2.2 Синтез функциональной схемы оа
- •2.2.1 Синтез регистра a
- •2.2.2 Синтез регистра b
- •2.2.3 Синтез регистра с
- •2.2.4 Синтез регистра п
- •2.3 Синтез функциональной схемы для вычисления логических условий
- •3 Синтез функциональной схемы управляющего автомата
- •3.1 Структурная схема уа
- •3.2 Функциональная схема уа
- •4 Функциональная схема операционного устройства
- •Заключение
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
Федеральное государственное образовательное учреждение высшего профессионального образования
«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ»
Кафедра «Информационные и вычислительные системы»
Дисциплина: «Теория автоматов»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
на тему:
«РАЗРАБОТКА ОПЕРАЦИОННОГО УСТРОЙСТВА»
Выполнил студент
факультета УПП
группы УПП-001
480808 ______________ /Козлов А.О./
/номер зачетной книжки / подпись, дата
Санкт-Петербург
2010
Реферат
Отчет 40 с., 4 ч., 22 рис., 18 табл., 1 приложение.
ОПЕРАЦИОННОЕ УСТРОЙСТВО, ОПЕРАЦИОННЫЙ АВТОМАТ, УПРАВЛЯЮЩИЙ АВТОМАТ, РЕГИСТР, ТРИГГЕР, ФУНКЦИОНАЛЬНАЯ СХЕМА, СТРУКТУРНАЯ СХЕМА
Объектом исследования является операционное устройство.
Цель работы - проектирование операционного устройства, реализующего операцию: получение операнда A(1:16); получение операнда B(1:16); выдачу результата C(1:16); алгебраическое вычитание для чисел с фиксированной точкой в простых обратных кодах.
Используется канонический метод синтеза комбинационных схем, управляющий автомат разрабатывается с жесткой логикой.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ 4
1 ОПРЕДЕЛЕНИЕ ФУНКЦИЙ ОПЕРАЦИОННОГО УСТРОЙСТВА 5
1.1 Анализ алгоритма заданной операции 5
1.2 Функциональная микропрограмма работы ОУ 9
1.3 Определение функции операционного автомата 11
1.4 Определение функции управляющего автомата 11
2 СИНТЕЗ ФУНКЦИОНАЛЬНОЙ СХЕМЫ ОПЕРАЦИОННОГО АВТОМАТА 13
2.1 Разработка структурной схемы ОА 13
2.2 Синтез функциональной схемы ОА 15
2.2.1 Синтез регистра A 15
2.2.2 Синтез регистра B 18
2.2.3 Синтез регистра С 19
2.2.4 Синтез регистра П 27
2.3 Синтез функциональной схемы для вычисления логических условий 29
3 СИНТЕЗ ФУНКЦИОНАЛЬНОЙ СХЕМЫ УПРАВЛЯЮЩЕГО АВТОМАТА 30
3.1 Структурная схема УА 32
3.2 Функциональная схема УА 33
4 ФУНКЦИОНАЛЬНАЯ СХЕМА ОПЕРАЦИОННОГО УСТРОЙСТВА 39
ЗАКЛЮЧЕНИЕ 40
Введение
Любой сложный преобразователь дискретный информации может быть представлен в виде совокупности операционных устройств (ОУ) и интерфейса (сопряжения этих устройств).
Функцией ОУ является выполнение фиксированного множества операций F={f1, f2, .,fG} над множеством входных слов D={d1, d2,…. dH} для вычисления слов R = {r1, r2,…,rQ}, которые являются результатами операций из множества F. В течение определенного отрезка времени устройство может реализовать только одну операцию R=fg(D), которая определяется кодом операции (номером) g=1, 2, ., G. Функцию ОУ можно представить в виде R=(D).
ОУ объединяются в структуру с помощью цепей, по которым передаются электрические сигналы. Одна цепь передает в один момент времени бит информации (0 1). Совокупность цепей, связывающих два ОУ и алгоритм, определяющий порядок передачи информации между ОУ, называется интерфейсом. Обычно ОУ представляют в виде двух автоматов: операционного автомата (ОА) и управляющего автомата (УА). ОА выполняет действия над словами информации – хранение, реализацию МКО и вычисление ЛУ – и, таким образом, является исполнительной частью ОУ. УА генерирует последовательность управляющих сигналов, которая определена микропрограммой и соответствует значениям ЛУ и, следовательно, задает порядок выполнения МКО в ОА.
На рисунке 1 представлена упрощенная структура ОУ. D – множество входных слов, R – множество выходных слов, Y – множество микроопераций, X – множество логических условий, g – код операции fg.
Рисунок 1 – Упрощенная структура ОУ
1 Определение функций операционного устройства
1.1 Анализ алгоритма заданной операции
Алгоритм операции:
Начало.
Слову П(1) присвоить значение «0».
Изменить знак вычитаемого на противоположный.
Образовать обратные коды слов А и В.
Слову С(0:16) присвоить значение суммы слов А и В.
Значение разряда С(0) равно 1?
ДА: к значению слова С(1:16) прибавить «1» и перейти к п. 7,
НЕТ: перейти к п. 7.
Знаковые разряды слов В и А равны?
ДА: перейти к п. 8,
НЕТ: перейти к п. 9.
Знаковые разряды слов С и А равны?
ДА: перейти к п. 9,
НЕТ: перейти к п. 10.
Образовать прямой код результата и перейти к п. 11.
Слову П(1) присвоить значение «1» и перейти к п. 11.
Конец.
Для проектирования ОУ, необходимо было удостовериться в правильности алгоритма, для этого была осуществлена проверка (смотри таблицу 1).
Таблица 1. Проверка алгоритма
Пункт |
Действие и результат |
Переход |
Комментарии |
1. A (1:5) = 0.0101 = 5 ; B (1:5) = 0.0011 = 3 |
Случай без переполнения; знаки операндов А и В положительные |
||
2 |
П (1) = 0 |
3 |
Слову П(1) присвоить значение «0» |
3 |
В (1) = В (1) |
4 |
Изменить знак вычитаемого на противоположный |
4 |
A (1:5) = 0.0101 B (1:5) = 1.1100 |
5 |
Образовать обратные коды слов А и В |
5 |
С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.0101 B (1:5) = 1.1100 C (1:5) = 10.0001 |
6 |
Слову С присвоить значение суммы слов А и В |
6 |
С(0) = 1 С(1:5) = С(1:5) + 1 С(1:5) = 0.0001 1 С(1:5)=0.0010 |
7 |
Проверка разряда С(0) |
7 |
А (0) = 0; В (1) = 1 А (0) В (1) = 1 |
9 |
Проверка на совпадение знаковых разрядов слов А и В |
9 |
С (1:5) = 0.0010 = 2 |
11 |
Образовать прямой код результата |
Продолжение Таблицы 1
11 |
Конец |
|
|
2. А (1:5) = 1.0101 = -5 ; B (1:5) = 1.0011 = -3 |
Случай без переполнения; знаки операндов А и В отрицательные |
||
2 |
П(1) = 0 |
3 |
Слову П(1) присвоить значение «0» |
3 |
В (1) = В (1) |
4 |
Изменить знак вычитаемого на противоположный |
4 |
А (1:5) = 1.1010 В (1:5) = 0.0011 |
5 |
Образовать обратные коды слов А и В |
5 |
С (1:5) = A (1:5) + B (1:5) A (1:5) = 1.1010 B (1:5) = 0.0011 C (1:5) = 1.1101 |
6 |
Слову С присвоить значение суммы слов А и В |
6 |
С(0)=0 |
7 |
Проверка разряда С(0) |
7 |
А (1) = 1; В (0) = 0 А (1) В (0) = 1 |
9 |
Проверка на совпадение знаковых разрядов слов А и В |
9 |
С (1:5) = 1.0010 = -2 |
11 |
Образовать прямой код результата |
11 |
Конец |
|
|
3. A (1:5) = 0.0101 = 5 ; B (1:5) = 1.0011 = -3 |
Случай без переполнения; знак операнда А положительный, а В отрицательный |
||
2 |
П (1) = 0 |
3 |
Слову П(1) присвоить значение «0» |
3 |
В (1) = В (1) |
4 |
Изменить знак вычитаемого на противоположный |
4 |
А (1:5) = 0.0101 В (1:5) = 0.0011
|
5 |
Образовать обратные коды слов А и В |
5 |
С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.0101 B (1:5) = 0.0011 C (1:5) = 0.1000 |
6 |
Слову С присвоить значение суммы слов А и В |
6 |
С(0) = 0 |
7 |
Проверка разряда С(0) |
7 |
А (1) = 0; В (1) = 0 А (1) В (1) = 0 |
8 |
Проверка на совпадение знаковых разрядов слов А и В |
8 |
С (1) = 0; A (1) = 0 С (1) А (1) = 0 |
9 |
Проверка на совпадение знаковых разрядов слов А и С |
9 |
С (1:5) = 0.1000 = 8 |
11 |
Образовать прямой код результата |
11 |
Конец |
|
|
Продолжение Таблицы 1
4. А (1:5) = 1.0101 = -5 ; В (1:5) = 0.0011 = 3 |
Случай без переполнения; знак операнда А отрицательный, а В положительный |
||
2 |
П (1) = 0 |
3 |
Слову П(1) присвоить значение «0» |
3 |
В (1) = В (1) |
4 |
Изменить знак вычитаемого на противоположный |
4 |
А (1:5) = 1.1010 В (1:5) = 1.1100 |
5 |
Образовать обратные коды слов А и В |
5 |
С (1:5) = A (1:5) + B (1:5) A (1:5) = 1.1010 B (1:5) = 1.1100 C (1:5) = 11.0110 |
6 |
Слову С присвоить значение суммы слов А и В |
6 |
С(0) = 1 С(1:5) = С(1:5)+1 С(1:5) = 1.0111 1 С(1:5)=0.0111 |
7 |
Проверка разряда С(0) |
7 |
А (1) = 1; В (1) = 1 А (1) В (1) = 0 |
8 |
Проверка на совпадение знаковых разрядов слов А и В |
8 |
С (1) = 1; A (1) = 1 С (1) А (1) = 0 |
9 |
Проверка на совпадение знаковых разрядов слов А и С |
9 |
С (1:5) = 1.1000 = -8 |
11 |
Образовать прямой код результата |
11 |
Конец |
|
|
5. A (1:5) = 1.1011 = -11 ; B (1:5) = 0.0111 = 7 |
Случай с отрицательным переполнением; знак операнда А отрицательный, а В положительный |
||
2 |
П (1) = 0 |
3 |
Слову П(1) присвоить значение «0» |
3 |
В (1) = В (1) |
4 |
Изменить знак вычитаемого на противоположный |
4 |
А (1:5) = 1.0100 В (1:5) = 1.1000 |
5 |
Образовать обратные коды слов А и В |
5 |
С (1:5) = A (1:5) + B (1:5) A (1:5) = 1.0100 B (1:5) = 1.1000 C (1:5) = 10.1100 |
6 |
Слову С присвоить значение суммы слов А и В |
6 |
С(0) = 1 С(1:5) = С(1:5)+1 С(1:5) = 0.1100 1 С(1:5)=0.1101 |
7 |
Проверка разряда С(0) |
7 |
А (1) = 1; В (1) = 1 А (1) В (1) = 0 |
8 |
Проверка на совпадение знаковых разрядов слов А и В |
Продолжение Таблицы 1
8 |
С (1) = 0; A (1) = 1 С (1) А (1) = 1 |
10 |
Проверка на совпадение знаковых разрядов слов А и С |
10 |
П(1) = 1 |
11 |
Слову П(1) присвоить значение «1» |
11 |
Конец |
|
|
6. А (1:5) = 0.1011 = 11 ; В (1:5) = 1.0111 = -7 |
Случай с положительным переполнением; знак операнда А положительный, а В отрицательный |
||
2 |
П (1) = 0 |
3 |
Слову П(1) присвоить значение «0» |
3 |
В (1) = В (1) |
4 |
Изменить знак вычитаемого на противоположный |
4 |
А (1:5) = 0.1011 В (1:5) = 0. 0111 |
5 |
Образовать обратные коды слов А и В |
5 |
С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.1011 B (1:5) = 0.0111 C (1:5) = 1.0010 |
6 |
Слову С присвоить значение суммы слов А и В |
6 |
С(0) = 0 |
7 |
Проверка разряда С(0) |
7 |
А (1) = 0; В (1) = 0 А (1) В (1) = 0 |
8 |
Проверка на совпадение знаковых разрядов слов А и В |
8 |
С (1) = 1; A (1) = 0 С (1) А (1) = 1 |
10 |
Проверка на совпадение знаковых разрядов слов А и С |
10 |
П(1) = 1 |
11 |
Слову П(1) присвоить значение «1» |
11 |
Конец |
|
|
Результаты сверены для всех случаев, алгоритм работает верно.