Рефетека.ру / Информатика и програм-ие

Курсовая работа: Построение ОВС для решения формулы

Содержание


1. Выбор варианта

1.1 Вычисление числа К

1.2 Выбор параметров варианта

2. Структура вычислительного процесса алгоритмы вычислений

2.1 Структура вычислительного процесса

2.2 Последовательность обработки операндов

2.2.1 Обработка числа А

2.2.2 Обработка числа В

2.2.3 Обработка числа С

3. Схемы ОВС

3.1 Обозначения на схемах

3.1 Схема участка ОВС для вычисления числа А

3.2 Схема участка ОВС для вычисления числа В

3.3 Схема участка ОВС для вычисления числа С

4. Временные диаграммы

4. Временные диаграммы

4.1 Таблицы временных диаграмм

5. Программирование ОВС

5.1 Коды команд ОЭ

5.2 Схема цепей программирования

Заключение


1. Выбор варианта


1.1 Вычисление числа К


Для предупреждения повторов, определение варианта проводится по формуле, которая учитывает количество групп на потоке и количество человек в группе. Формула выглядит следующим образом:


К= (n-1) 30+m (1.1.1)


где n - номер группы студента, а m - номер студента в группе.


К= (2-1) 30+12=30+12=42.


1.2 Выбор параметров варианта


Для решения задачи необходимы начальные условия, а именно:

формула вычисления С;

системы счисления для операндов А и В;

код, в котором происходят вычисления;

направления входа и выхода чисел;

максимальное количество тактов программирования.

Формула вычисления определяется параметром X. Параметр Х равен остатку от деления числа К на 11, т.е.


Х=К mod 11 (1.2.1)


Для К=42, Х=9. Так как Х=9, то согласно табл.1 число С вычисляется по формуле C=7|A-B|/4.

Y=K mod 3 (1.2.2) Z=K mod 7 (1.2.3)


Системы счисления для операндов А и В зависят от параметров Y и Z, вычисляемые по формулам (1.2.2) и (1.2.3) соответственно. Следовательно, по таблицам 2 и 3 можно определить Y и Z. Для выше упомянутого варианта Y=0 и Z=0, т.е. операнд А поступает на вход устройства кодированый в двоично-пятиричной системе счисления, а операнд В - в двоично-девятиричной.


Таблица 1. Таблица 2. Таблица 3.


Х

Формула вычисления С
Y Система счисления
Z Система счисления
0 3|A/2-B/4|
0 2-5
0 2-9
1 |3A/4-B|
1 2-6
1 2-10
2 |A-5B/4|
2 2-7
2 2-11
3 |3A-B|/4



3 2-12
4 |3A-4B|



4 2-13
5 |5A-3B|/2



5 2-14
6 5|A-2B|/4



6 2-15
7 |5A/2-2B|





8 |7A/4-2B|





9 7|A-B|/4





10 |6A-5B|






В связи с тем, что в формуле используется вычитание необходимо проводить вычисления в обратном или в дополнительном кодах. Так как К - чётное число, вычитание проводится в дополнительно коде [1].

При помощи параметра V, определяются направления входов операндов и выхода результата.

Для этого используется формула (1.2.4), причём число V представляется в двоичном коде.

V=K mod 64 (1.2.4)


Для сорок второго варианта V=42=1010102, причём следует учесть, что направления движения чисел читаются с право налево, т.е. V=10 10 102, и 00-это юг, 01-запад, 10-север, 11-восток. С В А

Устройство должно выполнить вычисление за минимальное время, т.е. за минимальное количество тактов. Частично этого можно достичь, сократив время программирования ОЭ.


Т (X+Y+Z+6) 16 (1.2.5)


При К=42, накладывается следующее ограничение тактов программирования:


T (9+0+0+6) 16=1516= 240.


Из предыдущих вычислений следует, что С вычисляется по формуле С=7|A-B|/4, число А двоично-пятиричное и поступает с севера, В - двоично-девятиричное и так же поступает с севера, вычитание производится в дополнительном коде, результат выдаётся на север и количество тактов программирования не превышает двухсот сорока.

2. Структура вычислительного процесса алгоритмы вычислений


2.1 Структура вычислительного процесса


