Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
to_evs_1.doc
Скачиваний:
6
Добавлен:
15.04.2019
Размер:
409.09 Кб
Скачать

Процедура ввода-вывода

  1. способы обмена данными

  2. Прямой доступ к памяти

  3. Каналы ввода-вывода

Способы обмена данными

Функционирование любого вычислителя складывается из процедур передачи информации между его отдельными функциональными блоками. При этом передача информации между внутренними РОН называется пересылка, между процессором и памятью чтение/запись, а между памятью и внешними устройствами ввод/вывод информации. Наиболее длинными во времени процедурами считают операции ввода/вывода, поскольку внешние устройства в большинстве случаев имеют меньшее быстродействие, чем процессор или память, поэтому большое внимание на возможные варианты пересылки информации, рассматривая их с точки зрения снижения времени всей процедуры.

Доступ к внешним устройствам в большинстве случаев адресный, т. е. по структуре ввод/вывод не должен отличаться от чтения/записи. Но объем памяти значителен, значительна и шина адреса (минимум 16 разрядов). В тоже время число внешних устройств не может быть физически большим. В вычислителях системы DEC, i360 было принято ограничение на число внешних устройств 255. Это связано с байтом, хотя реально их значительно меньше. Поэтому, сохраняя адресную выборку ВУ ввод/вывод выполнялся с некоторым отличием от чтения/записи:

  1. сигналы разрешения ввода/вывода формировались шинным контролером, в то время ОЗУ/ПЗУ блокируется;

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

  3. ШД соединяла выход процессора и вход внешнего устройства (при выводе) и наоборот.

Способы обмена.

Обмен информацией между внешними устройствами и памятью реализуется в одном из трех подходов:

  1. Программный режим.

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

  1. Ввод/вывод с отображением в память.

Наиболее универсальный способ, применяется, когда нет команд ввода/вывода. Последовательность выполнения та же самая: ОЗУCPU, CPUВУ. Отличие: процессор на внешнее устройство выставляет полный адрес, поэтому из адресного пространства исключаются адреса внешних устройств. Вывод с отображением используется часто, поскольку чтение/запись во многом похожи на ввод/вывод. Основной недостаток второго способа — занимается часть адресного пространства. Поэтому способ рекомендуется, если имеются свободные области в адресном пространстве.

  1. Прямой доступ к памяти (ПДП).

Суть способа в том, что процессор как бы отключается от ШД и содержимое ОЗУ напрямую копируется во внешнее устройство. Главная цель применения ПДП — сократить время ввода/вывода с одновременным использованием процессора для выполнения следующей операции. Существует три способа обеспечения режима ПДП:

  1. с блокировкой процессора.

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

  1. с квантованием цикла.

В каждом цикле обращения к памяти (ОЗУ, ПЗУ) процессор должен успеть выполнить это обращение за время t/2. Во второй половине цикла процессор отключает свои выходы, позволяя контролеру ПДП выставить свой адрес на шину. За второй интервал выполняется процедура ввода/вывода. Такое условие требует быстродействующей памяти, следовательно, смены элементной базы (переход к ЭСЛ). Последнее затрудняет использование такого подхода, поэтому он практически не применяется.

  1. с отъемом цикла.

При работе процессора имеющего внутреннюю буферную память команд и данных реализуется ПДП с отъемом цикла. Процессор начинает команду с выборки — обращение к ПЗУ, далее ОЗУ или ввод/вывод. Третий способ заключается в том, что вместо положенного обращения процессора в память (стандартный цикл) выполняется процедура ввода/вывода режима ПДП. При этом процессор выполняет текущую команду, поскольку в его буфере команд стоит очередь следующих друг за другом команд. Выходные разряды процессора переводятся в третье состояние и не оказывают влияния на состояние шин адреса и данных. Главное отличие от первого способа — процессор выполняет текущую, следующую команды не останавливаясь. Поскольку процессор не занимает шины в этом режиме процедура ввода/вывода выполняется как бы одновременно с основной операцией.

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

