Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек СРВ от Анн.doc
Скачиваний:
11
Добавлен:
09.11.2019
Размер:
2.26 Mб
Скачать

2. Выбор метода построения системы

Выбор структуры системы зависит от внешней среды, аппаратных средств, а также от временных требований, предъявляемых к систе­ме. Выбор также зависит от того, будут ли использоваться только уже имеющиеся в наличии технические средства или планируется использование новых аппаратных средств. Если будут приобретаться новые устройства, то мы можем рассматривать и применение уст­ройств, работающих под управлением прерываний, и устройств, рабо­тающих без прерываний. Если, однако, мы пользуемся только уже имеющимися аппаратными средствами, мы не можем выбирать: исполь­зовать или нет прерывания. Например, некоторое устройство может не предусматривать работу по прерыванию. Тогда мы сами должны применить метод упорядоченного опроса для этого устройства.

В некоторых прикладных программах выбор может диктоваться требованиями, предъявляемыми к временным характеристикам, как это делается в простом примере, предложенном ниже. Принятие решения о выборе метода построения системы на практике, конечно, является более сложным занятием.

Предположим, что мы будем работать в операционной системе MS-DOS под управлением процессора 8088, имеющего частоту 4,77 МГц. Предположим также, что нам нужно собирать данные со скоростью 35000 байтов в секунду. Отметим по предыдущей таблице 5, что при наличии прерываний максимальная скорость передачи данных равна 30 КГц. Это значит, что мы не можем использовать прерывания. Тем не менее, системы опроса могут работать с макси­мальной скоростью передачи данных, равной 60 КГц. Более того, данные могут храниться при этом в основной памяти.

И, наконец, если требуется, чтобы разные процедуры выполня­лись с разной частотой, можно в этом случае применять циклические планировщики.

Все три рассмотренных метода являются синхронными (работаю­щими только с одной задачей, то есть без мультизадачности). Ниже мы рассмотрим мультизадачный режим в операционной системе MS-DOS.

3. Измерение быстродействия компьютера

Изменение быстродействия основывается на использовании того, что работает с одной скоростью на компьютерах с разным быстро­действием. Например, часы реального времени и таймер. Рассмотрим два подхода, хотя принципиальной разницы в них нет. Первый метод основан на вызове функции BIOS "отсчет интервала времени". Эта

функция через некоторое время, не зависящее от быстродействия, устанавливает бит - семафор. Для выполнения этой функции BIOS ис­пользует прерывание часов реального времени.

Функция вызывается с помощью прерывания 15Н. В регистре АН должен находиться номер функции 83Н. Функция имеет две подфунк­ции: включение отсчета временного интервала и выключение отсчета временного интервала.

Для включения отсчета временного интервала используется под­функция ООН. Номер подфункции должен находиться в регистре AL, в регистрах ES:BX должен находиться адрес семафорного байта, в ре­гистре СХ старшее слово микросекунд временного интервала, в ре­гистре DX младшее слово микросекунд временного интервала. Седьмой бит байта семафора должен быть выключен. По истечении этого вре­мени бит будет включен.

Перед вызовом функции желательно дождаться прерывания от ча­сов реального времени, потому что функция может быть вызвана в любое время и возможно разное время до первого прерывания. Изме­рение ведется с некоторой погрешностью, но если этого не делать, то погрешность увеличится.

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

Для вызова этой функции надо вызвать прерывание 15Н. В ре­гистре АН должен находиться номер функции 86Н, в регистре СХ старшее слово микросекунд ожидания, в регистре DX младшее слово микросекунд ожидания. В нашем случае главное дождаться прерыва­ния, поэтому достаточно минимального времени ожидания.

Обе эти функции имеют временное разрешение в период прерыва­ний часов реального времени, что чуть меньше одной миллисекунды.

После замера быстродействия отсчет временного интервала нуж­но отменить. Для этого вызывается подфункция 01Н функции 83Н пре­рывания 15Н. Номер функции должен находиться в регистре АН, номер подфункции в регистре AL.

Второй метод основан на перехвате прерывания таймера. Он

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