А.Н. Томилин - Вычислительные системы (2006), страница 28
Описание файла
PDF-файл из архива "А.Н. Томилин - Вычислительные системы (2006)", который расположен в категории "". Всё это находится в предмете "вычислительные сети и системы" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 28 страницы из PDF
Оно даже очень интересно называлось «УГУ» — устройство группового управления.регистр адресногословаканал(селекторный)ОПрегистр управленияслова обменаУУПроцессорМДрегистр данных86Что собой представляет устройство каналов и как оно управляет прохождением данных?Оно управляет этими данными, т.е. централизованное управление со стороны устройства каналов.
В устройстве каналов мы выделили с вами 3 регистра. Регистр данных — данные берутся из буфера устройства управления, туда и обратно. Фактически передача данных идёт«память-память». При этом если так называемый селекторный канал, то тогда у вас передачаданных идёт не прерываясь, т.е. как данные поступают в этот буфер, так они сюда и транслируются непрерывно. Это означает, что видимо эти данные идут достаточно быстро, чтобыздесь не переходить временно к управлению устройства передачи данных от него. Да, такиеустройства есть — это магнитные диски (быстрая память на магнитных дисках). Обмен идётнепрерывно.
Процессор передаёт контроллеру некоторые указания о запуске обменов с магнитным диском, и обмен начинается. Что значит «процессор»? Естественно, всё это делаетдрайвер. Драйвер передаёт указание на устройство пуск обмена, предварительно подготавливая информацию для этого обмена. Что это за информация? Он подготавливает управляющее слово обмена. Что здесь указано: адрес по оперативной памяти (ОП), естественно, начальный, потом текущий будет, количество передаваемой информации или адрес конца,операция (считывание, запись).Апо ОП(начальный)текущийколичествопередаваемыхданных (Аконца)операция(сч, зп)Рис.
15 Управляющее слово обменаИ это управляющее слово должно попасть на регистр управляющего слова. Если этовсего одно управляющее слово, то тогда его можно просто поместить на регистр управляющего слова селекторного канала, и можно делать пуск обмена. Под управлением этогоуправляющего слова информация поступает в память или берётся из памяти и проверяетсяна количество переданных (когда заканчивается передача), считывание, запись, всё, как видите, управляется с этого «центрального поста», этим центральным автоматом.Вот в некоторых книжках пишется «специализированная вычислительная машина» —это плохо, никакая это не вычислительная машина, это просто некий автомат, программируемый драйвером (в данном случае, драйвером магнитного диска).
Вот так происходит.Теперь регистр адресного слова. Когда это нужно? А нужно это, когда вот этих управляющих слов (см. Рис. 15) готовится несколько, как бы на несколько обменов, и всю эту вданном случае программу работы этого устройства (цели), или программу подканала.Допустим, эта программа начинается с некоего адреса N, и этот адрес N и помещаетсясюда (в регистр адресного слова).N0 Апо ОП01переход N10N1101признак прерыванияРис. 16 Программа подканалаКак только закончится обмен под управлением первого управляющего слова, к Nприбавляется 1, и следующее управляющее слово берётся вот отсюда. В принципе мы можемиметь здесь некую последовательность, какую-то команду перехода на другую последовательность, где тоже пойдут управляющие слова.Т.е. это адресное слово, которое указывает, из какого адреса памяти берётся текущееуправляющее слово и программа подканала. Естественно, что всю эту программу готовятдрайверы.
Но там не было программных каналов памяти. Там драйвер готовил управляющее87слово и помещал на некий регистр, под управлением которого происходила вот эта вотнепрерывная работа, пока весь обмен не закончится с конкретным устройством.Здесь могли вот таки вещи интересные делаться: вводят признак прерывания (см. Рис.16). Здесь нет, здесь нет, здесь почему-либо есть, здесь нет. Т.е. как только используется обмен, у которого нет признака прерывания в управляющем слове, сразу произошёл обмен,чтобы принять это управляющее слово, и прерывание процессора не производится.
А вот кактолько кончился этот — происходит прерывание процессора, и он узнаёт, что уже там какието нужные вещи можно будет делать. Ну, я говорю, конечно, всё о правильной работе. Еслинеправильная, то это сигнализируется прерыванием, там другие вопросы.Вот такая вот автоматная работа селекторного канала под управлением управляющихслов обмена. Т.е. обмен ведётся под управлением центрального устройства, которое программируется на эту работу драйвером устройства. У другого устройства имеется своя программа подканала и т.д.Вообще говоря, пока ведётся здесь обмен, то за это время можно подготовить длядругих таких устройств.Я нарисовал вот так, а может быть ситуация вот какая (это не нарушает нашего обсуждения работы селекторного канала): вот здесь как-то так идёт сюда магистраль (кстати, она вIBM’е называется «интерфейсом», а это устройство — «каналом»; я бы назвал наоборот —это было бы естественнее физически).селекторныйканалОПбуфер УУУУПроцессорТаких селекторных каналов может быть несколько, соответственно несколько и такихустройств канала.Теперь мультиплексный канал.
Делалось это так. Как правило, селекторных каналовдействительно несколько, а мультиплексный один.канал (мультиплексный)ОПбуфер УУбуфер УУУУПроцессорijРис. 17Как будет работать этот канал? Принцип работы мультиплексного канала: вначале готовит драйвер информацию, потом командует пуск устройству, и так одного за одним, и всеэти устройства начинают работать на этом канале (подключённые к этому каналу) одновременно, помещая данные или наоборот, забирая данные, которые поступают. Амультиплексный канал (вот этот автомат) делает следующее: как только есть готовые скакого-то из этих (я беру устройства другие, не магнитные диски, более медленные, типатерминалов, печатных, ещё чего-то).
У вас имеется сигнал готовности i-того устройства и jтого (см.ДрайверыРис. 17).i-того и j-того устройства подготовили информацию, драйверы i-того и jтого устройства подали команду пуска обмена с i-м и j-м устройством, и вот контроллерыпищат, сообщают каналу: «я i-й готов» и «я j-й готов». Это означает, что если i-й идёт на пе88редачу в память, значит, в буфере появились данные. Если какой-то канал готов на выдачу,значит, буфер у него свободен для приёма данных.Что делает мультиплексный канал? Он по сигналу готовности i-того устройства управления (УУ) запускает обмен на какую-то порцию данных между памятью и буфером.
Послетого, как это обмен порцией выполнится — «кто ещё пищал? — j пищал». Теперь осуществляется обмен с j. Даже если они пищали одновременно по какому-то приоритету сначала берётся обмен некоторой порцией данных с устройством i, затем берётся обмен некоторойпорцией данных с устройством j. Ну а затем с устройством k, а если только i и j пищали, значит, потом снова некоторой порцией с i, потом с j, и так по очереди, почему и называется«мультиплексный» — мультиплексирует вот эти передаваемые данные.Какие это порции? Это может быть даже 1 байт и даже есть такой термин «байтмультиплексный канал»: вы один байт передали отсюда сюда, следующий байт сюда, следующий — сюда, и вот так вот по очереди.
Есть «блок-мультиплексный канал», когда у васпередаётся какое-то количество байт (8, 16, не обязательно степень двойки).Как работает в этом случае устройство управления каналом? Для каждого устройства(в частности для i-того, для j-того, для других) готовится вот эта самая программа подканала.программа i-гоподканалапрограмма j-гоподканалаПрограмма i-того подканала.
Где-то рядом в памяти (так же, как и в том случае) программа j-го подканала. Итак, должна быть программа, осуществляющая полностью обмен сi-м, а потом полностью обмен с j-м.Вы прекрасно помните, что здесь адрес текущий, объём передаваемых данных и операция (запись/считывание). Как всё происходит? А происходит очень просто.
Мы с вами говорили, что пищат i-й и j-й. Существует таблица адресных слов подканалов или устройств.Сколько у вас устройств? Допустим, у вас 256 устройств, значит, будет 256. Где-то здесьесть i, где-то здесь есть j:iАijАj(+1)Рис. 18 Таблица адресных слов подканаловСоответственно, это есть ничто иное, как адрес управляющего слова.
Вот он — Аi. Аздесь — Аj. В самом начале Аi — это адрес начала группы управляемых слов для i-го канала,а Аj — для j-го. Итак, пищит i. Отсюда (из таблицы адресных слов подканалов) вот это, высами понимаете, нет проблем найти.Цикл работы мультиплексного канала:1) считывание адресного слова (Аi);2) считывание (по Аi) текущего управляющего слова;3) обмен порцией (блоком) данных;4) изменение управляющего слова;5) запись изменённого управляющего слова.На этом всё. Если дальше начинаем обслуживать передачу данных j-го подканала,снова начинает работать цикл, только уже для j.89Когда меняется адресное слово? Очень просто, когда здесь нуль и закончился обменпод управлением управляющего слова.
Тогда сюда прибавляется единичка, и уже этот записываете сюда.Здесь происходит 3 обращения в память (на 1-м, 2-м и 5-м шагах цикла). Ничего не поделаешь. Это делается для того, чтобы можно было запустить параллельно много обменов.Работает много задач или даже одна задача может работать с многими устройствами, а этодело благое, чтоб параллельно работали устройства, ведь они работают, потому что задачеэто надо, значит нужно по возможности это всё здесь быстро как-то распараллелить.
Псевдопараллельность, конечно, в этом случае, как вы понимаете. Но реально устройства работают параллельно.Вот такой подход к централизованной организации обмена данными с внешними устройствами за счёт устройства каналов, и этот автомат работает за счёт информации,подготавливаемой драйвером.Второй вариант, когда эти же управляющие слова (естественно, никуда от них не деться) тоже готовятся драйверами, но передают эти управляющие слова (а, может быть, даже ипрограммы управляющих слов) в память, которая входит в устройство управления (УУ) устройства (т.е. контроллер). Делается это в варианте шинной архитектуры DEC.У вас имеется процессор (или несколько), оперативная память (ОП) и вот эти устройства управления (УУ), за которыми находятся устройства.