Лабораторная работа выполняется на персональном компьютере с ОС Windows. Программа имитационного моделирования подсистемы ввода-вывода имеет имя Model_InputOutput и находится в папке Лаб_2. Она составлена на языке Delphi 2010 и позволяет задать один из трех режимов моделирования:
- непрерывный;
- потактовый;
- по таймеру.
Модель обеспечивает исследование подсистемы ввода-вывода, работающей в двух основных режимах:
- без вывода символов на экран;
- с выводом на экран.
Программа позволяет задать следующие исходные данные:
4) количество задач (программ), выполняемых на ЭВМ – от 1 до 5, в данной работе исследуется многопрограммный режим, т.е. число задач больше одной;
5) для каждой задачи:
e) количество процессорных команд (от 100 до 1000, по умолчанию - 100);
f) количество операций ввода (от 10 до 500 - не более количества процессорных команд, по умолчанию -10);
g) среднее число вводимых символов за одну операцию (от 10 до 50, по умолчанию - 10);
h) объем памяти в ОП, занимаемый одной задачей (от 64 Гбайт до 512 Гбайт, по умолчанию – 64 Гбайт);
|
|
6) параметры устройств моделируемой системы, такие как:
d) быстродействие центрального процессора в млн. оп/с (от 10 до 1000, по умолчанию – 10);
e) объем ОП, Гбайт (от 1 до 64, по умолчанию – 1);
f) объем видеопамяти видеокарты, Гбайт (от 1 до 4, по умолчанию – 1).
Результатами моделирования являются временные диаграммы работы основных устройств – процессора, клавиатуры и видеоадаптера, а также количество Т тактов их работы.
Порядок выполнения лабораторной работы
Подготовка к работе
1. Знакомство со всеми разделами руководства.
2. Получение у преподавателя задания на исследование подсистемы ввода-вывода с различными параметрами задачи.
3. Исследование подсистемы с заданными параметрами задачи.
4. Оформление отчета.
Последовательность выполнения лабораторной работы
В лабораторной работе необходимо исследовать те же режимы работы подсистемы ввода-вывода в мультипрограммном режиме, что и в лабораторной работе № 1 для однопрограммного режима. При установке параметров имитационной модели на вкладке «Параметры моделирования» флажок «Мультипрограммный режим» должен быть установлен!
1. В режиме с выводом символов на экран выполнить моделирование процесса обслуживания двух задач с теми же исходными данными, что и в Лаб_1.
2. В режимах с выводом символов на экран и без вывода выполнить моделирование процесса обслуживания трех задач с теми же исходными данными, что и в Лаб_1.
3. В режимах с выводом символов на экран и без вывода выполнить моделирование процесса обслуживания пяти задач с теми же исходными данными, что и в Лаб_1.
|
|
Содержание отчета о выполненной работе
Отчет должен содержать следующее:
1. Название и цель работы.
2. Исходные данные.
3. Графики количества тактов работы устройства в зависимости от параметров, изменяемых в каждом пункте. Каждый график должен содержать семейство кривых: для 2, 3 и 5 задач.
4. Выводы о влиянии параметров задачи и устройств на характеристики исследованной подсистемы.
Контрольные вопросы
1. Чем отличается мультипрограммный режим от однопрограммного?
2. Как обслуживаются задачи в мультипрограммном режиме?
3. В каких режимах осуществляется ввод текстовой информации в ЭВМ?
4. Какие устройства участвуют в операции ввода одного символа?
5. Для чего нужен буфер клавиатуры?
6. Какие функции выполняет видеокарта?
7. Как влияет количество задач на характеристики подсистемы в исследованных Вами режимах?
8. Как влияют параметры отдельной задачи на характеристики подсистемы в исследованных Вами режимах?
9. Как влияют параметры устройств на характеристики подсистемы в исследованных Вами режимах?
10. Какие устройства вносят основной вклад во время выполнения программ?
11. Какие операции вносят основной вклад во время выполнения программ?
Лабораторная работа №3
Исследование подсистемы прямого доступа
к памяти компьютера в однопрограммном режиме
Краткая теория
Цель работы. Изучение принципов выполнения операции прямого доступа в память современных компьютеров, работающих в однопрограммном режиме, с помощью простейшей имитационной модели.
Операции ввода-вывода в современных компьютерах могут выполняться в одном из двух основных режимов:
1) программно-управляемый, который предполагает непосредственное участие центрального процессора;
2) прямой доступ, реализуемый под управлением контроллера ввода-вывода.
Первый режим характеризуется тем, что все действия, связанные с вводом или выводом, реализуются командами прикладной программы.
Для большинства внешних устройств до выполнения рассматриваемых операций надо убедиться в их готовности к обмену. Общее состояние устройства характеризуется флагом готовности READY, называемым иногда также флагом готовности/занятости (READY/BUSY). Процессор проверяет флаг готовности с помощью одной или нескольких команд. Если он установлен, то инициируются собственно ввод или вывод одного или нескольких слов данных. Когда флаг сброшен, процессор выполняет цикл из 2-3 команд. После этого он повторно проверяет флаг READY до тех пор, пока устройство не будет готово к операциям ВВ. Описываемый цикл называется циклом ожидания готовности ВУ и реализуется в различных процессорах по-разному.
При пересылке данных из внешнего устройства в оперативную память при программно-управляемом режиме процессор должен выполнить следующую последовательность операций:
1) сформировать начальный адрес области ОП для обмена;
2) занести длину передаваемого массива в один из своих внутренних регистров, который будет играть роль счетчика;
3) выдать команду чтения информации из ВУ; при этом на шину адреса из процессора выдается адрес внешнего устройства, на шину управления - сигнал чтения из ВУ, а считанные данные заносятся во внутренний регистр процессора;
4) выдать команду записи информации в ОП; при этом на шину адреса из процессора подается адрес ячейки оперативной памяти, на шину управления - сигнал записи в ОП, а на шину данных выставляются данные из регистра процессора, в который они были помещены при чтении из ВУ;
5) модифицировать регистр, содержащий адрес оперативной памяти, чтобы перейти к новой ячейке;
6) уменьшить счетчик длины массива на размер переданных данных;
7) если переданы не все данные, то повторить шаги 3 - 6, в противном случае закончить обмен.
|
|
Основной недостаток программного ввода-вывода связан с непроизводительными потерями времени процессора в циклах ожидания. К достоинствам следует отнести простоту его реализации, не требующей дополнительных аппаратных средств.
Таким образом, программно-управляемый обмен ведет к нерациональному использованию мощности микропроцессора, который вынужден выполнять большое количество относительно простых операций, приостанавливая работу над основной программой. При этом действия, связанные с обращением к оперативной памяти и внешнему устройству, обычно требуют удлиненного цикла работы микропроцессора, что приводит к еще более существенным потерям производительности.
Альтернативой программного ввода-вывода является способ, при котором устройство само оповещает процессор о своей готовности. Он использует прерывания, которые инициируются внешним устройством, генерирующим соответствующий сигнал. Для обработки прерываний в процессор встраивается соответствующий контроллер. Так, в процессор Pentium был добавлен улучшенный программируемый контроллер прерываний — APIC (Advanced Programmable Interrupt Controller). Начиная с этого процессора, каждая следующая модель снабжалась интегрированным локальным контроллером (Local APIC-ом). Он использовался в многоядерных и многопроцессорных системах.
Режим прямого доступа является альтернативой программно-управляемому обмену. Он представляет собой способ подключения внешнего устройства, при котором это устройство обращается к оперативной памяти, не прерывая работы процессора. Такой обмен происходит под управлением контроллера прямого доступа к памяти (КПДП).
Основное назначение прямого доступа (ПДП – DMA, Direct Memory Access) — передача данных между разными устройствами с минимальным привлечением процессора. Как правило, одним из этих устройств является оперативная память, хотя иногда возможны как передачи между двумя внешними устройствами, так из памяти в память. Прямой доступ позволяет осуществлять обмен данными между внешним устройством и оперативной памятью параллельно с выполнением программы процессором. При этом увеличивается производительность компьютера за счет того, что данные не пересылаются в ЦП и обратно.
|
|
Современные контроллеры ПДП многоканальные, что позволяет поддерживать несколько каналов доступа к памяти от разных периферийных устройств. Схема включения КПДП в состав компьютера представлена на рисунке 3.1. Перед началом работы контроллер необходимо инициализировать: занести начальный адрес области ОП, с которой производится обмен, и длину передаваемого массива данных. В дальнейшем по сигналу запроса прямого доступа контроллер фактически выполняет все те действия, которые обеспечивал микропроцессор при программно-управляемой передаче.
КПДП при запросе на прямой доступ к памяти со стороны внешнего устройства выполняет следующие операции:
1) прием запроса на ПДП (сигнал DRQ) от ВУ;
2) формирование запроса к микропроцессору (МП) на захват шин (сигнал HRQ);
3) прием сигнала от МП (HLDA), подтверждающего факт перевода шин микропроцессора в третье состояние;
4) формирование сигнала, сообщающего устройству ввода-вывода о начале выполнения циклов прямого доступа к памяти (DACK);
МП – микропроцессор,
ОЗУ – оперативное запоминающее устройство
Рис. 3.1. Схема организации прямого доступа в память
5) формирование на шине адреса компьютера адреса ячейки памяти, предназначенной для обмена;
6) выработка сигналов, обеспечивающих управление обменом (IOR, MW - для передачи данных из ВУ в оперативную память и IOW, MR - для передачи из оперативной памяти в ВУ);
7) уменьшение значения в счетчике данных на размер переданных данных;
8) проверка условия окончания сеанса прямого доступа (обнуление счетчика данных или снятие сигнала запроса на ПДП). Если условие окончания не выполнено, то изменяется адрес в регистре текущего адреса на размер переданных данных и повторяются шаги 5-8.
В лабораторной работе исследуется работа компьютера, структура которого приведена на рис. 3.2. Он содержит центральный процессор, оперативную память, северный и южный мост, а также внешние запоминающие устройства.
Режим DMA используется, если требуется заполнить ячейки памяти, имеющие последовательные адреса. При этом выполняются следующие операции:
1) размер данных записывается в регистр контроллера DMA;
2) передается адрес первой ячейки;
3) в цикле осуществляется пересылка данных указанного размера.
Контроллер DMA может получать доступ к системной шине независимо от процессора и имеет несколько регистров. Регистры контроллера DMA доступны ЦП для чтения и записи и задают:
a) номер порта, который должен быть использован для передачи данных;
b) вид операции (чтение или запись);
c) логическую единицу передачи данных (побайтно или пословно);
d) размер данных (в байтах), которые следует передать.
Так, при чтении данных с устройства в ОП процессор записывает значения в регистры контроллера DMA и отправляет устройству (например, ВЗУ) команду на чтение данных.
1) Устройство читает данные и записывает их в свою внутреннюю память (буфер).
2) Контроллер DMA устанавливает на адресную шину адрес памяти компьютера и отправляет устройству запрос на чтение данных из буфера.
3) Устройство получает запрос и при этом даже не знает, от какого устройства он пришёл: от ЦП или контроллера ПДП.
4) По этому запросу оно пересылает очередное слово из буфера в оперативную память по адресу, находящемуся на адресной шине.
5) Затем устройство посылает контроллеру DMA сигнал, сообщающий об окончании записи.
6) Контроллер увеличивает адрес ОЗУ и выставляет его на адресную шину, уменьшает значение своего счётчика байтов и снова отправляет запрос на чтение данных из буфера устройства.
Операции 1 - 6 повторяются, пока значение счётчика не станет равно нулю. После окончания этого цикла устройство инициирует прерывание процессора, сообщающее о завершении передачи данных.
Рис. 3.2. Структура компьютера, исследуемого в лабораторной работе