Для обмена информацией между процессором, ОЗУ и внешними устройствами существует буферный блок — каналы ввода/вывода. Канал — это интегрированное понятие, объединяющее как аппаратные, так и программные средства вычислителя для подключения периферии. Число внешних устройств может быть значительным, поэтому для удобства работы с большим числом внешних устройств, применяют специальное оборудование — каналы ввода/вывода. Структурно каналы включаются между шиной процессора и внешними устройствами. Функционально канал — это промежуточный буферный блок, предназначенный для согласования во времени работы быстрого процессора и разнотипных внешних устройств. Основу канала составляют устройства управления и буферная память, накапливающая данные для ввода или вывода из процессора. Любая процедура ввода/вывода переносит данные из ОЗУ в буферную память канала в режиме ПДП или программно, т.е. процессор не видит внешнего устройства. Процессор работает с каналом, произвольное ВУ также не имеет прямого доступа к ОЗУ или процессору. Внешнее устройство переносит информацию в канал. Каналы конструктивно и функционально были развиты в машинах ЕС ЭВМ. Там использовались каналы двух типов: селекторные и мультиплексные. Первые обеспечивали связь процессора с одним быстрым ВУ, т.е. селекторный канал имел буферную память маятникового типа (память делится пополам, в одну часть запись из другой части чтение, если память переполнена, составляющие меняются местами). Это позволяет «одновременно» читать/записывать память.

Селекторные каналы объединялись в группы, что позволяло подключать несколько внешних устройств к процессору, но в любой момент работало только одно ВУ. Мультиплексные каналы рассчитаны на работу с медленными ВУ (печать, клавиатура, НМЛ). Мультиплексный канал работает в байт-последовательном режиме с несколькими внешними устройствами «одновременно». Фактически канал опрашивает последовательно каждое внешнее устройство, пересылает байт и обращается к следующему. Буферная память таких каналов разделена на подканалы. Каждый подканал работает с одним ВУ. В конечном счете буферная память заполняется информацией с нескольких ВУ и процессор быстро прочитает данные. Управляющие сигналы формируются на основании командного слова канала — процессор пересылает команду в канал, она расшифровывается и внешнее устройство получает управляющий не от процессора, а от устройства управления каналом. Кроме командного слова процессор посылает в канал адресное слово — начальный или конечный адрес источника информации. Слова данных также иногда выделяют при обмене информации. Многие внешние устройства имеют собственную буферную память, поэтому необходимости в самостоятельном канале у них нет. Функции канала, его принципы организации уже внесены в структуру внешнего устройства. Отсюда актуальность каналов как самостоятельных функциональных узлов в тех случаях, когда очень быстрый процессор обменивается с довольно медленными внешними устройствами, число которых значительно.

Интерфейсы.

  1. Типы интерфейсов вычислительных устройств.

  2. Условия согласования.

Типы интерфейсов вычислительных устройств.

Непосредственно с идеологией канала связан термин интерфейс. Он объединяет в себе аппаратные и логические построения обеспечивающие правильную передачу информации от источника к приемнику. Как правило на верхнем понятии каналы и интерфейсы часто совмещают. Общее у них — передача информации, но интерфейс, более конкретный термин, имеющий фиксированные характеристики и часто канал вбирает в себя характеристики интерфейса. Любой канал имеет интерфейс, но любой интерфейс входит в канал. Различают интерфейсы по многим критериям (например):

  1. по способу передачи данных:

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

    2. Параллельный способ. Байт данных (два байта) одновременно передается от источника к приемнику. Этот способ также может быть синхронным или асинхронным.

  1. по направлению передачи:

2.1) цепочечные

2.2) радиальные (типа звезда).

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

Радиальный интерфейс более быстр, надежен, но требует отдельных разъемов для подключения. Радиальные интерфейсы используются в ПЭВМ для подключения периферии. Магистральный интерфейс используют для объединения функциональных модулей в вычислитель. На основе магистрального интерфейса разработан функционально-модульный метод объединения блоков.

  1. по назначению:

3.1) системный интерфейс

3.2) интерфейсы внешних устройств.

3.3) межпроцессорные интерфейсы

3.4) межсистемные интерфейсы

