Главная » Просмотр файлов » Жмакин А.П. Архитектура ЭВМ (2006)

Жмакин А.П. Архитектура ЭВМ (2006) (1186252), страница 38

Файл №1186252 Жмакин А.П. Архитектура ЭВМ (2006) (Жмакин А.П. Архитектура ЭВМ (2006)) 38 страницаЖмакин А.П. Архитектура ЭВМ (2006) (1186252) страница 382020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 38)

Программное управление режимами блока таймеров осуществляется пут§ записи в регистры CTR соответствующих кодов. Запись по адресу SR ч с 1 в третьем разряде интерпретируется блоком таймеров как команда, п$ чем младшие разряды этого числа определяют код команды:

□ хххЮО — общий сброс (эквивалентна нажатию кнопки Сброс в окне обо­зревателя);

□ xxxlOl — сброс флага переполнения таймера FT1;

□ хххЮ2 — сброс флага переполнения таймера FT2;

□ хххЮЗ — сброс флага переполнения таймера FT3.

8.6.4. Тоногенератор

Модель этого простого внешнего устройства не имеет собственного обозре­вателя, содержит всего два регистра, доступных только для записи:

□ FR (адрес 0) — регистр частоты звучания (Гц):

□ LR (адрес 1) — регистр длительности звучания (мс).

По умолчанию базовый адрес тоногенератора— 30. Сначала следует запи­сать в FR требуемую частоту тона в герцах, затем в LR — длительность зву­чания в миллисекундах. Запись числа по адресу регистра LR одновременно является командой на начало звучания.

8.7. Подсистема прерываний

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

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

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

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

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

Таблица прерываний в рассматриваемой модели жестко фиксирована — она занимает ячейки памяти с адресами 100—109. Таким образом, адрес обработчика с вектором 0 должен располагаться в ячейке 100, с вектором 2 — в ячей­ке 102. При работе с прерываниями не рекомендуется использовать ячейки 100—109 для других целей.

Процессор начинает обработку прерывания (если они разрешены), завершив текущую команду. При этом он:

1. Получает от контроллера вектор прерывания.

2. Формирует и помещает в верхушку стека слово, три младших разряда ([3:5]) которого — текущее значение PC (адрес возврата из прерывания), а разряды [1:2] сохраняют десятичный эквивалент шестнадцатеричной циф­ры, определяющей значение вектора флагов (I, OV, S, Z). Например, если 1=1, OV = 0, S = 1, Z = 1, то в разряды [1:2] запишется число 1110 = 10112.

3. Сбрасывает в 0 флаг разрешения прерывания I.

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

Таким образом, вызов обработчика прерывания, в отличие от вызова подпро­граммы, связан с помещением в стек не только адреса возврата, но и текуще­го значения вектора флагов. Поэтому последней командой подпрограммы обработчика должна быть команда iret, которая не только возвращает в PC три младшие разряда ячейки — верхушки стека (как ret), но и восстанавли­вает те значения флагов, которые были в момент перехода на обработчик прерывания.

Не всякое событие, которое может вызвать прерывание, приводит к прерыва­нию текущей программы. В состав процессора входит программно-доступный флаг I разрешения прерывания. При 1 = 0 процессор не реагирует на запросы прерываний. После сброса процессора флаг I так же сброшен и все прерывания запрещены. Для того чтобы разрешить прерывания, следует в программе выполнить команду ei (от англ. enable interrupt).

Выше отмечалось, что при переходе на обработчик прерывания флаг I авто­матически сбрасывается, в этом случае прервать обслуживание одного пре­рывания другим прерыванием нельзя. По команде iret значение флагов вос­станавливается, в т. ч. вновь устанавливается 1=1, следовательно, в основной программе прерывания опять разрешены.

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

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

Как правило, каждое внешнее устройство, которое может вызвать прерыва­ние, содержит в составе своих регистров разряд флага разрешения прерыва­ния (см. формат регистров CR и CTR на рис. 8.9, 8.13), по умолчанию уста­новленный в 0. Если оставить этот флаг в нуле, то внешнему устройству за­прещается формировать запрос контроллеру прерываний. Иногда бывает удобно (например, в режиме отладки) иметь возможность вы­звать обработчик прерывания непосредственно из программы. Если исполь зовать для этих целей команду call, которая помещает в стек только адре возврата, то команда iret, размещенная последней в обработчике, может ис казить значения флагов (все они будут сброшены в 0, т. к. команда call фор­мирует только три младшие разряда ячейки верхушки стека, оставляя осталь­ные разряды в 000).

