Становление и эволюция цифровой вычислительной техники 11 страница

В терминах цикла команды сказанное выглядит так. Для учета прерываний к циклу команды добавляется этап прерывания, в ходе которого процессор проверяет, не поступил ли запрос прерывания. Если запроса нет, ЦП переходит к этапу выборки следующей команды программы. При наличии запроса процессор:

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

2. Заносит в счетчик команд начальный адрес программы обработки прерывания.

 

Рис. 3.5. Передача управления при прерываниях

 

На языке микроопераций это можно записать следующим образом:

СКРДП: РДП := С К; -1УС: УС := УС - 1 <3апись в стек содержимого СК>;

УСРАП: РАП := УС; ЗпЗУ, СКРДП: 0П[(УС)] := РДП := СК;

АккРДП: РДП := Акк; -1УС: УС := УС - 1 <3апись в стек содержимого Акк>;

УСРАП: РАП := УС; ЗпЗУ, АккРДП: ОП[(УС)] := РДП := Акк;

РПрзРДП: РДП := РПрз; -1УС: УС := УС - 1 <3апись в стек содержимого РПрз>;

УСРАП: РАП := УС; ЗпЗУ, РПрзРДП: 0П[(УС)] := РДП := РПрз;

СК := Аобр <3анесение в СК начального адреса обработчика прерываниям>.

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

УСРАП: РАП :=УС, ЧтЗУ: РДП:=0П[(УС)] <восстановление содержимого РПрз>;

+1УС: УС := УС + 1; РДПРПрз: РПрз := РДП;

УСРАП: РАП := УС, ЧтЗУ: РДП := 0П[(УС)] <восстановление содержимого Акк>;

+1УС: УС := УС + 1; РДПАкк: Акк := РДП;

УСРАП: РАП := УС, ЧтЗУ: РДП := 0П[(УС)] <восстановление содержимого СК>;

+1УС: УС := УС + 1; РДПСК: СК := РДП.

 

Диаграмма состояний цикла команды

 

Вышеизложенное можно подытожить в виде рис. 3.6, где показаны потоки инфор­мации в ходе этапов выборки команды, косвенной адресации и прерывания [36]:

 

Рис. 3.6. Потоки информации при реализации цикла команды:а — этап выборки;

б — этап косвенной адресации; в — этап прерывания

 

В работе [36] использован также иной подход к описанию содержания цикла команды — с помощью диаграммы состояний (рис. 3.7).

 

Рис. 3.7. Диаграмма состояний цикла команды

 

На такой диаграмме цикл команды представляется в виде последовательности состояний. Для каждой конкретной команды некоторые состояния могут быть нулевыми, а некоторые другие могут неоднократно повторяться. Полный цикл команды может включать в себя следующие состояния:

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

§ Выборка команды.Чтение команды из ячейки памяти и занесение ее в РК.

§ Декодирование команды. Анализ команды с целью выяснения типа подлежащей выполнению операции и операндов.

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

§ Выборка операнда. Выборка операнда из памяти или его ввод с устройства ввода.

§ Операцияс данными. Выполнение операции, указанной в команде.

§ Запись операнда. Запись результата в память или вывод на устройство вывода.

Состояния в верхней части диаграммы описывают обмен между ЦП и памятью либо между ЦП и модулем ввода/вывода. Состояния в нижней части обозначают только внутренние операции ЦП. Вычисление адреса операнда встречается дважды, поскольку команда может включать в себя чтение, запись или и то и другое, однако действия, выполняемые в этом состоянии, в обоих случаях одни и те же, поэтому используется один и тот же идентификатор состояния.

Следует отметить, что диаграмма допускает множественные операнды и результаты, как того требуют некоторые команды. Кроме того, в ряде ВМ единственная команда может определять операцию над вектором (одномерным массивом чисел) или строкой (одномерным массивом символов), что требует повторяющихся операций выборки и/или записи. Диаграмма отражает также возможность этапов прерывания и косвенной адресации.

 

Основные показатели вычислительных машин

 

Использование конкретной вычислительной машины имеет смысл, если ее показатели соответствуют показателям, определяемым требованиями к реализации заданных алгоритмов. В качестве основных показателей ВМ обычно рассматривают: емкость памяти, быстродействие и производительность, стоимость и надежность [25]. В данном учебнике остановимся только на показателях быстродействия и производительности, обычно представляющих основной интерес для пользователей.

 

Быстродействие

 

Целесообразно рассматривать два вида быстродействия: номинальное и среднее.

Номинальное быстродействие характеризует возможности ВМ при выполнении стандартной операции. В качестве стандартной обычно выбирают короткую операцию сложения. Если обозначить через τсл время сложения, то номинальное быстродействие определится из выражения

Среднее быстродействие характеризует скорость вычислений при выполнении эталонного алгоритма или некоторого класса алгоритмов. Величина среднего быстродействия зависит как от параметров ВМ, так и от параметров алгоритма и определяется соотношением

где ТЭ — время выполнения эталонного алгоритма; N— количество операций, содержащихся в эталонном алгоритме.

Обозначим через и, число операций i-го типа; l — количество типов операций в алгоритме (i = 1, 2, …, i); τi — время выполнения операции i-го типа.

Время выполнения эталонного алгоритма рассчитывается по формуле:

(3.1)

Разделим числитель и знаменатель в (3.2) на N:

(3.3)

Обозначив частоту появления операции i-го типа в (3.3) через запишем окончательную формулу для расчета среднего быстродействия:

(3.4)

В выражении (3.4) вектор {τ1, τ2, …, τl} характеризует систему команд ВМ, а вектор {q1, q2, …, ql}, называемый частотным вектором операций, характеризует алгоритм.

