Мегаобучалка Главная | О нас | Обратная связь


Обзор существующих типов архитектур микропроцессоров



2015-12-07 649 Обсуждений (0)
Обзор существующих типов архитектур микропроцессоров 0.00 из 5.00 0 оценок




Базовая структура микропроцессорной системы имеем вид

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

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

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

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

- способы представления и форматы данных;

- способы обращения ко всем программно-доступным для пользователя элементам структуры ( адресация к регистрам, ячейкам постоянной и оперативной памяти, внешним устройствам);

- набор операций, выполняемых микропроцессором;

- характеристики управляющих слов и сигналов, вырабатываемых микропроцессором и поступающих в него извне;

- реакцию на внешние сигналы ( система обработки прерываний и т.п.).

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

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

Организация, при которой память программ CSEG (Code Segment) и память данных DSEG (Data Segment) разделены и имеют свои собственные адресные пространства и способы доступа к ним, называется Гарвардской архитектурой ( по имени лаборатории Гарвардского Университета, предложившей ее). Такая архитектура является более сложной и требует дополнительных управляющих сигналов. Однако, она позволяет осуществлять более гибкие манипуляции информации, реализовывать компактно кодируемый набор машинных команд и, в ряде случаев, ускорять работу микропроцессора. Представителями такой архитектуры являются микроконтроллеры семейства MCS-51 фирмы Intel.

В настоящее время выпускаются микропроцессоры со смешанной архитектурой, в которых CSEG и DSEG имеют единое адресное пространство, однако различные механизмы доступа к ним. Конкретным примером являются микропроцессоры семейства 80х86 фирмы Intel.

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

- шины данных DB (Data Bus), по которой производится обмен данными между ЦП, памятью и системой ВВ;

- шины адреса AB ( Address Bus), используемой для передачи адресов ячеек памяти и портов ВВ, к которым осуществляется обращение;

- шины управления CB (Control Bus), по которой передаются управляющие сигналы, реализующие циклы обмена информацией и управляющие работой системы.

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

В некоторых микропроцессорах с целью сокращения ширины физической магистрали вводят совмещенную шину адреса-данных AD (Address/Data Bus), по которой передаются как адреса так и данные. Этап передачи адресной информации отделен по времени от этапа передачи данных и стробируется специальным сигналом ALE (Address Latch Enable), который включен в состав CB. Данную магистраль обычно называют мультиплексной или двухшинной с совмещенными шинами адреса и данных.

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

Цикл чтения памяти по демультиплексной магистрали.

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

 

 

Цикл чтения из памяти по мультиплексной магистрали.

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

При изолированном пространстве ВВ добавляются циклы чтения порта ВВ и записи порта ВВ.

Цикл чтения порта ВВ по демультиплексной магистрали

Цикл записи в порт ВВ по демультиплексной магистрали.

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

Цикл чтения памяти программ по демультиплексной магистрали.

В некоторых случаях, когда на магистрали работают устройства, быстродействие которых уступает быстродействию ЦП, длительности стробов RD, WR и т.п. могут оказаться недостаточными для правильного выполнения операции обмена со стороны периферийного модуля. Тогда для организации надежного завершения магистральной операции в состав CB вводят специальный сигнал READY. В каждом цикле обращения к каналу перед окончанием строба RD или WR ЦП проверяет состояние сигнала READY. Если он к этому моменту еще не сброшен, то ЦП продлевает соответствующий строб, вставляя в него т.н. такты ожидания WS (Wait State). Максимальное количество WS может быть ограничено либо не ограничено в зависимости от конкретной модели микропроцессора и режима его работы.

Цикл чтения с циклами ожидания.

