Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Робот. Компьютер. Гибкое производство

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
8.54 Mб
Скачать

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

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

Микропроцессоры обычно имеют достаточно широкий набор элементарных команд (до 100 и более), необхо­ димый для организации процесса обработки информации. Реализуемые при этом функции в основном связаны с пересылкой и обработкой данных, а также с передачей

управления. При пересылках данные не

изменяются,

а только перемещаются, например между

регистрами,

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

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

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

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

101

способы, выполняются быстрее, поскольку отсутствуют дополнительные обращения в память.

Широко применяются косвенные способы, при кото­ рых в указываемых командой ячейках или регистрах на­ ходятся адреса данных.

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

Обработка информации осуществляется непосредствен­ но в арифметико-логическом устройстве. Практически во всех универсальных микропроцессорах единовременно можно обрабатывать не более двух операндов, используя арифметические и логические операции, а также опера­ ции сдвига. В процессе выполнения операций могут выра­ батываться специальные признаки —флажки: переполне­ ния разрядной сетки, равенства результата нулю, отри­ цательного результата и т. д. Эти флажки запоминаются

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

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

влюбую точку программы. С помощью команд перехода

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

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

102

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

Но во что же обходится такая универсальность? Прежде всего она приводит к низкой эффективности

обработки данных: подавляющую часть времени микро­ процессор тратит на организацию своей собственной ра­ боты. Такая избыточность заложена как на уровне эле­ ментарной команды, так и на уровне всей программы. В цикле выполнения команды можно считать «лишними» те действия, которые не связаны с непосредственной об­ работкой данных. А именно: выборка команды, ее рас­ шифровка, действия, реализующие сложные способы ад­ ресации, дополнительные внутренние пересылки и дру­ гие. На уровне последовательности команд —программ­ ном уровне —появляются команды, вообще не относя­ щиеся к обработке. К таковым, в частности, можно от­ нести любую из команд передачи управления.

Рассмотрим простейший пример: ввод данных от внеш­ него устройства в память системы. Программный цикл этой процедуры будет состоять из следующей последова­ тельности команд.

1.Чтение регистра состояния устройства ввода-выво­ да. Конкретный разряд этого регистра сигнализирует о том, что в регистр приема (также входящий в состав устройства ввода-вывода) поступила очередная порция информации от внешнего устройства.

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

3.Условный переход в п. 1 при равенстве указанного флажка нулю. Эти три команды образуют программный цикл ожидания поступления данных от внешнего устрой­ ства. С приходом данных условие перехода выполнено не будет и программа продолжит работу.

4.Чтение регистра приема в микропроцессор.

5.Запись полученных данных в память с использова­ нием косвенно-регистрового способа адресации (адрес располагается в одном из регистров).

103

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

7.Уменьшение состояния другого регистра —реги­

стра-счетчика переданных слов на единицу. Флажок равенства результата нулю будет сигнализировать об окочании процедуры ввода.

8. Условный переход в п. 1 при равенстве флажка нулю, т. е. повторение цикла для ввода следующей пор­ ции данных от внешнего устройства. В противном случае окончание процедуры ввода (выход из цикла).

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

ропроцессора

серии К580

время такого

цикла превысит

30 мкс. В то

же время

быстродействие

памяти (время

выполнения одной операции записи или чтения) для ука­ занного микропроцессора составляет всего 0,5 мкс. Таким образом, скорость программного ввода оказывается в 60 раз ниже потенциально возможной. При формате входных данных 8 бит (8 разрядов), что соответствует одному байту, она не будет превышать 30 кбайт/с.

Такая скорость значительно меньше той, которая тре­ буется в задачах видеоанализа для ввода изображений в память микросистемы. Изображения поступают с телека­ меры в последовательном виде. Сначала передаются эле­ менты первой строки, затем второй и т. д. В простейшем случае изобрая^ение состоит из 256X256 элементов, каж­ дый из которых кодируется одним битом (черное или бе­ лое). Такая бинарная картинка передается с темпом 8 млн элементов в секунду, что соответствует скорости поступления видеоданных 1 Мбайт/с.

Каким же образом удается обеспечить столь высокое быстродействие? Ответ на этот вопрос однозначный: за счет использования специализированных аппаратных средств.

Специализированные аппаратные средства

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

104

ции может быть реализован как программно, так и ап­ паратно.

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

До создания первого микропроцессора (в 1971 г.) ма­ лые устройства управления и обработки информации (на­ пример, устройство управления приводом) выполнялись в основном аппаратно на элементах малой и средней сте­ пени интеграции. Благодаря успехам в области полупро­ водниковой технологии удалось повысить степень инте­ грации схем до уровня^ позволяющего разместить на кристалле кремния целиком маленький процессор — мик­ ропроцессор. Для обширного списка задач быстродействие программного способа обработки оказалось вполне прием­ лемым. Это позволило заменить многочисленные аппарат­ но реализованные устройства, содержащие сотни инте­ гральных схем, компактными, дешевыми и более универ­ сальными микросистемами.

