Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Функционирование селекторного канала



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

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

РДК = ширине выборки. Ширина выборки должна содержать количество байт, которое может записаться/считаться из ОП за 1 обращение. Одна канальная команда занимает 8 байт, поэтому при ширине выборки из памяти равной 4 байтам потребуется 2 обращения к ОП.

Ширина информационного трапа – число байт, одновременно передаваемых между РДК и РДУ.

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

Буферный регистр (БР) используется для увеличения скорости обработки: одновременно с записью информации из РДК на ВУ происходит считывание данных из ОП на БР. После выборки информации из ОП на РДК происходит разгрузка РДК на РДУ блоками, равными по величине ширине информационного тракта ВУ (в дальнейшем - 1 байт). При считывании 1 байта с РДК на ВУ

СБ:=CБ+1

РКК.АДР:= РКК.АДР+1

Формат канальной команды:

КОП | Поле адреса | Поле признаков | Поле длины массива

Поле кода операций (КОП) - занимает 1 байт.

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

Поле длины массива - занимает 2 байта. Оно указывает, сколько байт информации осталось передать. Равенство значения этого поля "0" указывает на то, что массив информации в соответствии с данной командой полностью передан, т.е. канальная команда выполнена. Далее анализируются признаки, находящиеся в поле признаков выполняемой команды.

Поле признаков - занимает 2 байта, из которых используется только старший (младший всегда равен 0 и рассматривать не будет).. Эти признаки определяются значением 2-х старших разрядов поля признаков.

Цепочка данных (10 A000) означает, что следующая канальная команда имеет тот же код операции, что и выполняемая, и при ее выборке из ОП поле РКК.КОП остается неизменным.

Цепочка команд (01 6000) означает, что следующая канальная команда имеет иной код операции, нежели выполняемая.

Конец канальной команды (00 2000) означает, что эта команда является последней.

Если СБ или ДМ ≠0, то происходит считывание с РДК следующего байта информации.

Если СБ=0, ДМ ≠0, то значит массив данных из РДК полностью записан на ВУ и нужно считать из ОП на РДК следующую порцию информации.

Если СБ=0, ДМ=0, то это означает, что массив полностью считан из ОП и записан на ВУ. Далее следует анализировать признак в поле признаков. В соответствии с признаками выбирается следующая канальная команда из ОП, а в случае, если выполняемая команда

оказалась последней - формируется запрос на прерывание ЦП по вводу-выводу. Если выбранная команда оказалась командой чтения, то с ВУ считывается блок информации, величина которого равна ширине информационного тракта ВУ (1 байт), и помещается на РДК. Номер байта в РДК, в который помещается блок информации, определяется по счетчику байт (СБ).

Если СБ≠0, ДЛМ ≠0, с ВУ на РДК передается следующий байт информации. После пересылки очередного байта информации

СБ:=CБ+1

РКК.АДР:= РКК.АДР+1

РКК.ДЛМ:=РКК.ДЛМ-1

Если СБ=0, то это означает, что РДК полностью заполнен, и происходит обращение к ОП для записи содержимого РДК. При этом для увеличения скорости обработки в канале используется буферный регистр (БР), в который пересылается содержимое РДК. После пересылки с РДК на БР канал начинает считывать новые порции информации с ВУ и помещать их на РДК.

Если ДМ=0, то, независимо от значения СБ, также происходит запись содержимого РДК в ОП, т.к. массив в соответствии с текущей канальной командой полностью считан с ВУ. При этом СБ указывает, какое количество байт нужно переписать в ОП. После записи в ОП содержимого РДК при РКК.ДЛМ=0 анализируется поле признаков, как и при команде записи.

▲ Пример.

1) В начале в РАКК помещается адрес первой канальной команды, по которому она выбирается из ОП и помещается на РКК. Т.к. ширина выборки ОП равна 4, то канальная команда выбирается из ОП за 2 обращения. После каждого обращения в ОП при выборке канальной команды РАКК увеличивается на 4.

2) После выборки команды из ОП анализируется ее поле кода операции (дешифрация).

3) Чтение/запись

Первая команда оказалась командой чтения, поэтому с ВУ (РДУ) начинается побайтно через СБ считываться информация на РДК. При передаче каждого байта на РДК значение СБ +1 и АДР+1, ДМ - 1. После передачи 4-х байт информации СБ стал равен 0, что означает, что РДК полностью заполнен. При этом на регистр РАП помещается содержимое поля РКК.АДР и в соответствии со значением его старшей части происходит перепись полученной информации из РДК через БР в ОП. Затем в РДК начинает поступать следующая порция информации. После передачи очередных 2-х байт из ВУ ДМ стало равным 0, на РАП помещается содержимое поля РКК.АДР и в соответствии со значением его старшей части происходит перепись содержимого РДК в ОП, при этом значение СБ указывает, сколько байт передается в ОП (сколько байт на РЧП нужно изменить). После записи информации в ОП СБ обнуляется.