В обычном режиме работы на магистрали присутствует единственное активное устройство в лице ЦП, который инициирует все циклы обмена данных на магистрали. Однако возможны случаи, когда на одной и той же магистрали присутствуют несколько активных устройств, которые должны работать с одним и тем же блоком памяти и блоком ВВ. Для того, чтобы другое активное устройство могло передать данные по магистрали, необходимо дезактивировать на это время ЦП. Для этих целей большинство современных микропроцессоров поддерживают т.н. режим “прямого доступа к памяти” (ПДП). Для осуществления этого режима в CB вводят дополнительные сигналы HOLD и HLDA. При поступлении активного уровня на вход HOLD микропроцессор прерывает выполнение своей программы, переводит выходы всех своих шин в высокоимпедансное состояние и выставляет активный уровень на выходе HLDA, что должно служить сигналом для другого активного устройства о том, что оно может начинать свои циклы обмена на магистрали. Когда это устройство заканчивает свои циклы обмена, оно сбрасывает сигнал HOLD, после чего ЦП переходит в свое обычное состояние и продолжает выполнять программу.

Другим режимом работы ЦП, требующим от него изменения нормального хода выполнения программы является т.н. режим “прерывания”. Практически все современные микропроцессоры имеют один или несколько т.н. входов внешних прерываний INT0, INT1, и т.д., на которые поступают сигналы, свидетельствующие о некоторых событиях в системе, на которые ЦП должен отреагировать определенным образом. При поступлении активного уровня сигнала на один из таких входов микропроцессор прерывает нормальное выполнение программы, запоминает адрес команды, на которой он прервал работу, и переходит к выполнению т.н. “подпрограммы обработки прерывания” (ПОП), записанной в CSEG по определенному адресу. Адрес этой подпрограммы записан в специальной ячейке памяти, называемой “вектором прерывания”. Каждый отдельный источник прерывания имеет свой собственный вектор прерывания. После выполнения ПОП, по специальной команде, которой должна заканчиваться ПОП, процессор возвращается к выполнению прерванной программы по запомненному адресу. Источники прерываний могут быть как внешними (т.е. поступать на один из входов микросхемы, которые называются “входами запроса прерывания”), так и внутренними (т.е. генерироваться внутри процессора по определенным условиям). Т.к. одновременно могут придти несколько различных запросов прерываний, то существует определенная дисциплина, задающая последовательность обслуживания отдельных прерываний. Эту дисциплину обеспечивает система “приоритетного арбитража прерываний”, реализованная либо внутри ЦП, либо с помощью специального контроллера. В соответствии с этой системой каждый источник прерывания имеет свой заданный приоритет (постоянный или переменный), определяющий очередность его обслуживания. При одновременном приходе нескольких запросов прерываний вначале обслуживается прерывание с более высоким приоритетом, а затем с более низким. Прерывание с более высоким приоритетом может прервать уже начавшуюся подпрограмму обработки прерывания, имеющего более низкий приоритет, точно так же, как оно прерывает основную программу. При этом образуются т.н. “вложенные прерывания”.

Кроме CSEG и DSEG практически все современные микропроцессоры имеют специально выделенное пространство данных небольшого объема, называемое набором программно-доступных регистров RSEG (Register Sgment). В отличие от CSEG и DSEG регистры RSEG располагаются внутри ЦП в непосредственной близости от его АЛУ, что обеспечивает быстрый физический доступ к информации, хранящейся в них. В них, как правило, хранятся промежуточные результаты вычислений, часто используемые ЦП. Область RSEG может быть полностью изолирована от пространства данных DSEG, может частично пересекаться с ней, и может полностью являться подчастью DSEG. Внутренняя логическая организация RSEG очень разнообразна и играет важную роль при классификации архитектур микропроцессоров.

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

Среди регистров данных часто выделяют один регистр, называемый аккумуляторомA (Accumulator), с которым связывают большинство команд арифметической и логической обработки данных. Это означает, что арифметические и логические команды используют в качестве одного из своих операндов содержимое аккумулятора и сохраняют в нем результат операции. Ссылка на него производится неявно с помощью кода операции. При этом нет необходимости в коде команды выделять специальную область для адресов операнда и результата. Такой тип архитектуры микропроцессора называется аккумуляторным. К недостаткам такой архитектуры можно отнести относительно низкое быстродействие, объясняемое тем, что аккумулятор является ”узким местом”, в которое каждый раз необходимо сначала занести операнд перед выполнением операции. Примером такой архитектуры могут служить микроконтроллеры семейства MCS-51 фирмы Intel.

Другим примером организации регистров данных являются т.н. “рабочие регистры” R0, R1, и т.д. В этом случае операнды и результаты арифметических и логических операций могут храниться не в одном, а в нескольких регистрах, что расширяет возможности по манипуляции данными. В отличие от аккумулятора рабочие регистры адресуются явно в коде команды. Такой тип архитектуры микропроцессора называется регистровым. Примером такой организации могут служить микропроцессоры семейства 80х86 фирмы Intel. В ряде микропроцессоров, предназначенных для работы в реальном масштабе времени, предусмотрены не один, а несколько наборов рабочих регистров. В каждый момент времени доступен лишь один из наборов регистров, выбор которого осуществляется записью соответствующей информации в определенный служебный регистр. Примером таких устройств могут служить микроконтроллеры семейства MCS-48 фирмы Intel.

Архитектура, при которой процессор способен использовать в качестве адресов операндов и результатов операции ячейки основной памяти, называется архитектурой типа “память - память”. При этом исключаются временные затраты на перепись содержимого рабочих регистров при переходе от одной процедуры к другой. Однако при этом теряется быстрый доступ к промежуточным данным, т.к. они хранятся не во внутренних регистрах, а в DSEG. Решением этой проблемы может служить размещение часть DSEG на одном кристалле с ЦП и использование в качестве рабочих областей этого внутреннего сегмента ОЗУ. Примером такой организации могут служить микроконтроллеры семейства MCS-96 фирмы Intel.

Практически во всех современных микропроцессорах выделяют отдельную область памяти под так называемый “стек”, используемый, в общем случае, для передачи параметров процедурам и сохранения адресов возврата из них. Стек может быть расположен внутри микропроцессора или вне его. Он может занимать часть адресного пространства DSEG или RSEG, а может быть расположен и отдельно от них. В последнем случае говорят о т.н. “аппаратном стеке”. Передача функций аккумулятора вершине стека приводит к т.н. “стековой архитектуре”. Стековая организация дает возможность использовать безадресные команды, код которых имеет наименьшую длину. Безадресные команды оперируют данными, находящимися на вершине стека и непосредственно под ней. При выполнении операции исходные операнды извлекаются из стека, а результат передается не вершину стека. Стековая архитектура обладает высокой вычислительной эффективностью. Существует специальный язык высокого уровня FORTH, построенный на основе безадресных команд. Такая архитектура используется в специализированных процессорах высокой производительности и , в частности в RISC-процессорах.

Служебные регистры, расположенные внутри микропроцессора, предназначены для различных функций управления его работой и индикации состояния его составных частей. Их состав и организация зависят от конкретной архитектуры процессора и различаются в каждом конкретном случае. Наиболее часто встречающимися регистрами специальных функций являются “программный счетчик” PC (Program Counter), “указатель стека” SP (Stack Pointer) и “слово состояния программы” PSW (Program Status Word). Программный счетчик PC в каждый конкретный момент времени содержит адрес команды, следующей в CSEG за той, которая в данный момент выполняется. Указатель стека SP хранит текущий адрес вершины стека. Слово состояния программы PSW содержит набор текущих признаков результата выполнения операции. С каждым признаком результата связывается одноразрядная переменная-флажок, соответствующая определенному биту PSW. К типовым флажкам-признакам относятся:

- CF (Carry Flag) - флажок переноса из старшего разряда АЛУ. Равен 1, если в результате выполнения арифметической операции или операции сдвига произошел перенос из старшего разряда результата;

- ZF (Zero Flag) - флажок признака нуля. Равен 1, если результат операции равен 0;

-SF (Sign Flag) - флажок знака результата. Дублирует знаковый разряд результата операции;

- AF (Auxilinary Carry Flag) - флажок дополнительного переноса. Равен 1, если в результате выполнения арифметической операции или операции сдвига произошел перенос из младшей тетрады результата в старшую. Часто используется в двоично-десятичной арифметике;

- OF (Owerfow Flag) - флажок переполнения. Равен 1, если в результате выполнения арифметической операции произошло переполнение разрядной сетки результата;

- PF (Parity Flag) - флажок четности. Равен 1, если число 1 в результате операции нечетно и наоборот.

- IF (Interrupt Flag) - флажок разрешения прерывания. Индицирует, разрешены ли прерывания в системе.

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

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

Под методом адресации понимается метод кодирования адреса операнда или результата операции в коде команды.

В общем случае код команды микропроцессора можно представить в следующем виде

КОП АОП1 АОП2 ... АР

где,

КОП - код операции;

АОП1 - поле адреса первого операнда;

АОП2 - поле адреса второго операнда;

АР - поле адреса результата.

Наличие отдельных полей, кроме КОП, определяется конкретной командой и типом микропроцессора. Информация в полях АОП и АР определяется конкретным методом адресации, используемым в данной команде.

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

- Регистровая адресация. Операнд находится в регистре. Адрес регистра включен в код операции. Поле адреса в команде отсутствует;

- Прямая адресация. Физический адрес операнда расположен в соответствующем поле адреса.

- Непосредственная адресация. Непосредственное значение операнда расположено в соответствующем поле адреса.

- Косвенная регистровая адресация. Физический адрес операнда расположен в регистре косвенного адреса DP (Data Pointer). Адрес регистра включен в код операции. Поле адреса в команде отсутствует. В качестве DP может выступать РОН или специальный адресный регистр;

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

- Адресация по базе со смещением. Базовый адрес операнда расположен в регистре базы BP (Base Pointer). Адрес регистра включен в код операции. Смещение адреса операнда относительно базового адреса расположено в соответствующем поле адреса. В качестве BP может выступать РОН или специальный адресный регистр;

- Индексная адресация. Базовый адрес операнда расположен в соответствующем поле адреса. Смещение адреса операнда относительно базового адреса расположено в индексном регистре X (Index). В качестве X может выступать РОН или специальный адресный регистр;

- Адресация по базе с индексированием. Базовый адрес операнда расположен в регистре базы BP , смещение адреса операнда относительно базового адреса расположено в индексном регистре X . Адреса регистров включены в код операции. Поле адреса в команде отсутствует; В качестве X и BP могут выступать РОН или специальные адресные регистры;

- Сегментная адресация. Вся память разбита на сегменты определенного объема. Адрес сегмента хранится в сегментном регистре SR (Segment Register), смещение адреса относительно начала сегмента расположено в соответствующем поле адреса либо в индексном регистре X. В качестве X может выступать РОН или специальный адресный регистр;

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

В составе системы ВВ также можно выделить ряд функционально законченных устройств, которые оформляются в виде модулей подключаемых непосредственно к единой магистрали системы. В простейшем случае это адресуемые ЦП буферные регистры -порты ВВ. Более сложные программно-управляемые подсистемы ВВ, содержащие блоки портов, получили название периферийных адаптеров. В случае, когда средства ВВ предназначаются для управления специальным внешним оборудованием и реализации специальных функций ВВ, их называют периферийными контроллерами. Наиболее сложными из современных средств обмена с внешними устройствами ВВ считают сопроцессоры ВВ, которые работают по собственным программам, хранящимся в собственной памяти, и по сути дела представляют собой отдельные микропроцессорные системы. Примером такой системы может служить векторный сопроцессор ADMC-200 фирмы Analog Devices, предназначенный для сопряжения микропроцессорной системы с вентильным преобразователем, управляющим приводом переменного тока. Он включает в себя несколько каналов АЦП, многоканальный ШИМ и вычислительный блок, реализующий векторные преобразования Парка-Кларка, необходимые для осуществления алгоритма векторного управления синхронным и асинхронным двигателем переменного тока. Однако, независимо от сложности конкретной подсистемы ВВ, со стороны ЦП все они представляются тем или иным набором адресуемых регистров, который, как правило, является частью DSEG.

