Практический раздел

1. Практикум по курсу "Системы ввода-вывода и интерфейсы" (Раздел "Интерфейсы")

Практикум предназначен для изучения принципов построения, структуры и протоколов работы интерфейсов ввода-вывода и периферийных микросхем, а также получения навыков по реализации протоколов обмена данными в синхронных и асинхронных интерфейсах и программной настройке микропроцессорных БИС.

Практикум содержит четыре лабораторные работы, две из которых посвящены наиболее распространенным шинам расширения PCI и ISA, а две других изучению микросхем таймера и адаптера параллельного интерфейса.

Практикум реализован в виде компьютерных лабораторных работ, каждая из которых содержит соответствующую модель изучаемого объекта, теоретическую часть, задания и контрольные вопросы. Каждая лабораторная работа выполняется индивидуально за персональным компьютером в учебном классе. В каждой лабораторной работе предусмотрена процедура регистрации студента. Без которой невозможен переход к главному меню лабораторной работы.

Главное меню лабораторной работы содержит разделы «Изучение», «Справка» и кнопку «Выход» из лабораторной работы.

Меню раздела «Изучение» имеет теоретические подразделы: введение, сигналы шины, команды шины, и практические – изучение взаимодействий устройств на шине и контрольные вопросы.

Раздел «Справка» содержит справочный и теоретический материал, включающий информацию об архитектуре, назначении сигналов, операциях записи, чтения и арбитрации, времени доступа к шине и т.п.

Компьютер должен поддерживать конфигурацию, соответствующую установке операционной системы Windows 95 или выше.

Каждая лабораторная работа содержит весь материал, необходимый для подготовки и выполнения работы, включая теорию, методику и порядок выполнения, правила работы, контроль полученных знаний и навыков.

Теоретическая часть лабораторных работ может быть использована для изучения соответствующих разделов курса лекций и подготовке к экзаменам.

Продолжительность практикума составляет 8 часов, что соответствует выполнению четырех лабораторных работ.

С лабораторными работами можно ознакомиться в электронном читальном зале библиотеки МИФИ или получить их у преподавателя в виде электронной копии той или иной работы.

1.1. Шина расширения PCI

1.1.1. Индивидуальные задания

Студент должен выполнить три задания разных по тематике.

Первое задание посвящено реализации транзакции записи или чтения с несколькими тактами ожидания, вызываемых как задатчиком, так и исполнителем. Здесь не требуется учет сигналов цикла арбитрации.

Пример такого задания (см. рис. 1.1).

Смоделируйте транзакцию чтения с 3 фазами данных с 1 тактом ожидания от исполнителя на 1-ой фазе данных, 1 тактом ожидания от задатчика на 2-ой фазе данных. Здесь производится нормальное завершение транзакции.

Второе задание регламентирует момент начала простой транзакции с помощью задания такта установки запроса на захват шины и задержки арбитрации. Пример.

Смоделируйте единственную транзакцию записи с 2 фазами данных без тактов ожидания, REQ# устанавливается фронтом 1-го импульса, состояние шины - холостой ход, задержка арбитрации - 2 импульса, задержка исполнителя - 2 импульса.

Третье задание посвящено изучению аварийного завершения транзакции, когда текущая транзакция прерывается задатчиком с большим приоритетом. Пример.

Смоделируйте транзакцию записи с 5 фазами данных без тактов ожидания, GPN# устанавливается 1-м импульсом, сбрасывается фронтом 4-го импульса, сигнал таймера задержки устанавливается на 5-м импульсе.

1.1.2. Методика выполнения лабораторной работы

Выполнение лабораторной работы состоит из трех этапов.

Первый - самостоятельная подготовка к работе путем изучения теоретических материалов: сигналов шины, ее архитектуры, операций на шине, включая транзакции записи и чтения и арбитрацию. Теорию можно изучать по материалам самой лабораторной работы, по ее разделам: введение, архитектура шины PCI, описание сигналов шины, команды шины, разновидности операций на шине, а также по разделу "Справка".

Второй - работа в учебном классе персональных компьютеров при выполнении раздела лабораторной работы "Изучение взаимодействия устройств". В этом разделе необходимо выполнить три задания. Задание выдает компьютер, он и проверяет правильность его выполнения, выдавая необходимую информацию. Задание заключается в формировании на экране компьютера в специальном окне и в заданных координатах временной диаграммы протокола выполнения той или иной транзакции с учетом сигналов арбитрации и ее прерывания задатчиком с большим приоритетом.

При выполнении второго этапа студент может пользоваться материалами, помещенными в лабораторной работе.

Третий этап – контроль знаний, который осуществляется в разделе "Контрольные вопросы". Выдача контрольных вопросов и их проверка осуществляется компьютером.

По результатам выполнения заданий и ответов на контрольные вопросы преподаватель принимает решение о том, зачесть или нет работу студента.

