Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессоры и микроЭВМ. Учебное пособие
.pdf
Министерство науки и образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Тамбовский государственный технический университет»
Д.Ю. МУРОМЦЕВ, Е.Н. ЯШИН
МИКРОПРОЦЕССОРЫ И МИКРОЭВМ
Рекомендовано Учебно-методическим объединением
по образованию в области радиотехники,
электроники, биомедицинской техники и автоматизации
в качестве учебного пособия
для студентов специальности 210201 «Проектирование и технология
радиоэлектронных средств» дневной и заочной форм обучения, бакалавров и
магистров направлений 210200 «Проектирование и технология электронных
средств», 211000 «Конструирование и технология электронных средств»,
210700 «Инфокоммуникационные технологии и системы связи»
Тамбов
Издательство ФГБОУ ВПО «ТГТУ»
2013
1

УДК 004.382.73(075.8)
ББК Á844.1я73
М915
Рецен зе нт ы:
Доктор технических наук, доцент, заведующий кафедрой
ФГБОУ ВПО «ТГТУ»
М.В. Соколов
Кандидат технических наук, доцент
Тамбовского филиала ФГБОУ ВПО «МГУКИ»
В.Н. Точка
Муромцев, Д.Ю.
М915 Микропроцессоры и микроЭВМ : учебное пособие /
Д.Ю. Муромцев, Е.Н. Яшин. – Тамбов : Изд-во ФГБОУ ВПО
«ТГТУ», 2013. – 96 с. – ISBN 978-5-8265-1172-5.
Рассматриваются принципы построения информационно-управляющих и измерительных систем на основе микропроцессоров и микроконтроллеров, а также вопросы создания программного и алгоритмического обеспечения. Теоретические материалы подкреплены практическими примерами на основе реально существующих проектов. Охватываются все этапы создания микропроцессорных систем и необходимые на
каждом этапе информационные и инструментальные средства.
Предназначено для студентов специальности 210201 «Проектирование и технология радиоэлектронных средств» дневной и заочной
форм обучения, бакалавров и магистров направлений 210200 «Проекти-рование и технология электронных средств», 211000 «Конструирование и технология электронных средств», 210700 «Инфокоммуникационные технологии и системы связи», а также студентам других
направлений при изучении дисциплин, в которых затрагиваются вопросы цифровой обработки сигналов.
УДК 004.382.73(075.8)
ББК Á844.1я73
ISBN 978-5-8265-1172-5
© Федеральное государственное бюджетное
образовательное учреждение высшего
профессионального образования
«Тамбовский государственный технический
университет» (ФГБОУ ВПО «ТГТУ»), 2013
2

ВВЕДЕНИЕ
Если остановить первого попавшегося современного человека и
спросить его на понятном ему языке, знает ли он слово микропроцессор,
то окажется, что это понятие знакомо каждому. Однако в ответ на вопрос,
как микропроцессор работает, в большинстве случаев наталкиваемся на
туманное объяснение работы какого-то мистического техногенного устройства. К сожалению, многие выпускники специальностей, непосредственно связанных с электроникой, обладают не большими познаниями в
сфере микропроцессорной техники. Зачастую это связано с тем, что преподнося учебный материал на лекциях или в книгах, не показывается на
конкретных примерах, зачем та или функция процессора нужна и как её
все-таки правильно использовать. Конечно, когда выпускник начинает
заниматься профессиональной деятельностью и решает задачи, связанные
с проектированием микроЭВМ, то его знания, в конечном итоге достигают необходимого высокого уровня. В итоге он сам потом с улыбкой
вспоминает, как не мог на студенческой скамье понять столь простые вещи.
Основная сложность освоения микропроцессорной техники состоит в
том, что квалифицированный специалист в данной области должен не
только хорошо знать схемотехнику и электронику, но и быть программистом достаточно высокого класса. Именно взгляд на микропроцессор глазами программиста позволяет в полной мере оценить возможности и пути
использования его функций и команд. И только потом наступает черёд
схемотехники, когда нужно провести сопряжение конечного устройства с
выводами микропроцессора, либо обеспечить процессор необходимыми
напряжениями и сигналами. Таким образом, изучение микропроцессорной
техники без контекста практического использования приводит к тому, что
после успешной сдачи экзамена уровень остаточных знаний вскоре падает
практически на ноль.
Данное пособие преследует цель раскрыть практическую сторону
использования микропроцессоров и содержит теоретический материал
при подготовке к лабораторным работам студентов.
3

