АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. I. Внутреннее государственное устройство само по себе
  2. II. Построение характеристического графика часовой производительности.
  3. MathCad: построение, редактирование и форматирование графиков в декартовой системе координат.
  4. Toxoplasma gondii. Строение, цикл развития, пути заражения, меры.
  5. V. Построение одного тренировочного занятия
  6. А. Внутреннее государственное право
  7. Авт. Андриевский М.И. «Судостроение», 1977. Монография
  8. Алгоритм 2.1. Построение выходной таблицы, столбиковой диаграммы и кумуляты
  9. Анатомическое строение
  10. Анатомическое строение брюшной полости
  11. Анатомическое строение верхней челюсти и пограничных костей.
  12. Анатомическое строение зубов

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

 

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

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

Изображенный на этом рисунке 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 происходит не только при отрицательном приращении содержимого регистра, но и при любой другой операции, результат которой – число из двоичных нулей.

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 (сложение). (В регистре состояния 0Z0N0C).

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

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

 
 

4. Вход аккумулятора и выходной порт АЛУ отключается от внутренней шины данных. Результат операции – искомая сумма – находится в аккумуляторе (рис.10.4.). Шина свободна для других операций.

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


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.037 сек.)