4.5.2 Функция планирования
С механизмом пересылки и аппаратной взаимной блокировкой возможно доказать аналог теоремы 4.7 вообще без гипотезы о последовательности команд.
Перед определением теоремы мы формализуем новую функцию планирования Iπ(k, T). Циклы Т при рассмотрении будут циклами CE2. Интуитивно определение говорит, что новая команда в каждом цикле CE1 вставляется в канал, и что впоследствии она просачивается по каналу вниз вместе со своими сигналами full.k. Предположим, что цикл 0 является последним циклом, в котором активен сигнал сброса.
Любые команды продвигаются самое большее на один этап за цикл, т.е., если Iπ(k,T) = i, тогда |
Предположим, что сигнал сброса активен достаточно долго, чтобы разрешить доступ к адресу 0 памяти команд. С этим предположением активация сигнала сброс имеет следующее действие: CE2 = 1 ue.0 = CE1 ue.1 = ue.2 = ие.3 = ue.4 = 0. Самое большее после одного цикла флаги заполненности инициализируются в full.1 = 1, full.2 = full.3 = full.4 = 0, доступы по чтению к памяти данных запрещены (DMr’ = 0), и таким образом, busy = dhaz= 0. |
Выполнение все еще начинается в цикле 0 при Iπ(0,0) = 0. Команды всегда выбираются в программном порядке, т.е.,
Когда завершены первые обращения к IM, регистр команд содержит
IR = IM[0].
Лемма 4.10 |
PROOF |
Это ситуация в цикле Т = 0. Начиная со следующего цикла сигнал сброса выключен, и в тогда каждом цикле CE1 новая команда подается на этап 0. Кроме того, мы имеем
ue.0T = ue.1T = CE1Tдля всех Т >= 1
т.е., после цикла Т = 0 этапы 0 и 1 всегда синхронизируются одновременно, а именно в каждом цикле CE1. Простая индукция по Т дает для любого i>= 1
Iπ(0, T) = i -> Iπ(1, T) = i-l (4.5)
ue.kT = 1 -> ue.(k+\)T+1 = 1. |
Так только команда синхронизируется на этапе 2 она проходит один этап за каждый цикл синхронизации CE2. Таким образом, команда не может быть остановлена после того, как была синхронизирована на этапе 2, т.е., это значит для k € {2,3} |
Механизм останова гарантирует следующие две особенности: 1.Команда Ii никогда не может настигнуть предыдущую команду Ii-1 . 2. Для любого этапа k >= 1 и любого цикла Т >= 1, значение Iπ(k,T) функции планирования определено только тогда, когда флаг full.k активен в течении цикла T, full.kT = 1. |
1) Так как команды всегда выбираются по порядку (уравнение 4.3), команда Ii входит на этап 0 после команды Ii-1 . Из-за жесткой конфигурации поведения на первых двух этапах (уравнение 4.5), существует цикл Т с Iπ(0, T) = i /\ Iπ(l, T) = i - l. |
Пусть T’ >= Т – следующий цикл с активным синхроимпульсом CE1. Этапы 0 и 1 синхронизируются в конце цикла T'; по уравнению 4.4 из этого следует, что обе команды передвигаются на следующий этап: Iπ(1,T ' + 1) = i /\ Iπ(2, T ' + 1) = i-1. |
Iπ(k, T) = i -> Iπ(k+ 1,Т + 1) = i. (4.6) |
Это означает, что команды перемещаются в жесткой конфигурации через этапы 0 и 1. Для T>= 1 и 1 <= k <= 3 это означает, что
Команда Ii-1 теперь выполняется на полной скорости (уравнение 4.6), т.е., это значит, что для a€ {1,2}
Iπ(2 + a,T ' + 1+ a) = i - 1.
Команда Ii может проходить самое большее один этап за цикл (уравнение 4.4), и до цикла Т + 1 + aона, следовательно, не перемещается за этапом 1 + a. Таким образом, Ii не может достигнуть Ii-1 . Это доказывает первое выражение.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.