1. ПОНЯТИЕ МИКРОПРОЦЕССОРА И МИКРОЭВМ
1.1. ВОЗМОЖНОСТИ И ПРИМЕНЕНИЕ МИКРОПРОЦЕССОРА
Изучая на начальных курсах аналоговую и цифровую электронику,
студенты знакомятся с построением цифровых комбинационных и последовательных устройств. Исходными данными при проектировании являются таблицы истинности, которые показывают, что должно быть на выходе
устройства в зависимости от состояния входов. С практической точки зрения, эти таблицы определяют состав и соединение между цифровыми
элементами. Увеличение количества входов и выходов вызывает значительное усложнение структуры схемы и количество логических элементов.
Теперь представим, что путем невероятных усилий Вам удалось разработать устройство по заданной таблице истинности и не только разработать, но и даже изготовить и установить в готовое изделие. Прошло
немного времени, и оказалось, что таблицу истинности необходимо немного подкорректировать, допустим, изменить значение в одной ячейке с
1 на 0 (или наоборот). В результате этой «небольшой» коррекции необходимо будет заново провести все этапы разработки схемы и изготовления
печатной платы, при этом конечный облик печатной платы может значительно поменяться. Естественно, что такой подход является, мягко говоря,
не совсем удобным, ведь количество входов и выходов не изменилось, а
изменился только способ их обработки (алгоритм), поэтому необходимо
некоторое универсальное устройство, способное гибко менять свою
структуру в зависимости от требования разработчика. В результате произошло следующее разделение на микропроцессор, который представлял
собой универсальное устройство и «менял» по командам свою структуру
и на алгоритм, который содержал команды для микропроцессора. Теперь,
разработав какое ни будь устройство на микропроцессоре, достаточно
заменить алгоритм его работы, чтобы оно стало работать по-другому без
изменения схемы.
Допустим, разработан будильник на основе микропроцессора, он отлично работает и красиво выглядит, однако за сутки он убегает или отстаёт на несколько секунд (такое возможно при небольшой погрешности частоты кварцевого генератора). Как вариант исправления можно рассмотреть случай подбора кварца, частота которого позволит получить точный
ход будильника, однако это может быть десятый или сотый кварц, и каждый ещё надо впаять и подождать определённое время, чтобы его проверить. Другой вариант состоит в добавлении в программу будильника
функции коррекции хода, когда через равные промежутки времени из показаний хода будильника будет вычитаться или прибавляться значение
коррекции. При этом потребуется заменить лишь содержимое запоминающего устройства.
4

Рис. 1.1. Структурная схема устройства на микропроцессоре
На рисунке 1.1 показана структурная схема устройства на основе
микропроцессора, работа которого рассматривается с позиции чёрного
ящика. После подачи питания происходит запуск генератора, который
производит тактирование микропроцессора. За каждый такт микропроцессор производит определённые действия машинного цикла, который
начинается с подачи на запоминающее устройство (ЗУ) сигнала (адреса)
команды для выполнения и чтения кода этой команды из ЗУ. Затем несколько тактов может уходить на выполнение этой команды, после чего
будет начат новый машинный цикл с подачи запроса в ЗУ на выполнение
следующей команды. Выполнение программы сразу после включения
всегда начинается с одного и того же адреса, обычно равного нулю.
Реализация цифрового устройства на дискретных логических компонентах называется системой на основе жёсткой структуры. Она целиком и
полностью определяется составом и связями между элементами. Если
реализовать это же самое устройство на основе микропроцессора, то оно
будет характеризоваться как структура на основе программируемой логики. Универсальность второй структуры компенсируется высоким быстродействием первой, поэтому в областях цифровой техники, работающих на
высоких частотах, предпочтение отдаётся системам на основе жёсткой
структуры, особенно с появлением программируемых логических интегральных схем (ПЛИС).
Развитие электронной промышленности и успехи микроминиатюризации позволили разместить на одном кристалле микросхемы помимо
микропроцессора ещё множество периферийных устройств, необходимых
для построения микроЭВМ. Периферия таких микросхем довольно обширна и может содержать помимо тактового генератора, таймеров счётчиков, встроенной памяти ещё и аналогово-цифровой преобразователь
(АЦП), интерфейсы различных систем передачи данных (RS-485, CAN,
Ethernet, USB и др.). Такие микросхемы называются микроконтроллерами, и они, по сути, являются уже почти готовыми микроЭВМ.
5

