Жмакин А.П. Архитектура ЭВМ (2006) (1186252), страница 41
Текст из файла (страница 41)
В первом случае предполагается программное обращение процессора к реги стру состояния ВУ с последующим анализом значения соответствующе разряда слова состояния. Такое обращение следует предусмотреть в пр грамме с некоторой периодичностью, независимо от фактического наступл ния контролируемого события (например, нажатие клавиши).
Во втором случае при возникновении контролируемого события ВУ формирует процессору запрос на прерывание программы, по которому процессор i осуществляет связь с ВУ.
9.6.1. Задание 6
Свой вариант задания (табл. 9.12) требуется выполнить двумя способами сначала в режиме программного контроля, далее модифицировать программ таким образом, чтобы события обрабатывались в режиме прерывания пр граммы. Поскольку "фоновая" (основная) задача для этого случая в задани отсутствует, роль ее может сыграть "пустой цикл":
М: NOP
NOP
JMP М
9.6.2. Задания повышенной сложности
1. Разработать программу-тест на скорость ввода символов с клавиатуры. П звуковому сигналу включается клавиатура и таймер на Т секунд. Можн начинать ввод символов, причем каждый символ отображается на дисплее, ведется подсчет количества введенных символов (после каждых 50 дается команда на очистку буфера клавиатуры, после 128 — очищается дисплей). Переполнение таймера выключает клавиатуру и включает сигнал завер шения ввода (можно тон этого сигнала сопоставить с количеством введен ных символов). Параметр Т вводится из IR. Результат S — средняя ско рость ввода (символ/с) выдается на OR. Учитывая, что модель учебно ЭВМ оперирует только целыми числами, можно выдавать результат формате 5x60 символов/мин.
2. Разработать программу-тест на степень запоминания текста. Три различ ных вариантах текста выводятся последовательно на дисплей на Т{ секун с промежутками Т2 секунд. Далее эти тексты (то, что запомнилось) вв дятся с клавиатуры (в режиме ввода строки) и программно сравниваются исходными текстами. Выдается количество (процент) ошибок.
3. Разработать программу-калькулятор. Осуществлять ввод из буфера кл виатуры последовательности цифр, упаковку (см. задание 1 в табл. 9.12)
Разделители— знаки бинарных арифметических операций и =. Ре \ n.i переводится в ASCII-коды и выводится на дисплей.
9.6.3. Порядок выполнения работы
1. Запустить программную модель учебной ЭВМ и подключить к ней ОН деленные в задании внешние устройства (меню Внешние устройст! Менеджер ВУ).
2. Написать и отладить программу, предусмотренную заданием, с исполЦ ванием программного анализа флагов готовности ВУ. Продеможмрм| вать работающую программу преподавателю.
3. Изменить отлаженную в п. 2 программу таким образом, чтобы пропей i реагировал на готовность ВУ с помощью подсистемы прерывания. Про и монстрировать работу измененной программы преподавателю.
9.6.4. Содержание отчета
1. Текст программы с программным анализом флагов готовности ВУ.
2. Текст программы с обработчиком прерывания.
9.6.5. Контрольные вопросы
1. При каких условиях устанавливается и сбрасывается флаг готовности виатуры Rd?
2. Возможно ли в блоке таймеров организовать работу всех трех таймеро! разной тактовой частотой?
3. Как при получении запроса на прерывание от блока таймеров определ! номер таймера, достигшего состояния 99 999 (00 000)?
4. Какой текст окажется на экране дисплея, если после нажатия в окне зревателя дисплея кнопки Очистить и загрузки по адресу CR (11) ко* станты #10 вывести по адресу DR (10) последовательно пять ASCII-коде русских букв А, Б, В, Г, Д?
5. В какой области памяти модели ЭВМ могут располагаться программы | обработчики прерываний?
6. Какие изменения в работе отлаженной вами второй программы произо( дут, если завершить обработчик прерываний командой ret, а не iret?
9.7. Лабораторная работа № 7. Принципы работы кэш-памяти
В разд. 8.8 данной книги описаны некоторые алгоритмы замещения строк кэш-памяти. Цель настоящей лабораторной работы — проверить работу различных алгоритмов замещения при различных режимах записи.
9.7.1. Задание 7
В качестве задания предлагается некоторая короткая "программа" (табл. 9.14), которую необходимо выполнить с подключенной кэш-памятью (размером 4 и 8 ячеек) в шаговом режиме для следующих двух вариантов алгоритмов замещения (табл. 9.13).
He следует рассматривать заданную последовательность команд как фрш мент программы1. Некоторые конструкции, например, последователь!ни и. команд push r6, ret в общем случае не возвращает программу в точку ih.i юни подпрограммы. Такие группы команд введены в задание для того, чтобы обратить внимание студентов на особенности функционирования стека.
9.7.2. Порядок выполнения работы
1. Ввести в модель учебной ЭВМ текст своего варианта программы (см
табл. 9.14), ассемблировать его и сохранить на диске в виде txt-файл;!
2. Установить параметры кэш-памяти размером 4 ячейки, выбрать режим записи и алгоритм замещения в соответствии с первой строкой своею И рианта из табл. 9.13.
3. В шаговом режиме выполнить программу, фиксируя после каждого inaitt состояние кэш-памяти.
4. Для одной из команд записи (WR) перейти в режим Такт и отметить, н кй*
ких микрокомандах происходит изменение кэш-памяти.
5. Для кэш-памяти размером 8 ячеек установить параметры в соответствии СО второй строкой своего варианта из табл. 9.13 и выполнить программу и шаговом режиме еще раз, фиксируя последовательность номеров зам! щаемых ячеек кэш-памяти.
9.7.3. Содержание отчета
1. Вариант задания — текст программы и режимы кэш-памяти.
2. Последовательность состояний кэш-памяти размером 4 ячейки при однократном выполнении программы (команды 1—7).
3. Последовательность микрокоманд при выполнении команды wr с отметкой тех микрокоманд, в которых возможна модификация кэш-памяти.
4. Для варианта кэш-памяти размером 8 ячеек— последовательность номеров замещаемых ячеек кэш-памяти для второго варианта параметров кэшпамяти при двукратном выполнении программы (команды 1—7).
9.7.4. Контрольные вопросы
1. В чем смысл включения кэш-памяти в состав ЭВМ?
2. Как работает кэш-память в режиме обратной записи? Сквозной записи?
3. Как зависит эффективность работы ЭВМ от размера кэш-памяти?
4. В какую ячейку кэш-памяти будет помещаться очередное слово, если сво^ бодные ячейки отсутствуют?
5. Какие алгоритмы замещения ячеек кэш-памяти вам известны?
9.8. Лабораторная работа № 8. Алгоритмы замещения строк кэш-памяти
Цель работы— изучение влияния параметров кэш-памяти и выбранного ал ; горитма замещения на эффективность работы системы. Эффективность в данном случае оценивается числом кэш-попаданий по отношению к общему числу обращений к памяти. Учитывая разницу в алгоритмах в режимах сквозной и обратной записи, эффективность использования кэш-памяти вычисляется выражениям (8.2) и (8.3) соответственно для сквозной и обратной записи.;
Очевидно, эффективность работы системы с кэш-памятью будет зависеть! не только от параметров кэш-памяти и выбранного алгоритма замещения, но и от класса решаемой задачи. Так, линейные программы должны хорошо работать с алгоритмами замещения типа очередь, а программы с большим чис лом условных переходов, зависящих от случайных входных данных, могут да вать неплохие результаты с алгоритмами случайного замещения. Можно предположить, что программы, имеющие большое число повторяющихся участков (часто вызываемых подпрограмм и/или циклов) при прочих равных условиях обеспечат более высокую эффективность применения кэш-памяти чем линейные программы. И, разумеется, на эффективность напрямую должен влиять размер кэш-памяти.
Для проверки высказанных выше предположений выполняется настоящая лабораторная работа.
9.8.1. Задание 8
В данной лабораторной работе все варианты задания одинаковы: исследовать эффективность работы кэш-памяти при выполнении двух разнотипных программ, написанных и отлаженных вами при выполнении лабораторных работ №2 и 4.
9.8.2. Порядок выполнения работы
1. Загрузить в модель учебной ЭВМ отлаженную программу из лабораторной работы № 2.
2. В меню Работа установить режим Кэш-память.
3. В меню Вид выбрать команду Кэш-память, открыв тем самым окно Кэшпамять, в нем нажать первую слева кнопку на панели инструментов, открыв диалоговое окно Параметры кэш-памяти, и установить следующие параметры кэш-памяти: размер — 4, режим записи — сквозная, алгоритм замещения — случайное, без учета бита записи (W).
4. Запустить программу в автоматическом режиме; по окончании работы просмотреть результаты работы кэш-памяти в окне Кэш-память, вычислить значение коэффициента эффективности К и записать в ячейку табл. 9.15, помеченную звездочкой.
5. Выключить кэш-память модели (Работа | Кэш-память) и изменить один из ее параметров — установить флаг с учетом бита записи (в окне Параметры кэш-памяти).
6. Повторить п. 4, поместив значение полученного коэффициента эффективности в следующую справа ячейку табл. 9.15.
7. Последовательно меняя параметры кэш-памяти, повторить пп. 3—5, заполняя все ячейки табл. 9.15.
Совет_
При очередном запуске программы не забывайте устанавливать процессор модели в начальное состояние, нажимая кнопку R в окне Процессор! ,
8. Повторить все действия, описанные в пп. 1—7 для программы из лабораторной работы № 4, заполняя вторую таблицу по форме табл. 9.15.
9.8.3. Содержание отчета
1. Две таблицы по форме табл. 9.15 с результатами моделирования программ из лабораторных работ № 2 и 4 при разных режимах работы кэш-памяти.
2. Выводы, объясняющие полученные результаты.
9.8.4. Контрольные вопросы
1. Как работает алгоритм замещения очередь при установленном флажке С учетом бита записи в диалоговом окне Параметры кэш-памяти?
2. Какой алгоритм замещения будет наиболее эффективным в случае применения кэш-памяти большого объема (в кэш-память целиком помещается программа)?
3. Как скажется на эффективности алгоритмов замещения учет значения бита записи W при работе кэш-памяти в режиме обратной записи? Сквозной записи?
4. Для каких целей в структуру ячейки кэш-памяти включен бит использования. Как устанавливается и сбрасывается этот бит?
ГЛАВА 10
Курсовая работа
10.1. Цель и содержание работы
Целью курсовой работы является:
□ обобщение, закрепление и углубление знаний по дисциплинам, сии
занным с проектированием средств ВТ;
□ формирование навыков разработки и оформления текстовой и гри фической технической документации;
□ развитие навыков устных сообщений по содержанию работы.
Содержанием курсовой работы является разработка арифметика m.-ti ческого устройства (АЛУ), реализующего заданный набор операций с умытом ограничений на код выполнения операций и способ построения управ ляющего автомата.
10.2. Задания
Задания на курсовую работу включают в себя некоторый набор исходны* данных и ограничений для проектирования АЛУ. Все варианты задания сн0« дены в табл. 10.1. Строка таблицы представляет один вариант задания, при чем номер варианта определяется номером группы (1—2) и порядковым ни мером студента по списку группы (1—25).