Интерфейсы предназначены для организации связи с различными блоками вычислительной системы CPU, RAM, I/O. Системные интерфейсы это некий скелет на котором построен вычислитель. Изменение конфигурации вычислителя в пределах интерфейса приводит лишь к программным изменениям. Стоит поменять интерфейс, сразу же возникают аппаратные дополнения. Тип системного интерфейса формировался из конфигураций вычислителя: 8-, 16-, 32-разрядные с раздельной или совмещенной шиной адрес/данные. Т.е. первоначально разрабатывался вычислитель, принимались связи между блоками и затем эти связи назывались как тот или иной тип интерфейса. Последующие разработки принимали уже имеющиеся типы связей. При разработке нового вычислителя принят модульный подход: выбирается стандартный системный интерфейс (если он не задан), функциональные блоки определенные заданием подключаются по правилам этого интерфейса, уточняются их характеристики, определяются параметры — вычислитель «спроектирован». Примерами системных интерфейсов являются: multybus, Q-bus, microbus, ISA, EISA, PCI.

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

  1. параллельный интерфейс ИРПМ-М (CENTRONIX) — байтовый параллельный интерфейс для обмена байтами (принтер, индикация). Интерфейс асинхронный.

  2. ИРПС (интерфейс радиальный последовательный) — информация передается последовательно, каждый байт стробируется (синхронизируется с приемником), информация передается уровнем тока, поэтому помехоустойчивость наибольшая.

  3. RS-232C (стык С2) — информация передается последовательно со стробированием байтов. Интерфейс потенциальный «1»=+12В, «0»=-12В. Расстояние 0.7-1.5 метра. Применяют в ПЭВМ для связи со стандартной периферией.

Межсистемные интерфейсы предназначены для связи, объединения различных систем в единую конфигурацию. Как правило, это информационно-вычислительные системы, поэтому для них используют концепцию открытых систем, позволяющую наращивать вычислители. Примером такой конфигурации является интерфейс VME — трехшинная архитектура включающая параллельную системную магистраль, последовательную магистраль и параллельную магистраль расширения памяти.

Межпроцессорные интерфейсы ориентируются на системную магистраль (работая порознь). Это направление на сегодня практически не разрабатывается.

Условия согласования.

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

  1. Механическое согласование: источник и приемник должна иметь одинаковые разъемы и распайку из контактов, между ними может использоваться коммутационная плата.

  2. Электрическое согласование объединяет:

2.1) уровни активного и пассивного уровней. Напряжение питания.

2.2) величину задержки в цепи выборки, синхронизации и адреса. Это условие определяет минимальное значение.

  1. логические условия определяют: активный сигнал (высокий или низкий), последовательность прохождения управляющих сигналов, последовательность появления на шинах данных и адреса.

Логические условия определяют и возможность установления связей: сигналы подтверждения готовности и обмена. Для установления связей между любыми двумя платами необходимо соблюдать все три названных условия. Однако для реальной связи требуется выполнить дополнительные операции называемые интерфейсными функциями. Во времени основные ограничения предъявляют логические условия, но при этом аппаратно не подчеркивается за счет чего они будут выполняться. Аппаратная реализация логических функций требует дополнительного оборудования — интерфейсного оборудования. Выполнение этих действий и называется интерфейсными функциями. Основные из них:

  1. временное хранение данных в буфере

  2. опознавание сигнала готовности

  3. представление сигнала из параллельной/последовательной формы в обратную последовательную/параллельную

  4. перенос величины напряжения сигнала к требуемому уровню интерфейса.

Иногда термин интерфейс и канал совмещают. Интерфейс это более узкое понятие. Функция интерфейса — связь устройства ВВ с конкретным внешним устройством. Канал распространяется на все функциональные блоки.

Организация системы прерываний. Способы прерываний. Контролеры прерываний.

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

  1. от схем контроля ошибок

  2. источников питания

  3. результатов текущих операций (переполнение, деление на ноль)

  4. от внешних устройств, при их неготовности или необходимости передать информацию от других процессоров

  5. программные прерывания

Любая процедура прерывания — подпрограмма, поэтому обработка подпрограммы требует начального адреса подпрограммы, сохранения предыдущих данных и «мягкого» завершения подпрограммы. Такая подпрограмма может быть вызвана электрическими сигналами (запрос на прерывание), либо она может начаться по обращению к адресу как к обычной подпрограмме. Адреса подпрограмм прерываний в конкретных системах команд фиксированы. Программные прерывания упрощают выполнение стандартных процедур (например: обнуление экрана, опрос клавиатуры). Программными требованиями рекомендуют пользоваться при работе на уровне ассемблера. Прерывания от внешних сигналов связаны с обработкой внешних электрических сигналов. У процессора имеется два входа: требование прерывания (вход) и разрешение прерывания (выход). Сигнал на вход поступает от одного или нескольких внешних источников и вызывает обработку нужной подпрограммы. Если источник один можно напрямую подключить этот сигнал к входу процессора. Если источников сигналов несколько, используют различные методы опознавания, какую подпрограмму начать.