Существует множество определений микроЭВМ. Наиболее общий из
них утверждает, что это устройство, выполненное на основе микропроцессора. Действительно, большинство ЭВМ выполнено с применением
одного и более микропроцессоров, тогда приставка «микро» определяет
как сложность устройства, так и разнообразие его функций. Следовательно, среди множества устройств на микропроцессоре микроЭВМ можно
определить следующим образом: это электронно-вычислительная машина, предназначенная для выполнения ограниченного ряда действий, направленных на выполнение жёстко заданных целей. К такому определению относятся встраиваемые и универсальные устройства, которые зачастую работают без операционной системы под управлением единственной
программы (прошивки). В отличие от персонального компьютера на базе
ЭВМ, микроЭВМ не является такой универсальной, её подсистема вводавывода сильно ограничена, а взаимодействие с человеком может и вовсе
отсутствовать. Обычно назначение микроЭВМ сильно специализировано
и направлено на управление каким-нибудь объектом или процессом.
В качестве примера можно рассмотреть современные телевизор, магнитофон, DVD проигрывать, даже некоторые модели чайников, утюгов и микроволновок. Все эти устройства содержат в своем составе микроЭВМ,
которые образуют посредника между пользователем и исполнительными
устройствами, управляют всеми функциями работы объекта, обеспечивают безопасность и простоту использования.
Даже персональный компьютер состоит из множества микроЭВМ.
Всем известный жёсткий диск управляется встроенной микропроцессорной системой, которая предоставляет внешней системе определённый
цифровой интерфейс. По внешним командам она производит позиционирование головок, чтение и запись информации. Шина USB также ориентирована на сопряжение микропроцессорных систем, так что и флешка
относится к микроЭВМ. Естественно, что производительность элементной базы растёт непрерывно, а, соответственно, и возможности микроЭВМ. Это значит, что все более сложные объекты могут управляться
микропроцессорами, а модернизация существующих переводит на более
высокий качественный уровень.
В состав микропроцессора (рис. 1.2) входят арифметическо-логическое устройство, устройство управления и блок внутренних регистров.
Арифметическо-логическое устройство состоит из двоичного сумматора со схемами ускоренного переноса, сдвигающего регистра и регистров для временного хранения операндов. Обычно это устройство выполняет по командам несколько простейших операций: сложение, вычитание, сдвиг, пересылку, логическое сложение (ИЛИ), логическое умножение (И), сложение по модулю 2.
6
1.2. СОСТАВ МИКРОПРОЦЕССОРА

Рис. 1.2. Структурная схема микропроцессора
Устройство управления (УУ) управляет работой АЛУ и состоянием
внутренних регистров в процессе выполнения команды. Команда делится
на две части: код операции и адрес. В коде операции заключена информация о том, какая операция должна быть выполнена над данными, подлежащими обработке. Адрес указывает место, где расположены эти данные
(в регистрах общего назначения микропроцессора, т.е. во внутренней или
внешней памяти). Команда может состоять из одного, двух или трёх байтов, последовательно расположенных в памяти.
Первый байт команды содержит код операции. Считанный в начале
интервала выполнения команды, называемого циклом команды, её первый
байт поступает по внутренней шине данных в регистр команд, где хранится в течение всего цикла. Дешифратор кода операции дешифрует содержимое регистра команд – определяет характер операции и адреса операндов. Эта информация подаётся в УУ, которое вырабатывает управляющие
сигналы, направляемые в блоки микропроцессора, участвующие в выполнении данной команды.
В том случае, когда код операции непосредственно указывает адрес
данных – объекта обработки, операция начинается сразу после считывания первого байта команды. Если же в команде содержится более одного
байта, то остальные байты, несущие информацию об адресе ячейки памяти, где хранятся данные, передаются либо в буферный регистр адреса,
либо в один из РОН только после завершения всей процедуры считывания
команды или, иначе говоря, после получения полной информации о местонахождении операндов и о том, какая операция должна выполняться,
начинается операция.
Рассмотрим пример выполнения операции сложения двух операндов.
Первый операнд хранится в аккумуляторе, второй в одном из РОН (его
адрес указан в команде), откуда он передаётся в промежуточный регистр.
Согласно коду операции АЛУ суммирует поступающие на его вход байты
7

и выдаёт результат, который фиксируется в аккумуляторе. Этот результат
можно использовать при дальнейших этапах обработки.
Блок внутренних регистров БВР, расширяющий возможности АЛУ,
служит внутренней памятью МП и используется для временного хранения
данных и команд. Он также выполняет некоторые процедуры обработки
информации. Блок внутренних регистров обычно содержит регистры общего назначения и специальные регистры: регистр-аккумулятор, буферный регистр адреса, буферный регистр данных, счётчик команд, стека,
признаков.
Регистры общего назначения (РОН), число которых может изменяться
от 4 до 64, определяют вычислительные возможности МП. Их функция –
хранение операндов. Но могут выполнять также и роль регистров. Все
РОН доступны программисту, который рассматривает их как сверхоперативное запоминающее устройство.
Регистр – аккумулятор («накопитель»), предназначен для временного хранения операнда или промежуточного результата действий, производимых в АЛУ. Разрядность регистра равна разрядности информационного
слова.
Буферный регистр адреса служит для приёма и хранения адресной
части выполняемой команды. Возможное количество адресов определяется разрядностью регистра.
Буферный регистр данных используется для временного хранения
выбранного из памяти слова перед передачей его во внешнюю шину данных. Его разрядность определяется количеством байт информационного
слова.
Счётчик команд содержит адрес ячейки памяти, в которой помеще-
ны байты выполняемой команды.
Регистр команд принимает и хранит код очередной команды, адрес
которой находится в счётчике команд. По сигналу УУ в него передаётся
из регистра хранимая там информация.
Регистры стека делятся на стек и указатель стека. В МП стек – набор регистров, хранящих адреса команд возврата при обращении к подпрограммам или состояние внутренних регистров при обработке прерываний. Стек может быть выполнен не только на внутренних регистрах
МП, составляя его часть, но и находиться в ОЗУ, занимая там отведённую
для него зону. В последнем случае для обращения к нему необходим специальный регистр – указатель стека.
Указатель стека хранит адреса последней занятой ячейки стека, которую называют вершиной. Содержащее в указателе число указывает, где
находится вершина стека. Когда в стек записывается очередное слово, то
число в указателе стека соответственно увеличивается. Извлечение слова
из стека сопровождается, наоборот, уменьшением числа, заполняющего
указатель стека. Кроме такой процедуры предусматривается возможность
8

считывания без разрушений содержимого любой ячейки стека при неизменном числе, хранимом в указателе стека.
Регистр признаков представляет собой набор триггеров-флажков.
В зависимости от результатов операций, выполняемых АЛУ, каждый
триггер устанавливается в состояние 0 или 1. Флажковые биты, определяющие содержимое регистра, индицируют условные признаки: нулевого
результата, знака результата, перевыполнения и т.п. Эта информация, характеризующая состояние процессора, важна для выбора дальнейшего
пути вычислений.
Помимо приведённых типов регистров в микроконтроллерах присутствуют ещё и регистры ввода/вывода, с помощью которых осуществляется взаимодействие с периферийными устройствами, такими как таймеры/счётчики, компараторы, приёмопередатчики, АЦП, порты ввода/вывода и др.
Архитектура микропроцессора (Architecture) – принцип его внутренней организации, общая структура, конкретная логическая структура
отдельных устройств.
Понятие архитектуры микропроцессора включает в себя систему команд и способы адресации, возможность совмещения выполнения команд
во времени, наличие дополнительных устройств в составе микропроцессора, принципы и режимы его работы. Выделяют понятия микроархитектуры и макроархитектуры.
Микроархитектура микропроцессора – это аппаратная организация
и логическая структура микропроцессора, регистры, управляющие схемы,
арифметико-логические устройства, запоминающие устройства и связывающие их информационные магистрали.
Макроархитектура микропроцессора – это система команд, типы
обрабатываемых данных, режимы адресации и принципы работы микропроцессора.
В общем случае под архитектурой ЭВМ понимается абстрактное
представление машины в терминах основных функциональных модулей,
языка ЭВМ, структуры данных.
1. В соответствии с архитектурными особенностями, определяющи-
ми свойства системы команд, различают:
• Микропроцессоры с CISC архитектурой. CISC (Complex Instruc-
tion Set Computer) – компьютер со сложной системой команд. Историче-
ски они первые и включают большое количество команд. Все микропроцессоры корпораций Intel (Integrated Electronics) и AMD (Advanced Micro
Devices) относятся к категории CISC.
1.3. АРХИТЕКТУРА МИКРОПРОЦЕССОРА
9

• Микропроцессоры с RISC архитектурой. RISC (Reduced Instruc-
tion Set Computer) – компьютер с сокращённой системой команд. Упро-
щена система команд и сокращена до такой степени, что каждая инструкция выполняется за единственный такт. Вследствие этого упростилась
структура микропроцессора, и увеличилось его быстродействие.
Пример микропроцессора с RISC-аpхитектуpой – Power PC. Микро-
процессор Power PC начал разрабатываться в 1981 г. тремя фирмами:
IBM, Motorola, Apple.
• Микропроцессоры с MISC архитектурой. MISC (Minimum Instruc-
tion Set Computer) – компьютер с минимальной системой команд. После-
довательность простых инструкций объединяется в пакет; таким образом,
программа преобразуется в небольшое количество длинных команд.
2. Разрядность – максимальное количество разрядов двоичного кода,
которые могут обрабатываться или передаваться одновременно. Современные микропроцессоры построены на 32-х битной архитектуре x86 или
IA-32 (Intel Architecture 32 bit), но совсем скоро произойдёт переход на
более совершенную, производительную 64-х битную архитектуру IA-64
(Intel Architecture 64 bit). Фактически переход уже начался, этому свидетельствует массовый выпуск и выход в продажу в 2003 г. нового микропроцессора Athlon 64 корпорации AMD (Advanced Micro Devices), этот
микропроцессор примечателен тем, что может работать как с 32-х битными приложениями, так и с 64-х битными. Производительность 64-х битных микропроцессоров намного выше.
Разрядность микропроцессора обозначается m/n/k/ и включает:
m – разрядность внутренних регистров, определяет принадлежность
к тому или иному классу процессоров;
n – разрядность шины данных, определяет скорость передачи ин-
формации;
k – разрядность шины адреса, определяет размер адресного про-
странства. (Например, микропроцессор i8088 характеризуется значениями
m/n/k = 16/8/20).
3. Объём адресуемой памяти – максимальный объём памяти, кото-
рый может обслужить микропроцессор. 32-х разрядный микропроцессор
может обслужить 64 Гб (4×109 байт) памяти, а 64-х разрядный микропроцессор может обслужить 64 Тб (64×1012 байт) памяти.
4. Набор дополнительных инструкций (Instruction Set) – применяются
в современных CISC-микропроцессорах и способны значительно ускорить
их работу, естественно, только при условии поддержки данных наборов
со стороны приложения. Все традиционные современные процессоры
поддерживают набор инструкций MMX, который был самым первым
(разработан корпорацией Intel ещё в 1997 г.). MMX расшифровывается
как MultiMedia eXtensions (мультимедийные расширения). Он представил
дополнительные возможности, ориентированные на обработку цифрового
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
