Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Ковалёв (2).doc
Скачиваний:
26
Добавлен:
03.08.2013
Размер:
338.43 Кб
Скачать
    1. Адресный сопроцессор

Адресный сопроцессор служит для вычисления адреса. Его использование позволяет сократить количество тактов, необходимых для выполнения команды. В отличие от основного процессора, адресный работает только с целочисленными данными (адресами).

Адресный процессор работает параллельно основному, т.е. основной процессор выбирает и выполняет свои команды, адресный – свои. Такая работа возможна, если адресный процессор содержит свое МУУ и ОБ.

В принципе, МУУ основного процессора может содержать и команды для адресного сопроцессора, тогда структура основного процессора будет несколько другой: общее МУУ, ОБ основного процессора, ОБ адресного процессора. Однако в этом случае объем ММП должен быть больше.

Работой адресного сопроцессора управляет МУУ основного процессора. Это необходимо, например, в случаях команд условного перехода, когда адресный сопроцессор вынужден ждать появления истинных флагов.

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

Код операции с регистра команд основного процессора попадает на преобразователь начального адреса (ПНА). Адрес микропрограммы поступает на секвенсер микрокоманд и далее на микропрограммную память (ММП). Микрокоманда содержит инструкцию для микропроцессорной секции (МПС), инструкцию для секвенсера микрокоманд, адрес перехода, код условия. МПС занимается вычислением адреса.

Мультиплексор кода условия выбирает источник основной/сопроцессор условия и управляется из микрокоманды.

Рис 8 Структурная схема адресного сопроцессора.

4.Сопроцессор ввода/вывода в селекторном режиме[1],[2],[4].

По мере развития систем ввода/вывода их функции усложнялись. Главной целью такого усложнения – максимальное высвобождение ЦП от управления процессами ввода/вывода. Сопроцессор ввода/вывода ориентирован на архитектуру с разделяемой

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

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

. Рис. 9. Селекторный канал.

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

Канал для обеспечения доступа к памяти имеет следующие функции:

  • Задание размера массива данных и области памяти, участвующих в обмене информацией.

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

  • Подсчет числа единиц данных (слов, байт и т.д.), прошедших через канал.

  • Определение момента завершения передачи массива данных.

  • Обеспечение буферизации и преобразование форматов передаваемых данных для согласования работы ОП и ПУ.

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

Рис. 10. Структурная схема СПВВ в селекторном режиме.

В операциях ввода/вывода участвуют:

  • процессор (первый уровень управления),

  • канал ввода/вывода (второй уровень),

  • ПУ (третий уровень).

Каждому типу устройств соответствует определенный вид управляющей информации:

  • процессору – команды ввода/вывода;

  • каналу – управляющие слова канала (УСК);

  • ПУ – приказы.

Кроме того, в управлении вводом/выводом используются коды состояния канала (слово состояния канала - ССК) и ПУ (байт состояния и байт уточненного состояния).

Команды и формат команд.

Система команд ЭВМ содержит небольшое число универсальных по отношению к разным типам ПУ команд ввода/вывода:

  • Начать ввод-вывод. Признак результата, формируемый при выполнении данной команды, указывает, нормально ли прошел пуск операции ввода/вывода.

  • Остановить ввод-вывод. По этой команде операция ввода-вывода может быть принудительно прекращена процессором до ее завершения в адресуемых командой канале и ПУ.

  • Проверить канал. По данной команде в фиксированной ячейке ОП формирует ССК(слово состояния канала) и устанавливает в ССП признак результата, определяющий состояние канала: канал доступен, канал хранит условие прерывания, канал работает, канал выключен.

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

Код операции

Номер ПУ

Рис. 11. Формат команды ввода-вывода.

Ключ программы

0000

Адрес АУСК

Рис. 12. Формат адресного слова канала.

В команде «Начать ввод/вывод» нужно указать адрес первого УСК (Управляющего Слова Канала) в программе канала; этот адрес содержится в АСК (Адресном Слове Канала), хранимом в определенной ячейке ОП. Во всех остальных командах достаточно указывать лишь КОП, номер канала и ПУ.

