Для соединения устройств без провода используют два подхода:
1.Токовая петля с использованием оптической развязки.
Но таким способом можно соединить только два устройства.
2.Трансформаторный элемент.
Можно использовать для построения сетей.
Построение систем обмена
Историческая схема.
Так как процессор единственный (нет процессора ввода/вывода), все устройства подключены к нему, следовательно, 50% машинного времени тратится на ввод / вывод. Такая архитектура в настоящее время практического применения не имеет.
ЦП – центральный процессор
ОП – оперативная память
ВУ – внешнее устройство
Улучшенный вариант имеет два процессора. Один процессор занимается только вычислениями, другой вводом/выводом. Такая организация в 2 раза повышает производительность.
Пр. В/В – процессор ввода/вывода
Так для решения задачи имеется два процессора, следовательно, можем разделить процесс решения на этапы:
1. Загрузка
2. Вычисление
3. Вывод результата
Такая система позволяет конвейеризовать процесс решения задачи.
Схема организации обмена в машинах IBM 307,3070
БУП - блок управления памятью
ИА – интерфейсный адаптер
ИП – интерфейс памяти
И2, И3, И4 - интерфейсы
Соответствие между электроникой и механикой, необходимость стыковки ядра и периферии, влечет за собой необходимость в наличии устройств согласования (интерфейсных адаптерах).
Два типа устройств:
1.Устройства, информация с которых влияет на решение задачи, значит нужна быстрая реакция на ввод/вывод (автопилот, датчики крена)
2.Архивная (внешняя) память, (принтер, монитор)
Машины отличаются организацией интерфейсной системы.
Общая шина
Основной идеей интерфейса UNIBUS является объединение всех внутримашинных интерфейсов в один общий для всех устройств интерфейс, такая структура машины называется магистрально-модульной.
При таком обмене используются одни и те же шины адреса, данных, управления и синхронизации. Для временного разделения интерфейсных шин между несколькими устройствами, желающими произвести обмен, используется специальное устройство – арбитр. Таким образом, любой обмен осуществляется в несколько этапов.
Фазы арбитража:
1.Запрос к арбитру на право пользования интерфейсом
2.Выдача разрешения
3.Установка специального признака занятости интерфейса
Каждое устройство получает свой признак – номер ячейки в ОП, все операции осуществляются одной командой, все интерфейсы в таком случае – интерфейсы памяти. Перед передачей данных анализируется адрес и по нему определяется требуемое устройство.
Фазы обмена:
1. Арбитраж
2. Адресация устройства
3. Передача данных
Можно ускорить процесс обмена, совместив разные фазы обмена для разных обменов.
Сигнал «занято» говорит о том, что мы можем совместить фазы арбитража.
Для выполнения каждого действия нужен интерфейс, т. е. Провода для адресации свой набор и для передачи данных свой набор. Но если мы разносим фазы во времени, то можем использовать один провод – мультиплексированная шина адреса/данных.
Часто обмен с памятью идет не отдельными словами, а блоками по последовательным адресам, т.е. массивами. Таким образом, нам не нужно определять адрес каждого слова, а нужен лишь начальный адрес массива. Блочный обмен – обмен, при котором устройство само следит за фазой адресации при передаче первого слова, затем идет автоматическое увеличение адреса, но длина массива оговаривается заранее.
Варианты построения схем арбитража
- параллельное построение
Запросы могут поступать одновременно по параллельным каналам, но разрешения будут выдаваться в соответствии с приоритетом устройства. Данная схема подходит для не большого количества устройств.
- последовательное построение
Шины запроса и разрешения единственны. В каждом устройстве находится ключ, если он разомкнут, то устройство выставило запрос. На выдачу разрешения влияет приоритет по дальности от арбитра.
В современных машинах используется параллельно-последовательный арбитраж – устройства разбиваються на группы по приоритетам, внутри группы последовательный арбитраж, между группами параллельный.
Режимы обмена
1. Обмен с опросом готовности
Вводится специальный регистр команд и состояний, один из битов которого определяет готовность устройства к обмену. Бит готовности, как правило, совмещают со знаковым разрядом, следовательно, нужно получить признаки (команда TEST).
2. Обмен с прерыванием
Имя устройства используется как косвенный адрес ячейки, в которой находится адрес подпрограммы, т. е. по имени получаем начальный адрес вектора прерываний.
В регистре состояний есть бит разрешения/запрещения прерываний.
Существуют три уровня обслуживания прерываний:
1. Подпрограмма
2. Некая процедура (для сохранения данных)
3. Отдельная задача
Выше перечисленные типы обмена называются программно-управляемыми, программа находится в ЦП.
3. Обмен без использования ЦП (Внепроцессорный обмен)
Используется процессор ввода/вывода, этот обмен может происходить всегда, даже когда команда не закончена.
Базовые идеи межмашинного обмена
1. Процессорная система
ЦП- центральный процессор
Данная система обмена возможна, но не предпочтительна, так как быстродействие шины еще ниже, чем быстродействие оперативной памяти (ОП).
Возможны два варианта обмена между ЦП:
- ЦП1 рассматривает ЦП2 как внешнее устройство (ВУ)
- ЦП2 рассматривает ЦП1 как внешнее устройство (ВУ)
Данная схема симметрична и представляет собой простое соединение двух машин через два интерфейсных адаптера (ИА). Алгоритм обмена такой же как с внешними устройствами.
2. Можно поставить контроллер прямого доступа к памяти
Но и в этом случае второй ЦП воспринимается как внешнее устройство (ВУ).
3. Идея окна.
Память можно разбить на некоторые секции и через одну секцию просматривать всю память.
* - окно в память другой машины
У фирмы DEC ЦП имеет главный приоритет в арбитраже.
У фирмы Intel - максимальный приоритет у Пр. В/В, так как он очень редко забирает шину следовательно идет блокировка ЦП. Обращение ко второму процессору так же быстро как к первому, но одна машина тормозит работу другой машины.
4. Идея фиксированного окна
Разделяемая память переключается с одного ЦП на другой ЦП.
Схема с общим разделяемым ресурсом
ПШ – переключатель шины, передает ресурс разделяемой памяти от одного процессора другому. ВУ – общие разделяемые ВУ.
Сеть, построенная по первому варианту взаимодействия.
Современная машина имеет много процессоров: процессор ввода/вывода,
дисплейный ЦП (ДП), контролер диска (КД).
Общая шина не дает процессорам работать оперативно, следовательно, персональный компьютер должен быть мультипроцессорной системой с несколькими интерфейсами.
Схема современной организации обмена. Схема имеет пять интерфейсов, причем только один из них является открытым – это пользовательский интерфейс (интерфейс с ВУ).
КШ – контроллер шины
Конвейер команд
|
Задача F может быть разбита на подзадачи.
Т.о. можно реализовать конвейер.
Можно построить отдельные устройства, быстродействие которых 1 команда за 1 такт.
Этапы выполнения команды:
1. Выборка команды (ВК)
2. Дешифрация команды (ДШ)
3. Вычисление адреса 1-го операнда (А1)
4. Выборка 1-го операнда (О1)
5. Вычисление адреса 2-го операнда (А2)
6. Выборка 2-го операнда (О2)
7. Выполнение операции (ОР)
8. Запись результата (ЗР)
9. Завершение операции (ЗО)
ПК- память команд.
9 этапов – 9 устройств
Невозможно выполнить команду за один такт, так как требуется 6 обращений в Оп. Положим А2 в регистр, следовательно убираем 2 обращения в ОП.
Помехи – возможные ошибки, которые возникают при нарушении логического порядка конвейера команд.
Случаи, в которых могут возникать ошибки (помехи):
1. Чтение после записи
2. Запись после чтения
3. Запись после записи
4. Чтение после чтения
Способы защиты от помех:
1.Контроль адресов.
Если команда использует один регистр, то следующая команда стопорится, пока не выполнится предыдущая.
«Короткое замыкание»
В ЦП есть несколько ступеней, каждой из которых надо обращаться к памяти, следовательно, сами ступени закрыты от ОП устройством обмена с памятью.
Если I ст. нужно слово непосредственно от I+1 ст., то слово сразу передается I ст., а потом записывается в память.
2.Команды при прохождение через конвейер не записывают результат в память. Как бы команды не обгоняли друг друга на конвейере все записи выполняются в строго логическом порядке – порядке команды. Если команда воспользовалась неправильными данными она отправляется на перевыполнение. Обычно, конвейер 6-8 ступенчатый, в пределах 6-8 команд программа не должна использовать один и тот же регистр.
3.Пентиум, пентум про – две разные организации.