Reklama

Микропроцессор. Функциональные блоки микропроцессора

Функциональные блоки микропроцессора

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

По логическим функциям и структуре МП напоминает упрощенный вариант процессора обычных ЭВМ. Кон­структивно он представляет собой одну или несколько БИС или СБИС.

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

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

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

 

 

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

В состав МП (рис. 10.1) входят арифметически-логическое устрой­ство, устройство управления и блок внутренних регистров. 

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

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

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

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

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

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

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

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

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

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

 

 

Регистры стека делятся на стек и указатель стека. Название «стек» происходит от английского слова stack, что в дос­ловном переводе означает штабель (дров), кипа (бумаг) и др. В МП стек представляет собой набор регистров, хранящих адреса команд возврата при обращении к подпрограммам или состояния внутрен­них регистров при обработке прерываний. Этот набор организован таким образом, что слово адреса или данных выбирается по прин­ципу: «вошедший последним — выходит первым». При записи в стек очередного слова все находящиеся в нем слова сдвигаются на один регистр вниз. После выборки слова из стека-оставшиеся слова сдви­гаются на один регистр вверх. Стек может быть выполнен не только на внутренних регистрах МП, составляя его часть, но и находиться в ОЗУ, занимая там выделенную для него зону. В последнем случае стек получается более глубоким, емким, однако для обращения к нему необходим специальный регистр — указатель стека.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Reklama