Очевидно, что для эффективной реализации алгоритма необходимо стремиться к увеличению Vср. Если Vном главным образом отталкивается от быстродействия элементной базы, то Vcp очень сильно зависит от оптимальности выбора команд ВМ.

Формула (3.4) позволяет определить среднее быстродействие машины при реализации одного алгоритма. Рассмотрим более общий случай, когда полный алгоритм состоит из нескольких частных, периодически повторяемых алгоритмов. Среднее быстродействие при решении полной задачи рассчитывается по формуле:

(3.5)

где т — количество частных алгоритмов; βj — частота появления операций j-го частного алгоритма в полном алгоритме; qij — частота операций i-гo типа в j-м частном алгоритме.

Обозначим через Nj и Tj — количество операций и период повторения j-гo частного алгоритма; — период повторения полного алгоритма; — цикличность включения j-го частного алгоритма в полном алгоритме.

Тогда за время Тmах в ВМ будет выполнено операций, а частоту появления операции j-го частного алгоритма в полном алгоритме можно определить из выражения

(3.6)

Для расчета по формулам (3.5, 3.6) необходимо знать параметры ВМ, представленные вектором {τ1, τ2, …, τ1}, параметры каждого j-го частного алгоритма — вектор {qj1, qj2, …, qjl} и параметры полного алгоритма — вектор {β1, β 2, …, βm}.

Производительность ВМ оценивается количеством эталонных алгоритмов, выполняемых в единицу времени:

Производительность при выполнении полного алгоритма оценивается по формуле:

(3.7)

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

 

Критерии эффективности вычислительных машин

 

Вычислительную машину можно определить множеством показателей, характеризующих отдельные ее свойства. Возникает задача введения меры для оценки степени приспособленности ВМ к выполнению возложенных на нее функций — меры эффективности.

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

Критерий эффективности — это правило, служащее для сравнительной оценки качества вариантов ВМ. Критерий эффективности можно назвать правилом предпочтения сравниваемых вариантов.

Строятся критерии эффективности на основе частных показателей эффективности (показателей качества). Способ связи между частными показателями определяет вид критерия эффективности.

 

Способы построения критериев эффективности

 

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

Выделение главного показателя. Из совокупности частных показателей А1, А2, …, Аn выделяется один, например А1, который принимается за главный. На остальные показатели накладываются ограничения:

Аi = АiДОП(i = 2, 3, …, n),

где АiДОП — допустимое значение i-гo показателя. Например, если в качестве А1 выбирается производительность, а на показатели надежности Р и стоимости S накладываются ограничения, то критерий эффективности ВМ принимает вид:

Способ последовательных уступок. Все частные показатели нумеруются в порядке их важности: наиболее существенным считается показатель А1 а наименее важным — Аn. Находится минимальное значение показателя А1 — min А1 (если нужно найти максимум, то достаточно изменить знак показателя). Затем делается «уступка» первому показателю ∆А1, и получается ограничение min А1 + ∆А1.

На втором шаге отыскивается min А2 при ограничении А2 ≤ min А1 + ∆А1. После этого выбирается «уступка» для А2: min А2 + ∆А2. На третьем шаге отыскивается min А3 при ограничениях А1 ≤ min А1 + ∆А1; А2 ≤ min А2 + ∆А2 и т. д. На последнем шаге ищут min Аn при ограничениях

А1 ≤ min А1 + ∆А1 ;

А2 ≤ min А2 + ∆А2 ;

Аn-1 ≤ min Аn-1 + ∆Аn-1 ;

Полученный на этом шаге вариант вычислительной машины и значения ее показателей А1, А2, …, Аn считаются окончательными. Недостатком данного способа (критерия) является неоднозначность выбора ∆Аi.

Отношение частных показателей. В этом случае критерий эффективности получают в виде:

(3.8)

или в виде:

(3.9)

где Ai (i = 1, 2, …, п) — частные показатели, для которых желательно увеличение численных значений, а

Bi (i = 1, 2, …, т) — частные показатели, численные значе­ния которых нужно уменьшить. В частном случае критерий может быть представлен в виде:

(3.10)

Наиболее популярной формой выражения (3.10) является критерий цены эффективного быстродействия

(3.11)

где S — стоимость, Vср — среднее быстродействие ВМ. Формула критерия К4 характеризует аппаратные затраты, приходящиеся на единицу быстродействия.

Аддитивная форма. Критерий эффективности имеет вид:

(3.12)

где α1, α2, …, αn — положительные и отрицательные весовые коэффициенты частных показателей. Положительные коэффициенты ставятся при тех показателях, которые желательно максимизировать, а отрицательные — при тех, которые желательно минимизировать.

Весовые коэффициенты могут быть определены методом экспертных оценок. Обычно они удовлетворяют условиям

(3.13)

Основной недостаток критерия заключается в возможности взаимной компенсации частных показателей.

Мультипликативная форма. Критерий эффективности имеет вид

(3.14)

где, в частном случае, коэффициенты ос, полагают равными единице.

От мультипликативной формы можно перейти к аддитивной, используя выражение:

(3.15)

Критерий К6 имеет тот же недостаток, что и критерий К5.

Максиминная форма. Критерий эффективности описывается выражением:

(3.16)

Здесь реализована идея равномерного повышения уровня всех показателей за счет максимального «подтягивания» наихудшего из показателей (имеющего минимальное значение).

У максиминного критерия нет того недостатка, который присущ мультипликативному и аддитивному критериям.

 

Нормализация частных показателей

 

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

Рассмотрим отдельные способы нормализации.








Дата добавления: 2019-04-03; просмотров: 325;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.027 сек.