- •Вычислительные машины (конспект лекций) однопроцессорные эвм
- •Часть 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.2. Пдп с блокировкой процессора
Этот режим отличается от ПДП с "захватом цикла" тем, что управление системным интерфейсом передается контроллеру ПДП не на время обмена одним байтом, а на время обмена блоком данных. В этом случае все вопросы, связанные с синхронизацией работы ПУ и ОП, также решаются контроллером ПДП (в режиме "захвата цикла" их фактически решал процессор). Такой режим ПДП особенно необходим в тех случаях, когда процессор не успевает выполнить хотя бы одну команду между очередными операциями обмена в режиме ПДП. В этом случае контроллер ПДП обязательно должен иметь средства для модификации адресов обмена и контроля объема переданного блока информации. Этот режим ПДП в современных ЭВМ является основным, поскольку современные ПУ, такие как жесткие и оптические диски, видеосистемы, принтеры, сканеры и т.д., всегда ведут обмен блоками информации существенного объема.
Следует отметить, что реальные контроллеры ПДП, как правило, могут работать в различных режимах организации ПДП, зачастую комбинированных, поэтому рассмотренные выше варианты организации ПДП являются весьма условными (особенно ПДП с блокировкой процессора и вариант 2 ПДП с захватом цикла).
Конкретные технические реализации каналов ПДП весьма разнообразны и определяются особенностями организации ЭВМ, используемого в ней процессора, обслуживаемого набора ПУ и т.д. Между тем можно сформулировать основные принципы работы большинства каналов ПДП и построить обобщенный алгоритм их функционирования. В частности, применение в ЭВМ обмена в режиме ПДП требует предварительной подготовки со стороны процессора:
Для каждого ПУ необходимо выделить область памяти, используемой при обмене, и указать ее размер, т.е. количество записываемых в память или читаемых из памяти байтов (слов) информации. Следовательно, контроллер ПДП должен обязательно иметь в своем составе регистры адреса и счетчик байтов (слов).
Перед началом обмена с ПУ в режиме ПДП процессор должен выполнять программу загрузки (инициализации). Эта программа обеспечивает запись в указанные регистры контроллера ПДП начального адреса выделенной области памяти (для данного ПУ) и ее размера в байтах или в словах в зависимости от того, какими единицами информации ведется обмен.
Вышеизложенное не относится к начальной загрузке программ в память микроЭВМ в режиме ПДП. В этом случае содержимое регистров адреса и счетчика байтов устанавливается перемычками или переключателями, т.е. принудительно заносится каким-либо способом.
Упрощенный алгоритм обмена блоком информации в режиме ПДП при наличии нескольких ПУ представлен на рис. 8.3, причем в скобках указано устройство, выполняющее операцию.
Структура представленного алгоритма достаточно проста и не требует дополнительных пояснений. Все операции, выполняемые устройствами в процессе передачи блока данных, рассматривались выше. Если в контроллер ПДП одновременно поступило два или более запросов, то после обслуживания наиболее приоритетного ПУ произойдет обслуживание остальных ПУ в порядке уменьшения приоритетов. Для этого контроллер ПДП опять выставит процессору сигнал HLD, и цикл обмена повторится для другого ПУ.
Следует отметить, что контроль за окончанием цикла обмена (объемом переданного блока информации) может осуществляться не только по количеству переданных байт или слов, но и по конечному адресу зоны памяти, отведенной для обмена с данным ПУ. Кроме того, в реальных системах время удержания магистрали контроллером ПДП при обслуживании одного ПУ всегда ограничено и контролируется, поэтому завершение цикла обмена может произойти также по сигналу специального таймера. Более подробно этот вопрос рассматривается в гл. 11.
Как уже отмечалось, в МП комплект КР580 входит специализированная БИС программируемого контроллера ПДП КР580ВТ57. Этот контроллер может управлять работой четырех независимых каналов ПДП с учетом приоритетов ПУ. Для процессора контроллер представляется несколькими 8-битными регистрами с соответствующими номерами. После инициализации контроллер может управлять передачей блока данных до 16 Кбайт по каждому каналу без вмешательства процессора.