Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
287
Добавлен:
19.03.2015
Размер:
175.1 Кб
Скачать

19.6. Анализ временных задержек

МП К1810ВМ86 представляет собой синхронную цифровую систему, все процессы в которой синхронизируются последовательностью тактовых импульсов. Для нахождения времени задержки рассчитывается сумма тактов работы К1810ВМ86, затем, зная длительность такта вычисляется время задержки. Команды МП имеют различное количество тактов, причём к тактам исполнения команды прибавляется время вычисления эффективного адреса. Эффективный адрес памяти (ЕА) получается в результате некоторых вычислений, на которые расходуется время. Следовательно, время выполнения команды оказывается зависящим от режима адресации. При прямой адресации на вычисление ЕА тратится 6 тактов, косвенной регистровой – 5, базовой – 9.

В таблице 19.6 даны ассемблерные команды МП, а также количество тактов для их выполнения. При этом приняты следующие обозначения: r – регистр, М – ячейка памяти, data – данные, непосредственно представленные в команде, label – метка, ЕА – количество тактов на вычисление эффективного адреса.

Таблица 19.6

Количество тактов МП для выполнения некоторых команд

Наименование группы команд К1810ВМ86

Мнемокод

Количество тактов

Команды пересылки данных

Mov r,r

Mov r,m

2

8+EA

Команды арифметических действий

add r,r

add r,m

add r,data

adc r,r

adc r,m

sub m,r

sub r,m

sbb r,data

inc r

inc m

cmp r,data

mul z

3

9+EA

4

3

9+EA

16+EA

9+EA

4

2

15+EA

4

124+EA

Команды сдвига

rol r

rol m

8

20+EA

Команды логических операций

and r

or r,m

xor m,r

not r

3

9+EA

16+EA

3

Команды цепочечных операций

MovS

Stop

17

10

Команды ветвления (условные переходы)

jmp label

jnc label

jnz label

7

8/4*

8/4*

Команды управления процессором

stc

cld

std

2

2

2

* - меньшая цифра в условных переходах соответствует ложности условия, большая – истинности.

Ниже приведены таблицы 19.7 и 19.9 расчётов количества тактов МП для выполнения макроопределений, а также пример расчёта для программы регулятора с интегрированием по методу трапеций, где учтены циклические повторения команд, а также исполнения команд с условиями (ветвления).

Таблица 19.7

Расчёт количества тактов для выполнения макроопределений

Название

Тексты программ

Количество тактов

Clear_Uvar

cld

mov di, offset Uvar_0

xor ax,ax

stos w

stos w

stos w

stos w

2

10

2

17

17

17

17

всего 82

Mul_Plus

(Mul_Minus)

push cx

mov ax,[bx]

mov cx,[bx+Distu]

mul cx

add (sub)[Uvar_0 ],ax

adc (sbb)[Uvar_0 +2],dx

adc (sbb)[Uvar_0 +4],0

adc (sbb)[Uvar_0 +6],0

mov ax,[bx]

mov cx,[bx+Distu+2]

mul cx

add (sub)[Uvar_0 +2],ax

add (sbb)[Uvar_0 +4],dx

add (sbb)[Uvar_0 +6],0

mov ax,[bx+2]

mov cx,[bx+Distu]

mul cx

add (sub)[Uvar_0 +2],ax

adc (sbb)[Uvar_0 +4],dx

adc (sbb)[Uvar_0 +6],0

mov ax,[bx+2]

mov cx,[bx+Distu+2]

mul cx

add (sub)[Uvar_0 +4],ax

adc (sbb)[Uvar_0 +6],dx

pop cx

10

14

17

129

22

22

23

23

14

17

129

22

22

23

14

17

129

22

22

23

14

17

100

22

22

10

всего 899

Plus_U

mov ax,[bx]

mov dx,[bx+2]

add (sub)[Uvar_0 ],ax

adc (sbb)[Uvar_0 +2],dx

adc (sbb)[Uvar_0 +4],0

adc (sbb)[Uvar_0 +6],0

14

17

22

22

23

23

всего 121

Таблица 19.8

Пример расчёта количества тактов для программы регуляторов с интегрированием по методу трапеций

Название

Текст программы

Количество тактов

START:

IN AX,port

mov Evar_0

or [sgn_var],20h

10

10

25

Clear_ Uvar0

mov cx,num_par

mov ax,[signs]

xor ah,al

mov [sgn_bt],ah

mov bx,offset Evar_0

4

10

3

10

4

Mul Add

rol [sgn_bt],1

jc minus

Mul_Plus

jmp down

26

8

899

4

Mul_mines

down:

out _an:

minus1: Minus_U

down1:

posit:

dwn:

Rep

add bx,4

dec cx

jz out_an

jmp MulAdd

rol [sgn_bt],1

jc minus 1

Plus_U

jmp down 1

mov ax,[Uvar_0]

mov bx,[Uvar_0+2]

cmp [Uvar_0+6],0

jz posit

or [sgn_var],Cngsgn

not ax

not bx

add ax,1

adc bx,0

jmp dwn

and [sgn_var],not Cngsgn

mov [Evar_2],ax

mov [Evar_2+2],bx

rcr [sgn_var],1

mov si,offset Evar_2+2

mov di,offset Uvar_1+2

std

mov cx,Num_Par*2-2

mov sw

jmp start

4

2

4

4

4

26

121

8

10

14

23

8

23

3

3

4

4

2

23

10

14

26

4

4

2

4

4

При расчёте времени задержки учитывается, что стандартная частота следования тактовых импульсов 5МГц обеспечивает микротакт МП, равный 200нс.

Таблица 19.9

Результаты расчёта времени задержки

Метод интегрирования

Количество пар произведений

Количество тактов

Время задержки, mc

Трапеций

1/3 Симпсона

3/8 Симпсона

Уэдля

3

4

5

6

3423

4374

6006

7206

0,68

0,87

1,20

1,44

Произведение чисел требует большого времени на вычисление, поэтому как видно по результатам, представленных в таблице 19.9, наибольшим временем задержки вычислений обладает программа, имеющая большее количество произведений-метод Уэдля.

Соседние файлы в папке Учебник тау