Классификация микропроцессоров
Микропроцессор как функциональное устройство ЭВМ обеспечивает эффективное автоматическое выполнение операций обработки цифровой информации в соответствии с заданным алгоритмом. Для решения широкого круга задач в различных областях применений микропроцессор должен обладать алгоритмически полной системой команд (операций). Теоретически показано, что минимальная алгоритмически полная система команд процессора состоит из одной или нескольких универсальных команд. Однако использование процессоров с минимальными по числу операций системами команд ведет к неэкономичному использованию информационных емкостей памяти и значительным затратам времени на выполнение “длинных” программ. Поэтому обычно в микропроцессоры встраиваются аппаратурные средства, позволяющие реализовать многие десятки и сотни команд. Такие развитые системы команд дают возможность обеспечить компактную запись алгоритмов и соответственно эффективные программы.
При проектировании микропроцессоров решают задачу определения наборов команд, выполняемых программным или аппаратурным способом на основе заданной системы микрокоманд. Аппаратурная реализация сложных команд дает возможность увеличить быстродействие микропроцессора, но требует значительных аппаратурных ресурсов кристалла интегральной схемы микропроцессора. Программная реализация сложных команд позволяет обеспечивать программирование сложных задач, изменять количество и особенности исполнения сложных команд. Однако скорость исполнения программных команд ниже скорости исполнения аппаратурно-реализованных команд.
Практически во всех современных микропроцессорных системах используются сложные развитые системы команд. Их ядро, состоящее из набора универсальных команд, реализуется аппаратурным способом в центральном микропроцессоре. Кроме того, специализированные части наборов системы команд реализуются вспомогательными или периферийными микропроцессорами. Эти расширяющие возможности обработки данных специальные арифметические или логические микропроцессоры позволяют ускорить выполнение определенных команд и тем самым сократить время исполнения программ.
Для описания МП как функциональных устройств необходимо охарактеризовать формат обрабатываемых данных и команд, количество, тип и гибкость команд, методы адресации данных, число внутренних регистров общего назначения и регистров результата, возможности организации и адресации стека, параметры виртуальной памяти и информационную емкость прямоадресуемой памяти. Большое значение имеют средства построения системы прерываний программ, построения эффективных систем ввода — вывода данных и развитого интерфейса.
МП могут быть реализованы на различной физической основе: на электронной, оптоэлектронной, оптической, биологической и даже на пневматической или гидравлической.
По назначению различают универсальные и специализированные микропроцессоры.
Универсальные МП это
— такие, в системе команд которых заложена алгоритмическая универсальность. Последнее означает, что выполняемый машиной состав команд позволяет получить преобразование информации в соответствии с любым заданным алгоритмом. К универсальным МП относятся и секционные микропроцессоры, поскольку для них система команд может быть оптимизирована в каждом частном проекте создания секционного микропроцессора. Эта группа МПК наиболее многочисленна, в нее входят такие комплекты как КР580, Z80, Intel 80x86 К582, К587, К1804, К1810.Специализированные микропроцессоры
предназначены для решения определенного класса задач, а иногда только для решения одной конкретной задачи. Их существенными особенностями являются простота управления, компактность аппаратурных средств, низкая стоимость и малая мощность потребления.Универсальные микропроцессоры
могут быть применены для решения широкого круга разнообразных задач. При этом их эффективная производительность слабо зависит от проблемной специфики решаемых задач. Специализация МП, т. е. его проблемная ориентация на ускоренное выполнение определенных функций, позволяет резко увеличить эффективную производительность при решении только определенных задач.
Среди специализированных микропроцессоров можно выделить различные микроконтроллеры, ориентированные на выполнение сложных последовательностей логических операций; математические МП, предназначенные для повышения производительности при выполнении арифметических операций за счет, например матричных методов их выполнения; МП для обработки данных в различных областях применений и т. д. С помощью специализированных МП можно эффективно решать новые сложные задачи параллельной обработки данных. Например, конволюция позволяет осуществить более сложную математическую обработку сигналов, чем широко используемые методы корреляции. Последние в основном сводятся к сравнению всего двух серий данных
— входных, передаваемых формой сигнала, и фиксированных опорных — и к определению их подобия. Конволюция дает возможность в реальном масштабе времени находить соответствие для сигналов изменяющейся формы путем сравнения их с различными эталонными сигналами, что, например, может позволить эффективно выделить полезный сигнал на фоне шума. Существовавшие до сих пор конвольверы. на базе набора ИС имели большие размеры и потребляли значительную мощность. Кроме того, как правило, и конволюция и корреляция, которые являются видами цифровой согласованной фильтрации, нуждаются в обширном программном обеспечении, особенно при “бедности” аппаратурных средств конвольвера или коррелятора.Разработанные однокристальные конвольверы используются в устройствах опознавания образов в тех случаях, когда возможности сбора данных превосходят способности системы обрабатывать эти данные.
По виду обрабатываемых входных сигналов
различают цифровые и аналоговые микропроцессоры. Сами микропроцессоры — цифровые устройства, однако могут иметь встроенные аналого-цифровые и цифро-аналоговые преобразователи. Поэтому входные аналоговые сигналы передаются в МП через преобразователь в цифровой форме, обрабатываются и после обратного преобразования в аналоговую форму поступают на выход. С архитектурной точки зрения такие микропроцессоры представляют собой аналоговые функциональные преобразователи сигналов и называются аналоговыми микропроцессорами. Они выполняют функции любой аналоговой схемы (например, производят генерацию колебаний, модуляцию, смещение, фильтрацию, кодирование и декодирование сигналов в реальном масштабе времени и т. д., заменяя сложные схемы, состоящие из операционных усилителей, катушек индуктивности, конденсаторов и т.д.). При этом применение аналогового микропроцессора значительно повышает точность обработки аналоговых сигналов и их воспроизводимость, а также расширяет функциональные возможности за счет программной “настройки” цифровой части микропроцессора на различные алгоритмы обработки сигналов.Обычно в составе однокристальных аналоговых МП имеется несколько каналов аналого-цифрового и цифро-аналогового преобразования. В аналоговом микропроцессоре разрядность обрабатываемых данных достигает
24 бит и более, большое значение уделяется увеличению скорости выполнения арифметических операций.Отличительная черта аналоговых микропроцессоров
— способность к переработке большого объема числовых данных, т. е. к выполнению операций сложения и умножения с большой скоростью, при необходимости даже за счет отказа от операций прерываний и переходов. Аналоговый сигнал, преобразованный в цифровую форму, обрабатывается в реальном масштабе времени и передается на выход обычно в аналоговой форме через цифро-аналоговый преобразователь. При этом согласно теореме Котельникова частота квантования аналогового сигнала должна вдвое превышать верхнюю частоту сигнала.Сравнение цифровых микропроцессоров производится сопоставлением времени выполнения ими списков операций. Сравнение же аналоговых микропроцессоров производится по количеству эквивалентных звеньев аналого-цифровых фильтров
— рекурсивных фильтров второго порядка. Производительность аналогового микропроцессора определяется его способностью быстро выполнять операции умножения: чем быстрее осуществляется умножение, тем больше эквивалентное количество звеньев фильтра в аналоговом преобразователе и тем более сложный алгоритм преобразования цифровых сигналов можно задавать в микропроцессоре.Одним из направлений дальнейшего совершенствования аналоговых микропроцессоров является повышение их универсальности и гибкости. Поэтому вместе с повышением скорости обработки большого объема цифровых данных будут развиваться средства обеспечения развитых вычислительных процессов обработки цифровой информации за счет реализации аппаратурных блоков прерывания программ и программных переходов.
По количеству выполняемых программ
различают одно- и многопрограммные микропроцессоры.В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы.
В много- или мультипрограммных микропроцессорах одновременно выполняется несколько (обычно несколько десятков) программ. Организация мультипрограммной работы микропроцессорных управляющих систем позволяет осуществить контроль за состоянием и управлением большим числом источников или приемников информации.
По числу БИС в микропроцессорном комплекте
различают микропроцессоры однокристальные, многокристальные и многокристальные секционные.Процессоры даже самых простых ЭВМ имеют сложную функциональную структуру, содержат большое количество электронных элементов и множество разветвленных связей. Реализовать принципиальную схему обычного процессора в виде одной или нескольких БИС практически невозможно из-за специфических особенностей БИС (ограниченность количества элементов, сложность выполнения разветвленных связей, сравнительно небольшое число выводов корпуса)
. Поэтому необходимо изменять структуру процессора так, чтобы полная принципиальная схема или ее части имели количество элементов и связей, совместимое с возможностями БИС. При этом микропроцессоры приобретают внутреннюю магистральную структуру, т. е. в них к единой внутренней информационной магистрали подключаются все основные функциональные блоки (арифметическо-логический, рабочих регистров, стека, прерываний, интерфейса, управления и синхронизации и др.).Для обоснования классификации микропроцессоров по числу БИС надо распределить все аппаратурные блоки процессора между основными тремя функциональными частями: операционной, управляющей и интерфейсной. Сложность операционной и управляющей частей процессора определяется их разрядностью, системой команд и требованиями к системе прерываний; сложность интерфейсной части
— разрядностью и возможностями подключения других устройств ЭВМ (памяти, внешних устройств, датчиков и исполнительных механизмов и др.). Интерфейс процессора содержит несколько десятков шин информационных магистралей данных (МД), адресов (МА) и управления (МУ).Однокристальные микропроцессоры получаются при реализации всех аппаратурных средств процессора в виде одной БИС или СБИС. По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются. Однако возможности однокристальных микропроцессоров ограничены аппаратурными ресурсами кристалла и корпуса. Поэтому более широко распространены многокристальные микропроцессоры, а также многокристальные секционные микропроцессоры.
Для получения многокристального микропроцессора необходимо провести разбиение его логической структуры на функционально законченные части и реализовать их в виде БИС (СБИС). Функциональная законченность БИС многокристального микропроцессора означает, что его части выполняют заранее определенные функции и могут работать автономно, а для построения развитого процессора не требуется организации большого количества новых связей и каких-либо других электронных ИС БИС.
(Типичный пример - МПК БИС серии К581).На рис.
2.1,а показано функциональное разбиение структуры процессора при создании трехкристального микропроцессора (пунктирные линии), содержащие БИС операционного 077, БИС управляющего УП и БИС интерфейсного ИП процессоров.Операционный процессор ОП служит для обработки данных, управляющий процессор УП выполняет функции выборки, декодирования и вычисления адресов операндов и также генерирует последовательности микрокоманд. Автономность работы и большое быстродействие БИС УП
позволяет выбирать команды из памяти с большей скоростью, чем скорость их исполнения БИС ОП. При этом в УП образуется очередь еще не исполненных команд, а также заранее подготавливаются те данные, которые потребуются ОП в следующих циклах работы. Такая опережающая выборка команд экономит время ОП на ожидание операндов, необходимых для выполнения команд программ. Интерфейсный процессор ИП позволяет подключить память и периферийные средства к микропроцессору; по существу, является сложным контроллером для устройств ввода — вывода информации. БИС ИП выполняет также функции канала прямого доступа к памяти.Рис.
2.1. Функциональная структура процессора (а) и ее разбиение для реализации процессора в виде комплекта секционных БИС МП (б)Выбираемые из памяти команды распознаются и выполняются каждой частью микропроцессора автономно, и поэтому может быть обеспечен режим одновременной работы всех БИС МП, т. е. конвейерный поточный режим исполнения последовательности команд программы (выполнение последовательности с небольшим временным сдвигом). Такой режим работы значительно повышает производительность микропроцессора.
Многокристальные секционные микропроцессоры получаются в том случае, когда в виде БИС реализуются части (секции) логической структуры процессора при функциональном разбиении ее вертикальными плоскостями (рис.
2.1,6). Для построения многоразрядных микропроцессоров при параллельном включении секций БИС МП в них добавляются средства “стыковки”.Для создания высокопроизводительных многоразрядных микропроцессоров требуется столь много аппаратурных средств, не реализуемых в доступных БИС, что может возникнуть необходимость еще в функциональном разбиении структуры микропроцессора горизонтальными плоскостями. В результате рассмотренного функционального разделения структуры микропроцессора на функционально и конструктивно законченные части создаются условия реализации каждой из них в виде БИС. Все они образуют комплект секционных БИС МП.
Таким образом, микропроцессорная секция
— это БИС, предназначенная для обработки нескольких разрядов данных или выполнения определенных управляющих операций. Секционность БИС МП определяет возможность “наращивания” разрядности обрабатываемых данных или усложнения устройств управления микропроцессором при “параллельном” включении большего числа БИС.За
10 лет с момента создания однокристальные микропроцессоры развились от простых специализированных 4-разрядных до 16-разрядных процессоров, сравнимых по параметрам с процессорами средних мини-ЭВМ начала 80-х годов. Трехкристальные микропроцессоры имеют разрядность до 32 бит и параметры, сравнимые с параметрами старших моделей рядов мини-ЭВМ и средних ЭВМ общего применения.Многокристальные секционные микропроцессоры имеют разрядность от
2—4 до 8—16 бит и позволяют создавать разнообразные высокопроизводительные процессоры ЭВМ. (Примером может служить отечественная БИС К589ИК02 и К1804ВС1 .)Однокристальные и трехкристальные БИС МП, как правило, изготовляют на основе микроэлектронных технологий униполярных полупроводниковых приборов, а многокристальные секционные БИС МП
— на основе технологии биполярных полупроводниковых приборов.Использование многокристальных микропроцессорных высокоскоростных биполярных БИС, имеющих функциональную законченность при малой физической разрядности обрабатываемых данных и монтируемых в корпус с большим числом выводов, позволяет организовать разветвление связи в процессоре, а также осуществить конвейерные принципы обработки информации для повышения его производительности.
Сравнение архитектур микропроцессоров
Микропроцессорные вычислительные средства и их программное управление.
При проектировании архитектуры микропроцессорной системы решается задача распределения затрат между уровнем входных алгоритмических языков, включающих языки (директивы) заданий пользователя и определяющих особенности связи человека и машины, и уровнем аппаратурных средств, определяемых достигнутой элементной, конструкторской и технологической базой. Архитектура микропроцессора дает возможность получить описание виртуальной (воображаемой, математической) микромашины, представленной своей системой команд, способом организации и управления внутренней и внешней памяти, способами адресации и защиты данных, системой прерывания.Входные алгоритмические языки отображаются в виртуальной машине программным способом. Поэтому любое задание машине, выраженное на входном алгоритмическом языке, обязательно проходит этап трансляции с использованием компиляторов или интерпретаторов, если входной алгоритмический язык и машинный язык виртуальной ЭВМ не совпадают. Повышение уровня машинного языка, приближение его к алгоритмическим входным языкам высокого уровня снижают затраты на разработку программного обеспечения. При этом усложняются структуры операций и операндов, воспринимаемых виртуальной машиной, например вместо отдельных операндов-слов в программе компактно описываются массивы информации (матрицы, наборы слов — строки, удовлетворяющие заданным условиям, и т. д.).
Виртуальная машина отображается на аппаратурный уровень главным образом схемным путем, разработкой схемно- или микропрограммно-управляемых автоматов, управляющих заранее заложенными связями между частями (модулями) аппаратурных средств. Усложнение виртуальной машины приводит к появлению в физической системе большого числа сложных связей и электронных элементов.
Если разрабатываемые вычислительные средства предназначены для многократного использования потока однажды оттранслированных программ, то необходимо стремиться к получению максимального быстродействия аппаратуры. Этого можно достичь за счет понижения уровня машинного языка, что увеличивает скорость выполнения элементарных операций и, как следствие, производительность микро-ЭВМ. Такой подход успешно реализуется в системах, построенных на основе секционных комплектов БИС микропроцессора.
При проектировании систем для однократного решения потоков разнообразных задач желательно сдвигать уровень языка виртуальной микромашины в сторону алгоритмических языков. Приближение входного и машинного языков снижает затраты на программирование. Повышение уровня машинного языка, реализуемое, например, в микропроцессоре 432, обеспечивает построение систем для данного направления применения. Промежуточное направление, позволяющее за счет обеспечения разнообразных модулей программного и аппаратурного обеспечения создавать конфигурации вычислительных средств, удовлетворяющие различным интересам показателей, базируется на применении однокристальных 5-, 8-, 16-разрядных микропроцессоров и специальных БИС МПК.
Важным направлением в развитии микропроцессоров является создание и применение эмуляторов на основе заказных БИС. Среди них первыми были микро-ЭВМ LSI-11 фирмы “DEC” и отечественная микро-ЭВМ “Электроника-60”. Эмуляторы являются младшими моделями известных серий (рядов) мини-ЭВМ, для которых создано развитое программное обеспечение.
Архитектуры микропроцессоров. При создании микропроцессоров используются все виды архитектуры, созданные за время их развития: регистровая, стековая, ориентированная на оперативную память.
Регистровая архитектура микропроцессора (архитектура типа “регистр — регистр”) определяет наличие достаточно большого регистрового файла внутри БИС микропроцессора. Этот файл образует поле памяти с произвольной записью и выборкой информации. Микропроцессоры с регистровой архитектурой имеют высокую эффективность решения научно-технических задач, поскольку высокая скорость работы СОЗУ позволяет эффективно использовать скоростные возможности арифметическо-логического блока. Однако при переходе к решению задач управления эффективность таких микропроцессоров падает, так как при переключениях программ необходимо разгружать и загружать регистры СОЗУ.
Стековая архитектура микропроцессора дает возможность создать поле памяти с упорядоченной последовательностью записи и выборки информации. Эта архитектура эффективна для организации работы с подпрограммами, что необходимо для решения сложных задач управления, или при работе с языками высокого уровня. Хранение адресов возврата позволяет организовать в стеке эффективную обработку последовательностей вложенных подпрограмм. Однако стек на кристалле микропроцессора с малой информационной емкостью быстро переполняется, а стек большой емкости требует значительных ресурсов. Реализация стека в ОЗУ решает эти проблемы.
Архитектура микропроцессора, ориентированная на оперативную память (архитектура типа “память — память”), обеспечивает высокую скорость работы и большую информационную емкость рабочих регистров и стека при их организации в ОЗУ. Эта архитектура отнесена к типу “память — память”, поскольку в МП с такой архитектурой все обрабатываемые числа после операции в микропроцессоре вновь возвращаются в память, а не хранятся в рабочих регистрах.
При оценке быстродействия ЭВМ необходимо учитывать физическую реализацию как элементов, так и связей между ними. Высокая скорость срабатывания логических элементов интегральных схем не всегда может обеспечить высокую скорость работы ЭВМ, поскольку большие значения индуктивно-емкостных параметров связей на печатных платах не позволяют передавать высокоскоростные сигналы без искажения. Применение БИС существенно уменьшило размеры ЭВМ, снизило паразитные параметры связей. Поэтому стало возможным физически отделить регистровый блок регистров и стек от арифметическо-логического блока и обеспечить при этом их высокоскоростную совместную работу. При создании ЭВМ в одном кристалле регистровые СОЗУ и ОЗУ имеют практически одни и те же параметры. Повышение скорости работы ОЗУ позволяет удалить регистровый файл и стек из кристалла микропроцессора и использовать освободившиеся ресурсы для развития системы команд, средств прерывания, многоразрядной обработки. Организация рабочих регистров и стека в ОЗУ приводит к уменьшению скорости передачи информации, однако при этом повышается общая эффективность такого решения за счет большой информационной емкости полей регистровой и стековой памяти, а также развития систем команд и прерываний.
Архитектура микропроцессора, ориентированная на оперативную память, обеспечивает экономию площади кристалла микропроцессора. В этом случае на кристалле размещается только регистр-указатель начального файла регистров. Адресация остальных регистров осуществляется указанием в команде кода смещения. Доступ к рабочим регистрам в этом случае замедляется, поскольку приходится совершать сопряженное с затратами времени кольцевое
Рис.
5.1. Иллюстрированные схемы выполнения операций в микропроцессорах с архитектурой, ориентированной на оперативную память (а) и регистровой (б)“путешествие” из процессора во внекристальную память, где размещаются рабочие регистры. Однако контекстное переключение в микропроцессоре с такой архитектурой происходит быстро, поскольку при прерывании необходимо только изменить значение содержимого регистра-указателя рабочей области.
Другая отличительная особенность архитектуры микропроцессора, ориентированная на оперативную память,
— двухадресный формат команд. В этих микропроцессорах нет специального накапливающего регистра, выполняющего функции подразумеваемой ячейки результата для всех двухоперандных команд.Рассмотрим выполнение операции сложения содержимого двух ячеек памяти с номерами /и/по команде “Сложить
//” (рис. 5. 1, а). Поскольку в архитектуре типа “память — память” любая ячейка памяти может содержать либо исходный операнд, либо операнд-результат, эта операция выполняется по одной команде. В то же время в процессорах с одноадресной регистровой архитектурой для достижения той же самой цели приходится использовать две команды: команду пересылки операнда / во внутренний регистр, команду / сложения содержимого регистра с содержимым ячейки памяти / и пересылки результата в ячейку / (рис. 5.1, б).В первом случае для компиляторов высокоуровневых языков существенно упрощается задача присвоения значений переменным и благодаря этому получаются более короткие модули объектных программ.
В отличие от микропроцессоров с архитектурой, ориентированной на оперативную память, в микропроцессорах с регистровой архитектурой рабочие области регистров размещаются в логических частях процессоров. Однако малая плотность логических схем по сравнению с плотностью схем памяти ограничивает возможность регистровой архитектуры. В свою очередь, микропроцессоры с архитектурой, ориентированной на память, обеспечивают быстрое подключение к рабочим областям, когда необходимо заменять контексты. Смена контекстов осуществляется изменением векторов трех регистров
— счетчика команд, регистра состояния и указателя рабочей области. Достоинство этой архитектуры в отношении смены контекстов связано с выполнением только одной команды для передачи полного вектора контекста.Микропроцессоры с регистровой архитектурой требуют больших и довольно медленных последовательностей команд или дополнительных логических схем для передачи данных от каждого из регистров к памяти, организованной вне БИС микропроцессора.
Использование возможностей быстрой смены контекстов и фактически неограниченной рабочей области в микропроцессорах с архитектурой, ориентированной на оперативную память, позволяет контроллерам легко находить применение в 16-разрядных системах. Особенно это относится к системам, работающим в реальном масштабе времени.
При разработке системы обработки данных, ориентированных на использование в системах управления, важное значение для определения характеристик системы, ее габаритов и стоимости имеет выбор архитектуры процессора. Поэтому в настоящее время наиболее распространенными архитектурами программируемых контроллеров, которые лежат в основе таких систем, являются архитектуры, ориентированные на память. Еще одной статьей затрат, где видно различие между рассматриваемыми архитектурами, являются дополнительные логические схемы, требуемые для осуществления таких важных операций, как обработка многократных прерываний. Объем дополнительных логических схем возрастает по мере роста числа операций по смене контекстов. Но еще больше объем дополнительной логики возрастает для архитектур, ориентированных на регистры, за счет повышения их емкости. В результате существенно снижается быстродействие процессора.
К достоинствам архитектуры микропроцессора, ориентированной на оперативную память, относится возможность развития системы, позволяющая снизить время разработки программного обеспечения. Под развитием понимается способность систем внедрять в виде функциональных модулей программные, программно-аппаратурные и даже аппаратурные средства, которые можно использовать в системе по мере совершенствования аппаратурных средств и накопления опыта.
Распределенные системы управления часто требуют полуавтономных контроллеров, которые должны вписываться в определенные иерархические структуры. При этом архитектура микропроцессора, ориентированная на память, обеспечивает естественный и эффективный интерфейс между контроллерами, расположенными на одном иерархическом уровне, и процессами управления, расположенными на более высоком иерархическом уровне, а структура связей между контроллерами может быть обеспечена за счет развитых информационных магистралей.