Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/ComputerAutomation/D19790719Elc049.shtml

Повышение производительности мини-ЭВМ при помощи периферийных процессоров
Часть 2

Джерри Браун (J.Braun)
Фирма Computer Automation, отделение Naked Mini (Эрвин, шт.Калифорния)

Джордж Уайт (G.White)
Фирма Computer Automation, отделение Naked Mini (Эрвин, шт.Калифорния)

J.Braun, G.White. Paralleled slaves boost throughput of minicomputers, pp.123—127.

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

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

В выпущенном недавно фирмой Computer Automation «подчиненном» процессоре 4/10S, рис.1, реализован обобщенный принцип периферийной обработки1{Электроника, 1979, №11, «Обзор экспонатов НКВТ»}. Пользователь может сам составлять для него программы в отличие от других специализированных процессоров ВВ.

Новый периферийный процессор 4/10S фирмы Computer Automation напоминает ее мини-ЭВМ 4/10 серии Naked Mini. В нем используются две такие же заказные БИ
Рис.1. Новый периферийный процессор 4/10S фирмы Computer Automation напоминает ее мини-ЭВМ 4/10 серии Naked Mini. В нем используются две такие же заказные БИС ЦП (большие белые корпуса в левой части платы) и имеются локальные порты ВВ и своя оперативная память емкостью 16 кслов.

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

Процессор 4/10S назван «подчиненным», поскольку его управление отдано целиком одной главной ЭВМ серии Naked Mini. Программным способом главная ЭВМ может остановить, прервать или сбросить любой из процессоров 4/10S в системе. Использование «подчиненных» процессоров не позволяет создать истинно многопроцессорной системы, но эти процессоры позволяют эффективно увеличивать производительность систем во многих применениях.

Тогда как другие подчиненные ЭВМ возникли на основе контроллеров «разумных» устройств ВВ, а их элементарные наборы команд предназначались только для инженеров-разработчиков, процессор 4/10S представляет собой вариант мини-ЭВМ 4/10. Поэтому он имеет такую же организацию оборудования, а его набор команд представляет собой расширенный вариант набора команд процессора 4/10, что благодаря повышенной универсальности упрощает программирование 4/10S.

Основная ЭВМ

Основная ЭВМ 4/10 относится к младшим моделям серии Naked Mini 4 фирмы Computer Automation. Эта 16-разрядная машина имеет, например, время сложения содержимого двух регистров 3 мкс, пространство адресов 64 кслов, а также четыре регистра общего назначения (два из которых одновременно служат индексными регистрами), регистр-указатель стека и регистр границы стека. Четыре порта распределенного ВВ расположены на плате процессора и служат для подключения различных устройств.

Как видно из рис.2, оборудование компьютера распределено между двумя заказными БИС. Кристалл управления представляет собой микропрограммный контроллер, специализированный на интерпретации набора команд серии Naked Mini 4 и формирующий адрес, требуемый для получения соответствующей микрокоманды из внешнего ПЗУ. Кристалл оперирования информацией содержит 16-разрядные регистры общего назначения (РОН) и АЛУ. Для уменьшения числа выводов обеих БИС микрокоманды, поступающие из ПЗУ, мультиплексируются с сигналами линий «микрошин» состояния и информации, соединяющих кристаллы процессора.

В мини-ЭВМ Naked Mini 4/10, на основе которой построен 4/10S, использованы две заказные БИС. Кристалл оперирования информацией (слева) содержит регист
Рис.2. В мини-ЭВМ Naked Mini 4/10, на основе которой построен 4/10S, использованы две заказные БИС. Кристалл оперирования информацией (слева) содержит регистры общего назначения и АЛУ, кристалл управления (справа) интерпретирует команды.

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

