Микропроцессоры. Архитектура микропроцессора - структура и общая характеристика

На iOS - iPhone, iPod touch 05.06.2019
На iOS - iPhone, iPod touch

Микропроцессор характеризуется: 1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ; 2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов.

Разрядностть МП обозначается m/n/k/ и включает: m - разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров; n - разрядность шины данных, определяет скорость передачи информации; k - разрядность шины адреса, определяет размер адресного пространства. Например, МП i8088 характеризуется значениями m/n/k=16/8/20; 3) архитектурой. Понятие архитектуры микропроцессора включает в себя систему команд и способы адресации, возможность совмещения выполнения команд во времени, наличие дополнительных устройств в составе микропроцессора, принципы и режимы его работы. Выделяют понятия микроархитектуры и макроархитектуры.

Микроархитектура микропроцессора - это аппаратная организация и логическая структура микропроцессора, регистры, управляющие схемы, арифметико-логические устройства, запоминающие устройства и связывающие их информационные магистрали.

Макроархитектура - это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.

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

Структура типового микропроцессора

Архитектура типичной небольшой вычислительной системы на основе микроЭВМ показана на рис. 2.1 Такая микроЭВМ содержит все 5 основных блоков цифровой машины: устройство ввода информации, управляющее устройство (УУ), арифметико-логическое устройство (АЛУ) (входящие в состав Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП может посылать информацию в память микроЭВМ или к одному из портов вывода, а также получать информацию из памяти или от одного из портов ввода.

микропроцессора), запоминающие устройства (ЗУ) и устройство вывода информации.

Рис. 2.1. Архитектура типового микропроцессора.

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

В качестве примера, иллюстрирующего работу микроЭВМ, рассмотрим процедуру, для реализации которой нужно выполнить следующую последовательность элементарных операций: 1. Нажать клавишу с буквой "А" на клавиатуре. 2. Поместить букву "А" в память микроЭВМ. 3. Вывести букву "А" на экран дисплея.

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

На рис. 2.2 приведена подробная диаграмма выполнения процедуры ввода-запоминания-вывода. Обратите внимание, что команды уже загружены в первые шесть ячеек памяти. Хранимая программа содержит следующую цепочку команд: 1. Ввести данные из порта ввода 1. 2. Запомнить данные в ячейке памяти 200. 3. Переслать данные в порт вывода 10.

Рис. 2.2. Диаграмма выполнения процедуры ввода-запоминания-вывода.

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

В МП на рис. 2.2 выделены еще два новых блока - регистры: аккумулятор и регистр команд.

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

Итак, при выполнении типичной процедуры ввода-запоминания-вывода в микроЭВМ происходит следующая последовательность действий: 1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания. 2. ЗУ программ пересылает первую команду ("Ввести данные") по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд. 3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания. 4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду ("Ввести данные из порта 1"). 5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП и запоминается.Важно отметить, что при обработке каждой программной команды МП действует согласно микропроцедуре выборки-декодирования-исполнения. 6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания. 7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд. 8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние вход считывания микросхем памяти программ. 9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд. Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти программ и декодирована. 10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных. 11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А". 12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания. 13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд. 14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания. 15. Из памяти программ по ШД к МП поступает код операнда "В порт 10", который далее помещается в регистр команд. 16. МП дешифрирует полную команду "Вывести данные в порт 10". С помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква "А" выводится через порт 10 на экран дисплея.

В большинстве микропроцессорных систем (МПС) передача информации осуществляется способом, аналогичным рассмотренному выше. Наиболее существенные различия возможны в блоках ввода и вывода информации.

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

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

Принципы микропрограммного управления

В условиях, когда микропрограммирование не используется, выполнение команды обеспечивается электрической схемой. Но в большинстве современных вычислительных машин непосредственная связь между аппаратурой и программными средствами осуществляется через микропрограммный уровень. Любая машинная команда исполняется аппаратурой не непосредственно, а путем ее интерпретации в соответственную последовательность более простых действий. А значит, всегда существует задача программирования машинных команд из более простых действий - микропрограммирование. Впервые этот термин был введен в 1953 г. специалистом по ВТ Уилксом. Но это было применимо только к аппаратным средствам. Примерно в середине 1960-х гг. усилиями разработчиков «1ВМ» идеи Уилкса превратились в принцип организации вычислительных машин.

Микропрограммирование обеспечило переход к модульному построению ЭВМ. Развивая идеи микропрограммирования, Глушков показал, что в любом устройстве обработки информации функционально можно выделить операционный автомат и управляющий автомат (рис. 4.1).

Рис. 4.1.

