Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЭВМиС 2012 все леккции.doc
Скачиваний:
4
Добавлен:
18.09.2019
Размер:
4.36 Mб
Скачать

2. Вертикальная организация микрокоманд

В этом случае микрокоманда определяется n-разрядным кодом.

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

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

3. Смешанная организация микрокоманд

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

Например, нельзя одновременно помещать на шину процессора (в одном такте) содержимое двух регистров или одновременно использовать сигналы Read и Write для одного устройства и т.д.

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

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

а)Формат микрокоманд можно представить так:

RG Mk разбивается на поля F1, F2 … Fl, в каждом из которых будет код выполняемой микрокоманды в данном такте, который для получения сигнала должен дешифроваться.

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

Структура формата таких микрокоманд.

Управляющие сигналы могут вырабатываться в каждом DC; только по 1-му в каждом такте.

Такое микропрограммирование получило название: горизонтально-вертикальное.

б) Вертикально-горизонтальная организация микрокоманд

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

Каждое подмножество кодируется m-разрядным кодом:

m=log2(l+1), который хранится в управляющей памяти, а после считывания дешифруется и выбирает нужное подмножество.

Структура формата таких микрокоманд:

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

2.6 Системы ввода/вывода эвм

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

Основной сложностью реализации сопряжения является большой разрыв в скоростях работы СР и ПУ.

Технически система ввода/вывода реализуется комплексом модулей ввода/вывода (МВВ), которые выполняют сопряжение ПУ и СР (ОП) и различные коммуникационные операции между ними.

Основные функции модуля ввода/вывода (МВВ)

- обеспечение интерфейса с СР и основной памятью (ОП). Такой интерфейс еще называют «большим интерфейсом» - это совокупность технических средств, методов и правил взаимодействия между устройствами системы.

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

(на 5 курсе будет курсовая работа по малому интерфейсу. Они весьма разнообразны.)

Примеры интерфейсов

  1. Вожжи-интерфейс между кучером и лошадью

  2. Рулевое колесо, педаль тормоза, газа, ручка коробки передач – интерфейс между водителем и автомобилем.

  3. Клавиатура, мышь – интерфейс между пользователем и ЭВМ.

Из анализа архитектур известных ЭВМ можно условно выделить 3 основных способа подключения СВВ (системы ввода/вывода) к процессору СР.

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

Главный недостаток методы: СР должен иметь значительное число точек подключения, то есть выводов.

б) Вариант б) позволяет учесть особенности процедур обращения к ОП и к системе вв/в, добиться большей эффективности доступа к ОП и СВВ.

Причем такой вариант требует меньшего числа точек подключения к СР.

в) общее использование шины к ОП м СВВ. Достоинство шина к СВВ проще и дешевле. Главный недостаток: низкая интенсивность и скорость транзакций.

(Транзация – операции на шине: это операции чтения, записи и т.д.). Шинная транзакция включает в себя две части: посылку адреса ПУ и приема(запись) данных.

Адресное пространство системы ввода/вывода

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

Адрес модуля и ВУ является частью команды, в то время как расположение данных на внешнем устройстве (например, на винчестере) определяется информацией, передаваемой на ВУ.

Адресное пространство ввода/вывода может быть совмещено с адресным пространством основной памяти или быть выделенным.

При совмещенном адресном пространстве для адресации модулей ввода/вывода (МВВ) отводится определенная область адресов в ОП.

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

Фактически процедура ввода/вывода сводится к записи информации в одни регистры и считывания из других.

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

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

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

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

Достоинства совмещенного адресного пространства:

1. Расширение набора команд для обращения к ВУ.

2. Возможность увеличения числа подключаемых ВУ.

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

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

Недостатки совмещенного адресного пространства:

1. Сокращение области адресного пространства ОП.

2. Усложнение дешифраторов адресов в СВВ.

3. Трудности распознавания операций передачи информации при вводе/выводе среди других операций. Сложности в чтении и отладке программ, в которых простые команды требуют выполнения сложных операций ввода/вывода.

4. Трудности построения СВВ на простых модулях ввода/вывода; так как сигналы управления не могут координировать сложную процедуру ввода/вывода, поэтому модули вв/в должны генерировать дополнительные сигналы под управлением программы.

