Архитектура МП. Лекции внутреннее построение микропроцессора Арифметикологическое устройство (алу)
Скачать 61.5 Kb.
|
Архитектура МП (Лекция) ПЛАН ЛЕКЦИИ 1. Внутреннее построение микропроцессора 2. Арифметико-логическое устройство (АЛУ) 3. Регистры МП 4. Аккумулятор 5. Счетчик команд (Program Counter (РС) - программный счётчик) 6. Регистр адреса памяти (регистр адреса) 7. Регистр команд 8. Регистр состояния 9. Буферные регистры АЛУ 10. Регистры общего назначения (РОН) 11. Указатель стека (Stack Pointer - (SP)) 12. Схема управления 1. Внутреннее построение микропроцессора Потребитель, воспринимает МП как нечто цельное, имеющее внешние потребительские свойства, заложенные в его архитектуру. Архитектура МП – функциональные возможности аппаратных средств МП, используемые для представления данных, машинных операций, описания алгоритмов и процессов вычислений. С точки зрения пользователя-программиста под архитектурой МП в общем случае понимают совокупность следующих компонентов и характеристик: 1) разрядность адресов и данных; 2) состав и назначение программно-доступных регистров; 3) формат и система команд; 4) режим адресации памяти; 5) способы машинного представления данных разного типа; 6) структура адресного пространства; 7) способы адресации внешних устройств и средств выполнения операций ввода-вывода; 8) классы прерываний, особенности инициирования и обработки прерываний. Какими бы ни были рассматриваемые МП, касающаяся их информация содержит много общего. Типовая документация содержит информацию о структуре ИС, схеме выводов ИС и назначение каждого из них. Схематизируется архитектура МП, описываются его основные свойства. Одновременно даются временные диаграммы и состав команд МП. Структурная схема МП даёт наглядное представление о его архитектуре и позволяет рассмотреть работу МП по выполнению двух основных функций: обработке и манипулированию данными. Использование структурной схемы МП существенно облегчает понимание того, как МП решает поставленные задачи. Рассмотрим структурную схему, представленную на рисунке 1. Изображённый 8-разрядный МП приведен в качестве типичного примера и не является какой-либо конкретной моделью, выпускаемой промышленностью. Структурная схема МП даёт наглядное представление о его архитектуре и позволяет рассмотреть работу МП по выполнению двух основных функций: обработке и манипулированию данными. Рис. 1. Структурная схема 8-разрядного МП Использование структурной схемы МП существенно облегчает понимание того, как МП решает поставленные задачи. Рассмотрим структурную схему представленную на рис. 1 МП состоит из трёх основных блоков: АЛУ, нескольких регистров и устройства управления. Для передачи данных между этими блоками МП используется внутренняя шина данных. Поясним назначение отдельных элементов структурной схемы. 2. Арифметико-логическое устройство (АЛУ) АЛУ выполняет обработку данных. Типичными операциями, выполняемыми АЛУ являются сложение, инвертирование, сдвиг, а также операции инкремента и декремента. АЛУ содержит два входных порта и один выходной порт. Оба входных порта снабжены буферами, роль которых выполняют регистры временного хранения данных – буферные регистры. В конечном итоге АЛУ выполняет все арифметические и логические операции. Каждый порт соединён со своим буферным регистром, способным хранить для АЛУ одно слово данных. АЛУ принимает данные или с внутренней шины данных МП, или из специального регистра, именуемого аккумулятором. Единственный выходной порт АЛУ пересылает слово данных в аккумулятор. АЛУ оперирует одним или двумя словами в зависимости от вида выполняемой операции. Схема десятичной коррекции позволяет производить операции десятичной арифметики. Точнее, позволяет выполнять обработку данных, представленных в двоично-десятичной системе счисления. 3. Регистры МП Регистры являются важной составной частью любого МП. Количество и назначение регистров в МП зависит от его архитектуры. Однако все МП имеют шесть основных регистров: состояния, буферные, команд, адреса памяти, счетчик команд и аккумулятор. Остальные регистры предназначены для упрощения работы программиста. В процессе ознакомления с каждым из основных регистров следует обращать внимание на то, какое влияние оказывает именно этот регистр на данные, проходящие через МП. Некоторые основные регистры не используются в качестве средства программирования. Это объясняется не их физическим отсутствием, а тем, что программисту не предоставляются средства изменения содержимого этих регистров. Понимание влияния каждого основного регистра на поток данных в МП позволяет получить правильное представление о его функционировании. 4. Аккумулятор Аккумулятор – главный регистр МП при различных манипуляциях с данными. Для выполнения любой операции над данными прежде всего их необходимо поместить в аккумулятор. Данные поступают в него с внутренней шины данных МП. В свою очередь аккумулятор может посылать данные на эту шину. На пути прохождения данных из аккумулятора в АЛУ находится буфер аккумулятора. Большинство арифметических и логических операций осуществляется путём использования АЛУ и аккумулятора. Любая из таких операций над двумя словами данных предполагает размещение одного из них в аккумуляторе, а другого в памяти или в каком-либо регистре. Результат операции АЛУ размещается в аккумуляторе. При этом исходное содержимое аккумулятора теряется. Количество разрядов аккумулятора соответствует разрядности шины данных МП, т.е. 8 бит. Некоторые МП имеют аккумуляторы двойной длины или группу аккумуляторов. 5. Счетчик команд (Program Counter (РС) - программный счётчик) Для корректного выполнения программы её команды должны поступать в строго определённом порядке. Счетчик команд следит за тем, какая команда выполняется, а какая подлежит выполнению следующей. Счетчик команд содержит адрес ячейки памяти следующей для выполнения команды. Для МП адресующихся к памяти объёмом 64 кбайта число разрядов счетчика команд равно 16. Счетчик команд (РС) соединён с внутренней шинной данных МП. Теоретически этот регистр может получать данные об адресах программы из любого блока МП, подключенного к внутренней шине. Однако в действительности данные поступают в счетчик команд из памяти ЭВМ. Для правильного понимания излагаемого отметим следующее. После извлечения команды из памяти МП автоматически даёт приращение содержимому счетчика команд. Это приращение СК получает как раз в тот момент, когда МП начинает выполнять команду, только что извлеченную из памяти. С этого момента СК указывает, какой будет следующая команда. СК содержит адрес следующей выполняемой команды на протяжении всего времени выполнения текущей команды. Перед выполнением программы СК загружается адресом ячейки памяти, содержащей первую команду программы. 6. Регистр адреса памяти (регистр адреса) При каждом обращении к памяти ЭВМ регистр адреса памяти указывает (содержит) адрес ячейки памяти, которая подлежит использованию МП. Регистр адреса памяти содержит двоичное число – адрес области памяти. Выход этого регистра называется адресной шиной. В течение выборки команды из памяти регистр адреса памяти и счетчик команд имеют одинаковое содержимое, то есть регистр адреса памяти указывает местоположение команды извлекаемой из памяти. После декодирования команды счетчик команд получает приращение, а регистр адреса памяти приращения не получает. При выполнении команды содержимое регистра адреса памяти зависит от выполняемой команды. Если МП должен произвести ещё одно обращение к памяти, то регистр адреса памяти подлежит вторичному использованию при обработке команды. Для некоторых команд адресация к памяти не требуется. При обработки таких команд регистр адреса памяти используется только один раз - в течении подцикла выборки команды из памяти. Регистр адреса памяти располагает количеством разрядов, достаточным для адресации любой области памяти ЭВМ. Для памяти 64 кбт-16 разрядов. 7. Регистр команд В ходе извлечения команды из памяти её первый байт (КОП) передаётся в 8-разрядный регистр команд. Содержимое регистра доступно тогда дешифратору команд. Регистр команд предназначен исключительно для хранения текущей выполняемой команды. Эта функция реализуется МП с начала цикла выборка-выполнение, называемый также машинным циклом. Регистр команд соединён с внутренней шиной данных, однако он может только принимать данные – посылать данные на шину он не может. При извлечении команды из области памяти копия команды помещается на внутреннюю шину данных и пересылается в регистр команд. Далее дешифратор команд считывает содержимое регистра команд, сообщая МП что делать для реализации операций команды. 8. Регистр состояния Наличием регистра состояния подлинная ЭВМ отличается от калькулятора. Данный регистр предназначен для хранения результатов некоторых проверок состояния аккумулятора, осуществляемых в процессе выполнения программы. Регистр состояния содержит пять одноразрядных индикаторов, содержимое этих индикаторов используется условными ветвлениями программ. На рис. 2 показаны разряды регистра состояния. Этот регистр ещё называют регистром признаков. Бит CY указывает, что последняя выполненная операция сопровождалась переносом или заёмом. Значение разряда переноса устанавливается равным 1, если в результате сложения двух чисел имеет место перенос из 8-го разряда результата. Отрицательный перенос фиксируется в бите CY при вычитании большего числа из меньшего. Бит нулевого результата Z принимает единичное значение, если после окончания операции во всех разрядах результата обнаружены двоичные нули. В противном случае бит Z содержит нуль. Знаковый бит S принимает единичное значение, когда старший значащий бит результата становится равным 1. При выполнении арифметических операций с числами в дополнительном коде единичное значение старшего бита показывает, что получено отрицательное число. Бит четности Р поверяет число единиц в аккумуляторе. Если это число четное то в бите P устанавливается 1, если число нечетное – бит Р сбрасывается в 0. Бит вспомогательного переноса АС показывает перенос из третьего разряда аккумулятора в четвёртый. Работает аналогично индикатору CY. Значение этого бита используют команды десятичной арифметики. Не все разряды регистра состояния используются МП. В неиспользуемых 8-разрядах постоянно записаны двоичные единицы или нули. Слово состояния МП – это содержимое регистра состояния. Содержимое регистра состояния может быть загружено во внутреннею шину данных МП. Однако он не имеет возможности принимать данные, поступающие по шине. 9. Буферные регистры АЛУ Буферные регистры предназначены для временного хранения одного слова данных. Один из этих регистров называется буфером аккумулятора АЛУ. В оба буферных регистра данные поступают с внутренней шины данных МП. В буфер аккумулятора данные могут поступать и с выхода аккумулятора. Необходимость в таких регистрах вызвана отсутствием в АЛУ своего запоминающего устройства. В состав АЛУ включены только комбинационные схемы и поэтому при поступлении исходных данных на входы АЛУ немедленно появляется результат на его выходе. Результат помещается в аккумулятор. Комбинационные операции – операции, при которых информационные сигналы на выходах операционного блока представляют собой некоторую функцию входных сигналов и существуют до тех пор, пока поданы на входы операционного блока входные сигналы. Работа АЛУ без регистров временного хранения данных невозможна. Когда в арифметической или логической операций АЛУ участвуют два слова данных, одно из них из аккумулятора. Результат подобной операции помещается в аккумулятор. Буфер аккумулятора позволяет избежать ситуации, при которой вход и выход АЛУ одновременно подсоединены к одной и той же точке схемы. Буферные регистры недоступны для программирования. 10. Регистры общего назначения (РОН) В некоторых МП РОН служат в качестве запоминающих устройств, это позволяет повысить быстродействие микро-ЭВМ за счет сокращения пересылок кодов между МП и памятью. В некоторых МП функциональные возможности этих регистров не уступают возможностям аккумулятора. Последнее достигается в том случае, если АЛУ может помещать в них данные. Регистры общего назначения BC, DE, HL могут быть использованы как шесть 8-разрядных или три 16-разрядные пары регистров в зависимости от текущей выполняемой команды. Выборка команд длиной 2 и 3 байт производится с участием регистров W и Z. Первый байт команды заносится в регистр команд, второй - в регистр W, а третий - в регистр Z. Регистры W и Z программно недоступные. Пара HL обычно используется для указания адреса. Остальные РОН являются регистрами хранения данных. В нашем случае АЛУ не помещает данные в РОН, поэтому они не обладают возможностями аккумулятора. РОН представляет собой сверхоперативную память МП. 11. Указатель стека (Stack Pointer - (SP)) Указатель стека (SP) представляет 16-разрядный регистр, который содержит адрес последнего помещенного в стек байта. Указатель стека декрементируется при каждом помещении в стек и инкрементируется при каждом извлечении из него. Стек – это область памяти, специально выделяемая для временного хранения данных программы. Отличительной особенностью стека является особая организация обращения к нему со стороны МП. Запись и чтение данных в стеке осуществляется в соответствии с принципом LIFO (Last In First Out) – «последним пришел, первым ушел». Таким образом, информация в стеке размещается в строгой последовательности – ячейка памяти, заполненная последней, считывается первой, а ячейка памяти заполненная первой извлекается последней. В ячейки стека информация заносится последовательно и извлекается в порядке обратном порядку занесения. Таким образом, стек функционирует как память с последовательным доступом. По мере записи данных в стек он растёт в сторону младших адресов. Эта особенность заложена в алгоритм команд работы со стеком. Концептуальная схема организации стека показана на рисунке. Стек предназначен для обработки прерываний и программ. При записи слова данных в ячейку стека значение адреса в указателе стека уменьшается на единицу, а при считывании данных увеличивается на единицу. Стек выполняется на некоторой выделенной области ОЗУ. В этом случае стек представляет память с последовательным доступом. Обращение и адресация к стеку производится через регистр указателя стека. Стек на внутренних регистрах МП более быстродействующий, но из-за малого числа регистров, имеющихся в МП, не обеспечивается большая глубина вложения данных. Поэтому стеки большинства МП размещаются в памяти. Вершиной стека называется адрес его последней загруженной ячейки памяти. Таким образом, указатель стека всегда содержит адрес его вершины. Начало стека в ОЗУ (его дно) определяется программистом путём записи в регистр SP адреса первой ячейки памяти стека. Вершина стека подвижна и её расположение определяется объёмом данных, загруженных в стек. Стек не имеет ограничений, за исключением тех, которые обусловлены наличием других программ в ОЗУ. 12. Схема управления Схема управления состоит из дешифратора команд и устройства управления и синхронизации. Одна из главных функций схемы управления – декодирование команды. Для этого служит дешифратор команд. Он декодирует команду, находящуюся в регистре команд и выдаёт сигналы, необходимые для выполнения команды, в устройство управления. Основу устройства управления МП составляют программируемые логические матрицы (ПЛМ). Дешифратор анализирует отдельные биты команды и передаёт код операции в устройство управления. Устройство управления получает сигналы от дешифратора команд для определения природы выполняемой команды. Устройство управления получает также информацию от регистра состояния в случае условного перехода. Сигналы управления и синхронизации передаются во все блоки МП для координации выполнения команд и управления внешними устройствами (ОЗУ, ПЗУ, УВВ). Устройство управления связано с генератором тактовых импульсов, синхронизирующим во времени работу МП. Принимаемые тактовые сигналы схемой управления преобразуются в многофазные синхросигналы. В качестве ГТИ используют кварцевый генератор – внешний или внутренний, встроенный в МП. |