Управляющий блок предназначен для обеспечения работы всех узлов и устройств ЭВМ в соответствии с выполняемой программой. Основные функции управляющего блока:

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

На рис. 4.2 приведена обобщенная структура устройства управления (УУ).

Рис. 4.2.

ЦУУ - центральное УУ, которое выполняет основные функции по реализации программы.

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

ВЗУ - внешнее запоминающее устройство.

Иерархическая структура понятий при постановке задач на ЭВМ представлена на рис. 4.3.

Алгоритм - это система последовательных операций (в соответствии с определенными правилами) для решения поставленной задачи.

Программа - кодированная запись алгоритма.

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

Рис. 4.3.

Микрооперация - некоторое простейшее преобразование данных, например прием байта данных в регистр, инверсия переменной и т.д.

Порядок функционирования устройства базируется на следующих положениях.

  • 1. Любая машинная команда рассматривается как некоторое сложное действие, которое состоит из последовательности элементарных действий над словами информации - микроопераций.
  • 2. Порядок следования микроопераций зависит не только от значений преобразуемых слов, но также от их информационных сигналов, вырабатываемых операционным автоматом. Примерами таких сигналов могут быть признаки результата операции, значения отдельных битов данных и т.п.
  • 3. Процесс выполнения машиной команды описывается в виде некоторого алгоритма в терминах микроопераций и логических условий. Описание информационных сигналов - микропрограмма.
  • 4. Микропрограмма служит не только для обработки данных, но и обеспечивает управление работой всего устройства в целом - принцип микропрограммного управления.

Таким образом, основная задача уровня микроархитектуры - интерпретация команд второго уровня архитектуры команд (см. рис. 1.2). На этом уровне регистры вместе с АЛУ формируют тракт данных , по которому поступают данные. На некоторых машинах работа тракта данных контролируется особой программой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами. Строение уровня микроархитектуры зависит от уровня архитектуры команд, а также от стоимости и назначения компьютера.

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

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

Связь с микрокодом и архитектурой

набора команд

Как было сказано выше (см. п. 1.2), в компьютерной инженерии микроархитектура, также называемая организацией компьютера, - это способ, которым данная архитектура набора команд (АНК) реализована в процессоре. Каждая АН К может быть реализована с помощью различных микроархитектур. Реализация может варьироваться в зависимости от целей конкретной разработки или в результате технологических сдвигов. Архитектура компьютера является комбинацией микроархитектуры, микрокода и архитектуры набора команд.

Архитектура набора команд (англ, instruction set architecture, ISA) определяет программируемую часть ядра микропроцессора.

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

  • конструкция и взаимосвязь основных блоков центрального процессора;
  • структура ядер, исполнительных устройств, АЛУ, а также их взаимодействия;
  • блоки предсказания переходов;
  • организация конвейеров;
  • организация кэш-памяти;
  • взаимодействие с внешними устройствами.

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

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

Машины с различной микроархитектурой могут иметь одинаковую АНК и, таким образом, быть пригодными для выполнения тех же программ. Новые микроархитектуры и/или схемотехнические решения вместе с прогрессом в полупроводниковой промышленности являются тем, что позволяет новым поколениям процессоров достигать более высокой производительности, используя ту же АНК.

В настоящее время на уровне микроархитектуры команд обычно находятся простые команды, которые выполняются за один цикл (таковы, в частности, Я^С-машины). В других системах (например, в Репйит 4) на этом уровне имеются более сложные команды; выполнение одной такой команды занимает несколько циклов. Чтобы выполнить команду, нужно найти операнды в памяти, считать их и записать полученные результаты обратно в память. Управление уровнем команд со сложными командами отличается от управления уровнем команд с простыми командами, так как в первом случае выполнение одной команды требует определенной последовательности операций.

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

Рассмотрим построение команд для восьмиразрядного процессора, построенного по структуре фон-Неймана. Примеры построения команд для такого процессора приведены на рис. 4.4.

Однобайтовая команда Двухбайтовая команда

Трехбайтовая команда

Четырехбайтовая команда

Рис. 4.4. Форматы различных команд микропроцессора

Если для кода операции используется восьмибитное слово (байт), то при помощи этого слова можно закодировать 256 операций. В процессе разработки системы команд для операции может быть назначен любой код. Именно системой команд и определяется конкретное семейство процессоров. Однобайтовые команды позволяют работать с внутренними программно-доступными регистрами процессора.

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

Листинг 4.1

Фрагмент исполняемого кода микропроцессора