На рис.3 приведена блок-схема подключения 4/10S к шине интерфейса Maxi-Bus главной системы. При этом процессор 4/10S получает возможность непосредственного доступа к основной оперативной памяти системы, которая теперь может быть названа общей памятью. Периферийный процессор имеет свою локальную память объемом 16 кслов (32 кбайт), построенную на динамических ЗУПВ и служащую для хранения как информации, так и программ. Обращения процессора 4/10S к своей локальной памяти не выходят на системную шину и никоим образом не мешают работе остальной части системы. Процессор 4/10S также содержит четыре локальных порта ВВ. Их работа основана на принципах организации распределенного ВВ, используемых фирмой Computer Automation, и они позволяют процессору 4/10S управлять большим количеством разнообразных устройств малого и среднего быстродействия, закрепленных за ним. Индивидуальные блоки сопряжения, выпускаемые фирмой под названием «Пикопроцессор», применяются для использования с такими устройствами, как строчные принтеры, терминальные пульты, модемы, накопители на магнитной ленте и гибких дисках диаметром 133 мм, а также с устройствами для реализации связного протокола Binary Syncronous protocol (двоичный синхронный протокол) и для подключения к шине IEEE-488.

Структурная схема подключения 4/10S к шине интерфейса Maxi-Bus основной ЭВМ серии Naked Mini. Схема выборки адреса позволяет центральному процессору 4
Рис.3. Структурная схема подключения 4/10S к шине интерфейса Maxi-Bus основной ЭВМ серии Naked Mini. Схема выборки адреса позволяет центральному процессору 4/1 OS обращаться как к собственной локальной памяти емкостью 16 кслов, так и к общей памяти системы основной ЭВМ.

Характеристики

Некоторые из отличительных особенностей процессора 4/10S являются следствиями его набора команд. Поскольку этот набор команд представляет собой, как упоминалось ранее, «надмножество» стандартного набора процессора 4/10, программирование главной и подчиненной машины производится на одном языке. Следовательно, программы, выполняемые на 4/10, можно выполнять и на 4/10S.

Такой подход дает несколько преимуществ по сравнению со случаем, когда подчиненный процессор имеет отличный набор команд. Во-первых, документация и подготовка программистов одинаковы. Во-вторых, такая организация открывает потенциальную возможность создавать гибкую структуру программного обеспечения, когда задания можно передавать из главной ЭВМ в подчиненную. Разработанная по такому принципу система может в своей минимальной конфигурации совсем не содержать периферийных процессоров, тогда как в расширенных конфигурациях с повышенной производительностью те же самые программы, что ранее выполняла в одиночку главная ЭВМ, могут быть переданы одному или нескольким подчиненным процессорам 4/10S. Конечно, реализацию этой возможности разработчик системы должен учесть в самом начале.

Подчиненный процессор имеет несколько дополнительных команд, которые играют для него важную роль. Две самые основные команды— это «пересылка блока» и «трансляция символов». Первая команда обеспечивает простой способ перемещения информации из одного места в другое, причем для пересылки даже из локальной памяти в общую и обратно достаточна одна команда. Вторая команда также является командой пересылки блоков, но только с преобразованием по таблице пересылаемых байтов. Она может быть использована для преобразования кода ASCII в код EBCDIC, а также для обнаружения или подавления специальных символов в блоке информации.

Поскольку логическое пространство адресов машин серии Naked Mini составляет 64 кслов, то каким образом может периферийный процессор адресовать свои 16 кслов в дополнение к 64 кслов общей памяти, если его адрес также 16-разрядный (216=65 536)? Программы, выполняемые на 4/10S, «видят» адресное пространство в 64 кслов, которое считается логическим пространством адресов 4/10S. Нижняя часть этого пространства (0—32 767) обеспечивает доступ к локальной памяти 4/10S. Верхняя часть (32 768—65 535) служит для доступа в общую память, рис.4. Следовательно, для программы: в 4/10S не нужна специальная процедура отображения памяти, которую нужно считывать из общей памяти, записывать в нее или даже выполнять непосредственно из нее. Специальный разряд «отображения» в специальном управляющем регистре в 4/1 OS определяет, отображается ли верхняя часть пространства адресов в верхнюю или нижнюю часть пространства адресов общей памяти.

Нижняя половина пространства адресов 4/10 (адреса 0—32 767; 7FFF в шестнадцатеричной системе) используется для обращений в локальную память. Верх
Рис.4. Нижняя половина пространства адресов 4/10 (адреса 0—32 767; 7FFF в шестнадцатеричной системе) используется для обращений в локальную память. Верхняя половина (адреса 32 768—65 535) — для обращений либо в верхнюю, либо в нижнюю половину общей системной памяти.

Хотя 4/10S может выполнять команды непосредственно из общей памяти, к этому прибегают только в особых случаях, например при инициализации, поскольку производительность при этом снижается.

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