Разрядностью микропроцессорной системы принято считать количество бит информации, которое ее ЦП может обработать с помощью одной команды. Разрядность микропроцессора определяется разрядностью его АЛУ, внутренних регистров данных и внешней шины данных. На сегодняшний день существуют 8-, 16-, 32- и 64-разрядные микропроцессоры. Для того, чтобы обрабатывать информацию с разрядностью большей, чем разрядность микропроцессора необходимо реализовывать специальные алгоритмы вычислений с повышенной разрядностью. Эти алгоритмы требуют дополнительного времени для своего выполнения. Поэтому повышение разрядности микропроцессора при заданной разрядности вычислений, напрямую связано с увеличением быстродействия системы.

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

Существуют микропроцессоры, архитектура которых адаптирована для выполнения вычислений определенного рода. К числу таких процессоров относятся т.н. “процессоры цифровой обработки сигналов” DSP (Digital Signal Procesor). Их архитектура имеет особенности, позволяющие им с наибольшей производительностью осуществлять алгоритмы рекуррентной обработки данных, которые используются во многих задачах, требующих их выполнения в масштабе “реального времени”, таких как аудио- и видео-кодирование, регулирование, цифровая фильтрация, цифровая связь и т.п. Все эти процессоры построены, как правило по Гарвардской архитектуре. Современные DSP имеют отдельные шины адреса/данных для CSEG и DSEG, что позволяет им с помощью одной команды осуществить доступ к различным видам памяти и произвести несколько операций над данными. Основной особенностью DSP является то, что кроме обыкновенного АЛУ, которое присутствует во всех процессорах, они имеют еще несколько вычислительных устройств. К числу таких устройств в первую очередь относится т.н. “умножитель-аккумулятор” MAU (Multiple-Accumulator Unit), способный с помощью одной команды умножить два многоразрядных числа и сложить результат удвоенной разрядности с результатом предыдущей команды. Подобная операция “умножения-сложения” используется во всех рекуррентных алгоритмах. Наличие MAU в сочетании с вышеуказанными особенностями организации шин процессора позволяет DSP за одну команду полностью выполнить один шаг рекуррентного алгоритма и подготовить исходные данные для следующего шага. Другим дополнительным вычислительным устройством является “многоразрядный регистр сдвига” S (Shifter), способный выполнять операции сдвига над числами, разрядность которых превышает разрядность АЛУ. Совместная работа этих вычислительных устройств позволяет достичь на выполнении рекуррентных алгоритмов вычислительной производительности, несравнимой с любыми другими процессорами. Примерами современных DSP могут служить:

- семейство ADSP-21XX фирмы Analog Devices - 16-разрядные DSP с фиксированной точкой, производительность до 30 MIPS;

- семейство TMS320C3X фирмы Texas Instruments - 32-разрядные DSP с плавающей точкой, производительность до 30 MIPS, 60 MFLOPS.

    • TMS320C240 фирмы Texas Instruments - 16-разрядный DSP с фиксированной точкой, адаптированный для задач управления приводом, производительность до 20 MIPS, 12-канальный встроенный ШИМ, два 8-канальных 10-разрядных АЦП.

Лекция № 6

“Микроконтроллеры – отдельный класс

Микропроцессорных устройств для встроенных применений. Их особенности и выполняемые функции”.

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

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

Рассмотрим особенности организации каждой из подсистем микроконтроллеров.

Процессорное ядро