Дальнейшее расширение областей применения микро­ процессоров связано с повышением их производительно­ сти. Наиболее очевидным способом ускорения обработки информации является переход к более высоким тактовым частотам. Работы в этом направлении успешно развива­ ются и главным образом связаны с улучшением техноло­ гического процесса и с поиском новых полупроводниковых материалов.

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

Наконец, совершенствование микропроцессоров связа­ но со специализацией их собственных аппаратных средств. Появление сложных способов адресации есть не что иное, как перенесение часто повторяющихся частей

105

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

Вернемся к рассмотренному ранее примеру, в котором приведен программный цикл ввода данных. Команда 5, реализующая косвенно-регистровый способ адресации, и команда 6, выполняющая инкрементирование (увели­ чение) адреса, могут быть заменены одной командой с автоинкрементным способом адресации. Далее, команда 7 (декремент счетчика циклов) и команда 8 (условный переход по состоянию счетчика циклов) также часто ис­ пользуются вместе. В микро-ЭВМ «Электроника-60» эта

последовательность реализована в виде

одной команды.

В ряде микропроцессоров благодаря

аппаратной под­

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

ит. д.

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

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

определенного уровня. В то же время существует потреб­ ность увеличить быстродействие примерно на три порядка величины (при соизмеримых габаритах и стоимости), чтобы решать все более сложные задачи робототехники, связанные с управлением, моделированием и особенно с видеоанализом. Поэтому необходимо более критически подойти к модному в настоящее время лозунгу: «Микро­ процессоры могут все!»

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

106

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

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

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

Основная идея состоит в том, что обмен данными вы­ полняется не микропроцессором, а специализированным устройством —контроллером ввода-вывода. Контроллер физически подключается к общей шине системы. Перед началом обмена микропроцессор загружает в него необ­ ходимые параметры: направление обмена (ввод или вы­ вод), стартовый адрес памяти и размер передаваемого блока данных. Для вхождения в активный режим кон­ троллер посылает сигнал запроса в микропроцессор, ко­

107

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

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

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

Ввод-вывод в системах видеоанализа

Первой проблемой, с которой сталкивается разработчик систем видеоанализа, является ввод-вывод изображе­ ний [2]. Требуемая для реализации этой процедуры ско­ рость передачи данных может достигать 10 Мбайт/с и более, в зависимости от разрешающей способности как по числу элементов разложения, так и по числу градаций уровня яркости и цветности изображения.

108

Рис. 2. Способ вво­ да-вывода с пред­ варительной буфе­ ризацией

Рис. 3. Способ вво­ да-вывода с ис­ пользованием пря­ мого доступа в па­ мять

Проанализируем способ с предварительной буфериза­ цией (рис. 2), который заключается в следующем. Перво­ начально ввод видеоданных с ТВ-камеры (ТВК) осуще­ ствляется в специальную буферную память (БП), пара­ метры которой (быстродействие, формат, емкость)" рассчитаны с целью обеспечить запись кадра изображе­ ния в реальном масштабе времени. Далее информация пересылается в микросистему с помощью стандартного устройства ввода-вывода. Аналогично организуется вы­ вод: данные сначала пересылаются в буферную память, из которой затем выводятся в нужном темпе на устрой­ ство отображения ТВ-монитор (ТВМ).

109

Рис. 4. Способ ввода-вывода с использованием видео­ памяти

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

пересылка

изображения 256X256X1 бит со скоростью

30 кбайт/с

(скорость программного ввода-вывода) займет

более 250 мс, что в 12,5 раз больше длительности одного кадра —20 мс.

Несмотря на указанные недостатки, такой путь явля­ ется фактически единственным, если микросистема имеет «закрытую» (с аппаратной точки зрения) структуру, т. е. не допускает подключения к своей внутренней шине дополнительных устройств.

В системах, свободных от данного ограничения, появ­ ляется возможность применения более эффективных спо­ собов ввода-вывода изображений. Один из них заключа­ ется в использовании механизма прямого доступа в па­ мять (рис. 3). Режим ПДП позволяет периферийному устройству (ТВ-камере или ТВ-монитору) с помощью соответствующего контроллера (КПДП) произвести за­ хват внутренней шины и в реальном масштабе времени осуществить обмен данными непосредственно с памятью микросистемы, минуя микропроцессор, который на время выполнения этой процедуры блокируется. Следовательно, отпадает необходимость в использовании буферной памя­ ти, что позволяет сократить объем аппаратуры и избежать

110