
- •История развития средств вычисления. Этапы развития.
- •Простейшие вычислительные инструменты
- •Механические счетные устройства с 17 века.
- •Электромеханические счетные машины (конец 19 начало 20 веков).
- •Электронно- вычислительные машины.
- •Классификация вычислительных машин.
- •Принципы построения эвм.
- •Архитектурные принципы фон Неймана.
- •Уу уВв уВыв зу
- •Характеристики эвм.
- •Функциональная и структурная организация процессора.
- •Процессор
- •Регистры
- •Стандартный цикл выполнения команды.
- •Программная модель микропроцессора.
- •Состав и назначение регистров.
- •Система команд процессора.
- •Способы обращения к памяти и внешним устройствам.
- •Характеристики процессоров.
- •Устройства управления процессорами.
- •Структурная модель устройства управления.
- •Мпа с жесткой логикой.
- •Мпа с программируемой логикой.
- •Арифметико- логические устройства.
- •Структура алу.
- •Классификация алу.
- •Магистральные алу.
- •Операционный блок универсального алу.
- •Система команд.
- •Классификация методов адресации.
- •Стековая адресация.
- •Архитектура системных команд.
- •Запоминающие устройства эвм.
- •Классификация запоминающих устройств.
- •Иерархическая структура памяти эвм.
- •Виртуальная память.
- •Алгоритм замещения страниц виртуальной памяти и строк кэш- памяти.
- •Вычислительные системы.
- •Архитектура вс
- •Организация шин
- •Типы шин
- •Шина «процессор-память»
- •Шина ввода/вывода
- •Системная шина
- •Иерархия шин Вычислительная машина с одной шиной
- •Вычислительная машина с двумя видами шин
- •Вычислительная машина с тремя видами шин
- •Системы ввода- вывода
- •Структура модуля ввода/вывода
- •Методы управления вводом/выводом Программно управляемый ввод/вывод
- •Ввод/вывод по прерываниям
- •Прямой доступ к памяти
Методы управления вводом/выводом Программно управляемый ввод/вывод
Наиболее простым методом управления вводом/выводом является программно управляемый ввод/вывод, часто называемый также вводом/выводом с опросом. Здесь ввод/ вывод происходи под полным контролем ЦП и реализуется специальной процедурой ввода/вывода. В этой процедуре ЦП с помощью команды ввода/вывода сообщает МВВ, а через него и ВУ о предстоящей операции. Адрес модуля и ВУ, к которому производится обращение, указывается в адресной части команды ввода или вывода. Модуль исполняет затребованное действие, после чего устанавливает в 1 соответствующий бит в своем регистре состояния. Следовательно, для определения момента завершения операции или пересылки очередного элемента блока данных процессор должен периодически опрашивать и анализировать содержимое регистра состояния МВВ.
Не готовы
Готовы
Нет
Да
Выдача команды ввода в МВВ
Чтение из регистра состояния МВВ
Ввод слова из МВВ
Запись слова в память
Подсчет введенных слов
ЦП→МВВ
МВВ→ЦП
Признак ошибки
МВВ→ЦП
ЦП→ОП
Данные читаются пословно для каждого читаемого слова ЦП должен оставаться в цикле проверки, пока не определит, что слово находится в регистре данных МВВ, т.е. доступно для считывания.
Процедура начинается с выдачи процессором команды ввода, в которой указан адрес конкретного МВВ и конкретного ВУ. Существует 4 типа команд ввода/вывода, которые может получить МВВ: управление, проверка, чтение и запись.
Если к МВВ подключено несколько ВУ, то в процедуре ввода/вывода нужно производить циклический опрос всех устройств, с которыми в данный момент производятся операции ввода/вывода.
Из блок- схемы явно виден основной недостаток программно управляемого ввода/вывода – неэффективное использование процессора из-за ожидания готовности очередной порции информации, в течение которого никаких иных полезных действий ЦП не выполняет. Кроме того, пересылка даже одного слова требует выполнения нескольких команд. ЦП должен тратить время на анализ битов состояния МВВ, запись в МВВ битов управления, чтение или запись данных со скоростью, определяемой ВУ. Все это отрицательно сказывается на эффективности ввода/вывода.
Главным аргументом в пользу программно управляемого ввода/вывода является простота МВВ, поскольку основные функции по управлению вводом/выводом берет на себя процессор. Также подключение к СВВ новых внешних устройств или отключение ранее подключенных также реализуется без особых сложностей.
Ввод/вывод по прерываниям
Да
Признак ошибки
Готовы
Инициализация
Выдача команды ввода в МВВ
Обработка прерывания
Чтение из регистра состояния МВВ
Ввод слова из МВВ
Запись слова в память
Подсчет введенных слов
Выдача команды ввода в МВВ
Нет
Процедура ввода блока данных по прерываниям реализуется следующим образом. ЦП выдает команду чтения, а затем продолжает выполнение других заданий, например другой программы. Получив команду, МВВ приступает к вводу данных с ВУ. Когда считанное слово оказывается в регистре данных модуля, МВВ формирует на управляющей линии сигнал прерывания ЦП. Выставив запрос, МВВ помещает введенную информацию на шину данных, после чего он готов к следующей операции ввода/вывода. ЦП в конце каждого цикла команды проверяет наличие запросов прерывания. Когда от МВВ приходит такой сигнал, ЦП сохраняет контекст текущей программы и обрабатывает прерывание. В рассматриваемом случае ЦП читает слово из модуля, записывает его в память и выдает модулю команду на считывание очередного слова. Далее ЦП восстанавливает контекст прерванной программы и возобновляет ее выполнение.
Этот метод эффективнее программно управляемого ввода/вывода, поскольку устраняет ненужные ожидания, однако обработка прерывания занимает достаточно много времени ЦП. Кроме того, каждое слово, пересылаемое из памяти в модуль ввода/вывода или в противоположном направлении, как и при программно управляемом вводе/выводе, проходит через ЦП.