7 5CBFF75CAFB75CDFF75CCFB75985275 С 8 3 4D2 8875D2 4А7 5 D3 2075D50175330E 75345975A60175A11375D13230DFFD20 892 9E5DB9 533C2D712 О 0F8E5DA9 534С2 D712 О 0F8E5DD12 О 0F8E5DC12 00F89001 181200D8B2B41200CF80CEC289E5DB94

Чтобы уменьшить объем запоминаемой информации и увеличить наглядность исходного текста программы, каждой операции процессора придумывают мнемоническое обозначение. В качестве мнемонического обозначения операции обычно используют сокращения английских слов, обозначающих эту операцию. Например, для операции копирования используется мнемоническое обозначение MOV ; для операции суммирования используется мнемоническое обозначение ADD ; для операции вычитания используется мнемоническое обозначение SUB для операции умножения используется мнемоническое обозначение MUL и т.д.

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

  • MOV R0, А Скопировать содержимое регистра А в регистр R0;
  • ADDA , R5 Просуммировать содержимое регистров R5 и А, результат поместить в регистр А.

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

  • MOV А, 1025; Скопировать содержимое 1025 ячейки памяти в регистр Л;
  • ADD А, #110; Просуммировать содержимое регистра А с числом ПО.

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

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

Основные направления развития микропроцессоров

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

  • 1) чтение инструкции и ее декодирование;
  • 2) поиск всех связанных данных, необходимых для обработки инструкции;
  • 3) обработка инструкции;
  • 4) запись результатов.

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

В настоящее время существуют два направления развития микропроцессоров:

  • RISC -процессоры (процессоры с сокращенным набором команд);
  • С/5С-процессоры (процессоры с полным набором команд).

RISC (Reduced Instruction Set

Computers) используют сравнительно небольшой (сокращенный) набор наиболее употребляемых команд, определенный в результате статистического анализа большого числа программ для основных областей применения С/5С-процессоров исходной архитектуры. Все команды работают с операндами и имеют одинаковый формат. Обращение к памяти выполняется с помощью специальных команд загрузки регистра и записи. Простота структуры и небольшой набор команд позволяют реализовать полностью их аппаратное выполнение и эффективный конвейер при небольшом объеме оборудования. Арифметику /?/5С-процессоров отличает высокая степень дробления конвейера. Этот прием позволяет увеличить тактовую частоту (а значит, и производительность) компьютера. Чем более элементарные действия выполняются в каждой фазе работы конвейера, тем выше частота его работы. /?/5С-процессоры с самого начала ориентированы на реализацию всех возможностей ускорения арифметических операций, поэтому их конвейеры обладают значительно более высоким быстродействием, чем в С/5С-процессорах. Поэтому RISC- процессоры в 2-4 раза быстрее имеющих ту же тактовую частоту С/АС-процессоров с обычной системой команд и более высокопроизводительны, несмотря на больший размер программ. RISC- архитектура построена на четырех основных принципах.

  • 1. Любая операция должна выполняться за один такт вне зависимости от ее типа.
  • 2. Система команд должна содержать минимальное количество наиболее часто используемых простейших инструкций одинаковой длины.
  • 3. Операции обработки данных реализуются только в формате «регистр-регистр» (операнды выбираются из оперативных регистров процессора, и результат операции записывается также в регистр, а обмен между оперативными регистрами и памятью выполняется только с помощью команд загрузки/записи).
  • 4. Состав системы команд должен быть удобен для компиляции операторов языков высокого уровня.

Усложнение /?/5С-процессоров фактически приближает их архитектуру к С/АС-архитектуре.

В настоящее время число процессоров с /?/5С-архитектурой существенно возросло и все ведущие фирмы США их производят, в том числе фирмы «Intel», «Motorola» - производители основных семейств процессоров с С/5С-архитектурой.

Микропроцессоры с архитектурой CISC (Complex Instruction Set Computers - архитектура вычислений с полной системой команд) реализуют на уровне машинного языка комплексные наборы команд различной сложности - от простых, характерных для микропроцес-

сора первого поколения, до очень сложных. Большинство современных процессоров для персональных компьютеров построено по архитектуре С/5С.

В последнее время появились гибридные процессоры, которые имеют систему команд С/5С, однако внутри преобразовывают их в цепочки Л/^С-команд, которые и исполняются ядром процессора.

Постепенное усложнение С/ЗС-процессоров происходит в направлении более совершенного управления машинными ресурсами, а также в направлении сближения машинных языков с языками высокого уровня.

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

В качестве примера внутреннего устройства микропроцессора рассмотрим устройство процессора с полным набором команд. Здесь будет рассматриваться упрощенная модель процессора для облегчения понимания работы. СУ^С-микропроцессор состоит из двух частей:

  • обрабатывающего блока;
  • блока микропрограммного управления.