Кроме этих операций периферийный процессор может выполнять программно-управляемый ВВ по шине главной ЭВМ. Интерфейс Maxi-Bus сконструирован фирмой Computer Automation так, что при передаче управления системной шиной НДП-устройству это устройство также получает контроль над сигналами, используемыми командами программного ВВ. Это свойство интерфейса может использовать и 4/10S. Он может автоматически направлять команды ВВ либо в свои локальные порты, либо на системную шину, в зависимости от адреса внешнего устройства.

Управляющий регистр

Ключевым элементом сопряжения главной ЭВМ и подчиненной является специальный управляющий регистр, установленный в 4/10S. Этот регистр подсоединен к системной шине, и, следовательно, доступ к нему имеют как главный, так и подчиненный ЦП. Различные биты управляющего регистра управляют инициализацией подчиненного процессора, прерываниями, посылаемыми подчиненным ЦП в главный и наоборот, пультовскими функциями и отображением пространства адресов.

Установка бита прерывания подчиненного ЦП в управляющем регистре приводит к прерыванию программы в 4/10S. После ответа на данное прерывание 4/10S сбрасывает этот бит, чем указывает свое подтверждение приема прерывания. Когда установлен бит — «управление подчиненным ЦП», процессор 4/10S выполняет пуль-товские функции, иначе называемые функциями передней панели. Он считывает из постоянно закрепленной ячейки общей памяти командное слово пульта, анализируя которое, он выполняет характерные пультовские операции, например чтение ячейки памяти, запись в нее, чтение РОНа, загрузка РОНа, останов, пуск или даже задает пошаговый режим.

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

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

Вычисления в подчиненном режиме

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

Например, гибкость, достигаемая использованием местной оперативной памяти для хранения программ каждого 4/10S, влечет за собой проблему начальной загрузки программы. Хотя загрузка может быть произведена с использованием вышеупомянутых пультовских функций, на это бы потребовалось очень много времени главного ЦП, которому пришлось бы загружать каждое слово по отдельности в локальную память. Инициализацию лучше всего проводить, когда подчиненный процессор выполняет команды, выбираемые им из общей памяти. Сначала в общую память заносят головку программы-загрузчика, затем, используя пультовские функции, загружают счетчик программы подчиненного процессора, после чего применяют пультовскую функцию «пуск». 4/1 OS выполняет далее «головку» загрузчика из общей памяти и может с ее помощью занести прикладную программу в свою локальную память и передать ей управление.

Часто возникающим вопросом в системах параллельной обработки является проблема общей синхронизации. Обычно считают, что необходима специальная команда — базовая блокировка,— чтобы синхронизировать параллельно работающие процессоры, но она фактически необходима только в истинно многопроцессорных системах. Поскольку организация системы по принципу «главный — подчиненный» не является истинно многопроцессорной, то синхронизация выполняется так же, как, например, при синхронизации работы главного ЦП и контроллера дискового накопителя. Процессор инициирует начало операции и получает прерывание по ее окончании. Если в системе с несколькими подчиненными процессорами требуется большая степень синхронизации, то операции взаимных блокировок должен выполнять «от имени» подчиненных центральный процессор.

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

4/10S решает эту проблему двумя способами. Во-первых, как упоминалось ранее, четыре локальных порта распределенного ВВ допускают подключение разнообразных устройств малого и среднего быстродействия. Во-вторых, 4/1 OS может выполнять программный ВВ непосредственно с устройствами, подключенными к системной шине Maxi-Bus. Например, подчиненный процессор может сформировать блок управляющей информации для контроллера дискового накопителя и послать ему команду пуска. После этого контроллер может непосредственно обращаться в общую память, а подчиненный процессор совершает его программный опрос, чтобы определить момент окончания операции. Таким образом подчиненный ЦП контролирует устройства, не подключенные к его локальным портам распределенного ВВ.

Отладка

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

Установкой бита «управление подчиненным ЦП» в управляющем регистре 4/10S можно имитировать функции пульта для 4/10S через главную ЭВМ. В таком режиме можно изменять содержимое ячеек памяти и регистров, читать их и выполнять программу в пошаговом режиме с помощью программы главной ЭВМ. Другой способ отладки основан на подключении к одному из портов ВВ 4/10S терминала и загрузке в 4/10S отладочной программы из стандартного набора математического обеспечения систем фирмы СА. Поскольку 4/10S выполняет все команды 4/10, программа отладки без изменений будет выполняться на 4/10S под управлением локального терминала. Программа отладки облегчает организацию точек разрыва в отлаживаемой программе, поиски в памяти и другие операции изоляции ошибок.

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