Затем анализируется поле признаков. Признак "цепочка команд", следующая канальная команда выбирается из ОП и помещается на РКК, поле КОП изменяется. Вторая канальная команда запись, поэтому в РАП загружается значение РКК.АДР и из ОП на РДК поступает порция информации, равная ширине выборки ОП. Затем начинается побайтное считывание информации с РДК на ВУ (РДУ). При передаче каждого байта, как и при операции "чтение", увеличивается на 1 значение СБ и РКК.АДР и уменьшается. на 1 значение РКК.ДЛМ. После передачи 3-х байт с РДК на РДУ, РКК.ДЛМ стало равно 0. Это означает, что весь массив информации записан на ВУ.

4. Организация мультиплексного канала.

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

Аппаратные средства мультиплексного канала можно разделить на две части: средства,

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

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

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

Процедура начальной выборки производится за один сеанс связи, по инициативе ЦП и связана с заданием работы ВУ. ЦП на регистр РАКК передает адрес первой канальной команды, в соответствии с которым на РКК из памяти выбирается канальная команда. Содержимое РАКК увеличивается на 8 (в ЕС ЭВМ длина канальной команды - 8 байт). В СБ устанавливается номер байта, в который или из которого в РДК будет передан первый байт информации. После этого в память подканала, соответствующего данному ВУ, записывается содержимое РКК, РДК, СБ и РАКК. На этом процедура начальной выборки заканчивается.

Процедура обслуживания запросов ВУ производится по инициативе ВУ и, как правило, занимает несколько сеансов связи. Запрос от ВУ фиксируется на регистре внешнего устройства PВУ, и из соответствующего подканала выбираются параметры операции и помещаются на регистры канала PКК, PДК, CБ и PАКК. В соответствии с кодом операции PКК.КОП из ВУ или на ВУ пересылается блок информации, равный по размеру ширине информационного тракта ВУ (1 байт). Номер байта на PДК, из которого выбирается или принимается информация, определяется по СБ. После пересылки информации содержимое СБ и PКК.АДP увеличивается на 1, а значение PKK.ДЛМ уменьшается на 1. В том случае, если СБ и PKK.ДЛМ не равны 0, то происходит запись измененных параметров из регистров в память соответствующего подканала и сеанс связи с ВУ заканчивается. Если PKK.ДЛМ равно 0, то анализируется поле признаков PKK.ПPЗ и в соответствии со значением PАКК из ОП выбирается следующая канальная команда или завершается моделирование, если обнаружен признак "конец канальной команды".

Перед выборкой новой канальной команды в случае операции "чтение" нужно переписать содержимое PДК в ОП. Если вновь выбранная команда окажется командой записи, то в этом же сеансе связи в соответствии с PКК.АДP выбирается блок информации из ОП и помещается на РДК. Если СБ=0 при неравенстве 0 PKK.ДЛМ, то в случае операции "чтение" осуществляется запись информации из РДК в ОП, а в случае операции "запись" - выборка нового блока информации из ОП в соответствии с PKK.АДP, который помещается на PKK. В любом случае сеанс связи с ВУ заканчивается занесением содержимого регистров PKK, PДК, СБ и PAKK в соответствующий подканал.

Имеются три канальные команды для 3-х ВУ, обслуживаемых одним мультиплексным каналом.

В 1-ом сеансе связи 1-е ВУ выставило запрос на связь с каналом, поэтому регистры канала PKK, PДК, СБ и PАКК загружаются содержимым подканала, соответствующего 1-му ВУ. Выполняемая операция - операция "запись", СБ=3, поэтому на PДУ передается содержимое 3-го байта PДК. Поле PKK.АДP и СБ увеличиваются на 1, а поле PKK.ДЛМ - уменьшается на 1. При этом СБ становиться равным 0 (массив PДУ полностью передан на ВУ), поэтому прежде чем записать содержимое регистров канала в память подканала, в PДУ из ОП пересылается следующий блок передаваемой на ВУ информации, начиная с адреса 000014.

Во 2-ом сеансе связи запрос выставило 3-е ВУ. содержимое подканала, соответствующего 3-му ВУ, помещается на регистры канала. Выполняется операция "чтение" и СБ=2, поэтому информация с PДУ передается на 2-ой байт PДК. Поле PKK.АДP и СБ увеличиваются на 1,а поле PKK.ДЛМ - уменьшается на 1. Т.к. после этого ни СБ, ни поле PKK.ДЛМ не равны 0, то измененные параметры заносятся в память подканала, соответствующему данному ВУ, и сеанс связи завершается.