Блок обработки микропроцессора (операционный блок)

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

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


CONST AS BS K,PI,M RS Z,C,OV,N

Рис. 4.5. Операционный блок микропроцессора

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

Для хранения и декодирования выполняемой команды выделим 8-разрядный регистр, который назовем RI.

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

Так как мы выбрали для примера 8-разрядный микропроцессор, то и все регистры в этом процессоре 8-разрядные. Максимальное число, которое можно записать в такой регистр, - 255, но для большинства программ такого объема памяти недостаточно. В приведенной на рис. 4.5 схеме, для того чтобы получить 16-разрядный адрес, используется два 8-разрядных регистра адреса. Теперь максимальное число, которое можно записать в этих двух регистрах, будет 65535, что вполне достаточно для записи программ и обрабатываемых ими данных. Для того чтобы различать регистр старшего и младшего байта адреса, обозначим их как РСН - старший байт и PCL - младший байт. Это позволяет при помощи 8-разрядного АЛУ формировать 16-разрядный адрес.

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

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

Рис. 4.6. Формат регистра управления (СЯ )

Блок микропрограммного управления предназначен для формирования последовательности микрокоманд блока обработки сигналов. В простейшем случае его можно построить на счетчике с возможностью предзаписи и ПЗУ. Схема такого блока приведена на рис. 4.7.


Рис. 4.7.

В этой схеме адрес очередной микрокоманды формирует двоичный счетчик. Если требуется осуществить безусловный или условный переход, то новый адрес записывается из ПЗУ в этот счетчик, как в обычный параллельный регистр по сигналу параллельной записи VI. Переход к следующему адресу микрокоманды производится по сигналу общей синхронизации СЬК (рис. 4.8).

Управление БОС (26 бит)

Управление БМУ

Рис. 4.8. Формат микрокоманды процессора

Микропрограммирование процессора

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

При изучении принципов работы ОЗУ и ПЗУ приводились временные диаграммы, которые необходимо сформировать, для того чтобы записать или прочитать необходимую информацию. Выберем одну из этих диаграмм (рис. 4.9).


Рис. 4.9.

Любую временную диаграмму формирует микропроцессор. Устройство микросхемы, на примере которой мы будем формировать

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

Работа любого цифрового устройства начинается с заранее заданных начальных условий. Эти начальные условия формируются специальным сигналом RESET (сброс), который формируется после подачи питания на схему. Договоримся, что сигнал сброса микропроцессора будет записывать в регистр программного счетчика PC нулевое значение. (Это условие справедливо не для всех процессоров. Например, IBM-совместимые процессоры при сбросе микросхемы записывают в программный счетчик значение Я)000 /г)

Выполнение любой команды начинается с ее считывания из системной памяти (ОЗУ или ПЗУ). Необходимые для этого микрокоманды подаются на входы управления БОС из блока микропрограммного управления (БМУ), как только снимается сигнал сброса со счетчика микрокоманд БМУ. При считывании однобайтной команды достаточно считать из системной памяти только код операции и выполнить эту операцию. Временная диаграмма этого процесса приведена на рис. 4.10. Последовательность операций, которые необходимо выполнить микропрограмме, показана стрелочками. Для считывания следующей команды микропрограмма запускается заново.


Рис. 4.10.

Для того чтобы считать код операции из системной памяти, необходимо выставить на шине адреса адрес этой команды. Этот адрес хранится в счетчике команд РС. Скопируем его в регистр адреса ЯЛ, выходы которого подключены к шине адреса.

Затем сформируем сигнал считывания. Для этого в регистр управления запишем константу 1111 1101.

Теперь можно считать число с шины данных, а так как системная память в этот момент выдает на нее код операции, то мы считаем именно этот код. Запишем его в регистр команд и снимем сигнал чтения с системной шины. Для этого в регистр управления запишем константу 1111 1111.

Прежде чем перейти к дальнейшему выполнению микропрограммы, увеличим содержимое счетчика команд на единицу.

После считывания команды ее необходимо декодировать. Это можно выполнить микропрограммным способом, проверяя каждый бит регистра команд и осуществляя ветвление по результату проверки, или включить в состав блока микропрограммного управления аппаратный дешифратор команд, который сможет осуществить ветвление микропрограммы на 256 ветвей за один такт синхронизации микропроцессора. Выберем именно этот путь. Восьмым тактом микропрограмма направляется на одну из 256 ветвей, отвечающую за выполнение считанной инструкции. Например, если была считана команда МОУА, /?0, то следующая микрокоманда будет выглядеть следующим образом.

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