В ОВС вычисления могут производиться ОЭ как последовательно, так и параллельно. В дальнейшем будут использоваться оба способа. Поэтому для наглядности происходящих процессов ниже на рис.1 приведена структура вычислительного процесса.


Рис.1.


2.2 Последовательность обработки операндов


2.2.1 Обработка числа А

Обработка числа заключается в том, что необходимо число перевести из двоично-кодированного вида в двоичный, а так же преобразовать его в дополнительный код, В таком виде оно пригодно для дальнейшего использования.

В начальных условиях указано, что операнд А можно считать положительным числом, а это означает, что прямой код числа совпадает с дополнительным.

Таким образом, обработка числа А состоит в выделении старшей тетрады, выделении младшей тетрады, умножении H на пять и сложении с L. Подробно эти действия представляет алгоритм на рис.2.

Число А2-5 поступает с севера. Выделение старшей тетрады производится путём логического умножения А2-5 на константу вида 111100002 или F016. Это наглядно иллюстрирует пример:


Построение ОВС для решения формулы

Рис.2


Младшая тетрада выделяется аналогичным способом:


Построение ОВС для решения формулы

Двоичное число находится по формуле (2.2.1 1)


A2=HnS+L (2.2.1 1)

где S-система счисления двоично-кодированного числа, L-его младшая тетрада, а Hn-нормализированная старшая тетрада двоично-кодированного числа:


а8 а7 а6 а5 0 0 0 0=H

0 0 0 0 а8 а7 а6 а5=Hn


Для сорок второго варианта формула (2.2.1 1) выглядит следующим образом: А2=5Hn+L

Процедура умножения старшей тетрады на пять может быть представленной в виде: 5Hn=Hn+4Hn


2.2.2 Обработка числа В

Операнд В обрабатывается аналогично операнду А, за исключением некоторых особенностей.


Рис.3

Число В поступает кодированное в двоично-девятиричной системе счисления, поэтому старшая тетрада умножается на девять, причём, поступающее число В отрицательно и его прямой код не совпадает с дополнительным. Следовательно, операнд В необходимо перевести в дополнительный код. Это осуществляется путём вычитания единицы с последующим инвертированием. Вычесть единицу можно путем сложения числа с константой вида 1 1 1 1 1 1 1 12 [1].

Всё выше перечисленное показано на рис.3.


2.2.3 Обработка числа С

Для получения числа С необходимо модуль разности чисел А2 и В2 умножить на семь и разделить на четыре. Сумма чисел Адп и Вдп даст результат так же в дополнительном коде. Получить прямой код результата, который будет равен разности чисел А2 и В2, можно при помощи арифметического сложения Сдп с его же знаковыми разрядами:


Вычисление прямого кода из обратного производится путём сложения по модулю два числа Соб так же с его знаковыми разрядами:




Умножение на семь осуществляется следующим способом: 7C= 4C+2C+C. А деление на четыре путём логического умножения на константу 1 1 1 1 1 1 0 02 и задержкой на два такта.

Рисунок 4 представляет схему алгоритма вычисления числа С.

Схема алгоритма вычисления числа С


Рис.4.

3. Схемы ОВС


3.1 Обозначения на схемах


Для удобства применения и простоты восприятия, операции условно обозначаются значками:

&-логическое умножение;

&Ш-логическое умножение с инверсией;

Ѕ-логическое сложение;

Е-сумма по модулю два;

+-арифметическое сложение;

T-условное запоминание;

GC-генерация константы;

DD-задержка на девять тактов.

Кроме этого, пунктирной линией показаны транзиты, стрелками-направления движения чисел. Так же указываются такты задержки и такты выходов первых бит чисел.

Номера ОЭ состоят из двух цифр: первая-номер микросхемы, вторая-номер ОЭ в микросхеме.


3.2 Схема участка ОВС для вычисления числа А


На схеме ОВС непосредственно указывается, как будут работать ОЭ.

На рис.5 представлена схема ОВС для вычисления двоичного числа А.

Число А2-5 поступает на двенадцатый элемент, он выполняет операцию логического умножения константы F016 и А2-5, а так же транзит числа на запад с задержкой на два такта.

Тринадцатый элемент складывает число само с собой и задерживает его на два такта, таким способом достигается задержка числа на три такта.

