===== 7. Замечания ===== - В режиме BTR бит запрета записи в теге не проверяется независимо от БПТЗ. - Если команды записываются в ОЗУ (например, загрузчиком, или сама программа модифицирует свои команды), то перед их исполнением надо сделать СБРОС КЭША, иначе может случиться, что будут выбираться старые команды, бывшие в ОЗУ на тех же адресах, и осевшие в кэше. - Время сброса кэша - 200 микросекунд. - Читать модифицированные слова только командами RDMWR ! т.к. $модифицированное слово в кэш не попадает. - После сигнала "сброс кэша" к нему нельзя обращаться командами типа CCRD или DCRD, т.к. При этом зависает арбитр (клинч). Надо сначала сделать пустое обращение к ОЗУ, чтоб "сброс кэша" сбросился. - Int11 - запрет записи в теге при БПТЗ=0 происходит перед записью в ОЗУ, когда запись в кэш уже произошла. Получается несоответствие между ОЗУ и кэшом ! поэтому при int11 в микропрограмме сразу же сбрасывается кэш. - Часы "тикают" с частотой 1 микросекунда; таймер - 10 микросекунд. - Нельзя читать/писать длительное время в режиме BTR, иначе будет "time-out" ! - Int32 при возникновении любого прерывания и ПОП=1: если проталкивать программу дальше, убрав "останов", надо сбросить и это прерывание (оно при сбросе тг.HALT не сбрасывается !). Иначе оно снова "сорвет". - При записи в ОЗУ останова 0,1 сигнал YDEV=SТОРМ0,1 является одновременно сигналом выборки и записи. WRY при этом - лишнее, только чтоб не ругался микроассемблер. - Аналогично - сброс ПИА сигналом DDEV3 : добавляем сигнал записи WRD. - Сброс кэша - это запись 3ff в ОЗУ номеров страниц кэша. Во время сброса кэша и после сброса, когда из ОЗУ номеров страниц выбирается 3ff, арбитр обращается к ОЗУ. В командах чтения кэша после сброса или при несовпадении номера страницы, чтения из кэша не происходит, данные в БОИ не изменяются. - Обращения к ОЗУ есть всегда: при записи, в режимах BTR и RDMWR. Запись в кэш операндов происходит при записи (DWR) и при чтении операнда (DRD); а кэш команд - только при ВКС (FЕТСН).