- •Вычислительные машины (конспект лекций) однопроцессорные эвм
- •Часть 3
- •8. Принципы организации ввода / вывода информации в микроэвм 5
- •8.1. Общие принципы организации вв
- •8.2. Программный вв
- •8.3. Вв по прерываниям
- •8.4. Вв в режиме пдп
- •8.4.1. Пдп с захватом цикла
- •8.4.2. Пдп с блокировкой процессора
- •8.5. Адаптер последовательного интерфейса
- •8.6. Адаптер параллельного интерфейса
- •Вопросы для самопроверки
- •Контрольные задания
- •9. Некоторые вопросы развития архитектуры эвм
- •9.1. Теги и дескрипторы. Самоопределяемые данные
- •9.2. Эвм risc-архитектуры
- •9.3. Методы оптимизации обмена процессор-память
- •9.3.1. Конвейер команд
- •9.3.2. Расслоение памяти
- •9.3.3. Буферизация памяти
- •9.4. Динамическое распределение памяти. Виртуальная память
- •9.4.1. Виртуальная память
- •9.4.2. Сегментно-страничная организация памяти
- •9.5. Защита памяти
- •9.5.1. Защита отдельных ячеек памяти
- •9.5.2. Метод граничных регистров
- •9.5.3. Метод ключей защиты
- •9.6. Алгоритмы управления многоуровневой памятью
- •9.7. Сопроцессоры
- •Вопросы для самопроверки
- •Контрольные задания
- •10. Эволюция шинной архитектурыibmpc
- •10.1. Локальная системная шина
- •10.2. Шина расширения
- •10.2.1. Шина расширенияisa
- •10.2.2. Шина расширения мса
- •10.2.3. Шина расширенияeisa
- •10.3. Локальные шины расширения
- •10.3.1. Локальная шинаvesa(vlb)
- •10.3.2. Локальная шинаpci
- •Компоненты материнской платы
- •Разновидности слотов
- •Типы разъемов оперативной памяти
- •Разъемы для подключения внешних устройств
- •Разъемы для подключения дисковых устройств
- •Разъемы процессоров
- •Вопросы для самопроверки
- •Контрольные задания
- •11. Принципы организации систем прямого доступа к памяти
- •11.1. Способы организации доступа к системной магистрали
- •11.2. Возможные структуры систем пдп
- •11.3. Организация обмена в режиме пдп
- •11.3.1. Инициализация средств пдп
- •11.3.2. Радиальная структура (slave dma)
- •11.3.3. Радиальная структура (bus master dma)
- •11.3.4. Цепочечная структура (bus master dma)
- •11.4. Принципы организации арбитража магистрали
- •Вопросы для самопроверки
- •Контрольные задания
8.4. Вв в режиме пдп
В этом режиме обмен данными между ПУ и ОП микроЭВМ происходит без участия процессора. Обменом в режиме ПДП управляет не программа (или прерывающая подпрограмма), а электронные схемы, внешние по отношению к процессору.
Необходимость реализации режима ПДП в современных ЭВМ достаточно подробно будет рассмотрена в п. 11. Здесь же отметим коротко только основные причины реализации режима ПДП в простейших микроЭВМ.
При программном обмене или обмене в режиме прерывания для передачи одного слова данных (в частном случае – байта) затрачивается несколько (2-3) команд процессора, суммарное время выполнения которых может оказаться недопустимо большим для обмена с конкретным ПУ. Это может быть связано с тем, что период поступления данных определяется внешними по отношению к процессору факторами, например скоростью движения носителя информации или периодом выборки значений какой-либо функции в реальном масштабе времени, если ЭВМ занимается сбором и обработкой информации. Необходимость в скоростном обмене большими объемами информации возникает также при работе микроЭВМ с контроллерами видеосистем. Кроме того, в простейших микроЭВМ иногда возникает необходимость начальной загрузки программ в ОП из ПУ.
Для получения максимальной скорости обмена желательно, чтобы ПУ через контроллер ПДП имело непосредственную связь с ОП микроЭВМ, т.е. имело бы специальную магистраль. Однако такое решение существенно усложняет и удорожает микроЭВМ, особенно при подключении нескольких ПУ. В большинстве микроЭВМ для реализации обмена в режиме ПДП используются шины системной магистрали. Именно этот вариант и рассматривается ниже. При этом возникает проблема совместного использования шин системного интерфейса процессором и контроллером ПДП, которая имеет два основных способа решения – ПДП с захватом цикла и ПДП с блокировкой процессора.
8.4.1. Пдп с захватом цикла
Этот способ ПДП предназначен для обмена короткими блоками информации в виде байта или слова и имеет два варианта:
Вариант 1
В этом случае для обмена используются те интервалы времени машинного цикла процессора, в которых он не обменивается данными с памятью и ПУ. Таким образом, контроллер ПДП никак не мешает работе процессора. В МП КР580 такими интервалами являются такты T4 и Т5 машинного цикла (сразу следует отметить, что контроллер КР580ВТ57 не работает в таком режиме). Однако возникает необходимость выделения таких интервалов для исключения временного перекрытия обмена ПДП и процессора. В некоторых МП формируются специальные сигналы, указывающие такты, в которых процессор не ведет операций обмена. В других случаях применяют специальные схемы, идентифицирующие "свободные" интервалы времени.
Применение такого способа организации ПДП не снижает производительность МП, но передача данных происходит только в случайные моменты времени. Это понижает общую скорость обмена. Кроме того, для некоторых ПУ такой режим обмена вообще неприемлем.
Вариант 2
В этом случае на время, необходимое для обмена одним байтом или словом данных (что составляет несколько тактов), процессор принудительно отключается от шин системной магистрали. Такой способ организации ПДП с захватом цикла является наиболее распространенным.
Когда ПУ готово к обмену, оно формирует сигнал "требование ПДП", который поступает в контроллер ПДП. Он, в свою очередь, вырабатывает аналогичный управляющий сигнал, который заставляет процессор на несколько тактов отключиться от системной магистрали. В МП КР580 это сигнал HLD (HOLD). Получив этот сигнал, процессор приостанавливает выполнение очередной команды, не дождавшись ее завершения, выдает сигнал "подтверждение ПДП" (в МП КР580 это сигнал HLDA) и отключается от шин системной магистрали. МП КР580 освобождает системную магистраль после такта Т3текущего машинного цикла, причем внутренние операции в процессоре (такты Т4и Т5) продолжаются и могут быть совмещены по времени с операциями ПДП.
Таким образом, в отличие от режима прерывания, который вводится только после завершения текущей команды, режим ПДП вводится до ее завершения. Это связано с тем, что в режиме ПДП внутренние регистры процессора не используются, их содержимое не модифицируется, а следовательно, и не требуется запоминания в стеке.
С этого момента времени (такт Т4) всеми шинами системной магистрали управляет контроллер ПДП. Используя системную магистраль, он осуществляет обмен между ПУ и микроЭВМ одним байтом или словом, а затем, сняв сигнал HLD, возвращает управление системной магистралью процессору. Как только ПУ будет готово к обмену, оно вновь захватывает магистраль и т.д. В промежутках между сигналами HLD процессор продолжает выполнять команды текущей программы.
Естественно, что применение такого способа организации ПДП замедляет выполнение программы, но в меньшей степени, чем при обмене в режиме прерывания, хотя бы потому, что не требуется операций со стеком. Кроме того, в отличие от варианта 1 обмен происходит в те моменты времени, в которые это требует ПУ, что особенно важно при работе микроЭВМ в режиме реального времени.
Следует отметить, что такой вариант ПДП используется только тогда, когда интервалы времени между моментами готовности ПУ к обмену достаточно велики и позволяют выполнить процессору несколько операций.