Современные микроконтроллеры могут быть построены как по Гарвардской (MCS-51 Intel), так и по Фон Неймановской архитектуре (MCS-96 Intel, 80C166 Siemens). Все они имеют внешнюю системную магистраль для обмена данными с внешней памятью и дополнительными периферийными устройствами. Классические семейства микроконтроллеров (MCS-51) имеют, как правило, мультиплексные шины адреса/данных, что было обусловлено необходимостью минимизировать размер микросхемы. Однако современные быстродействующие микроконтроллеры используют уже демультиплексную шину, что ускоряет работу системы. Некоторые модели микроконтроллеров имеют возможность работать либо мультиплексной либо с демультиплексной шиной, в зависимости от требуемой конфигурации системы. В случае демультиплексной шины контроллер быстрее обменивается данными по магистрали. При работе с мультиплексной шиной, освободившиеся выводы используются как порты ввода-вывода. (MCS251 Intel, 80C166 Siemens).

Практически все микроконтроллеры выполняют только операции с фиксированной точкой. Существуют 8-разрядные (MCS-51 Intel, MC6805 Motorola),16-разрядные (MCS-96 Intel, 80C166 Siemens, MC6816 Motorola),32-разрядные(MC683 Motorola, MPC500 PowerPc) микроконтроллеры. Системы команд микроконтроллеров поддерживает, как правило, широкий набор методов адресации в т.ч. бытовую адресацию.

Подсистема памяти.

Существуют микроконтроллеры с аккумуляторной (MCS-51) и регистровой (MCS-96) организацией. Количество регистров и их разрядность зависит от конкретной модели. Зачастую микроконтроллеры имеют несколько банков регистров (MCS-48, MCS-51, 80C166).

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

Варианты реализации внутренней памяти программ могут быть различными:

  1. она может отсутствовать. В этом случае микроконтроллер выполняет программу, считывая команды из внешней памяти программ через системную магистраль.
  2. Она может быть выполнена в виде масочного ПЗУ. В этом случае микроконтроллер не нуждается во внешней памяти программ. Однако в этом случае программа во внутреннюю память записывается однократно на этапе изготовления кристалла и не может быть изменена в дальнейшем. Как правило, программа, записанная во внутреннюю память, выполняется быстрее, чем из внешней памяти.
  3. Она может быть выполнена в виде однократно программируемого ППЗУ. В этом случае пользователь сам может записать программу во внутреннюю память, но лишь однажды. Для записи программы, как правило, необходим специальный программатор. Однако существуют микроконтроллеры, способные программировать сами себя (MCS-96) (программатор реализован внутри кристалла).
  4. Она может быть выполнена в виде ППЗУ с УФ стиранием. В этом случае память программ может быть многократно перепрограммирована с помощью программатора. Перед очередным программированием она должна быть очищена с помощью УФ излучения.
  5. Она может быть выполнена в виде Flash – памяти. В этом случае память программ может быть многократно перепрограммирована в процессе работы системы.
  6. Она может быть реализована в виде ОЗУ. В этом случае для загрузки программы после включения питания используется так называемый Boot Strep загрузчик. Это механизм, позволяющий после включения питание загрузить начальную программу функционирования по последовательному каналу связи, либо по системной магистрали.

Подсистема ввода-вывода.

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

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

Если порт работает как выход, то один из выходных транзисторов открыт, а другой закрыт, в соответствии с уровнем выходного сигнала. Чтобы порт работал как вход необходимо записать в выходной триггер “1”, тогда транзистор Q2 будет закрыт, а сигнал управления блокирует открытие Q1. Таким образом, образуется высокоимпеданстный вход. Микроконтроллеры , поддерживающие бытовую адресацию способны управлять состоянием каждого вывода порта отдельно.

  1. Таймеры/счетчики. Они представляют собой специализированные счетчики с коммутируемыми источниками синхронизации.

Обобщенная структурная схема таймера/счетчика.

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

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

3. Модули “Захват/Сравнение”. (Capture/Compare).

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

Структурная схема модуля в выходном режиме (Compare).

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

Структурная схема модуля во входном режиме (Capture)

 

 

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



2015-12-07 649 Обсуждений (0)
Обзор существующих типов архитектур микропроцессоров 0.00 из 5.00 0 оценок









Обсуждение в статье: Обзор существующих типов архитектур микропроцессоров

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (649)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.015 сек.)