Совмещенное адресное пространство используется например в ЭВМ MIPS и SPARC.

В ЭВМ IBM и микро ЭВМ на базе процессоров Intel используется как правило выделенное пространство адресов с применением специальных команд. Это позволяет совмещать обмен с памятью и МВВ во времени.

Достоинства выделенного пространства адресов:

1. Адрес ВУ в команде может быть коротким, следовательно, команды будут короткими а дешифраторы адреса простыми.

2. Программы ввода/вывода более наглядные.

3. Разработка СВВ может проводиться отдельно от разработки памяти

(в этом убедитесь при выполнение курсовой работы по ИПУ на 5 курсе)

Недостатки:

1. Ввод/вывод производится только через аккумулятор процессора и следовательно, для передачи информации от ВУ например, в РОНЫ СР или ОП, если аккумулятор занят, требуется выполнить 4 команды:

- сохранение содержимого аккумулятора;

- ввод из ВУ в аккумулятор;

- пересылка из аккумулятора в РОН

- восстановление в аккумуляторе сохраненного содержимого.

2. Перед обработкой содержимого ВУ, его надо переслать в СР.

2.6. Внешние устройства. Модули ввода/вывода

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

Каждое ВУ подключается к модулю ввода/вывода посредством индивидуальной шины. Взаимодействие ВУ и МВВ организует специальный интерфейс (который часто называют «малый интерфейс»).

ПУ можно разделить по трем категориям:

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

- устройства для обмена с ЭВМ: магнитные и оптические диски, различные датчики, исполнительные механизмы и т.д.

- устройства для связи с удаленными устройствами, например, хабы, модемы, концентраторы и т.д.

Обобщенная структура периферийного устройства представлена на рис. 2.19.

Интерфейс МВВ – ПУ реализуется в виде сигналов управления, состояния и данных.

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

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

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

Часто преобразователи используют и буферную память ПУ (МВВ) для временного хранения его данных

Сигналы данных обычно представляют данные, посылаемые для обработки в ЭВМ или получаемые из ЭВМ.

Модули ввода-вывода

Обобщенная структура МВВ представлена на рис. 2.20

Назначение блоков МВВ видно из его структуры.

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

Данные передаваемые из СР в МВВ буферизируются в RG данных, что позволяет компенсировать различие в скоростях работы СР и ПУ.

Разрядность RG данных как правило совпадает с разрядностью шины большого интерфейса: 2, 4 или 8 байт.

В свою очередь ПУ как правило ориентировано на побайтовый обмен, поэтому со стороны ПУ (малого интерфейса) часто строится блок упаковки (преобразование передачи 2. 4 или 8 байтов) в передачу по одному байту последовательно, а иногда даже побитовую передачу: бит за битом RG данных в МВВ может быть несколько.

RG состояния служит для хранения битов состояния МВВ и подключенных к нему ПУ, например, готовы ли МВВ или ПУ к приему (передаче) и т.д. Таких регистров также может быть несколько.

RG- управления фиксирует команды управления из СР или поступившие из ПУ. Разряды регистра могут содержать, например , команды сброса ПУ, МВВ, команду чтения или записи и т.д. Их также может быть несколько.

Процедура ввода/вывода преполагает возможность работы с каждым регистром или ВУ по отдельности. Это обеспечивается системой адресации. Поступивший адрес из СР с помощью селектора адреса проверяется принадлежность данного МВВ к диапазону адресов, выделенному для данного МВВ. Дешифратор адреса DC расшифровывает адрес и разрешает работу соответствующему RG или ПУ.

Узел управления обеспечивает взаимодействие с СР и координацию работы всех блоков МВВ.

Со стороны малого интерфейса обеспечивается подключение ПУ и взаимодействие с ним.

Каждое ПУ обслуживается своим малым интерфейсом, который реализует принятый для данного ПУ протокол взаимодействия.

Основная задача МВВ по возможности освобождать СР от деталей работы ПУ, чтобы СР мог управлять ПУ небольшим набором простых команд.

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

МВВ, требующий детального управления со стороны СР называют контроллером ввода/вывода или контроллером устройства.

2.7. Доступ устройств ввода/вывода к ЭВМ