Построение ОВС для решения формулыРис.5


Построение ОВС для решения формулыЭлементы четырнадцать и пятнадцать позволяют умножить старшую тетраду на пять, при этом используется свойство двоичных чисел при умножении на константу вида 2:


Взяв число на два такта раньше, получается число умноженное на четыре. Аналогично происходит умножение на два, восемь, шестнадцать и т.д. .

На шестнадцатом элементе происходит выделение младшей тетрады. Девятнадцатый ОЭ производит сложение старшей и младшей тетрад и выдаёт двоичный результат на запад. Одиннадцатый и тридцать четвёртый ОЭ генерируют константы.

3.3 Схема участка ОВС для вычисления числа В


Участок ОВС для обработки числа В работает аналогично участку, обрабатывающему число А, за исключением трёх ОЭ, позволяющих переводить двоичное число в дополнительный код.

Построение ОВС для решения формулы

Рис.6.

На Рис.6 перевод числа в дополнительный код осуществляется на трёх ОЭ. Тридцать первый ОЭ генерирует константу FF16, а тридцать второй складывает её с двоичным чсислом. Тридцать пятый ОЭ выполняет операцию логического умножения, причём, число умножается само на себя, чем достигается сохранение его начального значения, затем инвертирует его. Таким образом совершается перевод числа в дополнительный код в ОВС.


3.4 Схема участка ОВС для вычисления числа С

Построение ОВС для решения формулы

Рис.7


Тридцать восьмой ОЭ складывает поступающие числа А и В. Тридцать девятый ОЭ производит задержку числа на девять тактов и подаёт на юг тридцать шестого ОЭ. В тот такт, когда на тридцать шестой ОЭ поступает число Сдп с юга, с запада появляются знаковые разряды числа Сдп. Таким образом выполняется арифметическое сложение числа с его знаковыми разрядами. Такая операция может быть совершена благодаря свойству ОВС что, после чиса (после седьмого бита) следуют знаковые разряды этого числа, т.е. восьмой, девятый, десятый и т.д. биты знаковые разряды.

Аналогичным способом происходит сложение по модулю два числа Соб с его знаковыми разрядами на сорок четвёртом и сорок седьмом ОЭ. На сорок первом, сорок втором, сорок пятом и сорок восьмом ОЭ выполняется умножение числа Спр на семь. А сорок шестой и сорок девятый позволяют делить число на четыре.

Рис.8

Построение ОВС для решения формулы4. Временные диаграммы


4.1 Таблицы временных диаграмм


Временные диаграммы приводятся для входов ОВС и для всех использующихся выходов ОЭ. В столбцах указываются такты, в строках-номера ОЭ и имена выходов ОЭ, а так же код направления выхода.

ОЭ начинают обрабатывать поступающие числа только с десятого такта. Это обусловлено тем, что для нормальной работы ОЭ необходимо обнулить все триггеры. Это так же позволит стабилизировать работу генераторов константы.


Таблица 4.

Временная диаграмма для участка ОВС обрабатывающего число А

Номер ОЭ Направление Номер вых (вх) Такты



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
11 11 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1








12 (10) (2)







а1 а2 а3 а4 а5 а6 а7 а8









12 00 3









0 0 0 0 а5 а6 а7 а8 0 0 0 0




12 11 8










а1 а2 а3 а4 а5 а6 а7 а8







13 00 9













а1 а2 а3 а4 а5 а6 а7 а8




34 01 11 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0




15 01 4













0 а5 а6 а7 а8 0 0 0




14 11 5













0 0 а5 а6 а7 а8 0 0




15 00 6














а5 а6 Х Х Х Х Х Х



18 01 7















а5 а6 Х Х Х Х Х Х


16 00 10















а1 а2 а3 а4 1 0 0 0 0


19 01 12
















А1 А2 А3 А4 А5 А6 А7 А8

37 01 13

















А1 А2 А3 А4 А5 А6 А7 А8

Таблица 5.

Временная диаграмма для участка ОВС обрабатывающего число В

Номер ОЭ Направление Номер вых (вх) Такты



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
21 11 15 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1








22 (10) (14)







в1 в2 в3 в4 в5 в6 в7 в8









22 00 16









0 0 0 0 в5 в6 в7 в8 0 0 0 0




