Автор работы: Пользователь скрыл имя, 01 Мая 2012 в 00:40, курсовая работа
К основным арифметическим операциям относятся сложение, вычитание, умножение и деление. Время их выполнения определяет быстродействие ЭВМ. Автоматическое выполнение не основных операций организуется в том случае, если такая операция составляет не менее 2% от общего числа операций или является составной частью алгоритмов, которые необходимо выполнять в реальном времени, т.е. с большим быстродействием. Не основные арифметические операции реализуются обычно с помощью стандартных программ, которые входят в состав математического обеспечения ЭВМ и вызываются простым обращением к соответствующей библиотеке подпрограмм. Однако для реализации этих подпрограмм требуется значительно больше времени, чем для выполнения основных арифметических операций.
Кодированная граф-схема алгоритма.
Расшифровка вершин ГСА.
Ye: Пустая вершина. Вводится, чтобы избежать «петель».
Y1: РгА:=[А]м д , СМ[0-10]:=0, РгС[0-10]:=0, РгВ[0-10]:=0, СТ1:=0, СТ2:=0;
Y2: РгD1=00.01, РгD2:=00,11;
Y3: РгПА[0-20]:=РгА[0-20], РгМА[0-10]:=РгА[21-30], СТ1:=8;
Y4: ТП:=1;
Y5: РгПА:=РгПА+1, РгМА=R(1)РгМА;
Y6: РгПА:=R(1)РгПА;
Y7: СМ:=СМ+РгМА;
Y8: РгС:=РгC+РгD1;
Y9: СМ:=СМ+, РгD1:=R(1)РгD1, РгD2:=R(1) РгD2, СТ1:=СТ1-1;
Y10: РгВ[10]:=0;
Y11: РгВ[10]:=1;
Y12: РгС:=РгВ;
Y13: РгВ:=L(1)РгВ, СТ2:=СТ1;
Y14: РгС:=L(1)РгС, СТ2:=СТ2-1;
Y15: РгС:=РгС+РгD1;
Y16: РгС:=РгС+РгD2;
Y17: ШД:=РгПА|РгВ;
Y18: РгС:=R(1)РгС.
Закодируем элементы множества состояний, множества входов и множества выходов двоичными последовательностями, длина которых соответствует мощности соответствующих множеств. Переменные t1, t2, t3, t4, t5, кодирующие состояния автомата, называются внутренними переменными автомата, в переменные x1,…x9, кодирующие входные сигналы – внешними переменными.
Выходные сигналы триггеров образуют код нового состояния автомата, который поступает на его вход после прихода синхронизирующего сигнала СС. Выходные сигналы У1 и У2 образуют код выходного сигнала управляющего автомата, который поступает на конструктивные элементы операционного автомата, разрешая выполнение микроопераций. Собственно разрешающий сигнал на выполнение микрооперации может быть сформирован в схеме операционного автомата, добавлением в него дешифратора, преобразующего код команды в единственный бит, поступающий на вход нужного структурного элемента операционного автомата.
Используем диаграмму Вейча, размещая в ней имена состояний таким образом, чтобы они склеивались между собой, образуя интервалы наименьшего ранга. В каждой склейке могут участвовать метки состояний, соответствующие переменной xj, в данном столбце табл.3, и метки состояний уравнения P1. Если для кодирования состояний используются не все возможные кодовые комбинации, соответствующие всем наборам значений внутренних переменных, то неиспользуемые коды образуют области неопределенности функции (диаграммы), которые могут участвовать в любых склейках. Необходимо только следить за тем, чтобы в склейку, определяющую конъюнкцию при переменной xj, не попадали метки состояний, для которых обозначен переход в другие состояния под действием других переменных в этом же столбце таблицы. Очевидно, что разным способам размещения меток в диаграмме будут соответствовать разные выражения, определяющие новые внешние переменные.
По диаграмме Вейча закодируем состояния as(t1,t2,t3,t4,t5) и am(t1,t2,t3,t4,t5), на основе этих значений получим функции возбуждения для элементов памяти (5-ти RS-триггеров).
Триггер предназначен для хранения одного бита, или одного разряда двоичного числа. Для хранения многоразрядных чисел используют линейки триггеров, называемые регистрами. Состояния триггера и соответствующие им выходы обозначаются 0 и 1. Наиболее распространенными являются D- триггер, Т - триггер, имеющие один информационный вход, RS и - JK- триггеры. Имеющие два информационных входа.
Обозначения входов:
R0 – раздельный вход установки в 0;
S1 – раздельный вход установки в 1;
Выходы: Q - прямой,Q - инверсный.
По характеру реакции на входные воздействия различают синхронные и асинхронные триггеры.
Асинхронный триггер - входные сигналы управляют состоянием триггера непосредственно с момента подачи их на входы.
Синхронный триггер - входные сигналы действуют на состояние триггера только при подаче синхроимпульса на управляющий вход С.
Матрица переходов RS-триггера
qtqt+1 | R | S |
0 0 | * | 0 |
0 1 | 0 | 1 |
1 0 | 1 | 0 |
1 1 | 0 | * |
am | Ym | as | X | P | am | as | R1 | S1 | R2 | S2 | R3 | S3 | R4 | S4 | R5 | S5 | y1 | y2 |
y3 |
y4 | y5 |
|
|
| (am,as) | (am,as) | t1,t2,t3,t4,t5 | t1,t2,t3,t4,t5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a0 | Ye | a0 |
| 0 | 00000 | 00000 | * | 0 | * | 0 | * | 0 | * | 0 | * | 0 | 0 | 0 |
0 |
0 | 0 |
| Y1 | a1 | X1 | 1 |
| 00001 | * | 0 | * | 0 | * | 0 | * | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
a1 | Y2 | a2 | - | - | 00001 | 0010 | * | 0 | * | 0 | * | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
a2 | Y3 | a3 | - | - | 00010 | 00011 | * | 0 | * | 0 | * | 0 | 0 | * | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
a3 | Ye | a4 |
| 0 | 00011 | 00100 | * | 0 | * | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| Y4 | a0 | X2 | 1 |
| 00000 | * | 0 | * | 0 | * | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
a4 | Ye | a5 |
| 0 | 00100 | 00101 | * | 0 | * | 0 | 0 | * | * | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Y5 | a5 | X3 | 1 |
| 00101 | * | 0 | * | 0 | 0 | * | * | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
a5 | Y6 | a6 | - | - | 00101 | 00110 | * | 0 | * | 0 | 0 | * | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
a6 | Y7 | a7 | - | - | 00110 | 00111 | * | 0 | * | 0 | 0 | * | 0 | * | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
a7 | Y8 | a8 | - | - | 00111 | 01000 | * | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
a8 | Ye | a9 |
| 0 | 01000 | 01001 | * | 0 | 0 | * | * | 0 | * | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Y17 | a0 | X4 | 1 |
| 00000 | * | 0 | 0 | 1 | * | 0 | * | 0 | * | 0 | 1 | 0 | 0 | 0 | 1 |
a9 | Y9 | a10 |
| 0 | 01001 | 01010 | * | 0 | 0 | * | * | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
| Y17 | a0 | X5 | 1 |
| 00000 | * | 0 | 0 | 1 | * | 0 | * | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
a10 | Y10 Y11
| a11 a11 | X6 | 0 1 | 01010 | 01011 01011 | * * | 0 0 | 0 0 | * * | * * | 0 0 | 0 0 | * * | 1 1 | 0 0 | 0 0 | 1 1 | 0 0 | 1 1 | 0 1 |
a11 | Y12 | a12 | - | - | 01011 | 01100 | * | 0 | 0 | * | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
a12 | Y13 | a13 | - | - | 01100 | 01101 | * | 0 | 0 | * | 0 | * | * | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
a13 | Y14 | a14 | - | - | 01101 | 01110 | * | 0 | 0 | * | 0 | * | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
a14 | Ye | a13 |
| 0 | 01110 | 01101 | * | 0 | 0 | * | 0 | * | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Ye | a15 | X7 | 1 |
| 01111 | * | 0 | 0 | * | 0 | * | 0 | * | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
a15 | Y16 | a16 |
| 0 | 01111 | 10000 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| Y15 | a16 | X8 | 1 |
| 10000 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| Y18 Y17 | a8 a0 | X9 | 0 1 | 10000 | 01000 00000 | 0 0 | 1 1 | 1 * | 0 0 | * * | 0 0 | * * | 0 0 | * * | 0 0 | 1 1 | 0 0 | 0 0 | 1 0 | 0 1 |
Табл.2
Кодирование состояний.
am | X | P |
| (am,as) | (am,as) |
a0 |
|
|
| X1 | P1 |
a1 | - | - |
a2 | - | - |
a3 |
|
|
| X2 | P1 |
a4 |
|
|
| X3 | P1 |
a5 | - | - |
a6 | - | - |
a7 | - | - |
a8 |
|
|
| X4 | P1 |
a9 |
|
|
| X5 | P1 |
a10 |
X6 | P1 |
a11 | - | - |
a12 | - | - |
a13 | - | - |
a14 |
|
|
| X7 | P1 |
a15 |
|
|
| X8 | P1 |
a15 |
|
|
| X9 | P1 |
Информация о работе Операция извлечения квадратного корня на логическом устройстве