Возможна также ситуация, когда ПЭВМ долгое время не будет забирать данные из порта вывода. Цикл проверки продлится большое время, что говорить о быстродействии системы будет трудно. Ситуация такая не должна возникнуть, так как ПЭВМ намного быстрее работает, чем устройство ввода. Таким образом достаточно будет одной проверки.
Наиболее интересные варианты представлены в виде временных диаграмм на рисунке 10. Но вначале надо определить, сколько времени занимает один такт. Частота такта равна 5Мгц, отсюда следует, что его продолжительность 200нс. Значит, чтобы подсчитать время, затраченное на обработку участка кода программы необходимо сложить все такты каждой из микроопераций и полученное значение умножить на 200нс. Количество тактов, за которое исполняется команда приведено в приложении (напротив каждой команды).
Масштаб не соблюдается, потому что есть блоки, которые выполняются за маленький промежуток времени, а есть и за большой. Из диаграмм видно, что обработка новой порции данных и получение на основании их результата зависит от двух аспектов: ПЭВМ принял данные от устройства ввода и какие данные пришли в устройство ввода (одно из значений равно нулю).
1. Компьютерное оформление отчетных документов: методические указания / Составитель Т.И. Матикашвили; ТулГУ. Тула, 2000. - 36 с.
2. Казаринов Ю.М. и др. Микропроцессорный комплект К1810: Структура, программирование, применение. - М.: Высш. шк., 1990. - 270 с.
3. Микропроцессоры и микропроцессорные комплекты интегральных микросхем. Справочник в 2-х томах под ред.В.А. Шахнова.
4. Микропроцессоры и микроЭВМ в системах автоматического управления. Справочник под редакцией С.Т. Хвоща. Ленинград, 1987. - 638 с.
5. Микросхемы памяти и их применение.О.Н. Лебедев. М.: Радио и связь, 1990. - 160 с.
6. Микропроцессоры семейства 8086/8088. Ю-Чжен Лю, Г. Гибсон М.: Радио и связь, 1987. - 510 с.
7. Микропроцессорные структуры. Инженерные решения. Б.В. Шевкопляс М.: Радио и связь, 1990. - 512 с.
; тест ПЗУЧисло тактов Число байтов
movsi,begin_of_rom 133
movax,043
loop:
add ax, [si] 142
incsi21
cmpsi,end_of_rom143
jneloop42
cmpax,sum_of_rom143
jeall_good42
jmperror_rom153
all_good:
moval,10000000b42
out03h,al102
moval,042
out02h,al102
; ввод
inax,04h102
movbx,ax 22
inax,04h102
movcx,ax 22
metka:
inax,04h102
; участок кода реализуемой функции
movdi,ax 22
cmpbx,0 43
jenew 42
mulcx1332
divbx1622
movax,dx22
; вывод
out00h,al102
moval,ah22
out01h,al102
moval,01h42
out02h,al102
repeat:
inal,02h102
cmpal,042
jnerepeat42
new:
movbx,cx22
movcx,di22
jmpmetka152
error_rom:
mov al,02h42
out 02h,al102
hlt21