Поэтому в системах команд многих ЭВМ, в т. ч. и нашей модели, имеются команды вызова прерываний— int л (в нашей модели л е {0, 1,9}), где л— вектор прерывания. Процессор, выполняя команду int л, производит те же действия, что и при обработке прерывания с вектором л. Характерно, что с помощью команды int л можно вызвать обработчик пре­рывания даже в том случае, когда флаг разрешения прерывания 1 сброшен.

8.8. Программная модель кэш-памяти

К описанной в разд. 8.1 программной модели учебной ЭВМ может быть под­ключена программная модель кэш-памяти, структура которой в общем вид" отображена на рис. 5.2. Конкретная реализация кэш-памяти в описываемо программной модели показана на рис. 8.15.

Кэш-память содержит N ячеек (в модели N может выбираться из множест­ва {4, 8, 16, 32}), каждая из которых включает трехразрядное поле тега (адре са ОЗУ), шестиразрядное поле данных и три однобитовых признака (флага):

□ Z — признак занятости ячейки;

□ U — признак использования;

□ W — признак записи в ячейку.

Таким образом, каждая ячейка кэш-памяти может дублировать одну любу ячейку ОЗУ, причем отмечается ее занятость (в начале работы модели вс ячейки кэш-памяти свободны, VZ, = 0), факт записи информации в ячейку в время пребывания ее в кэш-памяти, а также использование ячейки (т. е. лю бое обращение к ней).

Текущее состояние кэш-памяти отображается на экране в отдельном окне в форме таблицы, причем количество строк соответствует выбранному числу ячеек кэш. Столбцы таблицы определяют содержимое полей ячеек, например, так, как показано в табл. 8.3.

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

Напомним, что при сквозной записи при кэш-попадании в процессорных циклах записи осуществляется запись как в ячейку кэш-памяти, так и в ячей­ку ОЗУ, а при обратной записи — только в ячейку кэш-памяти, причем эта ячейка отмечается битом записи (Wt := 1). При очистке ячеек, отмеченных

битом записи, необходимо переписать измененное значение ноля данных в соответствующую ячейку ОЗУ.

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

В модели реализованы три различных алгоритма замещения строк:

случайное замещение, при реализации которого номер ячейки кэш-памяти выбирается случайным образом;

очередь, при которой выбор замещаемой ячейки определяется временем пребывания ее в кэш-памяти;

бит использования, случайный выбор осуществляется только из тех ячеек, которые имеют нулевое значение флага использования.

Напомним, что бит использования устанавливается в 1 при любом обращении к ячейке, однако, как только все биты £/, установятся в 1, все они тут же сбрасываются в 0, так что в кэш всегда ячейки разбиты на два непересекаю­щихся подмножества по значению бита U — те, обращение к которым со­стоялось относительно недавно (после последнего сброса вектора U) имеют значение U = 1, иные — со значением U = 0 являются "кандидатами на уда­ление" при использовании алгоритма замещения "бит использования".

Если в параметрах кэш-памяти установлен флаг "с учетом бита записи", все три алгоритма замещения осуществляют поиск "кандидата на удаление прежде всего среди тех ячеек, признак записи которых не установлен, а пр отсутствии таких ячеек (что крайне маловероятно) — среди всех ячеек кэш­памяти. При снятом флаге "сучетом бита записи" поиск осуществляется по всем ячейкам кэш-памяти без учета значения W.

Оценка эффективности работы системы с кэш-памятью определяется числом кэш-попаданий по отношению к общему числу обращений к памяти. Учиты­вая разницу в алгоритмах записи в режимах сквозной и обратной записи, эф­фективность использования кэш-памяти вычисляется по следующим выра­жениям (соответственно для сквозной и обратной записи):

где:

О К — коэффициент эффективности работы кэш-памяти; С S0 — общее число обращений к памяти; SK — число кэш-попаданий;

а SKw — число сквозных записей при кэш-попадании (в режиме сквози записи);

П S'Kv — число обратных записей (в режиме обратной записи).

8.9. Вспомогательные таблицы

В данном разделе представлены вспомогательные таблицы (табл. 8.4—8. для работы с моделью учебной ЭВМ.

В табл. 8.6 приняты следующие обозначения:

□ DD— данные, формируемые командой в качестве (второго) операнда: прямо или косвенно адресуемая ячейка памяти или трехразрядный непо­средственный операнд;

□ R* — содержимое регистра или косвенно адресуемая через регистр ячейка памяти;

□ ADR* — два младших разряда ADR поля регистра CR;

□ V — адрес памяти, соответствующий вектору прерывания;

□ М(*) — ячейка памяти, прямо или косвенно адресуемая в команде;

□ I — пятиразрядный непосредственный операнд со знаком.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6430
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее