Меню

Что такое аккумулятор микропроцессора

Аккумулятор (регистр процессора)

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

Микропроцессор с аккумуляторной архитектурой или 1-операндная машина отличается тем, что даже если в нём несколько регистров, результат большинства операций сохраняется в специальном регистре, который называется «аккумулятор». Это упрощает как реализацию архитектуры, так и сокращает размеры машинного кода. Исторически практически все первые микропроцессоры были аккумуляторными машинами, и сейчас многие популярные однокристальные микроконтроллеры (68HC12, PIC, 8051) — это аккумуляторные машины.

Современные CPU обычно являются 2-х и 3-х операндными машинами — в которых дополнительные операнды указывают между какими из регистров общего назначения осуществляются вычисления.

Процессор может иметь несколько аккумуляторов: в 8051 имеется два, основной A и вторичный B, причем второй используется при операциях умножения и деления.

См. также

Для улучшения этой статьи желательно ? :

  • Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.

Wikimedia Foundation . 2010 .

Смотреть что такое «Аккумулятор (регистр процессора)» в других словарях:

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

Аккумулятор (значения) — Аккумулятор (лат. accumulator собиратель, от лат. accumulo собираю, накопляю) устройство для накопления энергии с целью её последующего использования. Автомобильный аккумулятор аккумуляторная батарея, используемая на автомобильном… … Википедия

Регистр (вычислительная техника) — Регистр процессора сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора … … Википедия

Регистр (цифровая техника) — У этого термина существуют и другие значения, см. Регистр. 4 х разрядный сдвиговый регистр, преобразователь последовательного кода в параллельный и обратно Регистр последовательное или параллельное … Википедия

Регистр (в вычислит. технике) — 4 х разрядный сдвиговый регистр, преобразователь последовательного кода в параллельный и обратно Регистр последовательностное логическое устройство, используемое для хранения n разрядных двоичных слов (чисел) и выполнения преобразований над ними … Википедия

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

Регистры процессора — Регистр процессора сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора … … Википедия

РОН (электроника) — Регистр процессора сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора … … Википедия

Цифровой сигнальный процессор — (англ. Digital signal processor, DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС) специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе времени) … Википедия

Арифметическо-логическое устройство — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей … Википедия

Источник

Большая Энциклопедия Нефти и Газа

Регистр-аккумулятор

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

Кроме того, устройство содержит еще регистр-аккумулятор ( НОАк), накапливающий результат выполнения операций арифметическо-логическим устройством. Для сокращения числа органов управления информация в ЭВМ вводится в последовательном коде. [3]

Безадресная машина использует стек, одноадресная машина использует регистр-аккумулятор , а оставшиеся две имеют 16 регистров и команды, которые оперируют со всеми комбинациями ячеек памяти и регистров. [4]

При этом, как правило, только этот регистр-аккумулятор может участвовать во всех операциях, только через него может производиться взаимодействие с устройствами ввода / вывода. Например, в процессоре 8086 регистр данных АХ можно считать своеобразным аккумулятором, так как именно он обязательно участвует в командах умножения и деления, а также только через него можно пересылать данные в устройство ввода / вывода и из устройства ввода / вывода. Выделение специального регистра-аккумулятора упрощает структуру процессора и ускоряет пересылки кодов внутри процессора, но в некоторых случаях замедляет работу системы в целом, так как весь поток информации должен пройти через один регистр-аккумулятор. В случае, когда несколько регистров процессора полностью взаимозаменяемы, таких проблем не возникает. [6]

Микропроцессор в основном состоит из таких регистров, как регистр-аккумулятор , регистры общего назначения и регистр команд. В микро — ЭВМ, обрабатывающей слова длиной 8 бит, эти регистры содержат каждый по восемь триггеров, что и создает возможность хранения 8-битных слов. [7]

В состав микропроцессора входят: арифметико-логическое устройство, схема управления и синхронизации, регистр-аккумулятор , сверхоперативное запоминающее устройство, программный счетчик, адресный стек, регистр команд и дешифра-юр м1 ий операции. [8]

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

Следующие поля обеспечивают соединение входа ячейки R2 с выходом предыдущей ячейки R1 и выходом АЛУ I, входа ячейки Ml с выходом предыдущей ячейки МО и выходом регистра S, запись переноса в ячейку L и выходного сигнала АЛУ 2 в регистр-аккумулятор . [10]

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

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

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

Регистры-аккумуляторы используются для временного хранения операндов и результатов операций над числами. Кроме того, регистры AGO, AC1, АС2, АСЗ применяются для информационного обмена между ППЗ, с одной стороны, и РОНами микропроцессора или основной памятью, с другой стороны. Каждый регистр-аккумулятор имеет 64 бит, причем в операциях над 32-битовыми числами используются лишь старшие 32 бит аккумулятора. [14]

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

Источник

Аккумулятор (регистр процессора)

  • Аккумулятор (регистр процессора) — регистр процессора, в котором сохраняются результаты выполнения арифметических и логических команд. Кроме регистра-аккумулятора результаты работы команд могут сохраняться в регистрах общего назначения или в оперативной памяти.

Микропроцессор с аккумуляторной архитектурой или 1-операндная машина отличается тем, что даже если в нём имеется несколько регистров, результат большинства команд сохраняется в специальном регистре, называемом «аккумулятором». Это упрощает реализацию архитектуры и уменьшает размеры машинного кода. Исторически практически все первые микропроцессоры были аккумуляторными машинами, и в настоящее время многие популярные однокристальные микроконтроллеры (68HC12, PIC, 8051) являются аккумуляторными машинами.

Современные процессоры, обычно, являются 2-х и 3-х операндными машинами, то есть машинами, в которых источники и приёмники данных (регистры, память) указываются с помощью дополнительных операндов команд.

Процессор может иметь несколько аккумуляторов: в процессоре 8051 имеется два, основной A и вторичный B, причём второй используется при операциях умножения и деления.

Буква «A» от «accumulator» сохранилась в названии регистров AX, EAX, RAX.

Связанные понятия

Упоминания в литературе

Связанные понятия (продолжение)

Не путайте с ECC памятью, хотя регистровые модули всегда используют ECC.Регистровая память (англ. Registered Memory, RDIMM, иногда buffered memory) — вид компьютерной оперативной памяти, модули которой содержат регистр между микросхемами памяти и системным контроллером памяти. Наличие регистров уменьшает электрическую нагрузку на контроллер и позволяет устанавливать больше модулей памяти в одном канале. Регистровая память является более дорогой из-за меньшего объема производства и наличия дополнительных.

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

Читайте также:  Сколько времени заряжать аккумулятор шуруповерта 12в

AMP или ASMP (от англ.: Asymmetric multiprocessing, рус.: Асимметричная многопроцессорная обработка или Асимметричное мультипроцессирование) — тип многопроцессорной обработки, который использовался до того, как была создана технология симметричного мультипроцессирования (SMP); также использовался как более дешевая альтернатива в системах, которые поддерживали SMP.

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

Источник

Что такое аккумулятор микропроцессора

Внутреннее строение микропроцессора (Лекция)

Внутреннее строение микропроцессора

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

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

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

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

Согласно структурной схеме микропроцессор состоит из трех основных блоков: АЛУ, нескольких регистров и устройства управления. Для передачи данных между этими блоками микропроцессора используется внутренняя шина данных.

АЛУ выполняет одну из главных функций микропроцессора – обработку данных. В соответствии со структурной схемой АЛУ имеет два входных порта и один выходной. Назначение входного порта – ввод данных в АЛУ, а выходного – вывод такого слова. Как правило, такие схемы имеют один или несколько входных портов и единственный выходной. Входные порты снабжены буферами, роль которых выполняют регистры временного хранения данных (буферные регистры). Каждый порт соединен со своим буферным регистром, способным хранить для АЛУ одно слово данных. Два входных порта позволяют АЛУ принимать данные или с внутренней шины данных МП, или из специального регистра, именуемого аккумулятором. Единственный выходной порт АЛУ предоставляет последнему возможность пересылать слово данных в аккумулятор.

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

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

АЛУ необходимо использовать в тех случаях, когда требуется изменить или проверить значение слова данных. Перечень функций АЛУ зависит от типа МП. Функции АЛУ определяют архитектуру микропроцессора в целом. Типичными операциями, выполняемыми АЛУ большинства микропроцессоров, являются следующие: сложение, вычитание, И, ИЛИ, исключающее ИЛИ, НЕ, сдвиг вправо, сдвиг влево, приращение положительное, приращение отрицательное.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как обновить псп без аккумулятора

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Число разрядов регистра команд зависит от типа МП: иногда оно совпадает с числом разряда слова данных, в других случаях меньше.

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

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

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

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

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

