Классификация микропроцессоров

В зависимости от области применения определилось три направления развития микропроцессоров:

универсальные микропроцессоры;

сигнальные микропроцессоры;

микроконтроллеры.

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


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

Для управления малогабаритными и дешёвыми устройствами связи используются однокристальные микроЭВМ, которые в настоящее время называются микроконтроллерами. В микроконтроллерах наоборот, максимальное внимание уделяется именно габаритам, стоимости и потребляемой энергии.

По внутренней структуре существует два основных принципа построения микропроцессоров:

Гарвардская архитектура;

архитектура Фон-Неймана (Пристонская архитектура)

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

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

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

аккумуляторные микропроцессоры;

микропроцессоры с регистрами общего назначения.

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

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

В зависимости от набора и порядка выполнения команд процессоры подразделяются на четыре класса, отражающих также хронологию развития ЭВМ: CISC; RISC; MISC и VLIW.

CISC(Complex Instruction Set Computer) – классическая архитектура процессоров, которая начала свое развитие в 1940-х гг. с появлением первых компьютеров и в которой ЦП использует микропрограммы для выполнения большого набора разноформатных команд с использованием многочисленных способов адресации, для этого требуется наличие сложных электронных цепей для декодирования и исполнения. В течение длительного периода производители компьютеров разрабатывали и воплощали в изделиях все более сложные и полные системы команд.


Типичным примером CISC являются процессоры Intel x86 (в частности, семейство Pentium). Они выполняют более 200 команд разной степени сложности, которые имеют размер от 1 до 15 байт, и обеспечивают более 10 различных способов адресации. Такое многообразие выполняемых команд и способов адресации позволяет программисту реализовать наиболее эффективные алгоритмы решения различных задач. Однако при этом существенно усложняется структура процессора, особенно его устройства управления, что приводит к увеличению размеров и стоимости кристалла, снижению производительности.

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

RISC(Reduced Instruction Set Computer) – архитектура отличается использованием ограниченного набора команд фиксированного формата. Первый процессор RISC был создан корпорацией IBM в 1979 г. и имел шифр IBM 801.

Современные RISC-процессоры обычно реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта. Также значительно сокращается число используемых способов адресации. Обычно в RISC-процессорах все команды обработки данных выполняются только с регистровой или непосредственной адресацией. При этом для сокращения количества обращений к памяти RISC-процессоры имеют увеличенный объем внутреннего РЗУ – от 32 до нескольких сотен регистров (в CISC-процессорах число регистров общего назначения обычно составляет 8 – 16). В результате процессор на 20 – 30 % реже обращается к оперативной памяти, что также повышает скорость обработки данных. Упростилась топология процессора, выполняемого в виде одной интегральной схемы, сократились сроки ее разработки, она стала дешевле.

Обращение к памяти в RISC-процессорах используется только в операциях загрузки данных в РЗУ или пересылки результатов из РЗУ в память. При этом используется небольшое число наиболее простых способов адресации – косвенно-регистровая, индексная и некоторые другие. В результате существенно упрощается структура процессора, сокращаются его размеры и стоимость, значительно повышается производительность. Начиная с процессора Pentium, корпорация Intel начала внедрять элементы RISC-технологий в свои изделия.

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

Процессор MISC(Minimal Instruction Set Computer) работает с минимальным набором длинных команд и характеризуется небольшим набором чаще всего встречающихся команд. Вместе с этим принцип команд VLIW обеспечивает выполнение группы команд за один цикл работы процессора. Порядок выполнения команд распределяется таким образом, чтобы в максимальной степени загрузить маршруты, по которым проходят потоки данных. Таким образом, архитектура MISC объединила вместе суперскалярную (многопоточную) и VLIW концепции. Компоненты процессора просты и работают с высокими скоростями.

VLIW(Very Large Instruction Word) – архитектура, которая появилась относительно недавно (в 1990-х гг.). Ее особенностью является использование очень длинных команд (до 128 бит и более), отдельные поля которых содержат коды, обеспечивающие выполнение различных операций.