Рассмотрим еще один пример. Пусть из системной памяти считывается команда безусловного перехода ЛМР 1234. Первые восемь микрокоманд совпадают для всех команд микропроцессора. Различие наступает, начиная с девятой команды, которая зависит от конкретной инструкции. При выполнении команды безусловного перехода необходимо считать адрес новой команды, который записан в байтах, следующих за кодом операции. Этот процесс аналогичен считыванию кода операции.

Описание

Поля микрокоманды БОС

Источник

Источник

РСН -»RAH

PCL RAL

const -> CR

data -> R1

const -> CR

PCL + 1 -> PCL

PCH + C^ PCH

Теперь считаем второй байт адреса перехода.

В результате выполнения этой микропрограммы в программный счетчик будет загружен адрес, записанный во втором и третьем байтах команды безусловного перехода ЛМР 1234. Временная диаграмма, формируемая рассмотренной микропрограммой, приведена на рис. 4.11.


Введение

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

Архитектура микропроцессора

Основные характеристики микропроцессора

Микропроцессор характеризуется:

  • 1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ;
  • 2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов.

Разрядностть МП обозначается m/n/k/ и включает:

m - разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров;

n - разрядность шины данных, определяет скорость передачи информации;

k - разрядность шины адреса, определяет размер адресного пространства. Например, МП i8088 характеризуется значениями m/n/k=16/8/20;

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

Микроархитектура микропроцессора - это аппаратная организация и логическая структура микропроцессора, регистры, управляющие схемы, арифметико-логические устройства, запоминающие устройства и связывающие их информационные магистрали.

Макроархитектура - это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.

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

Структура типового микропроцессора

Архитектура типичной небольшой вычислительной системы на основе микроЭВМ показана на рис. 1. Такая микроЭВМ содержит все 5 основных блоков цифровой машины: устройство ввода информации, управляющее устройство (УУ), арифметико-логическое устройство (АЛУ) (входящие в состав микропроцессора), запоминающие устройства (ЗУ) и устройство вывода информации.

Рис. 1.

Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП может посылать информацию в память микроЭВМ или к одному из портов вывода, а также получать информацию из памяти или от одного из портов ввода.

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

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

  • 1. Нажать клавишу с буквой "А" на клавиатуре.
  • 2. Поместить букву "А" в память микроЭВМ.
  • 3. Вывести букву "А" на экран дисплея.

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

На рис. 2 приведена подробная диаграмма выполнения процедуры ввода-запоминания-вывода. Обратите внимание, что команды уже загружены в первые шесть ячеек памяти. Хранимая программа содержит следующую цепочку команд:

  • 1. Ввести данные из порта ввода 1.
  • 2. Запомнить данные в ячейке памяти 200.
  • 3. Переслать данные в порт вывода 10.

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

Рис. 2.

В МП на рис. 2 выделены еще два новых блока - регистры: аккумулятор и регистр команд.

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

Итак, при выполнении типичной процедуры ввода-запоминания-вывода в микроЭВМ происходит следующая последовательность действий:

  • 1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания.
  • 2. ЗУ программ пересылает первую команду ("Ввести данные") по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд.
  • 3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания.
  • 4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду ("Ввести данные из порта 1").
  • 5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП и запоминается.

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

  • 6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания.
  • 7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд.
  • 8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние вход считывания микросхем памяти программ.
  • 9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд. Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти программ и декодирована.
  • 10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных.
  • 11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А".
  • 12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания.
  • 13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд.
  • 14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания.
  • 15. Из памяти программ по ШД к МП поступает код операнда "В порт 10", который далее помещается в регистр команд.
  • 16. МП дешифрирует полную команду "Вывести данные в порт 10". С помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква "А" выводится через порт 10 на экран дисплея.

В большинстве микропроцессорных систем (МПС) передача информации осуществляется способом, аналогичным рассмотренному выше. Наиболее существенные различия возможны в блоках ввода и вывода информации.

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

Таким образом, в МПС микропроцессор выполняет следующие функции:

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

Аннотация: Цель лекции: знакомство с архитектурой микропроцессоров, отличительными чертами микропроцессоров различных типов архитектуры, этапами развития архитектуры универсальных микропроцессоров, а также с основными чертами архитектуры IA-32.

Основные понятия и характеристики архитектуры микропроцессоров

Микропроцессор (МП) - это программно-управляемое устройство, которое предназначено для обработки цифровой информации и управления процессом этой обработки и выполнено в виде одной или нескольких больших интегральных схем (БИС).