Как отмечалось ранее, при выполнении операций АЛУ разрядам регистра состояния присваиваются единичные значения. Типичным примером таких операций являются арифметические, при реализации которых возможно генерирование единичного бита переноса, формирование нулевого результата (двоичных нулей во всех разрядах) или и то, и другое одновременно. Так, если при сложении двух 8-битовых чисел получается результат больше, чем 1111 1111, то появляется единичный бит переноса, который в свою очередь устанавливает в 1 одноименный разряд регистра состояния.

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

Рассмотрим еще два примера:

В первом примере переноса нет и значение соответствующего разряда регистра состояния равно 0, во втором примере имеет место и перенос (бит переноса равен 1), и признак отрицательного результата (бит отрицательного результата равен 1).

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

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

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

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

3. Проверить, равно ли единице значение разряда нулевого результата в регистре состояния.

4. Если нет, возвратиться к выполнению шага 2.

5. Если да, прекратить действия.

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

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

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

Читайте также:  Аккумулятор для sony ericsson m600i

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

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

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

Не все разряды регистра состояния используются МП. В неиспользуемые разряды регистра состояния обычно «навсегда» записываются двоичные единицы. Применительно к МП, рассматриваемому нами, слово состояния – содержимое одноименного регистра – имеет только три используемых разряда. Пять младших разрядов 8-разрядного слова имеют постоянные единичные значения. В результате содержимое регистра состояния может быть загружено во внутреннюю шину данных МП, однако регистр состояния не имеет возможности принимать данные, поступающие по шине. Как следствие этого, если, например, записываемый в аккумулятор результат операции –положительное число без переноса, то слово состояния равно 00011111. Если же результат операции – отрицательное число без переноса, то в регистре состояния формируется число 01011111.

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

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

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

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

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

Все МП имеют 6 основных регистров. Кроме того, МП располагают регистрами, предоставляемыми в распоряжение пользователей. Эти регистры получили название регистров общего назначения. В некоторых МП они служат в качестве запоминающих устройств, в других функциональные возможности этих регистров не уступают возможностям аккумулятора. Последнее достигается в том случае, если АЛУ может помещать в них данные. Гипотетический МП, рассматриваемый нами, имеет три регистра общего назначения: B , C , D . Поскольку в нашем случае АЛУ не помещает данные в эти три регистра, последние не обладают функциональными возможностями аккумулятора. Тем не менее при выполнении многих команд используются эти регистры общего назначения.

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

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

Следует помнить, что регистры В и С в любое время могут функционировать и как независимые регистры. Таким образом, регистры В и С можно использовать совместно или раздельно, а регистр D всегда выступает в роли отдельного 8-разрядного регистра.

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

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

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

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

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

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

Внутренняя шина данных МП

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

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

1. В исходном состоянии в аккумуляторе находится двоичное число 11011010, в регистре – число 11011110 (Рис.10.1), причем ни один из этих регистров не соединен ни с каким другим функциональным узлом МП. В регистре команд содержится код команды ADD (сложение). (В регистре состояния 0 Z 0 N 0 C ).

2. содержимое аккумулятора загружается в соединенный с ним буферный регистр (буфер аккумулятора). Данные, размещенные в регистре D , подаются на внутреннюю шину данных МП. Другой буферный регистр АЛУ, подключенный к этой шине загружается копией данных из регистра D (рис. 10.2.). В течении этого периода времени только регистр D и буферный регистр используют внутреннюю шину данных. Выходы обоих буферных регистров активируют работу входных портов АЛУ. (Буфер аккумулятора — 11011110, регистр состояния 0 Z 0 N 0 C , регистр команд ADD ).

3. Инициализируется работа АЛУ по сложению данных, поступивших на его входы. через выходной порт, подключенный к аккумулятору, результата сложения помещается в последний (рис.10.3.). Следует обратить внимание, что в результате сложения указанных чисел два разряда состояния принимают единичное значение – переноса и знаковый:

Источник

Adblock
detector