Глава 18. Принципы работы микропроцессора 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Глава 18. Принципы работы микропроцессора



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

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

Второй вопрос, который возникает при построении цифрового устройства — это то, что стоимость микросхемы зависит от ее быстродействия и чем более быстродействующая схема, тем выше ее стоимость. Как уже упоминалось ранее, при решении ряда задач предельного быстродействия от микросхемы не требуется, поэтому возникает закономерный вопрос — а нельзя ли одну и ту же микросхему использовать многократно для реализации нескольких узлов цифрового устройства? В результате такого подхода для построения всего цифрового устройства можно было бы воспользоваться одной единственной микросхемой!

Именно такое решение применяется в микропроцессорной технике. В составе цифрового устройства применяется одна универсальная микросхема — микропроцессор, которая последовательно реализует все части алгоритма, по которому должно функционировать это цифровое устройство. Более того! В ряде случаев удается на одной микросхеме реализовать несколько независимых цифровых устройств, главное чтобы хватило быстродействия микропроцессора и его внешних портов.

В микропроцессорных системах обычно в явном виде выделяются устройство обработки данных (операционный блок), устройства хранения данных и устройства ввода-вывода информации. Операционный блок предназначен для выполнения команд, то есть реализует операции обработки данных. В предыдущих главах для построения отдельных цифровых узлов нам потребовались устройства, позволяющие хранить достаточно большие объемы информации, мы рассмотрели внутреннее устройство последовательных и параллельных портов. Единственным неизвестным нам устройством, необходимым для построения микропроцессорной системы является операционный блок.

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

Вы можете возразить: но ведь мы уже рассматривали системы счисления в предыдущих главах! Все верно. Однако в реальных цифровых устройствах обработки данных присутствуют свои особенности. Например, математические операции над двоичными числами всегда выполняются с фиксированным количеством двоичных разрядов. В математическом представлении систем счисления кроме цифр ‘0’ и ‘1’ присутствуют и другие символы, такие как ‘–’, ‘+’, двоичная запятая и основание системы ‘2’, а мы в памяти микропроцессора можем хранить только символы ‘0’ и ‘1’! Кроме того, при обработке данных в цифровом устройстве очень невыгодно использовать операцию вычитания, и это тоже накладывает свои особенности на вид данных, запоминаемых в устройстве хранения двоичной информации.

Виды двоичных кодов

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

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

Беззнаковые двоичные коды

Первый вид двоичных кодов, который мы рассмотрим, используется для представления целых беззнаковых чисел. Это простейший вид двоичного кода. В нем каждый двоичный разряд представляет собой степень цифры 2. Формат 8-разрядного беззнакового двоичного кода приведен на рис. 18.1.

Рис. 18.1. Формат 8-разрядного беззнакового двоичного кода

На этом рисунке над каждым разрядом беззнакового двоичного кода приведено значение его веса. При этом минимально возможное число, которое можно записать таким двоичным кодом, равно 0. Максимально возможное число, которое можно представить этим кодом, можно определить по следующей формуле:

M =2 n – 1,

где n — разрядность двоичного числа. Разрядность числа обычно выбирают кратной разрядности микропроцессора.

Эти два числа полностью определяют диапазон значений чисел, которые можно представить двоичным кодом. В случае двоичного 8-разрядного беззнакового двоичного кода целые числа, которые можно записать с его помощью, находятся в диапазоне от 0 до 255. Восьмиразрядное двоичное число обычно называют байтом.

Для беззнакового двоичного 16-разрядного кода диапазон представляемых значений будет от 0 до 65535. В микропроцессорной системе, построенной на 8-разрядном процессоре, для хранения 16-разрядного числа используются две ячейки памяти, расположенные в соседних адресах.

В качестве примера записи 16-разрядного числа в двух соседних 8‑разрядных ячейках памяти, на рис. 18.2 приведена запись числа 5624910 = 11011011101110012.

215 214 213 212 211 210 29 28  
                Старший байт 16-разрядного числа
                Младший байт16-разрядного числа
27 26 25 24 23 22 21 20  

Рис. 18.2. Формат 16-разрядного беззнакового двоичного кода, записанного в двух соседних ячейках памяти

Подобным же образом можно записать 24-разрядное или 32-разрядное число. В результате, разрядность обрабатываемых чисел практически не зависит от разрядности операционного блока микропроцессора. Она ограничивается только объемом его оперативной памяти.

В качестве примера записи 24-разрядного числа в 8‑разрядных ячейках памяти, на рис. 18.3 приведена запись числа 1441400910 = 1101101111110000101110012.

223 222 221 220 219 218 217 216  
                Старший байт 24-разрядного числа
                Средний байт 24-разрядного числа
                Младший байт24-разрядного числа
27 26 25 24 23 22 21 20  

Рис. 18.3. Формат 16-разрядного беззнакового двоичного кода, записанного в двух соседних ячейках памяти

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

Рис. 18.4. Суммирование многоразрядного числа.

Следует отметить, что в отличие от действий в математике, при записи числа в прямом двоичном коде не существует возможности не записывать старшие незначащие нули. Поэтому число 1210 не может быть записано как 1100. Оно обязательно должно быть записано во всех восьми разрядах кода: 00001100. Если число первоначально было определено как 16-разрядное, то в этом случае это же самое число 1210 должно быть записано как 0000000000001100. В качестве еще одного примера рассмотрим запись числа 3110. Оно будет записано в 8-разрядном прямом беззнаковом двоичном коде как 00011111, а в 16‑разрядном — 0000000000011111.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 266; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.172.249 (0.009 с.)