22 11 17










в1 в2 в3 в4 в5 в6 в7 в8







25 01 19













0 0 в5 в6 в7 в8 0 0




24 11 20













0 0 0 в5 в6 в7 в8 0




25 00 21














в5 в6 в7 Х Х Х Х Х



27 11 22 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0









28 11 23









1 1 1 1 1 0 0 0 0








29 10 24












1 1 1 1 1 0 0 0 0





23 00 18












в1 в2 в3 в4 в5 в6 в7 в8





26 00 25













в1 в2 в3 в4 1 0 0 0 0




29 01 26














в1 в2 в3 в4 1 0 0 0 0



28 00 27















В1 В2 В3 В4 В5 В6 В7 В8


31 01 28 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


32 00 29
















в1 в2 в3 в4 в5 в6 в7 в8

35 00 30

















в1 в2 в3 в4 в5 в6 в7 в8

Временные диаграммы позволяют удобно приводить константу к первому такту, а так же эффективно контролировать работу всей ОВС и каждого ОЭ в отдельности.

В табл.4. обычным шрифтом указаны разряды двоичнокодированного числа. Прописные буквы символизируют готовый двоичный результат.

В табл.5. обозначения идентичны, только разряды выделенные курсивом представляют результат, полученный при сложении двоичного числа с константой FF16. В обоих таблицах кресты обозначают неизвестные, но имеющие значение, разряды чисел.


Таблица 6.

Временная диаграмма для участка ОВС обрабатывающего число С

Номер ОЭ Направление Номер вых (вх) Такты



20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
38 10 31 с1 с2 с3 с4 с5 с6 с7 Зн

















35 11 32 с1 с2 с3 с4 с5 с6 с7 Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн Зн
36 00 33

с1 с2 с3 с4 с5 с6 с7 Зн
















39 10 34










с1 с2 с3 с4 с5 с6 с7 Зн







36 11 35











с1 с2 с3 с4 с5 с6 с7 Зн Зн Зн Зн Зн Зн Зн Зн
44 00 36











с1 с2 с3 с4 с5 с6 с7 Зн





47 10 37





















с1 с2 с3 с4 с5

Номер ОЭ Направление Номер вых (вх) Такты



42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
47 10 37 с1 с2 с3 с4 с5 с6 с7 Зн







44 11 38


с1

с2

с3

с4

с5

с6

с7

Зн








45 00 39


с1

с2

с3

с4

с5

с6

с7

Зн






48 10 40


0

с1

с2

с3

с4

с5

с6

с7






42 10 43

0

с1

с2

с3

с4

с5

с6

с7







41 11 44

0

0

с1

с2

с3

с4

с5

с6







42 00 42


с1

с2

Х

Х

Х

Х

Х

Х






45 11 45



с1

Х Х Х Х Х Х Х



49 10 46 1 1 0 0 1 1 1 1 1 1 0 0



46 10 47






с1 с2 с3 с4 с5 с6 с7 c8
43 10 48







с1 с2 с3 с4 с5 с6 с7 c8

В табл.6. обычный шрифт обозначает число в дополнительном коде. Знаки Зн обозначают знаковые разряды числа С в дополнительном коде. Аналогично для курсива, который символизирует обратный код. Жирный шрифт определяет число в прямом коде. Подчёркнутый шрифт представляет конечный результат работы ОВС.


Таблица 7.

Приведение константы FC16

Номер ОЭ Направление Такты


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
49 10 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1
49 10 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0






5. Программирование ОВС


5.1 Коды команд ОЭ


Для того, чтобы ОЭ могли выполнять нужные операции, необходимо их запрограммировать. В коды команд ОЭ включаются: код операции, производимой ОЭ, код задержки выдачи результата, три кода направлений входов операндов и три кода выходов ОЭ.

Код операции-трёх разрядное двоичное число, определяемое следующими операциями:

0002-логическое умножение;

0012-логическое умножение с инверсией;

0102-логическое сложение;

0112-сумма по модулю два;

1002-арифметическое сложение;

1012-условное запоминание;

1102-генерация константы или задержка на девять тактов.

Код задержки вычисляется так:

Если ОЭ после операции задерживает число на один такт, то Y=0. Если на два. То Y=1. Кроме этого Y влияет и на операцию. Если Y=0, то операция 1102 выполняет генерацию константы, а если Y=1, то выполняется операция задержки на девять тактов.

Коды входов А1 и А2 управляют направлением входов операндов:

002-юг;

012-запад;

102-север;

112-восток.

Код А3 управляет направлением входа транзита.

Код А4 управляет направлением выхода результата, а А5 и А6 выходами транзитов с задержкой в два и один такт соответственно.

Таблица 8.

Номер ОЭ

16-чный

код

К О П Y А 1 А 2 А 3 А 4 А 5 А 6
11 С3С3 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1
12 098D 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 1
13 958F 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1
14 E5EB 1 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1
15 8989 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1
16 1BCF 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1
17 E000 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
18 E083 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1
19 8930 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0
21 C3C3 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1
22 098D 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 1
23 EA63 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1
24 E5EF 1 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1
25 8986 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0
26 08CF 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1
27 C03F 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1
28 8B47 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1
29 95AD 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1
31 C3FF 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1
32 894F 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1
33 FFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
34 61E1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1
35 2907 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1
36 8478 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
37 E043 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1
38 8920 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0
39 D802 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0
41 EAEB 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1
42 8409 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1
43 EF3E 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0
44 6478 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0
45 8872 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0
46 04EF 0 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1
47 D802 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0
48 E082 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0
49 C3CE 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0

5.2 Схема цепей программирования


Программа ОВС

На время программирования наложено ограничение в двести сорок тактов. Код программы одного ОЭ занимает шестнадцать тактов, т.е. одна цепь программирования может программировать 240/16=15 ОЭ. Для того, чтобы соблюсти это условие необходимо разбить ОВС на несколько цепей программирования. Распределение цепей программирования по ОВС показано на рис.9.

Первая цепь программирует ОЭ второй микросхемы в такой последовательности: 21-22-23-24-25-26-27-28-29.

Вторая программирует части первой, третьей и четвёртой микросхем: 11-12-13-31-32-33-41-42-43-14-15-16-34-35-36.

Третья оставшиеся ОЭ: 17-18-19-37-38-39-47-48-49-44-45-46.

Программу ОВС представляют таблицы 9-11.

Рис.9


Таблица 9. Таблица 10. Таблица 11.

Номер ОЭ Код команды
Номер ОЭ Код команды
Номер ОЭ Код команды
21 C3C3
11 С3С3
17 E000
22 098D
12 098D
18 E083
23 EA63
13 958F
19 8930
24 E5EF
31 C3FF
37 E043
25 8986
32 894F
38 8920
26 08CF
33 FFFF
39 D802
27 C03F
41 EAEB
47 D802
28 8B47
42 8409
48 E082
29 95AD
43 EF3E
49 C3CE


14 E5EB
44 6478


15 8989
45 8872


16 1BCF
46 04EF


34 61E1



35 2907



36 8478


Заключение


Построена ОВС для решения формулы С=7|A-B|/4 на четырёх микросхемах. Поставленная задача выполняется за двести девяносто семь тактов, из которых двесте сорок тактов программирования. Приведены схемы цепей программирования и коды команд для практического использования. Так же представлены временные диаграммы для контроля ОЭ.

Похожие работы:

  1. Вычисление определенных интегралов. Квадратурные формулы
  2. • Боротьба зі злочинами, що вчиняються співробітниками ...
  3. • Построение интерполяционного многочлена и вычисление по нему ...
  4. • Логические методы познания
  5. • Высшие финансово-экономические вычисления и ...
  6. • Интерполирование функций
  7. • Саморегуляція психічних станів у працівників органів ...
  8. • Красота повтора
  9. • Управление предупреждением чрезвычайных ситуаций в ...
  10. • Общества взаимного страхования
  11. • Численные методы для решения нелинейных уравнений
  12. • Югославия: некоторые аспекты конфликта
  13. • Обобщенный принцип наименьшего действия
  14. • Общество взаимного страхования
  15. • Обобщенный принцип наименьшего действия
  16. • Геометрические построения на плоскости
  17. • Программа вычисления минимума заданной функции
  18. • Інформаційне забезпечення ОРД
  19. • Правовий статус слідчого ОВС
Рефетека ру refoteka@gmail.com