1.1.3. Пример выполнения работы

На рисунке 1.1 показан экран, где смоделировано первое задание.

В исходном состоянии экран содержит только чистое поле для рисования временной диаграммы, обозначения сигналов шины PCI, импульсы CLK, кнопку управления, поле итоговых результатов и само задание.

Сигналы рисуются последовательно один за другим, при переходе к следующему сигналу, предыдущий должен иметь окончательный вид. Сигналы рисуются в любом порядке. Выбор сигнала производится установкой на нем курсора и нажатием левой кнопкой мыши, при выборе сигнала меняется цвет его поля.

Рис. 1.1.

Сигнал рисуется путем указания курсором момента (точки на поле экрана) переключения сигнала. После указания всех точек переключения, компьютер сам дорисовывает временную диаграмму этого сигнала.

1.1.4. Список контрольных вопросов

При контроле знаний, студенту компьютер выдает следующие виды контрольных вопросов.

- Какая скорость передачи данных на PCI при 32 разрядной обработке?

- Для чего нужен таймер задержки?

- С установки какого сигнала начинается транзакция?

- Сколько тактов занимает транзакция чтения при двух фазах данных?

- Какие сигналы определяют начало транзакции?

- На каком импульсе прерывается транзакция, если сигнал #GRN устанавливается на 10-м импульсе, а сигнал таймера задержки на 3-и импульсе?

1.2. Асинхронная шина расширения ISA

1.2.1. Методика выполнения лабораторной работы

Лабораторная работа выполняется индивидуально за персональным компьютером в учебном классе. Для выполнения лабораторной работы студент входит в раздел «Взаимодействия устройств», где выполняет 5 заданий, которые выдаются и проверяются компьютером.

В каждом задании идет моделирование основных циклов шины ISA путем выбора и указания сигналов шины, которые являются активными в данном цикле.

Результаты выполнения заданий оцениваются по 10-бальной шкале и выдаются в соответствующем окне экрана компьютера.

После выполнения заданий студент переходит в раздел «Контрольные вопросы». В этом разделе он отвечает на 5 вопросов, выдаваемых и проверяемых компьютером.

По итогам выполнения заданий и ответов на вопросы преподаватель принимает или не принимает работу студента.

1.2.2. Индивидуальные задания

Каждое задание содержит определенный цикл шины, задаваемый с помощью параметров, которые определяют тип цикла и те сигналы, которые в нем участвуют.

Примеры моделируемых циклов шины:

- 8-разрядный нормальный цикл чтения памяти;

- 16-разрядный удлиненный цикл записи УВВ;

- прямой доступ из памяти в УВВ, нормальный цикл;

- регенерация памяти, удлиненный цикл.

1.2.3. Пример выполнения работы

На рис. 1.2. показан экран с выполненным заданием нормального цикла чтения 16-разрядных данных из памяти.

Рис. 1.2.

1.2.4. Список контрольных вопросов

Студенту компьютер задает 5 вопросов, проверяет каждый и выдает итоговый результат.

Пример типовых вопросов:

- Имеет ли интерфейс ISA линии подтверждения запросов ПДП?

- Сколько разрядов имеет шина адреса?

- Размер адресного пространства шины ISA?

- Какой тип цикла определяет следующий набор сигналов: I/O CHRDY=0, CS16=0?

1.3. Программируемый интервальный таймер

1.3.1. Методика выполнения работы

При выполнении лабораторной работы студент работает с моделью таймера, состояние которого отображается на экране монитора с помощью структурной схемы таймера, где отображаются все регистры и управляющие сигналы с соответствующими значениями.

Студент выполняет два задания, а затем отвечает на контрольные вопросы. Первое задание и контрольные вопросы выдает и проверяет компьютер. Второе задание выдает и проверяет преподаватель. При выполнении второго задания на экране появляется специальное окно, где отображается временная диаграмма работы таймера при подаче на него импульсов CLK. Импульсы CLK подаются вручную при нажатии на соответствующую клавишу клавиатуры.

Первое задание посвящено процессу инициализации (программной настройке) таймера, второе – исследованию работы таймера в заданном режиме с выполнением операции чтения информации из таймера. Для перехода ко второму заданию студент должен выполнить как минимум три первых задания.

1.3.2. Индивидуальные задания

Все задания однотипны, но имеют разные параметры: номер канала, константа, режим работы, система счисления счетчика, способ чтения информации из канала..

Пример первого задания. Настроить канал 1 на работу в режиме 3, с константой пересчета 310, счетчик двоичный.

Пример второго задания. Настроить канал 0 на работу в режиме 1, с константой пересчета 8, счетчик десятичный. Выполнить 3 цикла работы счетчика. После чего считать его содержимое с помощью команды CLC.

1.3.3. Пример выполнения работы