Формат управляющего слова канала.

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

Приказ

(КОП)

Указатели

Адрес данных

(АД)

Счетчик данных

(СД)

ЦД

ЦО

УБ

ПИ

ПР

Рис. 13. Формат УСК.

ЦД – указатель цепочки данных (при ЦД=0 операция после использования данного УСК оканчивается, при ЦД=1 она продолжается с новым массивом данных, указанным в следующем УСК).

ЦО – указатель цепочки операций (при ЦО=0 программа канала для заданного ПУ заканчивается на текущем УСК; при ЦД=0 и ЦО=1 после выполнения действий по текущему УСК, выбирается следующее по порядку УСК и выполняется новая операция ввода/вывода с тем же ПУ).

УБ – указатель блокировки (сигнал неправильной длины, формируется при несоответствии числа фактически переданных байт длине физической записи).

ПИ – указатель пропуска информации (при ПИ=1 передача информации между каналом и ОП подавляется, идет подсчет слов, проходящих между каналом и ПУ).

ПР – указатель прерывания (при ПР=1 канал посылает в процессор запрос прерывания).

Счетчик данных - размер передаваемого блока данных.

Адрес данных - адрес данных или точки перехода.

Приказ - для канала и ПУ тип операции.

Адрес последнего УСК

Байт состояния ПУ

Байт состояния канала

Счетчик данных

Рис. 14. Формат слова состояния канала ССК.

Приказы.

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

Виды приказов:

«Записать» (Вывод информации из ОП в ПУ);

«Прочитать» (Ввод информации из ПУ в ОП)

«Переместить головки» и т.д.

Описание блоков (модулей) сопроцессора В/В.

  • RG НПУ - принимает номер ПУ.

  • RG КВВ - принимает команду В/В.

  • Интерфейс с ОП - обеспечивает взаимодействие с ОП.

  • RG ПУСК - хранит предварительное УСК.

  • Блок СчД - хранит и модифицирует значение оставшихся для передачи байт, формирует сигнал Z - пуст.

  • Блок ТАД - хранит и модифицирует значение текущего адреса данных.

  • RG КОУ - хранит код операции (приказ ПУ) и флаги.

  • Блок АУСК - хранит и модифицирует адрес управляющего слова канала (загрузка или увеличение).

  • RG Данных - буферный регистр для промежуточного хранения данных.

  • Сч Байт - управляет СИ (указывает номер последнего обработанного байта в текущем слове данных), формирует сигнал OV – переполнение.

  • RG СИ - регистр связи с интерфейсом ПУ.

  • УУ - устройство управления каналом.

Комментарии к функциональной схеме сопроцессора в/в.

На схеме рис.10. все регистры, имеющие вход S, при S=0 находятся в режиме параллельной загрузки, при S=1 в режиме хранения(RG НПУ, RG КВВ, RG ПУСК и т.д.)

СТ в СчТД имеет три состояния в зависимости от сигналов на входах S1S0: 00,01 – вычитающий счётчик,10 – параллельная загрузка, 11 – удержание. СТ в блоке ТАД, имеет аналогичные режимы работы, но вместо операции сложении он выполняет операцию сложения. Для загрузки данных в RG КВВ, RG НПУ и RG АУСК используется адресный селектор. Процессор выставляет адрес на шину адреса, который может являться адресом RG КВВ, RG АУСК или RG состояния. Селектор определяет, принадлежит ли выставленный адрес какому-либо из этих регистров и, если принадлежит, разрешает в следующем такте либо загрузиться с шины данных (RG КВВ, RG НПУ и RG АУСК), либо отправить данные на неё (RG состояния). Адреса регистров после преобразования выглядят следующим образом: RG КВВ – 110, RG состояния – 101, RG АУСК – 011.

