Главная страница
Навигация по странице:

  • БУФЕРНЫЙ РЕГИСТР БУФЕРНЫЙ РЕГИСТР АККУМУЛЯТОР РЕГИСТР СОСТОЯНИЯ РЕГИСТР В РЕГИСТР С

  • РЕГИСТР АДРЕСА ПАМЯТИ (СТ. РАЗР.) FFFF FF FF Порт ввода FF Порт вывода FF Порт

  • Телекоммуникации и Информатика и вычислительная техника Ульяновск 2007 2


    Скачать 1.77 Mb.
    НазваниеТелекоммуникации и Информатика и вычислительная техника Ульяновск 2007 2
    Дата25.03.2023
    Размер1.77 Mb.
    Формат файлаpdf
    Имя файлаZaharov.pdf
    ТипУчебник
    #1014097
    страница11 из 17
    1   ...   7   8   9   10   11   12   13   14   ...   17
    7. МИКРОЭВМ
    7.1. Структурная схема микроЭВМ МикроЭВМ – это проблемно-ориентированная ЭВМ, построенная на микропроцессорном комплекте БИС и предназначенная для решения задач автоматизации управления различными объектами. Типовая структурная схема микроЭВМ (рис. 7.1) состоит из микропроцессора, памяти и блока ввода-вывода. В состав микропроцессора входят АЛУ, УУ, регистры и внутренние шины данных, управления и адреса. АЛУ выполняет одну из главных функций – обработку данных, имеет два входных порта и один выходной. Каждый входной порт снабжен буферным регистром, способным хранить для АЛУ одно слово данных. Два входных порта позволяют АЛУ принимать данные или с внутренней шины данных микропроцессора или аккумулятора. Результат операции в АЛУ всегда помещается в аккумулятор. Перечень функций АЛУ зависит от типа МП. Типовыми операциями, выполняемыми АЛУ, являются сложение, вычитание, И, ИЛИ, исключающее ИЛИ, инверсия, сдвиг вправо, сдвиг влево, приращение положительное, приращение отрицательное.
    УУ
    предназначено для декодирования команды, находящейся в регистре команд, посредством дешифратора команд, который в результате выдает сигналы, необходимые для выполнения команды. УУ генерирует сигналы в соответствии стой или иной фазой синхросигналов и формируют в эти моменты времени соответствующие выходные сигналы для внешних устройств. Регистры предназначены для реализации арифметических и логических функций МП и могут использоваться для временного хранения данных. Количество и назначение регистров в микропроцессоре зависят от его архитектуры. Одни регистры имеют специальное назначение, другие – многоцелевые. Регистры последнего типа называются регистрами общего назначения. Регистры специального назначения в МП: аккумулятор, счетчик команд, регистр адреса, регистр команд, регистр состояния, буферные регистры.

    135
    БУФЕРНЫЙ
    РЕГИСТР
    БУФЕРНЫЙ
    РЕГИСТР
    АККУМУЛЯТОР
    РЕГИСТР
    СОСТОЯНИЯ
    РЕГИСТР В
    РЕГИСТР С
    РЕГИСТР РЕГИСТР РЕГИСТР РЕГИСТР ДЕШИФРАТОР АДРЕСА ПАМЯТИ
    0001
    0002
    0003
    0004
    0005
    0006
    0007
    0008
    0009
    000A
    000B
    000C
    000D
    000E
    ...
    000F
    ДЕ
    ШИ
    Ф
    Р
    А
    Т
    О
    Р
    АД
    РЕСА
    У
    С
    ТРОЙСТВА
    ВВОД
    А
    -ВЫ
    ВОД
    А
    ЗАПИСЬ В УВВ
    00
    ...
    ...
    ...
    ...
    00
    ПАМЯТЬ
    16-РАЗРЯДНАЯ АДРЕСНАЯ ШИНА
    ПОРТЫ
    ВВОДА-ВЫВОДА
    СХЕМЫ
    УПРАВ-
    ЛЕНИЯ
    ДЕШИФ-
    РАТОР
    КОМАНД
    8-РАЗРЯДНАЯ ВНУТРЕННЯЯ ШИНА ДАННЫХ
    РЕГИСТР
    КОМАНД
    ЧТЕНИЕ
    УВВ
    АЛУ
    ВХОД
    ВХОД
    ВЫХОД
    CY
    AC
    S УКАЗАТЕЛЬ СТЕКА SP
    МИКРОПРОЦЕССОР
    ...
    СЧЕТЧИК
    КОМАНД СТ. РАЗРЯДЫ)
    СЧЕТЧИК
    КОМАНД МЛ. РАЗРЯДЫ)
    8-РАЗРЯДНАЯ ШИНА ДАННЫХ
    МИКРО-ЭВМ
    0000
    ЧТЕНИЕ
    ПАМЯТИ
    ЗАПИСЬ В ПАМЯТЬ
    РЕГИСТР
    АДРЕСА
    ПАМЯТИ
    (МЛ. РАЗР.)
    РЕГИСТР
    АДРЕСА
    ПАМЯТИ
    (СТ. РАЗР.)
    FFFF
    FF
    FF
    Порт
    ввода FF
    Порт
    вывода FF
    Порт
    ввода 00
    Порт
    вывода Рис. 7.1. Структурная схема микроЭВМ Аккумулятор – универсальный регистр микропроцессора при различных манипуляциях сданными. Большинство арифметических и логических операций осуществляется путем использования АЛУ и аккумулятора. Любая из таких операций над двумя словами данных (операндами предполагает размещение одного из них

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

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

    138 Регистр состояний предназначен для хранения результатов проверок, осуществляемых в процессе выполнения программы. Разряды регистра состояния принимают значение «1» или «0» в зависимости от выполняемой операции. В состав регистра входят флаги S – знак С – перенос AC – вспомогательный перенос P – четность ноль. Шина данных предназначена для передачи данных.По линиям данных в любой определенный момент времени передается одно слово данных в микропроцессор или в обратном направлении. В отличие от адресных шин, шина данных является двунаправленной и по ней передаются данные с внутренней шины микропроцессора в память или блок ввода-вывода либо из памяти или блока ввода-вывода на эту шину. Шина управления предназначена для управления регистрами МП и контроля за их работой. С помощью управляющих сигналов УУ сообщает, когда передавать (получать) информацию на шину данных. Шина адреса используется для идентификации областей памяти или устройств, с которыми микропроцессору необходима связь. Адресные линии передают данные только из микропроцессора, в обратном направлении передача запрещена. Память микроЭВМ

    состоит из ячеек, имеющих индивидуальный адрес. Каждая ячейка памяти имеет свой номер – адрес его местоположения. Адрес используется всякий раз, когда необходимо записать данные в память или прочесть данные из памяти. Адрес (двоичное число) появляется на адресной шине микропроцессора и декодируется дешифратором адреса памяти. Если на адресную шину помещен адрес допустимого значения, то схемы управления микропроцессора вырабатывают и посылают по линиям управления импульсные сигналы Чтение памяти или Запись в память. Эти сигналы информируют микропроцессор о необходимости подачи данных с шины для записи в выбранную область памяти. При записи данных в память предыдущее содержимое соответствующей ее области стирается и заменяется записываемой информацией. Чтение данных из памяти не меняет содержимое области, в которой они находятся. Одни и те же данные можно считывать любое количество раз. Блок ввода-вывода микроЭВМ состоит из портов ввода и вывода. Микропроцессор позволяет подключать к шинам адресов до 256 портов ввода и до 256 портов вывода. Порты 00 или 01 являются портами входными. Каждый порт имеет восемь входных линий. При адресации порта 00 или 01 данные, поступающие по этим

    139 линиям, подаются на шину данных микроЭВМ, затем микропроцессор помещает эти данные в аккумулятор. Порты 02 и 03 являются выходными каждый из них имеет восемь выходных линий. Состояние каждой выходной линии хранится в буфере данных. При обращении к порту 02 или 03 восемь бит данных, имеющихся на шине данных микроЭВМ, записываются в буфер данных адресуемого выходного порта. Эти данные буфер хранит для возможного их использования устройствами, внешними по отношению к микроЭВМ. Данные сохраняются до следующего обращения к этому порту или до тех пор, пока не выключат питание микроЭВМ. Порты 00, 01, 02 и 03 называются портами параллельного ввода-вывода, поскольку данные пересылаются по восьми параллельным линиям. Принцип такого параллелизма заложен в основу организации системы ввода-вывода. Последовательный ввод-вывод применяется, когда возникает необходимость передавать данные на большие расстояния. В пункте приема устанавливается преобразователь последовательного кода в параллельный, подаваемый по восьми параллельным линиям. Дешифратор адреса блока ввода-вывода подобен дешифратору адреса памяти. Поскольку имеется только четыре порта ввода-вывода, достаточно располагать двумя адресными линиями. Дешифратор адреса портов ввода-вывода декодирует все адреса, пересылаемые микропроцессором. Порты ввода-вывода отвечают на запрос, передаваемый в форме их адресов, только тогда, когда имеет место совпадение импульсов Чтение ввода-вывода» или Записи ввода-вывода» с декодированием этих адресов. Шина микроЭВМ предназначена для передачи нескольких видов сигналов. Она состоит из восьми двунаправленных линий данных, те. по этим линиям можно передавать данные как в микропроцессор, таки из него. Эту шину можно рассматривать как продолжение внутренней шины данных микропроцессора. Шестнадцать адресных линий адреса используются для адресации как памяти таки устройств ввода-вывода. Кроме того, по адресной шине передаются сигналы питания, некоторые сигналы синхронизации и управления, а также с помощью этой шины осуществляется заземление всех блоков. Структура микроЭВМ, рассмотренная в п. 7.1, ориентирована на микропроцессор КРИКА, предназначенный для обработки разрядных двоичных чисел.

    140
    7.2. Система команд и способы адресации Программа состоит из отдельных команд. Каждая команда предписывает определенное действие (например, сложить два числа. Для реализации данного действия команда разбивается на отдельные операции (чтение команды, формирование адреса операндов, выполнении заданного действия. Система команд — это совокупность правили форм представления управляющей информации для записи программ, пригодных для непосредственного выполнения техническими средствами ЭВМ. Система команд характеризуется
     структурой и форматом команды
     списком выполняемых операций (кодов команд
     количеством адресов в команде (адресностью
     способом адресации. Структура команды — это схема расположения информации в команде. Формат команды – структура команды с разметкой номеров разрядов, определяющей границы ее полей. Команды, как и любая информация в ЭВМ, кодируются двоичными словами, которые должны содержать в себе следующие виды информации (рис. 7.2):
     тип операции (код, которую следует реализовать в данной команде (КОП
     место в памяти, откуда следует взять первый операнд (А
     место в памяти, откуда следует взять второй операнд (А
     место в памяти, куда следует поместить результат (А. КОПА А А Рис. 7.2. Формат команды Список выполняемых операций

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

    141 Различные МП имеют различный набор команд, способы адресации в них одинаковы. Способом адресации называется тип обращения к данным. Основные способы адресации
     неявная адресация
     непосредственная адресация
     прямая адресация
     косвенная адресация. Неявная адресация – это способ адресации данных (рис. 7.3), когда в составе команды указываются
     КОП
     адрес источника данных
     адрес приемника данных. Адрес приемника и источника указаны в команде неявно, говорят, что они встроены в команду. При этом способе используются однобайтные команды.
    0 1 0 0 0 1 1 1 значение бита команды
    7 6 5 4 3 2 1 0 № байта в формате команды КОП под- операции адрес регистра В адрес регистра А Рис. 7.3. Неявная адресация Команды с неявной адресацией отличаются наибольшей величиной быстродействия, так как для ее выполнения затрачиваются два микроцикла: выборка и операция выполнения. Непосредственная адресация – способ определения операнда (рис. 7.4), который содержит в адресной части сам операнда не адрес операнда. Такой операнд называется непосредственным операндом, поскольку он автоматически вызывается из памяти одновременно с командой, следовательно, он сразу непосредственно становится доступным Команда с непосредственным адресом для загрузки константы 4 в регистр 1.
    MVI R1 4 Рис. 7.4. Непосредственная адресация При непосредственной адресации не требуется дополнительного обращения к памяти для вызова операнда. Однако у такого способа адресации есть и некоторые недостатки. Во-первых, таким способом можно работать только с константами. Во-вторых, число значений ограничено размером поля. Тем не менее эта технология используется во многих архитектурах для определения целочисленных констант. Прямая адресация способ определения операнда – дать его полный адрес. Такой способ называется прямой адресацией. Как и непосредственная адресация, прямая адресация имеет некоторые ограничения команда всегда будет иметь доступ только к одному и тому же адресу памяти. То есть значение может меняться, а адрес – нет. Команды с прямой адресацией могут иметь длину, равную 2 или 3 байтам.
    1 байт – КОП
    1–2 байта – для адреса. Отличие прямой и непосредственной адресации при непосредственной адресации данные располагаются в структуре команды и доступ из других команд к ним затруднен. При прямой адресации данные располагаются в специально выделенном по указанному адресу участку памяти, что обеспечивает доступ к ним, другим командам. При прямой адресациииспользуются микропрограммы выборка кода операции
     декодирование
     выборка двух байт адреса
     два цикла обращения к памяти
     выполнение операции. Косвенная адресация

    – этот способ адресации реализуется командой, содержащей код операции и номер регистра, который содержит адрес, где располагаются обрабатываемые данные в памяти.

    143 При таком способе адресации определяемый операнд берется из памяти или отправляется в память, но адрес не зафиксирован жестко в команде, как при прямой адресации. Вместо этого адрес содержится в регистре. Если адрес используется таким образом, он называется указателем. Преимущество косвенной адресации состоит в том, что можно обращаться к памяти, не имея в команде полного адреса. Таким образом, при косвенной адресации используются двухбайтовые команды первый байт для кода операции, второй байт указывает на регистровую пару, которая содержит адрес ячейки памяти, в которой записан байт данных.
    7.3. Типы команд микроЭВМ Большинство команд осуществляет пересылку или обработку данных, расположенных в памяти или водном из регистров микропроцессора. Для выполнения команда передается в регистр команд, дешифратор и схемы управления, где она идентифицируется, в результате чего формируются сигналы, направляемые в другие части микропроцессора. С помощью этих сигналов выполняются операции, предписываемые командой. Команды в микроЭВМ подразделяются
     команды перемещения (пересылки данных
     арифметические
     логические
     команды ветвления (перехода. Команды пересылки данных Команды пересылки данных называемые также командами перемещения данных, служат для пересылки данных в различные устройства хранения информации, которыми располагает микроЭВМ, а также для пересылки данных из этих устройств. К числу областей хранения информации относятся как ячейки памяти, таки регистры. В зависимости оттого, какие устройства микроЭВМ участвуют в пересылке данных, различают команды загрузка в регистр (MVI), пересылка данных из регистров
    (MOV), запись в память (STA) и пересылка данных из памяти (LDA). Как и любая другая команда, команда пересылки данных состоитиз двух частей кода операции и

    144 адресной части. Во всех командах пересылки данных должны быть указаны как источник, таки место назначения данных. Код операции в команде пересылки данных задает источник данных и способ адресации. Адресация может быть одного из трех видов непосредственная, прямая и косвенная. При использовании команды пересылки из регистра в регистр (MOV) в регистр загружается копия данных, содержащихся в регистре r2. Так, при выполнении команды MOV В, А копия данных, находящихся в аккумуляторе (регистре А, записывается в регистр В. Это байтовая команда, реализуемая за два микроцикла. Если результат выполнения команды содержит 1 в старшем разряде или равен 0, то устанавливается в 1 соответствующий разряд регистра состояния. При использовании команды запись аккумулятора в память прямая (STA) данныеиз аккумулятора записываются в память. Второй и третий байты команды указывают на область памяти, в которую производится запись данных. Например, по команде STA 001F содержимое аккумулятора записывается в область памяти 001F. Это байтовая команда, реализация которой занимает пять микроциклов. Значение разрядов регистра состояния в результате выполнения операции не изменяется. Арифметические и логические команды

    По команде сложение с памятью прямое (ADD) содержимое области памяти, адрес которой указан в команде, прибавляется к содержимому аккумулятора (регистра А. Второй и третий байты команды составляют адрес области памяти, в которой находится одно из слагаемых. Результат (сумма) помещается в аккумулятор, исходное содержимое стирается. Это байтовая команда, для выполнения которой затрачиваются четыре микроцикла процессора. Если результат выполнения команды содержит 1 в старшем разряде или равен нулю, либо если возникает перенос из старшего разряда результата, то соответствующие разряды регистра состояния устанавливаются в Команда сложение с переносом (ADC) дает возможность производить сложение двух чисел вместе с переносом, полученным в предыдущей операции. При каждом выполнении команды С соответствующим образом устанавливаются в регистре состояния разряды, указывающие на равенство результата нулю, наличие у него знака минус и наличие переноса из старшего разряда.

    145 Поэтому исходное содержимое и аккумулятора, и регистра состояния утрачивается, как и при выполнении других команд. Команда сравнения (CMP)
    производит сравнение операнда, находящегося водном из регистров с содержимым аккумулятора. Результат операции сравнение не отражается на содержимом аккумулятора, а лишь изменяет установку регистра состояний или 0). Команды перехода или ветвления Команда перехода (JMP)
    , называемая также командой ветвления, позволяет организовать в программах циклы и разветвления. При использовании команды перехода изменяется содержимое счетчика команд. Содержимое второго и третьего байтов команды перехода пересылается в счетчик команд вовремя фазы выполнения. Тогда при очередном цикле выборки микропроцессор извлекает команду из области памяти, на которую указывают второй и третий байты команды перехода. Таким образом, происходит переход по указанному в команде адресу программы и выполняются (повторяются) команды новой последовательности. Это продолжается до тех пор, пока не будет опять выполнена команда перехода или произведено выключение микроЭВМ.
    1   ...   7   8   9   10   11   12   13   14   ...   17


    написать администратору сайта