Понятие большая интегральная схема в настоящее время четко не определено. Ранее считалось, что к этому классу следует относить микросхемы, содержащие более 1000 элементов на кристалле. И действительно, в эти параметры укладывались первые микропроцессоры. Например, 4-разрядная процессорная секция микропроцессорного комплекта К584, выпускавшегося в конце 1970-х годов, содержала около 1500 элементов. Сейчас, когда микропроцессоры содержат десятки миллионов транзисторов и их количество непрерывно увеличивается, под БИС будем понимать функционально сложную интегральную схему .

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

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

Универсальные микропроцессоры предназначены для решения задач цифровой обработки различного типа информации от инженерных расчетов до работы с базами данных, не связанных жесткими ограничениями на время выполнения задания. Этот класс микропроцессоров наиболее широко известен. К нему относятся такие известные микропроцессоры, как МП ряда Pentium фирмы Intel и МП семейства Athlon фирмы AMD .


Рис. 1.1.

Характеристики универсальных микропроцессоров :

  • разрядность: определяется максимальной разрядностью целочисленных данных, обрабатываемых за 1 такт, то есть фактически разрядностью арифметико-логического устройства ( АЛУ );
  • виды и форматы обрабатываемых данных;
  • система команд, режимы адресации операндов;
  • емкость прямоадресуемой оперативной памяти: определяется разрядностью шины адреса ;
  • частота внешней синхронизации. Для частоты синхронизации обычно указывается ее максимально возможное значение, при котором гарантируется работоспособность схемы. Для функционально сложных схем, к которым относятся и микропроцессоры, иногда указывают также минимально возможную частоту синхронизации. Уменьшение частоты ниже этого предела может привести к отказу схемы. В то же время в тех применениях МП, где не требуется высокое быстродействие, снижение частоты синхронизации - одно из направлений энергосбережения. В ряде современных микропроцессоров при уменьшении частоты он переходит в < спящий режим >, при котором сохраняет свое состояние. Частота синхронизации в рамках одной архитектуры позволяет сравнить производительность микропроцессоров. Но разные архитектурные решения влияют на производительность гораздо больше, чем частота;
  • производительность: определяется с помощью специальных тестов, при этом совокупность тестов подбирается таким образом, чтобы они по возможности покрывали различные характеристики микроархитектуры процессоров, влияющие на производительность.

Универсальные микропроцессоры принято разделять на CISC - и RISC-микропроцессоры . CISC-микропроцессоры (Completed Instruction Set Computing - вычисления с полной системой команд) имеют в своем составе весь классический набор команд с широко развитыми режимами адресации операндов. Именно к этому классу относятся, например, микро процессоры типа Pentium . В то же время RISC-микропроцессоры ( reduced instruction set computing - вычисления с сокращенной системой команд) используют, как следует из определения, уменьшенное количество команд и режимов адресации. Здесь прежде всего следует выделить такие микропроцессоры, как Alpha 21x64, Power PC. Количество команд в системе команд - наиболее очевидное, но на сегодняшний день не самое главное различие в этих направлениях развития универсальных микропроцессоров. Другие различия мы будем рассматривать по мере изучения особенностей их архитектуры.

Однокристальные микроконтроллеры (ОМК или просто МК) предназначены для использования в системах промышленной и бытовой автоматики. Они представляют собой большие интегральные схемы, которые включают в себя все устройства, необходимые для реализации цифровой системы управления минимальной конфигурации: процессор (как правило, целочисленный), ЗУ команд, ЗУ данных, генератор тактовых сигналов, программируемые устройства для связи с внешней средой ( контроллер прерывания , таймеры-счетчики, разнообразные порты ввода/вывода), иногда аналого-цифровые и цифро-аналоговые преобразователи и т. д. В некоторых источниках этот класс микропроцессоров называется однокристальными микро-ЭВМ (ОМЭВМ).

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

Отличительные особенности архитектуры однокристальных микроконтроллеров :

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

Основные характеристики микроконтроллеров (в качестве примера численные значения представлены для MK-51):

  1. Разрядность (8 бит).
  2. Емкость внутренней памяти команд и памяти данных, возможности и пределы их расширения:
    • внутренняя память команд - 4 Кбайт (в среднем команда имеет длину 2 байта, таким образом, во внутренней памяти может быть размещена программа длиной около 2000 команд); возможность наращивания за счет подключения внешней памяти до 64 Кбайт;
    • память данных на кристалле 128 байт (можно подключить внешнюю память общей емкостью до 64 Кбайт).
  3. Тактовая частота :
    • внешняя частота 12 МГц;
    • частота машинного цикла 1 МГц.
  4. Возможности взаимодействия с внешними устройствами: количество и назначение портов ввода-вывода , характеристики системы прерывания, программная поддержка взаимодействия с внешними устройствами.