Когда канал читает из памяти первое УСК, устройство управления подаёт низкий уровень на буфер, разрешая ему пропустить данные в RG КОУ, RG ТАД, СчТД, а сами эти устройства переводит в режим параллельной загрузки. Для управления этим предусмотрено 2 бита из УУ, так как загрузка данных в блок КОУ и СчТД происходит в одном такте, а в блок ТАД – в другом, потому что УСК имеет длину 2 слова.

Схема управления предварительной выборкой следит за состоянием счётчика текущих данных, и, когда содержимое СчТД станет меньше восьми, СПВВ производит обращение к памяти по адресу из RG АУСК. Новое управляющее слово посылается в RG ПУСК, в то время как канал продолжает обработку предыдущего УСК. После того, как содержимое СчТД станет равным 0, содержимое RG ПУСК замещает старое содержимое RG ТАД, СчТД и указателей в регистре КОУ.

По шине через регистр СИ между ВУ и сопроцессором передаются различные

данные. Для определения, какие именно данные существует линия признака.

Признаки канала:

  • Адрес – сигнал, который используется для установления связи с определенным контроллером;

  • Управление – сигнал, который задает операцию подключенному контроллеру.

  • Информация – сигнал для передачи данных в ПУ.

Признаки ПУ:

  • Адрес – сигнал, с помощью которого отвечающий контроллер подтверждает, что он выбран;

  • Управление – сигнал, посредством которого контроллер выдает информацию о текущем состоянии или о состоянии, полученном в результате предыдущих действий;

  • Информация – сигнал, с помощью которого контроллер передает в сопроцессор данные;

  • Линии управления опросом. В состав линий опроса входят две входные и две выходные линии сопроцессора. Эти линии используются как для установления начальной связи, так и для связи во время выполнения команды.

  • Линии взаимной блокировки. Сигналы “работа” сопроцессора и “работа” контроллера. Для указания, что сопроцессор и контроллер работают в паре –блокирует работу других контроллеров.

  • Специальные линии. Для обеспечения взаимной синхронизации, измерения времени.

Запуск сопроцессора ввода/вывода.

Выполнение операции ВВ в канале можно рассматривать как совокупность нескольких видов процедур, из которых наиболее важными являются начальная выборка и обслуживание ПУ. Начальная выборка производится по инициативе процессора при пуске новой операции ВВ. Процессор передаёт в канал код операции ВВ, номер ПУ и адрес первого слова УСК. Эти параметры заносятся каналом в регистры RG КВВ, RG НПУ, RG АУСК. После этого, используя содержимое RG АУСК как адрес, канал выбирает из ОП первое УСК, размещая его поля в RG КОУ, RG ТАД, СчТД. К содержимому RG АУСК прибавляется число, равное длине управляющего слова, после чего RG АУСК указывает адрес следующего УСК в цепочке. Канал, устанавливая признак результата ПР=0, запускает в работу требуемое ПУ. Если устройство свободно и во время начальной выборки не обнаружены программные или аппаратные ошибки, считается, что пуск произошёл нормально. Канал, устанавливая признак результата ПР=0, сообщает об этом процессору, который переходит к выполнению следующей команды своей программы.

Выводы.

В процессе разработки ЭВМ заданной конфигурации были закреплены и углублены знания, полученные в прошлом семестре по предмету «Организация ЭВМ». Была разработана укрупненная структурная схема селекторного сопроцессора ввода-вывода. В результате проектирования приобретены навыки разработки узлов ЭВМ на структурном, функциональном и алгоритмическом уровнях.

Список литературы.

  1. Каган Б. М. «Электронные вычислительные машины и системы».-М.:Энергоатомиздат, 1985.-552с.

  2. Цилькер Б.Я., Орлов С.А. «Организация ЭВМ и систем».-СПб.:Питер,2004.-668с.

  3. Мик Дж., Брик Дж. Проектирование микропроцессорных устройств с разрядно – модульной организацией. В 2-х книгах: пер. с англ. – М.: Мир 1984. – 478 с.

  4. Лекции по курсу «Организация ЭВМ».

19

Соседние файлы в папке doc92