Способы:

  1. с последовательным опросом

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

  1. система с одной линией подтверждения.

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

  1. система с использованием контролера прерываний.

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

Последовательность:

  1. запрос ВУ

  2. контролер выставляет требование

  3. получает подтверждение запроса на прерывание

  4. выставляет на шине данных адрес устройства

Данная структура имеет минимальное время срабатывания, удобна и в настоящее время применяется в большинстве вычислителей. Контролер прерываний может выполняться как самостоятельная схема или интегрироваться в схему микропроцессора (i85).

Основная задача контролера:

  1. корректно изменить последовательность вычислений

  2. определить приоритеты

  3. корректно вернуться в прерванную программу.

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

Сигналы прерывания могут появиться одновременно на нескольких входах. Для их упорядочивания используют систему приоритетов и маскирования. Каждый вход контроллера имеет свой приоритет (1…н, 1- самый важный). Входы контроллера подключаются к внешним сигналам согласно приоритетам. Если появляются два сигнала одновременно, обрабатывается сигнал высшего приоритета. Если сигнал высшего приоритета приходит с некоторой задержкой от первого сигнала прерывания, вступает в работу методика маскирования. Предыдущая команда уже начатая при обработке прерываний выполняется до конца. Ее результаты запоминаются, и только после запоминания изменяется адрес и процессор переходит на обработку высшего приоритета. Цель такой задержки — сохранить методику обращения к подпрограммам: переход возможен только после завершения текущей команды. Если подпрограммы высшего приоритета обработана, процессор возвращается к первой подпрограмме прерываний. При этом анализируется необходимость ее завершения: сохранился ли сигнал первого прерывания. Если он не сохранился, происходит возврат из подпрограммы в основную программу. Результаты прерванной подпрограммы восстанавливаются. Восстановление результата при выходе из подпрограммы стандартная процедура.

Структура элементов памяти.

  1. Иерархия устройств памяти

  2. Модули памяти ОЗУ и ПЗУ

  3. Ассоциативные запоминающие устройства

Иерархия устройств памяти.

Принято все элементы памяти используемые в вычислителях представлять про степени приближения к процессору. Непосредственно к АЛУ приближены схемы СОЗУ — РОН выполняются на одном кристалле с АЛУ. Связь CPU—АЛУ—СОЗУ по внутренней шине процессора. Адресация внутренняя в структуре КОП. Здесь же на кристалле может находиться буферная память (кэш) причем как данных, так и команд. БОЗУ в этом случае также обменивается с АЛУ через внутреннюю шину. БОЗУ может выполняться и вне кристалла, причем связь процессор – буфер через внешнюю шину данных. Такая ситуация возможна если цикл работы микропроцессора и ОЗУ отличаются незначительно. Роль ПЗУ синхронизировать во времени процедуры обмена ОЗУ—CPU. Основная память — ОЗУ. Объем ОЗУ может быть значительным, наращиваемым. Условие: в пределах физического адреса формируемого схемой можно наращивать ОЗУ. ПЗУ в вычислителе как правило выступает в роли системного. В нем хранятся процедуры базовой системы ввода\вывода, а также процедуры контроля, тестирования блоков вычислителя. В зависимости от назначения ПЗУ может быть от нескольких килобайт до сотен килобайт. В небольших вычислителях в нем хранятся не только системные программы, но и рабочие. Внешние ЗУ расширяют возможности вычислителя. При этом они могут хранить как данные, так и командные файлы. Процессор напрямую с ВЗУ не работает, отсюда приходится перегружать содержимое ВЗУ в ОЗУ с тем чтобы уменьшить время выполнения операций. Различные типы ВЗУ позволяют хранить информацию большого объема. На сегодня это устройства с магнитными и оптическими принципами хранения. Большинство ВЗУ имеет контролер — схему формирования хранимой информации в нужном формате.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]