Наличие и характеристики встроенных аналого-цифровых преобразователей ( АЦП ) и цифро-аналоговых преобразователей ( ЦАП ) для упрощения согласования с датчиками и исполнительными устройствами системы управления.

Секционированные микропроцессоры (другие названия: микропрограммируемые и разрядно-модульные) - это микропроцессоры, предназначенные для построения специализированных процессоров. Они представляют собой микропроцессорные секции относительно небольшой (от 2 до 16) разрядности с пользовательским доступом к микропрограммному уровню управления и средствами для объединения нескольких секций.

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

Одним из первых комплектов секционированных микропроцессоров были МП БИС семейства Intel 3000. В нашей стране они выпускались в составе серии К589 и 585. Процессорные элементы этой серии представляли собой двухразрядный микропроцессор. Наиболее распространенным комплектом секционированных микропроцессоров является Am2900, основу которого составляют 4-разрядные секции. В нашей стране аналог этого комплекта выпускался в составе серии К1804. В состав комплекта входили следующие БИС:

  • разрядное секционное АЛУ ;
  • блок ускоренного переноса;
  • разрядное секционное АЛУ с аппаратной поддержкой умножения;
  • тип схем микропрограммного управления;
  • контроллер состояния и сдвига;
  • контроллер приоритетных прерываний .

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

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

Как электронное изделие микропроцессор характеризуется рядом параметров, наиболее важными из которых являются следующие:

  1. Требования к синхронизации: максимальная частота, стабильность.
  2. Количество и номиналы источников питания, требования к их стабильности. В настоящее время существует тенденция к уменьшению напряжения питания, что сокращает тепловыделение схемы и ведет к повышению частоты ее работы. Если первые микропроцессоры работали при напряжении питания+-15В, то сейчас отдельные схемы используют источники менее 1 В.
  3. Мощность рассеяния - это мощность потерь в выходном каскаде схемы, превращающаяся в тепло и нагревающая выходные транзисторы. Иначе говоря, она характеризует показатель тепловыделения БИС, что во многом определяет требования к конструктивному оформлению микропроцессорной системы . Эта характеристика особенно важна для встраиваемых МПС.
  4. Уровни сигналов логического нуля и логической единицы, которые связаны с номиналами источников питания.
  5. Тип корпуса - позволяет оценить пригодность схемы для работы в тех или иных условиях, а также возможность использования новой БИС в качестве замены существующей на плате.
  6. Температура окружающей среды, при которой может работать схема. Здесь выделяют два диапазона:
    • коммерческий (0 0 С … +70 0 С);
    • расширенный (-40 0 С … +85 0 С).
  7. Помехоустойчивость - определяет способность схемы выполнять свои функции при наличии помех. Помехоустойчивость оценивается интенсивностью помех, при которых нарушение функций устройства еще не превышает допустимых пределов. Чем сильнее помеха, при которой устройство остается работоспособным, тем выше его помехоустойчивость.
  8. Нагрузочная способность , или коэффициент разветвления по выходу, определяется числом схем этой же серии, входы которых могут быть присоединены к выходу данной схемы без нарушения ее работоспособности. Чем выше нагрузочная способность, тем шире логические возможности схемы и тем меньше таких микросхем необходимо для построения сложного вычислительного устройства. Однако с увеличением этого коэффициента ухудшаются помехоустойчивость и быстродействие.
  9. Надежность - это способность схемы сохранять свой уровень качества функционирования при установленных условиях за установленный период времени. Обычно характеризуется интенсивностью отказов (час-1) или средним временем наработки на отказ (час). В настоящее время этот параметр для больших инте- гральных схем обычно не указывается изготовителем. О надежности МП БИС можно судить по косвенным показателям, например, по приводимой разработчиками средств вычислительной техники надежности изделия в целом.
  10. Характеристики технологического процесса . Основной показатель здесь - разрешающая способность процесса. В настоящее время она составляет 32 нм, то есть около 30 тыс. линий на 1 мм. Более совершенный технологический процесс позволяет создать микропроцессор, обладающий большими функциональными возможностями.


Рис. 1.2.

Затраты на изготовление устройств, использующих микропроцессорные БИС, представлены на рис. 1.2 . Здесь:

  1. затраты на изготовление БИС (чем больше степень интеграции элементов на кристалле, тем дороже обходится производство схемы);
  2. затраты на сборку и наладку микропроцессорной системы (с увеличением функциональных возможностей МП потребуется меньше схем для создания МПС);
  3. общая стоимость микропроцессорной системы , которая складывается из затрат (1) и (2). Она имеет некоторое оптимальное значение для данного уровня развития технологии;
  4. переход на новую технологию (оптимальным будет уже другое количество элементов на кристалле, а общая стоимость изделия снижается).

