Главная »  Микропроцессорная технология 

1 2 3 4 5 ... 16

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

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

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

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

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

Арифметическо-логическое устройство (АЛУ), служащее ядром микропроцессора, как правило, состоит из двоичного сумматора со схемами ускоренно-

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

Управляющее устройство

К внешней шине управления (ШУ)

£ 1

м

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

Блок внутренних регистров

К внешней К внешней шине

шине данных (ШД) адреса (ША)

Рис. 1.3



го переноса, сдвигающего регистра н ретистров для времеиного хранения операндов. Обычно это устройство выполняет по командам несколько простейших операций: сложение, вычитание, сдвиг, пересылку, логическое сложение (ИЛИ), логическое умножение (И), сложение по модулю 2.

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

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

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

Операндом называют число нлн символ, участвующие в машинной операции. Так, в выражении у=а+Ь нлн w = 2-1 операнды - это а,Ь, 2, k, 1. Типичным примером операнда, используемого при процедуре обработки данных микропроцессором, служит байт.

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

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

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

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



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

Буферный регистр адреса - специальный регистр, служащий для приема и хранения адресной части исполняемой команды. Иначе говоря, в нем содержится до выдачи а адресную шину адрес слова, хранимого в ячейке внешней памяти или другом регистре. Возможное количество адресов, т. е. непосредственно адресуемых слов памяти, определяется разрядностью этого регистра. Так, в 16-разрядном регистре можно, изменяя нули и единицы отдельных разрядов двухбайтового слова, поместить (разумеется, не одновременно) 2 = 65 536 адресов ячеек (слов) памяти.

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

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

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

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



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

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

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

Мы ознакомились с основными частями микропроцессора. Теперь коснемся вопроса о связи между ними. Как видно из рис. 1.3, для структуры микропроцессора характерно наличие внутренней шины данных, соединяющей между собой его основные части. Шиной называют группу линий передачи информации, объединенных общим функциональным признаком. В микропроцессорной системе используются три вида шин: данных, адресов и управления. О них речь идет в § 1.6.

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

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



Вход 1

С

Вход N

Мульти -плексор

Выход

Управляющий

(селектирующий)

Рис. 1.4

Демульти-

1/ плексор

Выход 1

Выход N

Управляющий

(селектирующий!

использования канала передачи большим числом абонентов с разделением во времени средств управления обменом.

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

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

Обработка данных. Рассмотрим процедуру обработки данных, хранимых во внутренней памяти микропроцессора. Для этого необходима более подробная структурная схема, чем изображенная иа рис. 1.3. На ее основе в соответствии с изложенными назначением узлов структурной схемы, составом блока внутренних регистров и выполняемых ими функций, а также характеристикой цепей взаимодействия узлов построена детальная структурная схема (рис. 1.5). Хотя эта схема и не лишена упрощений, она достаточно хорошо отражает организацию 8-разрядного однокристального микропроцессора (примерно такую структуру имеет микропроцессор КР580ИК80А).

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

Все арифметические и логические операции осуществляет 8-разрядное АЛУ, расположенное в верхней правой части рис. 1.5 (числа разрядов АЛУ и всех регистров указаны в скобках рядом с названиями блоков). На первый вход АЛУ подается байт из 8-разрядного аккумулятора, а иа второй вход поступает байт из 8-разрядного промежуточного регистра (в некоторых книгах этот регистр назван ТЕМ регистром - от англ. слов temporary storage - временная память). Результат сложения указанных двух байтов передается с выхода АЛУ через внутреннюю шину данных в аккумулятор. Это одноадресная организация микропроцессора микро-ЭВМ. Для нее характерно то, что один из операндов, участвующих в обработке, всегда находится в аккумуляторе, адрес



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

В правой нижней части рис. 1.5 изображены восемь РОН, а также указатель стека, счетчик команд и буферный регистр адреса (стековый регистр

Q. > о с

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

Дешифратор кода операции

Управляющее устройство

ООО о

К внешней шине управления

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

Аккумулятор (8)

Промежуточ- у\. ный регистр \ (8)

Мультиплексор

Регистр w

Регистр z

ш о

Регистр в

Регистр С

l. о) О.

Регистр d

Регистр е

о. о

Регистр Я

Регистр l

с; <и

о

Указатель стека (16)

Счетчик команд (16)

Буферный регистр даннь1Х

Буферный регистр

адреса (16)

К внешней шине данных

К внешней шине адреса



на рисунке отсутствует, так как стек представляет собой определенную зону внешней памяти -ОЗУ). Первые два РОИ-репнстры W и Z - предназначены для кратковременного хранения данных во время выполнения команды (эти регистры недоступны программисту), остальные шесть РОИ - регистры В, С, D, Е, Н -я L - служат ячейками виутреняен памяти, называемой часто сверхоперативным запоминающим устройством (СОЗУ). В них хранятся операнды, подлежащие обработке в АЛУ, результаты обработки данных, выполненной АЛУ, и управляющие слова. В каждом регистре помещается одни байт. Обращение к РОН - адресное. Попарное расположение регистров В я С, D п Е, Н и L дает возможность проводить обработку двухбайтовых слов, называемую обработкой удвоенной точности . Обмен данными с РОН (считывание и запись информации) осуществляется через мультиплексор, причем требуемый регистр Выбирается с помощью селектора регистров по сигналу УУ.

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

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

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

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

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



КР580ИК30А

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

Выводы из корпуса микропроцессора и их назначение. Кратко опишем систему выводов, выбрав в качестве примера универсальный 8-разрядный микропроцессор КР580ИК80А. У него 40 выводов. Они, как это видно из рис. 1.6, распределены следующим образом: три вывода соединяются с зажимами источников питания, один вывод - корпус микросхемы (выводы и, 20, 28 и 2 на рисунке не показаны), два вывода (Ф1 и Фг) служат для подключения к выходным зажимам генератора тактовых импульсов, восемь выводов (O0...-D7)-линии внутренней шины данных, 16 выводов (Л0...Л15) соединяются с линиями адресной шины и Рт; ] g десять выводов, связанных с устройством

управления микропроцессора, служат для подключения к линиям внешней шины управления. Расшифруем обозначения этих выводов: П - разрешение приема информации с внешней шины, В - признак выдачи информации на внешнюю шину, R (Уст.) - перевод БИС в исходное состояние (установка), Г - признак готовности внешнего устройства к обмену информацией, ЖД - признак ожидания микропроцессором готовности внешнего устройства к обмену информацией, Зх - запрос внешними устройствами допуска к шинам данных и адреса (требование захвата шин), ПЗх - признак допуска внешнего устройства к шинам данных и адреса (подтверждение захвата), ЗПр -запрос внешних устройств об обслуживании их микропроцессором (запрос о возможности прерывания), РПр - разрешение на обслуживание микропроцессором внешнего устройства (разрешение на прерывание), С - синхронизация. Общее обозначение микропроцессора - CPU (от англ. слов Central Processor Unit - центральный процессор).

1.6. МИКРОПРОЦЕССОРНАЯ СИСТЕМА

ПЗх ЖД Шр R

21 24 16 17

В

С

Г

ЗПр

31 32

33 34

Ds Об

35 1

40 37 38

А Ais

Согласно приведенному в § 1.3 определению микропроцессорная система - это собранная в единое целое совокупность взаимодействующих БИС микропроцессорного комплекта (иногда дополненная БИС из других комплектов),




Интерфейс вывода

Рис. 1.7

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

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

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

Основная память системы (внешняя по отношению к микропроцессору) состоит из ПЗУ и ОЗУ.

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

Помимо ПЗУ используются также ППЗУ и РППЗУ.

Программпруе.иое постоянное запоминающее устройст-в о (ППЗУ) отличается от ПЗУ тем, что пользователь может самостоятельно запрограммировать ПЗУ (ввести в него программу) с помощью специального



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

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

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

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

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

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

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




1 2 3 4 5 ... 16



Как выбрать диван



История мебели



Стили кухонной мебели



Публикации



Инверторы



Приемники