Один из вариантов программы отладки содержит средства поддержки для этого монитора, но полезность его ограничена только контролем обмена по основной шине, локальные обращения в память контролировать им нельзя. В процессоре 4/10S это ограничение обойдено использованием специального отладочного режима, в котором обращения, направляемые в нормальном режиме в локальную память, переключаются на определенную область общей памяти. В этом режиме можно применять монитор шины, а при ремонте определять, исправна или неисправна локальная память.

Применения

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

Естественной областью применений подчиненного процессора является, например, организация связных протоколов. Связные функции часто добавляют к существующим системам, если основной задачей является сохранение существующей структуры. Обработка протокола может наложить повышенную нагрузку на компьютер как с точки зрения увеличения времени вычислений, так и рациональности использования памяти. Если связную функцию добавлять, используя 4/10S, то существующая система сохраняет свои ресурсы для решения исходной задачи. Для реализации подобной системы к локальным портам ВВ 4/10S подключают пико-процессор сопряжения, работающий по стандарту RS-232-C в асинхронном режиме, либо пико-процессор реализации двоичного синхронного обмена. Если в последнем случае подчиненный ЦП 4/10S выполняет программную эмуляцию протокола, рис.5, такая конфигурация позволяет эмулировать протоколы устройств 2780 и 3270 фирмы IBM с минимальным воздействием на исходную систему.

При использовании в качестве устройства реализации связного протокола процессор 4/1 OS совместно с устройством сопряжения Bisynch Picoprocessor освобо
Рис.5. При использовании в качестве устройства реализации связного протокола процессор 4/1 OS совместно с устройством сопряжения Bisynch Picoprocessor освобождают главную ЭВМ от выполнения программ реализации протоколе, необходимых для эмулирования действия терминалов, подобных устройствам 2780 и 3270 фирмы IBM.

Сортировка, планирование, повышение «интеллекта»

Распределенные вычисления — обычная сфера применения 4/10S. Примером может служить использование алгоритма быстрой сортировки, разбивающего информацию на части, которые подвергаются индивидуальной сортировке, а затем объединяются. Каждый из нескольких подчиненных процессоров 4/10S работает над своей частью параллельно с остальными. Процессор 4/10S может также выполнять некоторые функции операционной системы, например планирование работы в многопрограммном режиме с разделением времени: пока одна задача решается на главной ЭВМ, процессор 4/10S просматривает список задач, чтобы решить, какую из них пустить следующей на главной ЭВМ и сколько времени отвести на ее выполнение.

Вероятно, самым типичным примером использования 4/10S является использование его в качестве контроллеров периферийных устройств. Он может, например, управлять четырьмя «немыми» терминалами, подключенными к его портам ВВ, в результате чего эти терминалы выглядят «разумными». Среди других применений 4/10S широкий диапазон функций — от управления буферной памятью строчных принтеров до систем управления файлами.

В зависимости от требований заданий, находящихся в исполнении, подчиненный процессор может выполнять более чем одно из них. Операционная система реального времени RTX для многопрограммного режима может быть выполнена на 4/10S для реализации подобной возможности.

Как говорилось ранее, параллельная обработка может иметь различные формы. Но, как показывает пример процессора 4/10S, пользователь не обязательно должен приобретать истинно многопроцессорную систему, чтобы получить ощутимые выгоды. Более реальная организация по принципу «основная ЭВМ — подчиненная ЭВМ» фактически хорошо подходит для многих специализированных применений и позволяет с большей легкостью использовать существующие мини-компьютерные архитектуры.

Выходные данные:

Журнал "Электроника" том 52, No.15 (567), 1979г - пер. с англ. М.: Мир, 1979, стр.51

Electronics Vol.52 No.15 July 19, 1979 A McGraw-Hill Publication

J.Braun, G.White. Paralleled slaves boost throughput of minicomputers, pp.123—127.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Вычислительная техника





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/ComputerAutomation/D19790719Elc049.shtml