В 3-ем сеансе связи запрос выставляет 2-е ВУ. содержимое подканала, соответствующего 2-му ВУ, помещается на регистры канала. Выполняется операция “запись" и СБ=1,поэтому информация из 1-го байта PДК передается на PДУ 2-гоВУ. Дальнейшие действия аналогичны действиям в предыдущем сеансе связи.

В 4-ом сеансе связи запрос выставляет 1-е ВУ. Действия аналогичны действиям в 3-ем сеансе связи (содержимое 0-го байта PДК передается на PДУ 1-го ВУ). В 5-ом сеансе связи запрос выставляет 2-е ВУ. Действия аналогичны действиям в3-ем сеансе связи (содержимое 2-го байта PДК передается на PДУ 2-го ВУ). В 6-омсеансе связи запрос выставляет 3-е ВУ. Выполняется опеpация "чтение”, СБ=3. После пеpедачи информации с PДУ на 3-ий байт PДК СБ становится равным 0 (PДК полностью заполнен), поэтому перед записью измененных параметров в подканал содержимое

PДК записывается в ячейки ОП, начиная с адреса 0000D8.

В 7-ом сеансе связи запрос выставляет 1-е ВУ. Действия аналогичны действиям в 3-ем сеансе связи (содержимое 1-го байта PДК передается на PДУ 1-го ВУ).

В 8-ом сеансе связи запрос выставляет 3-еВУ. Выполняется операция "чтение", СБ=0 - передается информация с PДУ на 0-ой байт PДК. При этом PKK.ДЛМ становится равным 0, т.е. весь массив информации с 3-го ВУ в соответствии с канальной командой передан. При анализе поля признаков PKK.ПPЗ оказывается, что эта канальная команда была последней, поэтому сеанс связи заканчивается обнулением памяти подканала, соответствующего 3-му ВУ. На этом моделирование работы мультиплексного канала завершается.


5. Программно управляемый ввод/вывод.

ВУ, готовое к вв/в, выставляет сигнал прерывания на Шину запроса. Запрос обрабатывается, в качестве обработчика будет выступать программа вв/в, под управлением которой информация будет предаваться между 2 устройствами. Характерен для медленных устройств.

Этапы:

1. Команда программы выдает...

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

3. Команда прогр. требует записать информацию, сообщая в какую-либо ячейку ОП (из какой ячейки), так же сообщает в какое место ВУ

4. Контроллер ВУ принимает информацию (слово), устанавливает в 0 признак готовности (устройство занято), далее передает слово в соответствующее место ВУ, по окончанию работы устанавливает 1 на регистр состояния (признак готовности).

5. В течение всего времени после предачи информации на ВУ ЦП выполняет цикл ожидания, проверяя регистр состояния на признак готовности

На интервале t2-t3 выводит информацию, t3-t4 простаивает.

6. Магистральный ввод/вывод.

Общая шина (способ медленный, ненадежный, но простой в исполнении)

Через ОШ могут общаться только 2 устройства. Параллельное совмещение во времени невозможно. В каждый момент времени устройство является ведущим, а остальные – ведомыми. В ОШ выделяют:

1. Шина Данных (ШД) служит для пересылки данных между устройствами

2. Шина Управления (ШУ)

3. Адресная шина (АШ) пересылает адреса

4. Шина Арбитража (ША)

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


??? При прямом доступе к памяти используется центральный контроллер, берущий на себя все функции обмена. Не требуется сохранение и восстановление регистров.

Организация цикла ожидания- функция контроллера, он не использует рап и рчп, фактически дублирую их для записи и чтения из ОП.

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


7. Ввод/вывод по прерываниям.

ЦП не может обрабатывать свою программу из-за цикла ожидания. Он должен отслеживать появление признака готовности на регистре состояния – для увеличения эффективности применяется метод прерываний.

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

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

ЦП восстанавливает регистры флагов и продолжает обработку основной программы.

Схема не меняется, меняется график

8. Организация оперативной памяти.

Операти́вная па́мять — энергозависимая часть системы компьютерной памяти, в которой временно хранятся входные, выходные и промежуточные данные программы процессора.

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

1. непосредственно;

2. через сверхбыструю память 0-го уровня — регистры в АЛУ, либо при наличии аппаратного кэша процессора — через кэш.

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

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

В общем случае, ОЗУ содержит программы и данные ОС и запущенные прикладные программы пользователя и данные этих программ, поэтому от объёма оперативной памяти зависит количество задач, которые одновременно может выполнять компьютер под управлением ОС.

Оперативное запоминающее устройство, ОЗУ — техническое устройство, реализующее функции оперативной памяти.

ОЗУ может изготавливаться как отдельный внешний модуль или располагаться на одном кристалле с процессором, например, в однокристальных ЭВМ или однокристальных микроконтроллерах.


9. Статическая и динамическая память.





Дата публикования: 2015-01-26; Прочитано: 771 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с)...