В 1965 году Гордон Мур сформулировал гипотезу, известную в настоящее время как <закон Мура>, согласно которой каждые 1,5-2 года число транзисторов в расчете на одну интегральную схему будет удваиваться. Это обеспечивается непрерывным совершенствованием технологических процессов производства микросхем.

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

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

На второй стадии исследователи Intel выбирают наиболее перспективные направления развития новых технологий. При этом обычно рассматривается 2-3 варианта решения.

Главная задача третьей стадии - полная черновая проработка новой технологии и демонстрация ее осуществимости.

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

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

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

Но не сразу: сначала они переводятся на выпуск микросхем с меньшим быстродействием или с меньшим числом транзисторов , например, периферийных БИС.

Раздел 1 Архитектура микропроцессорного вычисления

Тема 1.1 Архитектура микропроцессора

План:

1 Архитектура микропроцессора. Классификация

Микропроцессорная техника (МПТ) включает технические и программные средства, используемые для построения различных микропроцессорных систем, устройств и персональных микроЭВМ.

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

Микропроцессорное устройство (МПУ) представляет собой функционально и конструктивно законченное изделие, состоящее из нескольких микросхем, в состав которых входит микропроцессор; оно предназначено для выполнения определенного набора функций: получение, обработка, передача, преобразование информации и управление.

Микропроцессором (МП) называется программно-управляемое устройство, осуществляющее процесс цифровой обработки информации и управления им и построенное, как правило, на одной БИС.

Разные МП или МК объединяют в семейства как технология «микроядра», в качестве которого выступает процессорное ядро, взаимодействующее с периферийными устройствами различной номенклатуры, так и принципы, свойственные открытым системам: совместимость (compatibility ), масштабируемость (scalability ), переносимость (portability ) и взаимодействие приложений (introperability ).

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

На рисунке 1 приведена классификация современных микропроцессоров по функциональному признаку.

Рисунок 1 - Классификация современных микропроцессоров по функциональному признаку

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

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

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

Цифровые процессоры сигналов (ЦПС) представляют класс специализированных микропроцессоров, ориентированных на цифровую обработку поступающих аналоговых сигналов. Специфической особенностью алгоритмов обработки аналоговых сигналов является необходимость последовательного выполнения ряда команд умножения-сложения с накоплением промежуточного результата в регистре-аккумуляторе. Поэтому архитектура ЦПС ориентирована на реализацию быстрого выполнения операций такого рода. Набор команд этих процессоров содержит специальные команды MAC (Multiplication with Accumlation ), реализующие эти операции.

Архитектурой процессора называется комплекс его аппаратных и программных средств, предоставляемых пользователю. В это общее понятие входит набор программно-доступных регистров и исполнительных (операционных) устройств, система основных команд и способов адресации, объем и структура адресуемой памяти, виды и способы обработки прерываний.

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

Регистры общего назначения образуют РЗУ - внутреннюю регистровую память процессора. Состав и количество служебных регистров определяется архитектурой микропроцессора. Обычно в их состав входят:

Программный счетчик PC (или CS + IP в архитектуре микропроцессоров Intel );

Регистр состояния SR (или EFLAGS );

Регистры управления режимом работы процессора CR (Control Register );

Регистры, реализующие сегментную и страничную организацию памяти;

Регистры, обеспечивающие отладку программ и тестирование процессора.

Кроме того, различные модели микропроцессоров содержат ряд других специализированных регистров.

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

Архитектура и структура микропроцессора тесно взаимосвязаны. Реализация тех или иных архитектурных особенностей требует введения в структуру микропроцессора необходимых аппаратных средств (устройств и блоков) и обеспечения соответствующих механизмов их совместного функционирования. В современных микропроцессорах реализуются следующие варианты архитектур.

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

RISC ( Reduced Instruction Set Computer ) - архитектура отличается использованием ограниченного набора команд фиксированного формата. Современные RISC -процессоры обычно реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта. Также значительно сокращается число используемых способов адресации. Обычно в RISC -процессорах все команды обработки данных выполняются только с регистровой или непосредственной адресацией.

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

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

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

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

Вывод:

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

­ Контрольные вопросы:

1 Что такое микропроцессор?

2 Как классифицируются современные микропроцессоры по функции-ональному признаку?

3 Перечислите варианты архитектур процессоров.

4 Поясните особенности CISC архитектуры процессоров.

5 Поясните особенности RISC архитектуры процессоров.



Рекомендуем почитать

Наверх