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

Структурная схема микропроцессора.

Понятие о микропроцессоре.

Функциональная классификация микропроцессоров.

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

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

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

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

Универсальные микропроцессоры ориентированы на использование в различных вычислительных, информационных и управляющих системах, в которых требуется обработка больших объемов информации (например, для цифровой обработки изображений, управления базами данных, визуализации данных оператору или экипажу), но нет специальных требований к архитектуре вычислителя, большому количеству средств УСО, габаритным размерам и энергопотреблению. Универсальность микропроцессора подразумевает как широкую сферу использования, так и типовую структуру вычислительной системы. Для таких устройств обычно реализуется архитектура Фон Неймана, и реже Гарвардская архитектура. Типовая структура универсального микропроцессора показана на рис.2.

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

МК для задач логического управления — логические процессоры— имеют специальные аппаратные расширения (память с битовой адресацией, порты с индивидуальной настройкой каждой линии) и расширенный набор команд логической обработки данных. В современных разработках широкое применение нашли МК серии К1816 (аналог Intel MCS-51), а также AVR — и PIC-контроллеры. Существуют также многочисленные расширения стандартного MCS-51 – с повышенным быстродействием, увеличенными объемами памяти и набором функций. Типовая структура МК для задач логического управления показана на рис. 3.

Рис. 1.3. Типовая структура микроконтроллера для логического управления.

Аналоговые процессоры для обработки сигналов –включают в себя, кроме типовых блоков МК, включают в себя многоканальные АЦП и ЦАП, блоки формирования управляющих импульсов (например, ШИМ-импульсов). Такой процессор представляет собой интегрированную систему обработки аналоговой информации в цифровом виде.

Еще одна разновидность МК – конвейерные сигнальные процессоры, содержащие конвейеры для реализации алгоритмов цифровой фильтрации данных и обработки изображений. Такие алгоритмы состоят из последовательности операций умножения и суммирования. Конвейер представляет собой набор однотипных блоков для выполнения операций умножения-суммирования, включенных последовательно друг за другом. Таким образом, результат выполнения операции в одном блоке автоматически является входными данными для следующего блока. Применение конвейерной обработки позволяет выдавать на каждом такте работы системы очередной результат вычислений. Примером подобных устройств являются микроконтроллеры Intel MCS-196/296. Пример структуры такого микропроцессорного устройства показан на рис. 4.

Рис. 4. Типовая структура процессора обработки сигналов (без АЦП и ЦАП)

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

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

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

Составляющие микропроцессора.

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

Каждый электрик должен знать:  Переделка светильника с датчиком движения

1. Арифметико-логическое устройство

Арифметико-логическое устройство (АЛУ) служит для обработки данных. В зависимости от вида выполняемой опера­ции АЛУ оперирует одним или двумя словами и в своем составе имеет:

— четырехразрядные сумматоры – вычитатели;

— логические элементы для выполнения операций: логического умножения, логического сложения, инверсии, исключающее ИЛИ и т.д.;

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

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

Основные операции АЛУ: сложение, вычитание, И, ИЛИ, исключающее ИЛИ, инверсия, сдвиг вправо, сдвиг влево, приращение положительное, приращение отрицательное.

АЛУ производятся в виде микросхем с числом разрядов: 4, 6, 8, 16. Чаще всего используются восьмиразрядные АЛУ, которые имеют 8 входов для первого слова, 8 входов для второго слова и 8 выходов, подключенных к восьми проводной шине.

2. Аккумулятор

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

Пример. Если АЛУ складывает два слова данных, одно находится в аккумуля­торе. После выполнения сложения резуль­тат посылается в аккумуля­тор на хранение.

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

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

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

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

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

3.Счетчик команд

Счетчик команд это один из наиболее важных регистров микропроцессора. Как известно, программа-это последовательность команд, хранимых в памяти микро-ЭВМ и предназначенных для того, чтобы инструктировать машину, как решать по­ставленную задачу. Для корректного вы­полнения последней команды должны по­ступать в строго определенном порядке. На счетчике команд лежит ответственность следить за тем, какая команда выполняет­ся, а какая подлежит выполнению следую­щей. Часто счетчик команд имеет намного больше разрядов, чем длина слова данных микропроцессора. Так, в большинстве 8-разрядных микропроцессоров, адресую­щихся к памяти объемом 65К, число раз­рядов счетчика команд равно 16. И на это имеются достаточно веские основания. В любой из 65 536 областей памяти микро-ЭВМ общего назначения может находить­ся информация о том или ином шаге про­граммы, т.е. в пределах диапазона значе­ний адресов от 0 до 65 535 программа может начаться и закончиться в любом месте. Чтобы обратиться по любому из этих адресов, счетчик команд должен рас­полагать 16 двоичными разрядами.

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

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

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

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

Каждый электрик должен знать:  Подсветка полок загорается и сразу тухнет - в чем причина

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

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

4.Регистр адреса памяти

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

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

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

В большинстве микропроцессоров ре­гистры адреса памяти и счетчика команд имеют одинаковое число разрядов. Как и счетчик команд, регистр адреса памяти должен располагать количеством разрядов, достаточным для адресации любой области памяти микро-ЭВМ. У большинства 8-раз­рядных микропроцессоров количество раз­рядов регистра адреса памяти равно 16. Та­кой регистр можно разделить на два отдельных регистра, каждый из которых имеет независимое подключение к шине данных микропроцессора. Один из этих ре­гистров называют регистром старшего бай­та (СБ), другой – регистром младшего бай­та (МБ).

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

5.Регистр команд

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

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

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

Последовательность реализации цикла выборка-выполнение:

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

6 Регистр состояния

Наличием регистра состояния подлинная вычислительная машина отличается от про­стого калькулятора. Указанный регистр предназначен для хранения результатов не­которых проверок, осуществляемых в про­цессе выполнения программы. Разряды ре­гистра состояния принимают то или иное значение при выполнении операций, исполь­зующих АЛУ и некоторые регистры.

Запоминание результатов упомянутых проверок позволяет использовать про­граммы, содержащие переходы (нарушения естественной последовательности выполне­ния команд).

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

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

Каждый электрик должен знать:  Как рассчитать потери напряжения в кабеле

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

Если при сложении двух 8-битовых чисел получается результат больше, чем 11111111, то по­является единичный бит переноса, который в свою очередь устанавливает в 1 одно­именный разряд регистра состояния.

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

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

Загрузить в регистр число 11002.

Уменьшить содержимое регистра на 12.

Проверить, равно ли единице значение разряда нулевого результата в регистре состояния. Если нет, возвратиться к выполнению шага 2.

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

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

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

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

7.Буферные регистры АЛУ

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

Буфер аккумулятора позволяет избежать ситуации, при которой вход и выход АЛУ одновременно подсоеди­нены к одной и той же точке схемы.

8.Регистры общего назначения

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

9.Схемы управления

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

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

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

10.Внутренняя шина данных микропроцессора

Структурная схема микропроцессора показывает, что 8-разрядная вну­тренняя шина данных соединяет между собой АЛУ и регистры, осуществляя передачу данных внутри микропроцессора. Хотя сиг­налы управления и играют жизненно важ­ную роль в процессе передачи данных по вну­тренней шине, тракт их передачи не принад­лежит шине данных.

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

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

Добавить комментарий