Специальный компилятор планирования перед выполнением прикладной программы проводит ее анализ и по множеству ветвей последовательности операций определяет группу команд, которые могут выполняться параллельно. Каждая такая группа образует одну сверхдлинную команду. Это позволяет решать две важные задачи. Во-первых, в течение одного такта выполнять группу коротких («обычных») команд, а во-вторых – упростить структуру процессора. Этим технология VLIW отличается от су-перскалярности (здесь отбор групп одновременно выполняемых команд происходит непосредственно в ходе выполнения прикладной программы, а не заранее, из-за этого усложняется структура процессора и замедляется скорость его работы).

Процессоры типа VLIW выпускают фирмы Transmeta, Intel и Hewlett-Packard.

 

5.1.3. Взаимодействие микропроцессора
с внешними устройствами

Для того чтобы было возможно использовать микропроцессорное устройство в системах автоматического управления, необходимо предусмотреть способы и средства для организации его связи с внешними устройствами. Эта связь может быть установлена благодаря применению устройств ввода с клавишного пульта, дисплеев, устройств чтения данных с магнитных накопителей, с помощью датчиков, фиксирующих состояние объектов, или позиционных исполнительных механизмов. Все устройства ввода-вывода отличаются существенно меньшим по сравнению с ЦПУ быстродействием, и, следовательно, возникает проблема синхронизации их совместной работы во времени. ЦПУ должно располагать информацией о том, когда устройство ввода-вывода готово к передаче данных. Обычно устройство ввода-вывода посылает сигнал в ЦПУ, чтобы «привлечь внимание» последнего. Центральный процессор должен реагировать на этот сигнал одним из следующих двух способов [5].

1. Периодически проверять, появился ли сигнал, и при его обнаружении передавать управление программе, управляющей передачей данных. Такая процедура называется опросом и имеет два основных недостатка: во-первых, довольно существенная часть времени работы микропроцессорного устройства расходуется на выполнение периодических проверок, большинство из которых дает отрицательный результат (сигнал «Готово» отсутствует), а во-вторых, обнаружение появления сигнала готовности устройства задерживается до тех пор, пока в процессе последовательного опроса устройств не наступит очередь проверки состояния данного устройства. При использовании большого количества устройств ввода-вывода значительная их часть будет работать одновременно, и может возникнуть длительное запаздывание обращения к устройству во времени.

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

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

5.1.4. Структура типового
микропроцессорного комплекта

На рис. 5.3 приведен традиционный состав типового микропроцессорного комплекта (МПК). Такая структура функциональных элементов очень часто называется архитектурой МПК. ЦПУ является центром всех операций. Ему необходимы электрическое питание и тактовые импульсы. Генератор тактовых импульсов (ГТИ) может быть отдельным устройством или входить в состав кристалла ЦПУ. ЦПУ взаимодействует с другими устройствами, входящими в состав МПУ при помощи однонаправленной шины адресов, двунаправленной шины данных, а также линий управления. Вместе шина адресов, шина данных и линии управления образуют системную магистраль.

Архитектура, представленная на рис. 5.3, различает два типа полупроводниковой памяти, используемой системой. Постоянное запоминающее устройство (ПЗУ) представляет собой постоянную память, которая содержит программу-монитор системы. Оно содержит адресные входы, входы активации только чтения и выбора кристалла, а также тристабильные выходы, подсоединяемые на шины.


Архитектура [3] на рис. 5.3 содержит оперативное запоминающее устройство (ОЗУ), т.е. устройство временного размещения данных. В него входят адресные входы, а также входы выбора кристалла и активизации чтения-записи.

 

 

Рис. 5.3. Структура типового МПК

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


Для работы с медленными внешними устройствами в МПК используются контроллеры прерывания и прямого доступа к памяти (ПДП). Сигнал прерывания заставляет ЦПУ: 1) закончить выполнение текущей команды; 2) поддерживать свою нормальную работоспособность; 3) перейти к выполнению специальной группы команд в своей программе-мониторе, т.е. перейти к выполнению так называемой программы прерывания.