Рассматривая работу СР, предполагалось, что все данные на которые воздействовали команды хранились в памяти ЭВМ. Однако ЭВМ способна обмениваться данными с широким кругом ПУ, при этом операции такого обмена в значительно мере влияют на производительность ЭВМ.

Предположим простейшую структуру подсоединения устройства ввода/вывода (ПУ) к процессору СР, которая в зависимости от типа подсоединения (как уже упоминалось ранее также влияет на производительность ЭВМ и на структуру МВВ).

Существует 3 основных метода реализации ввода/вывода для подобных структур доступа ПУ к ЭВМ.

  1. Прямой доступ к памяти (ОП) или IM. Этот метод будет рассмотрен в курсе ЗУ ЭВМ.

  2. Программно управляемый ввод/вывод ЭВМ.

  3. Ввод/вывод по прерыванию.

2. Программно управляемый ввод/вывод ЭВМ является наиболее простым. Часто этот метод называют вводом/выводом с опросом. Процесс ввода/вывода происходит под полным контролем СР и реализуется специальной процедурой. СР с помощью команды ввода/вывода сообщает МВВ, а через него и ВУ о предстоящей операции. Адрес МВВ и ВУ указывается в команде. МВВ исполняет затребованное действие, после чего устанавливает в единицу соответствующий бит в своем RG состояния. СР периодически опрашивает и анализирует содержимое этого RG.

Иллюстрация процедуры показана на рис. 2.22.

Данные читаются пословно, СР остается в цикле проверки, пока не определит , что слово находится в RG данных МВВ и доступно для чтения.

Существует 4 типа команд ввода/вывода, которые может получить МВВ: управления, проверки, чтения и записи.

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

Команды проверки применяются для контроля состояния МВВ и ВУ: включено ли ВУ, готово ли к выполнению операции, завершена ли предыдущая операция, возникли ошибки и т.д.

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

Команды записи: заставляет МВВ принять данные (байт или слово) с шины данных СР в свой RG данных и передать их во ВУ.

Если к МВВ подключено несколько ВУ, то в процедуре ввода/вывода производится циклический опрос всех устройств.

Из блок-схемы алгоритма ( рис. 2.22) виден основной недостаток программно-управляемого ввода/вывода – не эффективное использование СР, поскольку в ожидании готовности очередной порции информации он полезной работы не выполняет. Кроме того пересылка даже одного слова требует выполнения нескольких команд. СР тратит время на анализ битов состояния МВВ, запись в МВВ битов управления, чтения и запись данных со скоростью приемлемой для ВУ.

Достоинство: простота МВВ, поскольку все основные функции ввода/вывода выполняет СР. Для нескольких ВУ подключенных к одному МВВ приоритет устанавливается и меняется программно-последовательным опросом. Пример программно-управляемого ввода с клавиатуры ЭВМ и вывода на монитор.

При нажатии на клавишу, образуется код символа (применяется код ASII), который записывается RG DATA IN МВВ, схемой управления интерфейса в RG STATUS устанавливается влаг SIN = 1 и процессов прочитав флаг SIN, считывает с RG DATA IN код символа помещает его в память IM (в буфер) по начальному адресу, например, LINE, далее при последующих нажатиях клавиш символы аналогично считываются и помещаются по обновленным автокрементным способом адресам в память.

После каждого ввода символа программно проверяется не является ли символ сигналом возврата каретки (код ASII – OA). Если да, то на дисплей посылается сигнал перевода каретки (ОА) и курсор перемещается вниз на одну строку. Если нет, (код OD), то вводится следующий символ.

После ввода всей строки вызывается подпрограмма обработки строки. (например: подчеркивается орфографическая или синтаксическая ошибка в слове).

Вывод на экран программа каждый введенный символ в память, пересылает в RG DATA OUT МВВ на монитор и если флаг состояния интерфейса монитора SOUT = 1 в RG STATUS (дисплей готов к приему) выводит его на экран.

Если флаги SIN = 0 или SOUT = 0, то процессор находится в режиме ожидания.

Из рассмотренного примера видно, что процессор большую часть времени находится в режиме ожидания: постоянно опрашивает флаг SIN, который длительное время = 0, так как пользователь клавишу нажимает с точки зрения процессора очень редко.

Поэтому программный метод ввода применяется редко, чаще применяется метод прерывания и прямой доступ к памяти.