Назначение, устройство, характеристики и принцип действия микропроцессора. Арифметические и логические основы представления информации.
Развитие микропроцессорной техники и ее использование в народном хозяйстве, научных исследованиях, образовании и других сферах человеческой деятельности является в настоящее время приоритетным направлением научно-технического прогресса. Разработка, производство и эксплуатация такой техники требует подготовки соответствующих специалистов, обладающих достаточно глубокими знаниями принципов построения, организации и функционирования современных микропроцессорных устройств, комплексов и систем. Такие знания необходимы не только специалистам различных областей вычислительной техники, но и инженерам других специальностей, связанных с применением микропроцессоров и микроЭВМ.
Применение микропроцессоров в автоматизированных системах существенно расширяет их функциональные возможности, облегчает реализацию различных законов оптимального и адаптивного управления при высокой точности регулирования по основным координатам. В микропроцессорных системах появляются возможности для выполнения функций контроля и диагностики, а также возможности для организации защиты устройств в различных аварийных ситуациях.
Применение микропроцессоров обуславливает и новые аспекты при проектировании, наладке и эксплуатации. Вместо разработки электрических схем аппаратной реализации алгоритмов управления объектом необходимо разрабатывать программу, обеспечивающую реализацию данного алгоритма.
При создании автоматических и автоматизированных систем различного назначения в качестве устройств обработки информации широко используются два класса средств цифровой техники:
1) устройства с жесткой структурой, выполненные на базе цифровых логических схем;
2) программируемые устройства на базе микропроцессорной техники.
Устройства с жесткой структурой обычно содержат большое число дискретных элементов и интегральных схем (ИС) малой и средней степени интеграции. Эти компоненты устанавливаются на печатных платах, а выводы элементов и плат соединяются в соответствии с реализуемыми устройством функциями. Различного рода изменения функций требуют изменения схемы (т.е. перепайки соединений, замены компонентов). Поэтому главным недостатком систем на основе таких устройств является значительное время проектирования и изготовления, а также трудности внесения изменений.
Программируемые устройства на основе микропроцессорной техники могут легко перестраиваться с реализации одной функции на другую, для чего достаточно составить и занести в память новую программу. Возможность использования одних и тех же аппаратных устройств для решения различных задач значительно сокращает сроки проектирования, изготовления и настройки системы.
Первые микропроцессорные устройства появились в начале 70- х годов в результате бурных темпов развития и высоких достижений в области микроэлектроники и вычислительной техники. Базовым элементом любой микропроцессорной системы является микропроцессор (МП), в котором объединены универсальные возможности программируемых средств с преимуществами, представляемыми технологией микроэлектроники. Низкая стоимость, малая масса и размеры, высокая надежность и ряд других характеристик МП сделали перспективным создание на их основе управляющих и обрабатывающих цифровых устройств и систем, позволяющих достигнуть значительного повышения уровня автоматизации технологических установок, экономии энергии, сырья и материалов.
Микропроцессор рассчитан на совместную работу с запоминающими устройствами и устройствами ввода-вывода информации. В зависимости от функциональных возможностей микропроцессоры делят на универсальные и специализированные.
Универсальный микропроцессор служит основой микро-ЭВМ, используется для решения широкого круга задач в системах управления, измерительных приборах, диагностических устройствах и т. п.
Специализированный микропроцессор рассчитан на узкое применение, решение конкретной задачи и оптимизирован по определенному параметру. Так, специализированный матричный перемножитель решает только одну задачу—умножение двух чисел, но выполняет эту процедуру во много раз быстрее, чем универсальный микропроцессор.
Микропроцессорный комплект или набор — это совокупность специально разработанных отдельных микропроцессорных и других интегральных схем, которые совместимы по своим конструктивно-технологическим данным: могут быть собраны в единое целое. Они предназначены для совместной работы в микро-ЭВМ, микропроцессорных системах, микроконтроллерах и т.п. Обычно в комплект входят БИС микропроцессора, запоминающих устройств, ввода-вывода информации, микропрограммного управления и др.
Микропроцессорная система — это собранная в единое целое совокупность взаимодействующих БИС микропроцессорного комплекта — модулей (иногда дополненная БИС из других комплектов), организованных в работающую систему, т. е. вычислительная или управляющая система с микропроцессором в качестве узла обработки информации. Система, в которой используются два или более микропроцессоров, называется мультимикропроцессорной системой.
Свойства микропроцессора могут быть описаны многими характеристиками. К основным из них, используемым при сопоставлении и выборе микропроцессоров, можно отнести:
-вид микропроцессора (универсальный или специализированный, однокристальный или многокристальный);
-технология изготовления: р-канальная МОП (р-МОП), n-канальная МОП (n-МОП), комплементарная МОП (КМОП), кремний на сапфире, биполярная ТТЛ, ТТЛ с диодами Шотки (ТТЛДШ), инжекционной интегральной логики (И2Л), эмиттерно-связанной логики (ЭСЛ) (информация о технологии изготовления дает представление о потреблении энергии и среднем быстродействии микропроцессора);
-разрядность (4; 8; 16; 32) —длина информационного слова, которое может быть одновременно обработано микропроцессором (она может быть фиксированной или наращиваемой, например, у многокристальных микропроцессоров);
-принцип управления: программное управление с «жесткой логикой», микропрограммное управление (хранимая в памяти логика);
-емкость адресуемой памяти характеризует возможности микропроцессора по взаимодействию с запоминающим устройством;
-быстродействие, в справочниках наиболее часто его характеризуют продолжительностью выполнения одной операции (или числом операций «регистр-регистр» в секунду), а также тактовой частотой продолжительностью цикла простой команды;
-потребляемая мощность;
-питающие напряжения (число уровней, номиналы);
-конструктивные данные: габаритные размеры корпуса, число выводов;
-условия эксплуатации (интервал рабочих температур, относительная влажность воздуха, допускаемые вибрационные нагрузки и т. п.);
-надежность;
-стоимость.
Под архитектурой микропроцессорапонимают принцип его внутренней организации, общую структуру, конкретную логическую структуру отдельных устройств, совокупность команд и взаимодействие между аппаратной частью (устройствами, входящими в состав микропроцессора) и программой обработки информации системой, выполненной на основе микропроцессора. Иначе говоря, архитектуру микропроцессора определяют как совокупность его свойств и характеристик, рассматриваемую с позиции пользователя.
Множество выпускаемых промышленностью универсальных микропроцессоров можно разделить по конструктивному признаку на две разновидности:
-однокристальные микропроцессоры с фиксированной длиной (разрядностью) слова и определенной системой команд;
-многокристальные (секционированные) микропроцессоры с наращиваемой разрядностью слова и микропрограммным управлением, которые составляются из двух и более БИС. В последнее время появились и однокристальные микропроцессоры с микропрограммным управлением.
Внутренняя логическая организация однокристальных микропроцессоров в значительной степени подобна организации ЭВМ общего назначения. Это дает возможность при разработке микропроцессорной системы на основе однокристального микропроцессора опираться на методы проектирования и использования обычных ЭВМ малой и средней производительности.
Структура многокристального микропроцессора, микропрограммное управление позволяют достичь гибкости в его применении, улучшить характеристики и сравнительно простыми средствами организовать распараллеливание отдельных машинных операций, что повышает производительность ЭВМ, выполняемых на таких микропроцессорах.
Однако, хотя возможности многокристальных микропроцессоров существенно выше, чем однокристальных, многие прикладные задачи, в том числе построения автоматических измерительных приборов, успешно решаются на основе использования однокристального микропроцессора. Поэтому ограничимся знакомством со структурой последнего.
Рассмотрим структуру однокристального универсального микропроцессора, причем для определенности выберем восьмиразрядный прибор. В состав микропроцессора входят арифметическо-логическое устройство, управляющее устройство и блок внутренних регистров.
Арифметическо-логическое устройство (АЛУ), служащее ядром микропроцессора, как правило, состоит из двоичного сумматора со схемами ускоренного переноса, сдвигающего регистра и регистров для временного хранения операндов. Обычно это устройство выполняет по командам несколько простейших операций: сложение, вычитание, сдвиг, пересылку, логическое сложение (ИЛИ), логическое умножение (И).
Регистром называется электронная схема для временного хранения двоичной информации (машинного слова). Ее строят на триггерах, общее число которых определяет разрядность регистра. Каждый триггер регистра используется для ввода, хранения и вывода одного разряда (1 или 0) двоичного числа. Разрядность регистра выбирают соответственно длине хранимого в нем слова.
Регистры, которые служат только для ввода, хранения и вывода двоичной информации, называют накопительными. От них отличаются сдвигающие регистры, которые помимо выполнения указанных функций позволяют осуществлять сдвиг двоичного числа вправо или влево (а иногда - в обоих направлениях). Если в накопительный регистр вводят числа в параллельном коде, т. е. одновременно во все триггеры, то ввод чисел в сдвигающий регистр часто производят в последовательном коде, подавая последовательно один разряд за другим, хотя возможен и ввод чисел в параллельном коде.
Операндом называют число или символ, участвующие в машинной операции. Так, в выражении у = а + b или ω = 2k—1 операнды – это а, b, 2, k, 1.
Типичным примером операнда, используемого при процедуре обработки данных микропроцессором, служит байт.
Устройство управления (УУ) «руководит» работой АЛУ и внутренних регистров в процессе выполнения команды. Согласно коду операции, содержащемуся в команде, оно формирует внутренние сигналы управления блоками микропроцессора. Адресная часть команды совместно с сигналами управления используется для считывания данных из определенной ячейки памяти (записи данных в ячейку). По сигналам УУ осуществляется выборка каждой новой, очередной команды.
Блок внутренних регистров, расширяющий возможности АЛУ, служит внутренней памятью микропроцессора и используется для временного хранения данных и команд. Он также выполняет некоторые процедуры обработки информации. Обычно этот блок содержит регистры общего назначения и специальные регистры: регистр-аккумулятор, буферный регистр адреса, буферный регистр данных, счетчик команд, регистр команд, регистры стека, регистр признаков. Кратко охарактеризуем функции всех регистров.
Регистры общего назначения (РОН), число которых может изменяться от 4 до 64, в значительной мере определяют вычислительные возможности микропроцессора. Их основная функция—хранение операндов, т. е. подлежащих обработке данных. Но они могут выполнять и роль специальных регистров. Все РОН доступны программисту, который их рассматривает как сверхоперативное запоминающее устройство (понятия оперативного и постоянного внешних запоминающих устройств — ОЗУ и ПЗУ — поясняются в следующем параграфе). Иногда в технической документации к микропроцессору содержатся рекомендации по использованию РОН.
Регистр-аккумулятор, обычно называемый просто аккумулятором (встречается также название накопитель), предназначен для временного хранения операнда или промежуточного результата арифметических и логических операций, производимых АЛУ. При выполнении какой-либо операции с двумя операндами в этом регистре содержится один из используемых операндов, а после выполнения операции — ее результат. Разрядность регистра равна разрядности информационного слова (в рассматриваемом примере микропроцессора аккумулятор — восьмиразрядный регистр). Часто ввод и вывод всех данных в микропроцессоре производятся через аккумулятор. Встречаются микропроцессоры с двумя и более аккумуляторами, что позволяет повысить гибкость работы и эффективность решения задач.
Буферный регистр адреса — специальный регистр, служащий для приема и хранения адресной части исполняемой команды. Иначе говоря, в нем содержится до выдачи на адресную шину адрес слова, хранимого в ячейке внешней памяти или другом регистре. Возможное количество адресов, т. е. непосредственно адресуемых слов памяти, определяется разрядностью этого регистра. Так, в 16-разрядном регистре можно, изменяя нули и единицы отдельных разрядов двухбайтового слова, поместить (разумеется, не одновременно) 216 = 65536 адресов ячеек (слов) памяти.
Буферный регистр данных служит для временного хранения выбранного из памяти слова перед выдачей его на внешнюю шину данных. Разрядность этого регистра определяется количеством байтов информационного слова (для хранения однобайтового слова необходим 8-разрядный регистр, двухбайтового слова — 16-разрядный).
Счетчик команд — счетчик, содержащий адрес ячейки памяти, в которой помещены байты выполняемой команды. Обычно команды определенной программы находятся в последовательно расположенных ячейках памяти: для однобайтовой команды число, указывающее адрес каждой последующей ячейки, на единицу больше числа, отмечающего адрес данной ячейки. Поэтому переход к следующей команде достигается увеличением числа, содержащегося в счетчике команд, на единицу (для возврата к предыдущей команде содержимое счетчика должно быть уменьшено на единицу). В ходе выполнения текущей команды, т. е. при передаче команды из памяти в микропроцессор, содержимое счетчика команд увеличивается на единицу и образуется адрес очередной команды. Возможна ситуация, когда требуется после данной команды использовать команду, хранимую не в соседней, а в другой, скажем удаленной, ячейке памяти. Тогда по сигналу УУ в счетчик команд заносится адрес удаленной ячейки.
Регистр команд принимает и хранит код очередной команды, адрес которой находится в счетчике команд. По сигналу УУ в него передается из регистра хранимая там информация.
Регистры стека делятся на стек и указатель стека. Название «стек» происходит от английского слова steck, что в дословном переводе означает «штабель» (дров), кипа (бумаг) и др. В микропроцессорах стек представляет собой набор регистров, хранящих адреса (команды возврата — при обращении к подпрограммам) или запоминающих состояния внутренних регистров (при обработке прерываний). Этот набор организован таким образом, что слово адреса или данных выбирается по принципу: «вошедший последним — выходит первым» — подобно тому, как из штабеля дров первым берут полено, положенное последним (в английском языке этот принцип определяется выражением Last-in-First Out, и аббревиатура LIFO иногда встречается как название стековой памяти). Стек может быть выполнен не только на внутренних регистрах микропроцессора, составляя его часть, но и находиться во внешнем оперативном запоминающем устройстве, занимать там выделенную для него зону. В последнем случае стек получается более глубоким, емким, однако для обращения к нему необходим указатель стека — специальный регистр.
Указатель стека — регистр, служащий для хранения адреса последней занятой ячейки стека, которую называют вершиной. Содержащееся в регистре число указывает, где находится вершина стека. Когда в стек записывается очередное слово, то число в указателе стека соответственно увеличивается. Извлечение слова из стека сопровождается, наоборот, уменьшением заполняющего указатель стека числа. Кроме такой процедуры предусматривается и возможность считывания без разрушения содержимого любой ячейки стека при неизменном числе, хранимом в указателе стека.
Регистр признаков представляет набор триггеров, называемых флажками. В зависимости от результатов операций, выполняемых АЛУ, каждый триггер устанавливается в состояние 0 или 1. Флажковые биты, определяющие содержимое регистра, индицируют условные признаки: нулевого результата, знака результата, переполнения и т. п. Эта информация, характеризующая состояние процессора, важна для выбора дальнейшего пути вычислений /9/.
Для структуры микропроцессора характерно наличие внутренней шины данных, соединяющей между собой его основные части. Шиной называют группу линий передачи информации, объединенных общим функциональным признаком. В микропроцессорной системе используются три вида шин: данных, адресов и управления.
Разрядность внутренней шины данных, т. е. количество передаваемых по ней одновременно (параллельно) битов числа, соответствует разрядности слов, которыми оперирует микропроцессор. Очевидно, что разрядность внутренней и внешней шин данных должна быть одной и той же. У 8-разрядного микропроцессора внутренняя шина состоит из восьми линий, по которым можно передавать последовательно 8-разрядные слова — байты. Следует иметь в виду, что по шине данных передаются не только обрабатываемые АЛУ слова, но и командная информация. Следовательно, недостаточно высокая разрядность шины данных может ограничить состав (сложность) команд и их число. Поэтому разрядность шины данных относят к важным характеристикам микро-процессора — она в большой мере определяет его структуру.
Шина данных работает в режиме двунаправленной передачи. Это означает, что по ней можно передавать слова в обоих направлениях, но, разумеется, не одновременно: требуется применение специальных буферных схем и мультиплексного режима обмена данными между микропроцессором и внешней памятью. Мультиплексный режим (от англ. multiр1е – многократный, множественный), иногда называемый многоточечным режимом, — режим одновременного использования канала передачи большим числом абонентов с разделением во времени средств управления обменом.
Мультиплексором называют устройство, которое выбирает данные от одного, двух или более входных информационных каналов и подает эти данные на свой выход. Мультиплексоры могут входить в состав микропроцессора. Они также выпускаются в виде отдельных БИС, как, например, мультиплексор восьмивходовый одноразрядный; двухвходовый четырехразрядный; трехвходовый четырехразрядный и др.
Противоположную мультиплексору функцию выполняет демультиплексор – устройство, которое подает данные, подводимые к его входу, на один или более выходных информационных каналов.
Микропроцессорная система – это устройство обработки данных, состоящее из одного или нескольких микропроцессов, устройства памяти и ввода – вывода информации. Связаны эти устройства между собой посредством системы шин (совокупности проводников). Обрабатываемая микропроцессорами информация вводится и выводится с помощью специальных устройств ввода – вывода, называемых периферийными устройствами. Информация, необходимая в ходе функционирования микропроцессорной системы (программа и данные), хранится в устройстве памяти.
Перед началом работы микропроцессорной системы по выполнению некоторой программы и данные, относящиеся к ней, должны быть введены в устройство памяти. Процесс выполнения программы начинается с операции по выполнению первой команды программы, извлекаемой из памяти. В ходе выполнения команды происходит один или несколько циклов обращения микропроцессора к устройствам памяти или ввода – вывода. Первым из них является цикл чтения кода команды из ячейки памяти, адрес которой определяется содержимым счетчика команд. При этом микропроцессор выдает на шину адреса содержимое счетчика команд. По шине управления в устройство памяти поступают сигналы, обеспечивающие чтение содержимого, указываемой шиной адреса, ячейки памяти. Код запрашиваемой команды выдается на шину данных, откуда он принимается в микропроцессор и заносится в регистр команд. Далее команда расшифровывается (дешифруется). По результатам дешифрации команды процессор начинает операции по выборке операндов, инициируя, если это необходимо, один или несколько циклов чтения, в зависимости от кода команды и метода адресации. Выбранные операнды заносятся в регистры общего назначения (РОН) микропроцессора и далее поступают в арифметико-логическое устройство (АЛУ), где непосредственно происходит выполнение закодированной в команде операции. Если необходимо записать результат операции в память, то процессор инициирует цикл записи. При этом на шину адреса микропроцессор выдает адрес ячейки памяти, куда необходимо занести данные, а на шину данных результат операции; по шине управления в память поступают сигналы, обеспечивающие запись содержимого шины данных в указанную ячейку памяти. После завершения текущей команды на шину адреса выдается адрес следующей команды и описанный выше процесс повторяется.
Микропроцессор обращается к регистрам внешних устройств так же, как и к ячейкам памяти. Это позволяет для обработки данных, находящихся в памяти, и данных, передаваемых в устройство ввода из устройства вывода, использовать одни и те же команды.
Выполнение текущей программы может быть прервано сигналами некоторого внешнего события. При этом процессор прекращает выполнение основной программы и начинает выполнять программу, связанную с событием, выдавшим сигнал. После выполнения этой программы микропроцессор возвращается к основной программе. Такой механизм обслуживания внешних событий называется прерыванием, а сигналы, вызывающие прерывание, называются запросом на прерывание. Прерывания делятся на три группы: внешние, вызываемые запросами внешних устройств; внутренние, вызываемые средствами диагностирования процессора; и программные, вызываемые специальными машинными командами. Процесс прерывания программ аналогичен переходу к подпрограмме, с тем лишь отличием, что прерывание происходит по специальному сигналу, подаваемому по управляющей линии, переход же к подпрограмме осуществляется с помощью команд.
Требование прерывания могут выставить несколько источников одновременно, поэтому обработка прерываний производится в соответствии с приоритетами (важностью) источников.
Если в системе имеется несколько источников прерывания, то каждому источнику прерываний в памяти микропроцессорной системы отводится вектор прерываний, состоящий из двух слов. Первое слово содержит начальный адрес запуска программы обработки прерываний, вторым является слово состояния процессора для этой программы. После получения запроса на прерывание микропроцессор анализирует его и определяет точный адрес вектора прерываний. Наиболее распространены два механизма определения адреса вектора прерываний – векторный и обзорный.
При векторных прерываниях источник вслед за сигналом запроса на прерывание передает и адрес вектора прерывания. Обратившись по этому адресу, микропроцессор считывает адрес первой команды обслуживания прерывания.
Обзорные прерывания заключаются в выполнении общей подпрограммы прерываний с целью определения вектора прерывания конкретного устройства. Подпрограмма содержит главным образом команды считывания и анализа кода состояния внешних устройств. Последовательный анализ по заранее заданной схеме позволяет выделить устройство, подготовленное к обмену. После этого совершается условный переход и считывается вектор прерываний этого устройства.
Векторные прерывания требуют значительных аппаратных затрат, но имеют высокую скорость реакции. Обзорные прерывания требуют для реализации небольших аппаратных затрат и могут быть применены при подключении небольшого числа медленных устройств, поскольку требуют значительных затрат времени на осуществление процесса прерывания.
В процессе функционирования микропроцессорной системы возможен также режим обмена данными между устройствами памяти и устройствами ввода-вывода непосредственно без вмешательства микропроцессора. Этот режим называется режимом прямого доступа к памяти. При переходе в режим прямого доступа к памяти (ПДП) микропроцессор отключается от шин адреса и данных, переводя их в высокоомное состояние. Обмен информацией при этом организуется специальным контроллером ПДП.
В режиме ПДП внешние устройства обмениваются памятью микропроцессорной системы неодиночными данными, а большими блоками данных. В контроллер ПДП предварительно помещается информация, необходимая для управления обменом. После завершения передачи заданного количества слов контроллер ПДП прекращает обмен, информируя об этом микропроцессор.
Рассмотрим процедуру обработки данных, хранимых во внутренней памяти микропроцессора.Для этого необходима более подробная структурная схема. Хотя эта схема и не лишена упрощений, она достаточно хорошо отражает организацию 8-разрядного однокристального микропроцессора (примерно такую структуру имеет микропроцессор КР580ВМ80А).
На первый вход АЛУ подается байт из 8-разрядного аккумулятора, а на второй вход поступает байт из 8-разрядного промежуточного регистра. В некоторых книгах этот регистр назван ТЕМ регистром — от английского слов (temporary storage — временная память). Результат сложения указанных двух байтов передается с выхода АЛУ через внутреннюю шину данных в аккумулятор. Это одноадресная организация микропроцессора микро-ЭВМ. Для нее характерно то, что один из операндов, участвующих в обработке, всегда находится в аккумуляторе, адрес которого известен. Поэтому при выполнении операции сложения двух операндов требуется указывать только один адрес — второго операнда, содержащегося, например, в одном из регистров общего назначения (РОН). К АЛУ подключены регистр признаков, предназначенный для хранения и анализа признаков результата операции, и схема десятичной коррекции, позволяющая проводить обработку данных в двоично-десятичном коде.
В правой нижней части рисунка изображены восемь РОН, а также указатель стека, счетчик команд и буферный регистр адреса (стековый регистр на рисунке отсутствует, так как стек представляет собой определенную зону внешней памяти—ОЗУ). Первые два РОН—регистры W и Z—предназначены для кратковременного хранения данных во время выполнения команды (эти регистры недоступны программисту), остальные шесть РОН — регистры В, С, D, Е, Н и L — служат ячейками внутренней памяти, называемой часто сверхоперативным запоминающим устройством (СОЗУ). В них хранятся операнды, подлежащие обработке в АЛУ, результаты обработки данных, выполненной АЛУ, и управляющие слова. В каждом регистре помещается один байт. Обращение к РОН — адресное. Парное расположение регистров В и С, D и Е, Н и L дает возможность проводить обработку двухбайтовых слов, называемую обработкой «удвоенной точности». Обмен данными с РОН (считывание и запись информации) осуществляется через мультиплексор, причем требуемый регистр выбирается с помощью селектора регистров по сигналу УУ. В левой части рисунка расположены регистр команд, дешифратор кода операции и УУ.
Обмен информацией между регистрами и другими блоками микропроцессора производится через внутреннюю шину данных, причем передача команд и передача данных разделены во времени. Связь с внешней шиной данных осуществляется через буферный регистр данных.
Процедура выполняемой микропроцессором обработки данных определяется программой, т. е. совокупностью команд, каждая из которых представляет собой определенную комбинацию электрических сигналов, соответствующих 0 и 1. Команда делится на две части: код операции и адрес. В коде операции заключена информация о том, какая операция должна быть выполнена над данными, подлежащими обработке. Адрес указывает место, где расположены эти данные (в регистрах общего назначения микропроцессора, т. е. во внутренней памяти, или во внешней памяти). Слово данных, подвергаемое обработке, представляет один байт. Команда может состоять из одного, двух или трех байтов, последовательно расположенных в памяти. Первый байт команды содержит код операции. Считанный в начале интервала выполнения команды, называемого циклом команды, ее первый байт поступает из памяти по внутренней шине данных в регистр команд, где хранится в течение всего цикла. Дешифратор кода операции дешифрует содержимое регистра команд — определяет характер операции и адреса операндов. Эта информация передается в УУ, которое вырабатывает управляющие сигналы, направляемые в блоки микропроцессора, участвующие в выполнении данной команды.
Возможен случай, когда код операции непосредственно указывает адрес данных — объекта обработки. Тогда она начинается сразу после считывания первого байта команды. Если же в команде содержится более одного байта, то остальные байты, несущие информацию об адресе ячейки памяти, где хранятся данные, передаются либо в буферный регистр адреса, либо в один из РОН. Только после завершения всей процедуры считывания команды или, иначе говоря, получения полной информации о местонахождении операндов и о том, какая операция должна выполняться над ними, начинается обработка.
В рассматриваемом примере выполняемая операция — сложение двух операндов. Первый операнд хранится в аккумуляторе, второй — в одном из РОИ (его адрес указан в команде), откуда он передается в промежуточный регистр. Согласно коду операции АЛУ исполняет команду: суммирует поступающие на его входы байты. Полученная сумма фиксируется в аккумуляторе. Этот результат, может быть использован на дальнейших этапах обработки (более сложной, чем суммирование двух байтов), записан во внешнюю память или передан в устройство вывода.
Арифметические и логические основы представления информации.
Микропроцессорная система производит обработку информации, представленной цифровыми сигналами. Универсальным способом отображения информации при ее сборе, передаче, хранении и преобразовании является кодирование в виде чисел. Традиционные десятичные числа оказались неудобными для применения в вычислительных системах. С точки зрения технической реализации наиболее удобна двоичная система счисления, для записи чисел в которой нужны только две цифры 0 и 1. Для аппаратной реализации цифр двоичной системы требуется только два устойчивых физических состояния: наличие или отсутствие электрического напряжения, импульсов, отверстий, свечений и т.д.
Один двоичный разряд несет информацию в один бит. Бит определяет содержательность информации, единичный элемент которой может принимать лишь два различных равновероятных значений 0 или 1. Для хранения 1 бита информации требуется один элемент памяти.
Законченная последовательность двоичных символов (нулей и единиц) называется двоичным словом. В общем слово имеет переменную длину. Двоичное слово длиной в восемь разрядов называется байтом.
Двоичная система счисления является позиционной, т.е. значение цифры зависит от ее положения в ряду цифр, изображающих число. Любое число в позиционной системе представляется как разложение по степеням системы.
Двоичное изображение числа требует большего числа разрядов, чем его десятичное представление. Тем не менее, применение двоичной системы создает большие удобства для проектирования цифровых устройств, так как для представления разряда двоичного числа может быть использован любой элемент, имеющий два устойчивых состояния (например триггер). Другим важным достоинством двоичной системы является простота двоичной арифметики. Над двоичными числами арифметические операции выполняются по тем же правилам, что и над десятичными. Отличие заключается в том, что операция умножения может быть представлена как сочетание двух операций: операция сдвига множимого влево и сложение, а операция вычитания может быть заменена сложением со специальным кодом числа. Одним из таких кодов является обратный код числа, получаемый инверсией (заменой 0 на 1 и 1 на 0) разрядов данного числа. Другим специальным кодом является дополнительный код, который может быть получен из обратного путем прибавления 1 к младшему разряду обратного кода.
Недостатком двоичной системы является громоздкость записи чисел и трудность их восприятия человеком. Поэтому в текстах для более короткой и удобной записи чисел используется восьмиричная и шестнадцатиричная системы счисления. Правила перевода чисел из двоичной системы в восьмиричную, шестнадцатиричную и обратно достаточно просты, поскольку основания этих систем выражаются целой степенью двух. Для перевода чисел из восьмиричной (шестнадцатиричной) в двоичную систему достаточно каждую цифру восьмиричного (шестнадцатиричного) числа представить трехразрядным (четырехразрядным) двоичным числом. При обратном переводе чисел из двоичной системы в восьми-, шестнадцатиричную системы необходимо разряды двоичного числа, отсчитывая от запятой влево и вправо, разбить на группы по три разряда в восьмиричную систему или в группы по четыре разряда при переводе в шестнадцатиричную систему. Неполные крайние группы дополняются нулями. Затем каждая двоичная группа представляется цифрой той системы счисления, в которую переводится число.
В общем случае перевод чисел из одной системы счисления в другую производится по известным алгоритмам «умножения» и «деления».
Логической основой построения микропроцессорных систем является алгебра логики. Основные положения алгебры логика разработал в 19 веке английский математик Джордж Буль. Алгебру логики называют также булевой алгеброй. В булевой алгебре различают двоичные переменные и логические функции. Переменные принимают два значения: да или нет, истина или ложь, которые обозначаются цифрами 1 и 0. Чтобы не смешивать с двоичными цифрами, эти константы называют логическим 0 и логической 1. Подобно операциям сложения, умножения и другим в обычной алгебре, в булевой алгебре принимают логические функции. Наиболее часто используемые функции: логическое отрицание (функция НЕ или инверсия); логическое умножение (функции И или конъюнкция); логическое сложение (функция ИЛИ или дизъюнкция).
Дата добавления: 2017-01-26; просмотров: 3208;