Микропроцессорные устройства

Автор работы: Пользователь скрыл имя, 11 Января 2014 в 17:55, курс лекций

Краткое описание

Работа содержит конспекты лекций по дисциплине "Микропроцессорные устройства".

Вложенные файлы: 1 файл

mikroprocessornye_ustroistva.doc

— 3.69 Мб (Скачать файл)

 

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

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

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

 

3.8 Регистр состояния

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

      На рис. 2 показаны разряды регистра состояния. Этот регистр ещё называют регистром признаков.

 

S

Z

0

AC

0

P

1

CY


                                                                                                               Бит переноса


                                                                                                            

                                                                                                            Бит четности

 

                                                                  Бит вспомогательного переноса

 

                                                                         Бит нулевого результата

                                                                           

                                                               Бит отрицательного результата

 

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

     Пример:               

                   11101110

                   11110000

                 111011110


                                     результат

     перенос                

 

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

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

                   11011110

                   11011010


                 110111000


                          результат отрицательный

    перенос

 

Бит четности Р поверяет число единиц в аккумуляторе. Если это число  четное то в бите P устанавливается 1, если число нечетное – бит Р сбрасывается в 0.

Бит вспомогательного переноса АС показывает перенос из третьего разряда аккумулятора в четвёртый. Работает аналогично индикатору CY. Значение этого бита используют команды десятичной арифметики.

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

 

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

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

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

 

3.10 Регистры общего  назначения (РОН)

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

Регистры общего назначения BC, DE, HL могут быть использованы как шесть 8-разрядных или три 16-разрядные пары регистров в зависимости от текущей выполняемой команды. Выборка команд длиной 2 и 3 байт производится с участием регистров W и Z. Первый байт команды заносится в регистр команд, второй - в регистр W, а третий - в регистр Z. Регистры W и Z программно недоступные. Пара HL обычно используется для указания адреса. Остальные РОН являются регистрами хранения данных. В нашем случае АЛУ не помещает данные в РОН, поэтому они не обладают возможностями аккумулятора. РОН представляет собой сверхоперативную память МП.

 

3.11 Указатель стека  (Stack Pointer - (SP))

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

 

      Стек – это область памяти, специально выделяемая для временного хранения данных программы. Отличительной особенностью стека является особая организация обращения к нему со стороны МП. Запись и чтение данных в стеке осуществляется в соответствии с принципом LIFO (Last In First Out) – «последним пришел, первым ушел». Таким образом, информация в стеке размещается в строгой последовательности – ячейка памяти, заполненная последней, считывается первой, а ячейка памяти заполненная первой извлекается последней. В ячейки стека информация заносится последовательно и извлекается в порядке обратном порядку занесения. Таким образом, стек функционирует как память с последовательным доступом. По мере записи данных в стек он растёт в сторону младших адресов. Эта особенность заложена в алгоритм команд работы со стеком. Концептуальная схема организации стека показана на рисунке.

 

Адрес

Содержимое

 

Вершина стека

 

Направления роста стека

 

Дно стека

 

Старшие адреса





     

 Младшие

 Адреса


 

    

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

      Стек выполняется на некоторой выделенной области ОЗУ. В этом случае стек представляет память с последовательным доступом. Обращение и адресация к стеку производится через регистр указателя стека.

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

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

 

3.12 Схема управления

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

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

 

4. Программирование микропроцессора

4.1. Языки   программирования.

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

Машинная  программа  -  программа, написанная  на  машинном  языке.

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

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

Операторы  машинного  языка   записываются   в  двоичных  кодах.

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

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

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

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

Используют   следующие  языки  программирования МП:

  1. Язык  низкого  уровня – машинный  язык;
  2. Язык  типа АССЕМБЛЕР;
  3. Языки   высокого  уровня: Бейсик, Pascal, Фортран;

Достоинства   программирования  МП  на  машинном  языке:

- минимальный  объем   памяти;

- быстродействие  выполнения   программ, поскольку  не    требуется   времени   для  их   трансляции;

Недостатки:

- большая   трудоемкость   составления  программ;

- большая  вероятность   ошибок   и  трудность их  обнаружения; 

- зависимость  от  типа   применяемого  МП.

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

Информация о работе Микропроцессорные устройства