На рис.1.3 приведен пример выполнения второго задания с отображением выходной временной диаграммы в специальном окне экрана.

Рис. 1.3.

1.3.4. Список контрольных вопросов

При ответе на контрольные вопросы необходимо по приведенным вариантам временных диаграмм на выходе счетчика с указанием кодов управляющих слов (CRW) и констант пересчета (CR), определить правильную временную диаграмму режима работы, соответствующего заданным CRW и CR.

1.4. Программируемый адаптер параллельного интерфейса

1.4.1. Методика выполнения лабораторной работы

При выполнении лабораторной работы студент работает с моделью адаптера, структурная схема которого отображается на экране монитора. Структурная схема содержит все регистры адаптера, состояние которых в виде двоичных кодов может наблюдать студент. Структурная схема дает возможность задавать все управляющие и адресные сигналы, необходимые для выполнения тех или иных операций.

Студент выполняет два задания с последующим контролем по каждому из них.

Первое задание выполняется в разделе «изучение программной настройки адаптера». Задание выдается и проверяется компьютером, компьютер фиксирует в специальном окне экрана итог выполнения заданий. В задании задаются режимы работ регистров А,В и С адаптера. Студент должен сформировать управляющее слово, соответствующее этим режимам и ввести его в РУС адаптера.

После правильного выполнения как минимум 3-х заданий студент переходит к контрольным вопросам. Вопросы задает, проверяет и выставляет оценки компьютер. При получении положительной оценки студент переходит в раздел «Изучение работы периферийной БИС», где выполняет второе задание.

Модель адаптера в этом разделе содержит регистры периферийного устройства и управляющие сигналы от этого устройства (STB#, ACK# ). Задание студенту выдает преподаватель. Оно заключается в соответствующей настройке адаптера и организации передачи информации из (в) адаптера в (из) регистра периферийного устройства путем задания активных значений управляющих сигналов (STB#, IBF, OBF#, ACK#), соответствующих заданной операции.

После выполнения задания студент отвечает на контрольные вопросы, которые задает и проверяет компьютер.

По итогам выполнения заданий и ответов на контрольные вопросы преподаватель принимает работу студента.

1.4.2. Индивидуальные задания

Студент выполняет два задания. Все задания однотипны и различаются исходными данными.

Первое задание, выдает и проверяет компьютер, оно направлено на формирование навыков у студентов по инициализации адаптера. По этому заданию студент должен сформировать управляющее слово и записать его в соответствующий регистр. Пример такого задания: настроить адаптер: Регистр А на режим 2, Регистр В на режим 1, ввод.

Второе задание, выдается и проверяется преподавателем, оно более сложное и позволяет изучить протокол взаимодействия адаптера с периферийным устройством. Пример второго задания: настроить адаптер и произвести вывод кода 10101010 через регистр А в режиме 1 и ввод кода 1111000 через регистр В в режиме 0.

1.4.3. Пример выполнения работы

Рассмотрим пример выполнения первого задания из раздела 1.4.2. Сначала формируется управляющее слово, оно имеет код 11000110. С помощью сигнала WR# по адресу 11 записываем это слово в регистр управляющего слова. Нажимаем кнопку «выполнение».

Выполнение второго задания (см. раздел 1.4.2.). Сначала формируется управляющее слово, оно имеет вид 10100010. Записывается это слово в регистр управляющего слова. Записываем код 10101010 в регистр буфера шины данных. Устанавливаем флаг OBF=0 в разряде РС7, устанавливаем значение сигнала АСК=0 в периферийном устройстве, устанавливая WR=0 и адрес 00. Нажимаем кнопку «выполнение» и код 10101010 из буфера шины данных должен записаться в регистр периферийного устройства. После этого устанавливаем адрес 01, RD=0. Записываем код 1111000 в регистр периферийного устройства. Нажимаем кнопку «выполнение» и код 1111000 из регистра периферийного устройства записывается в регистр буфера шины данных.

1.4.4 Список контрольных вопросов

По первому заданию контрольные вопросы однотипны и различаются их содержанием. Контрольный вопрос задает код управляющего слова и режим работы регистров А, В и С. Нужно определить соответствует ли этот код приведенному режиму работы. Пример: обеспечивает ли код управляющего слова 10101011 настройку адаптера на режим: канал А, режим 1, вывод; канал В, режим 0, ввод; разряды 4,5 регистра С, вывод; разряды 0-3 регистра С, ввод.

По второму заданию вопросы разнообразны и проверяют знания по принципу работы адаптера.

Примеры таких вопросов.

- Какой из портов может работать в режиме 2?

- Какой сигнал должен быть активным при загрузке управляющего слова: WR, RD, OBF, IBF?

- Указать максимальное число разрядов регистра С, через которые можно передать информацию, если регистр А запрограммирован на режим 2.