- •Составитель: Валерий Анатольевич Засов
- •Рецензенты: генеральный директор научно-производственного центра «Информационные и транспортные системы», д.Т.Н., профессор с.В. Архангельский
- •Оглавление
- •1.Принципы организации классической эвм
- •2.Структурная организация процессора
- •3.Принципы организации и программирование
- •4.Принципы организации и программирование
- •5.Структурная организация современных
- •Приложение 1.Список основных команд микропроцессора i8080
- •1.Принципы организации классической эвм и определение микропроцессорной системы
- •1.1.Принципы организации эвм Дж. Фон-Неймана
- •1.2.Определение микропроцессора и микропроцессорной системы
- •1.3.Понятие архитектуры микропроцессорной системы
- •1.4.Структура типовой микропроцессорной системы
- •1.4. Командный цикл и его фазы
- •Контрольные вопросы и задания
- •2.2.Устойство управления с аппаратной логикой
- •2.3.Устройство управления с программируемой логикой
- •2.4.Функция и структура арифметико-логического устройства
- •2.5.Система команд процессора и способы адресации
- •Контрольные вопросы и задания
- •3.Принципы организации и программирование
- •3.1.Структурная схема 8-разрядного микропроцессора
- •3.2.Программная модель 8-разрядной микропроцессорной системы
- •3.3. Способы адресации данных в 8-разрядной микропроцессорной системе
- •3.4.Программирование на ассемблере 8-разрядного микропроцессора
- •3.5. Инструментальные средства разработки и отладки программ для 8-разрядных микропроцессоров
- •3.6. Пример решения задачи
- •3.7.Функциональная схема ядра 8-разрядной микропроцессорной системы
- •Контрольные вопросы
- •4. Принципы организации и программирование
- •4.1. Структурная схема микропроцессоров семейства i8086/8088
- •4.2.Функциональная схема центрального процессора на базе микропроцессора i8086/8088
- •Типы циклов шины мп i8086/8088 Таблица 4.2.
- •4.3. Конвейерный метод выполнения команд и направления его развития
- •4.4. Сегментная организация памяти и ее эволюция
- •4.5.Адресное пространство ввода – вывода
- •4.6.Программная модель микропроцессоров i8086/8088 и способы адресации
- •4.7. Описание системы команд 16-разрядного микропроцессора
- •4.8. Основные элементы программ на языке Турбо ассемблер
- •Контрольные вопросы и задания
- •5.Структурная организация современных микропроцессоров
- •5.1.Структура микропроцессора Intel Pentium 4
- •5.2.Структура микропроцессора amd Athlon
- •5.3.Гиперпотоковая технология организации вычислений
- •5.4.Эффективность многоядерной архитектуры микропроцессоров
- •5.5.Регистровые структуры 32-разрядных микропроцессоров
- •5.6.Регистровые структуры 64-разрядных микропроцессоров
- •5.7.Обобщенный формат команд и типы данных
- •Контрольные вопросы и задания
- •6. Организация памяти в микропроцессорных
- •Системах
- •6.1.Назначение, основные параметры и классификация видов памяти
- •6.2. Иерархическая структура памяти мс
- •6.3. Оперативные запоминающие устройства
- •6.4. Постоянные запоминающие устройства
- •7. Интерфейсы микропроцессорных систем
- •7.1. Назначение и функции интерфейсов
- •7.2. Принципы организации и классификация интерфейсов
- •7.3. Система интерфейсов компьютера
- •8.Способы обмена информацией между устройствами микропроцессорной системы
- •8.1. Программно – управляемый обмен и прямой доступ к памяти
- •8.2. Организация прерываний в мс
- •8.3. Циклы шины
- •9. Программируемый периферийный адаптер
- •9.1. Назначение, структурная схема и режимы работы программируемого периферийного адаптера
- •9.2. Управление работой программируемого периферийного адаптера
- •9.3. Примеры программирования периферийного адаптера
- •Признак pc7-pc4
- •Канал а Канал в
- •Контрольные вопросы и задания
- •10. Программируемый интервальный таймер.
- •Организация счета времени и событий
- •10.1.Назначение, структурная схема и программирование таймера.
- •10.2.Режимы работы таймера
- •10.3. Примеры программирования таймера
- •10.4. Организация счета времени и событий в мс
- •Контрольные вопросы и задания
- •Рассмотрим основные блоки программируемого связного адаптера.
- •11.2. Режимы работы связного адаптера
- •11.3. Управление работой и программирование связного адаптера
- •9.4. Особенности программирования асинхронных адаптеров коммуникационных портов компьютеров
- •11.5. Организация обмена между компьютерами по интерфейсу rs-232с
- •Контрольные вопросы и задания
- •Б иблиографический список
- •Список основных команд микропроцессора i8080
- •Список основных команд микропроцессора i8086/8088 и директивы языка Турбо Ассемблер
- •Основные директивы (псевдокоманды) языка
- •Турбо Ассемблер (tasm)
- •Типы символов в tasm
- •Команды передачи данных
- •Арифметические команды
- •Логические команды и команды сдвигов
- •Строковые или цепочечные команды
- •Команды передачи управления
- •Коды условий перехода (сс)
- •Команды управления микропроцессором
8.Способы обмена информацией между устройствами микропроцессорной системы
8.1. Программно – управляемый обмен и прямой доступ к памяти
К лассификация способов организации обмена информацией между устройствами МС приведена на рис. 8.1. В МС используются два основных способа обмена информацией: программно – управляемый обмен и прямой доступ к памяти (ПДП). Программно – управляемый обмен может инициироваться как микропроцессором, так и запросом прерывания от периферийного устройства.
При программно – управляемом обмене (Programmed Input/Output - PIO), как это упрощенно показано на рис.8.2(а)., передача слов происходит через регистры МП и производится соответствующими командами программы МП /4, 31/. Процедура обмена по прерыванию имеет ряд существенных особенностей, которые будут изложены в дальнейшем.
При программно – управляемом обмене, например, пересылке блока байт данных из порта в оперативную память процессор выполняет следующие операции:
считывает байт данных из порта в один из регистров общего назначения;
записывает байт данных из регистра в ОЗУ по сформированному адресу;
модифицирует адрес ОЗУ и декрементирует содержимое счетчика байт.
Эти действия автоматически повторяются до завершения пересылки всех байт блока.
Такой способ обмена сильно загружает процессор и замедляет выполнение основной задачи, что ухудшает динамические характеристики МС.
Анализ несложной программы для 8-разрядных МП, реализующей указанные операции, показывает, что для пересылки одного байта данных МП должен более десяти раз обратиться к оперативной памяти для чтения кода команд программы. Поэтому скорость передачи данных в этом режиме будет невысокой и может оказаться недостаточной для работы с высокоскоростными ПУ. Заметим, правда, что в современных процессорах скорость обмена в режиме PIO значительно увеличена за счет использования строковых команд ввода –вывода REP INS/OUTS.
Программно–управляемый обмен по инициативе процессора в зависимости от организации взаимодействия МП с периферийным устройством разделяется на прямой (безусловный) и условный /4/.
-
При прямом или безусловном обмене процедура ввода-вывода выполняется МП независимо от состояния ПУ. Такой вид обмена возможен только с всегда готовыми к обмену простейшими ПУ, например, индикаторами, регистрами и т.п.
П ри условном обмене процедура ввода-вывода осуществляется МП только при выполнении условия готовности ПУ к обмену. Если условие готовности ПУ не выполняется, МП переходит в состояние ожидания готовности ПУ к обмену (рис.8.3.(а)) или возвращается к основной задаче без выполнения операции ввода-вывода (рис.8.3.(б)) с последующей повторной проверкой готовности ПУ. Первый тип условного обмена называется с занятием цикла, а второй – совмещенный. Проверку условия готовности ПУ можно производить программно, считывая и анализируя биты регистра состояния ПУ, или аппаратно, анализируя специальный сигнал готовности RDY, генерируемый ПУ. После завершения процедуры ввода-вывода сигнал готовности RDY должен быть снят и сформирован снова только при новой готовности ПУ к обмену. С этой целью МП информирует ПУ об окончании ввода или вывода данных, для чего генерирует для ПУ сигнал подтверждения АСК. Таким образом, между МП и ПУ происходит обмен информацией двух типов: управляющей (синхронизирующей обмен) и собственно данными. Рассмотренный протокол обмена управляющей информацией называется квитированием и иллюстрируется рис.8.4. Квитирование обеспечивает надежный асинхронный обмен данными со скоростями, определяемыми ПУ. Это вид обмена применяется для взаимодействия с ПУ, длительность рабочего цикла которых больше командного цикла процессора или непостоянна во времени.
П рямым доступом к памяти (ПДП или DMA – Direct Memory Access) называется способ обмена данными, осуществляемый под управлением контроллера ПДП (контроллера DMA) автономно от МП /2, 3, 31/. Структурная схема обмена изображена на рис. 6.2(б).
Контроллер ПДП (КПДП) может управлять в режиме прямого доступа передачей информации побайтно, пословно и блоками данных. С этой целью КПДП формирует и модифицирует адреса участвующих в обмене ячеек ОЗУ, задает размер блока данных, который подлежит передаче, ведет подсчет байт, передаваемых в ОЗУ или из ОЗУ, определяет момент завершения передачи, генерирует управляющие сигналы для МП, ОЗУ и периферийных устройств, обеспечивая их согласованную работу на шине в режиме ПДП. Управление обменом в этом режиме производится аппаратно, поэтому режим ПДП называют аппаратно-управляемым обменом.
В процессе функционирования в составе МС контроллер ПДП может находиться в одном из следующих состояний: исходное, программирование, ожидание и обслуживание.
В исходное состояние контроллер устанавливается после включения электропитания путем подачи сигнала сброса на вход RESET.
В состоянии программирования контролера МП по системной шине данных D0-D7 производит инициализацию контроллера. Для этого МП осуществляет запись в соответствующие регистры контроллера управляющих слов, определяющих режимы работы, и исходных данных, задающих начальные адреса областей памяти ОЗУ и размеры блоков передаваемых байт (до 64 Кбайт или слов). Адреса регистров определяются кодом А0-А3 на системной шине адреса. Обычный контроллер прямого доступа (интерфейсные БИС 8257 и 8237А) является четырехканальным, т.е. обслуживает четыре ПУ, поэтому каждый канал программируется индивидуально с учетом особенностей подключенного к каналу ПУ.
В состоянии ожидания контроллер осуществляет прием сигналов DRQ (0…3) запросов прямого доступа к памяти от ПУ и вырабатывает для МП сигнал HRQ «Запрос захвата», который поступает на вход HOLD микропроцессора. В этом состоянии системные шины находятся под управлением МП. В состояние ожидания контроллер переходит после завершения программирования.
В состояние обслуживания контроллер переходит после получения от МП сигнала HLDA «Подтверждение захвата», указывающего на возможность доступа к системным шинам со стороны контроллера. Контроллер формирует сигнал DACK подтверждения запроса прямого доступа к памяти запрашивающему ПУ и берет на себя управление системной шиной. В этом состоянии МП отключается от системной шины с помощью шинных формирователей /3, 9/. Если было несколько одновременных запросов DRQx, контроллер обслуживает канал с наивысшим приоритетом (0 – высший, 3 – самый низкий). Контроллер генерирует набор управляющих сигналов шины, необходимых для осуществления обмена данными между ОЗУ и ПУ в одном из запрограммируемых режимов прямого доступа. Контроллер модифицирует счетчик адреса и счетчик байт до тех пор, пока не будут выполнены все циклы ввода или вывода. В последнем цикле обмена контроллер формирует общий сигнал окончания ТС (Terminate Count), который может быть использован ПУ для формирования сигнала аппаратного прерывания.
Кроме ввода и вывода информации в состоянии обслуживания возможна проверка канала ПДП путем считывания содержимого канальных регистров для программного анализа процессором.
Как видно из описания ПДП, здесь МП при обмене занят только программированием контроллера ПДП. После этого в обмене задействованы только системная шина и контролер. Поэтому во время операций ПДП процессор может продолжать работу по выполнению основной программы. Это возможно, если выбранный режим обмена не занимает всей пропускной способности шины или имеется кэш-память, содержащая фрагменты программы и данных, которые процессор использует в вычислениях при занятой шине.
Увеличения числа каналов ПДП в системе достигается за счет каскадного соединения контроллеров прямого доступа.
Способ прямого доступа к памяти целесообразно использовать при организации обмена большими (несколько Кбайт или слов) блоками данных, когда время, затрачиваемое на инициализацию контроллера мало по сравнению с временем собственно обмена. Современные контролеры, работающие в режиме UltraDMA/33 на шине PCI, обеспечивают скорость обмена до 33 Мбайт/сек /27/. Наличие контролера ПДП также повышает производительность МС за счет распараллеливания во времени процессов обработки и обмена.