ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011
.pdf
Техника микропроцессорных систем в коммутации
Физическая |
Шина адресов данных |
Центральное |
Шина адресов команд |
Физическая |
|
|
|||
память |
|
процессорное |
|
память |
данных |
Шина данных |
устройство |
Шина команд |
команд |
|
|
|
||
|
|
|
|
|
Рис. 1.4 – Гарвардская архитектура процессора с разделяемой памятью
Основной особенностью гарвардской архитектуры является использование раздельных физических областей памяти для хранения команд и хранения данных. Память данных представляет собой функциональную часть вычислительной машины, предназначенную для приема, хранения и выдачи данных. Соответственно, память команд предназначена для приема, хранения и выдачи команд, объединенных в программу для ЭВМ.
Как уже говорилось, физическое представление информации в двоичном коде соответствует определенным уровням напряжения на внешних контактах корпуса МПр. Каждый контакт корпуса МПр передаѐт сигнал, соответствующий значению одного бита; процессору нужно различать только две градации напряжения: высокий уровень
– низкий уровень, что соответствует наличию сигнала – отсутствию сигнала. По шине адреса сигналы синхронно передаются/поступают на контакты МПр. Однако при появлении различных шин для обмена адресами и данными на кристалле процессора неизбежно увеличивается количество выводов/контактов корпуса, т.е. происходит усложнение конструкции процессора. Этой проблема решается использованием общей шины данных и шины адреса для всех внешних данных. Внутри процессора проблема решается использованием шины данных, шины команд и двух шин адреса. Такую концепцию называют модифицированной Гарвардской архитектурой.
Гарвардская архитектура с разделением памяти команд и памяти данных первоначально применялась в специализированных ЭВМ, например в электроламповой ЭВМ «М-100», разработанной в 1958 г. в СССР для обработки информации от радиолокаторов кругового обзора в системах противовоздушной обороны. В конце 1970- х годов гарвардская архитектура начала интенсивно использоваться
31
Техника микропроцессорных систем в коммутации
для разработки процессоров цифровой обработки сигналов. Причиной интереса разработчиков к гарвардской архитектуре являлось то, что в цифровых сигнальных процессорах необходимый объем памяти данных МПр, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. Это объясняется тем фактом, что при цифровой обработке сигналов в данный момент времени требуется рассмотреть выборку т.е. группу цифровых отсчетов. Далее происходит обновление рассматриваемой выборки. Кромке того, при некоторых преобразованиях достаточно выбрать три составляющие — два операнда и команду, как, например в БПФ–фильтрах. Для этого используется сверхоперативная физическая память или кэш-память (см. раздел 1.5). В кэш-памяти может храниться требуемая команда, но при этом обе шины остаются свободными, и появляется возможность передать два операнда одновременно.
Использование кэш-памяти вместе с разделѐнными шинами получило название расширенной Гарвардской архитектуры (SHRAC) которая обсуждается в разделе 4.1).
Достоинством гарвардской архитектуры является применение небольшой по объему памяти данных, что способствует ускорению поиска информации в памяти и увеличивает быстродействие МПр. Гарвардская архитектура позволяет организовать параллельное выполнение программ: чтение следующей по порядку команды может происходить одновременно с выполнением предыдущей, в результате такого параллелизма сокращается время выполнения программы в целом. Недостатком гарвардской архитектуры является усложнение архитектуры МПр. Также необходимо генерировать дополнительные управляющие сигналы для памяти команд и памяти данных.
Всистемах коммутации и, в более широком смысле – в средствах связи, применяются как процессоры с архитектурой фон Неймана, так и процессоры с гарвардской архитектурой.
Вцелом все типы МПр характеризуются тремя основными техническими характеристиками. Первой характеристикой является тактовая частота (clock rate) – частота синхронизирующих работу МПр «тактовых» импульсов, которые задаются генератором тактовой частоты. Эти импульсы регулируют выполнение циклов выборки и ис-
32
Техника микропроцессорных систем в коммутации
полнения команд. Измеряется тактовая частота в герцах, Гц и производных от этой единицы кило–(103), мега–(106) и гигагерцах(109).
Производительность МПр (performance) – характеристика МПр, которая выражается в количестве элементарных операций, выполняемых в одну секунду и обозначаемая операций/секунду, оп/с. Различают производительность для обработки данных с фиксированной точкой (целые числа) и производительность для обработки данных с плавающей точкой (повышенная точность вычислений).
Третья базовая характеристика микропроцессора – разрядность т.е. количество бит информации, которое ЦПУ может обработать с помощью одной команды за 1 такт. Разрядность микропроцессора определяется разрядностью арифметико-логического устройства, внутренних регистров данных и шины данных. На сегодняшний день существуют 8-, 16-, 24-, 32- и 64-разрядные микропроцессоры.
Для обработки данных с разрядностью большей, чем разрядность микропроцессора, необходимо реализовывать специальные алгоритмы вычислений с повышенной разрядностью. Это может снизить быстродействие МПр. Существует и другая, более часто встречающаяся проблема – программное обеспечение, написано в расчѐте на обработку 32-х разрядным процессором, а на практике программное обеспечение запускается на 64-х разрядном МПр. Это приводит к недостаточно эффективному использованию возможностей микропроцессора.
1.3Типы и форматы данных и команд микропроцессоров
Впроцессе работы МПр использует данные и команды различных форматов. Под форматом понимается способ представления информации в двоичной форме для хранения и обработки, где значение и номер позиции бита в ряду последовательно расположенных бит имеет содержательное значение.
Впервую очередь формат характеризуется длиной – количеством последовательно расположенных разрядов или бит. Длина данных и команд должна соответствовать возможностям микропроцессора с одной стороны и возможностям операционной системы с другой стороны. Как правило, разрядность микропроцессора, превосхо-
33
Техника микропроцессорных систем в коммутации
дит или равна соответствующим возможностям операционной системы и программного обеспечения средств связи. С точки зрения разрядности, МПр может поддерживать следующие основные типы данных [33,37]: байт — восемь последовательно расположенных бит; слово — два байта, имеющих последовательные адреса. Слово делится на младший байт и старший. Младший байт всегда хранится по меньшему адресу, который является адресом слова (см. рис. 1.5).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Байт |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Слово |
Старший |
|
Младший |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
байт |
|
|
байт |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Двойное слово |
|
Старшее слово |
Младшее слово |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 15 |
|
|
8 7 |
|
0 |
|||||
|
|
|
|
Учетверенное слово |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Старшее двойное слово |
|
Младшее двойное слово |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
|
|
|
|
|
32 |
31 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
Упакованный тип данных |
|
|
|
|
|
|
|||||||||
127 |
96 |
95 |
64 |
63 |
32 31 |
0 |
|
Рис. 1.5 – Примеры форматов данных МПр |
|
||||
|
Приведенные форматы данных позволяют поддерживать раз- |
|||
0 |
1 2 3 |
n-1 |
личные числа и логические данные. В пер- |
|
вую очередь речь идѐт о целом числе со |
||||
|
|
|
||
|
|
|
знаком (см. рис. 1.6). |
|
Знак |
Абсолютная |
|
|
|
числа |
величина |
|
Рис. 1.6 – Формат целого числа со знаком |
|
Максимальное значение такого числа равно 2n-1-1.Основные значения целых чисел со знаком приведены в таблице 1.1.
Таблица 1.1. Диапазоны целых чисел со знаком
Размерность, |
|
Без знака |
Со знаком |
бит |
|
|
|
8 |
0 |
… 255 |
− 128… +128 |
16 |
0 |
… 65 535 |
− 32 768 ... +32 767 |
|
|
|
|
32 |
0 |
… 4 294 967 295 |
− 2 147 483 648 ... + 2 147 483 648 |
|
|
|
|
Логический «0» в начале формата на рис. 1.6 означает положительное число; логическая «1» в начале формата на рис. 1.6 означа-
34
Техника микропроцессорных систем в коммутации
ет отрицательное число. Для данных размерности 64 бита диапазон возможных значений составляет от –9×1018 до +9×1018.
0 1 2 3 |
n-1 |
Формат логического полноразрядного |
|
||
|
|
кода приведен на рис. 1.7: |
|
|
Рис. 1.7 – Формат логического |
Логическая переменная |
полноразрядного кода |
|
К логическому полноразрядному коду также относится т.н. битовое поле — непрерывная последовательность бит. Каждый бит является независимым и может рассматриваться как отдельная переменная.
Логический код также можно использовать при представлении чисел в виде:
неупакованный двоично-десятичный тип — байтовое представление десятичной цифры от 0 до 9. Числа хранятся как байтовые значения без знака по одной цифре в каждом байте (в младшей тетраде);
упакованный двоично-десятичный тип — представление двух десятичных цифр от 0 до 9. Каждая цифра хранится в своей тетраде (цифра старшего разряда — в старшей тетраде, цифра младшего разряда — в младшей тетраде).
Указанное представление можно использовать, например, при записи и хранении абонентских номеров, номеров соединительных линий в управляющих устройствах узлов коммутации
Типы данных с плавающей точкой — специальные типы данных для обработки чисел с плавающей точкой в математическом сопроцессоре.
Математический сопроцессор – сопроцессор, выполняю-
щий операции над числами, представленными в форме с плавающей точкой. Сопроцессор – вспомогательный процессор, предназначенный для выполнения математических и логических действий, не входящих в стандартный набор команд ЦПУ.
Формат числа с плавающей точкой (вещественное число) приведѐн на рис. 1.8:
35
Техника микропроцессорных систем в коммутации
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Знак |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Характеристика |
|
|
Мантисса |
|
|
Короткий формат |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
30 |
|
24 |
23 |
|
|
|
|
0 |
|
|
|
|
|
|
|
||
|
Знак |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Длинный |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
Характеристика |
|
|
Мантисса |
|
|||||||||||
|
|
|
|
|
|
|
|
формат |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
63 |
|
62 |
|
|
|
|
|
53 52 |
|
|
|
|
0 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Знак |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Расширен- |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Характеристика |
|
|
Мантисса |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
ный формат |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
79 |
|
78 |
|
|
|
|
|
64 63 |
|
|
|
|
0 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 1.8 – Формат чисел с плавающей точкой
Диапазон возможных значений вещественных чисел приведѐн в таблице 1.2:
Таблица 1.2. – Диапазон значений вещественных чисел
Формат |
Короткий |
Длинный |
Расширенный |
|
|
|
|
|
|
Разрядность (бит) |
32 |
64 |
80 |
|
|
|
|
|
|
Разрядность |
24 |
53 |
64 |
|
мантиссы |
||||
|
|
|
||
Разрядность |
8 |
11 |
15 |
|
характеристики |
||||
|
|
|
||
Диапазон значений |
10−38…10+38 |
10−308…10+308 |
10−4932…10+4932 |
Еще одним способ представления данных является массив данных. Под массивом данных понимается упорядоченная совокупность слов данных или команд, которые располагаются в смежных ячейках ЗУ. Массивы данных содержат тематически близкую информацию, например, данные о состоянии абонентских комплектов, данные о состоянии межстанционных линий, при этом схема массива данных имеет вид на рис. 1.9).
AA1 |
|
ОЗУ |
|
Рис. 1.9 – Формат массива данных |
||
|
|
|||||
|
|
|
|
|
|
|
|
Слово 1 |
|
Применительно к массиву может исполь- |
|||
AA2 |
|
Слово 2 |
Массив |
|||
AA3 |
|
Слово 3 |
данных |
зоваться |
относительная |
адресация, при |
AA4 |
|
Слово 4 |
|
которой абсолютный адрес (АА) ячейки |
||
|
|
|
|
памяти |
рассчитывается |
как начальный |
|
|
|
|
|||
адрес массива плюс сдвиг: АА = НАМ + «сдвиг», где «сдвиг»
это
36
Техника микропроцессорных систем в коммутации
целое число. В дальнейшем начальный адрес массива АА1 также именуется «базовым адресом». Узлы коммутации чаще всего работают с массивами данных и обрабатывают числа с фиксированной точкой. Исключение составляют цифровые сигнальные процессоры в составе кодеров, систем цифрового сжатия и преобразования изображений и т.п. В частности, для повышения качества обработки данных ПЦОС могут работать с плавающей точкой. Рассмотрим далее основные форматы и системы команд современного микропроцессора.
Набор команд машинного языка, которые может выполнять процессор, точно соответствует тем операциям над данными, которые может выполнять аппаратное обеспечение процессора с помощью микропрограмм. Другими словами, загружаемая в процессор программа для ЭВМ, написанная или транслированная на языке программирования низкого уровня, использует микрокоманды процессора для выполнения машинных команд, заданных программным обеспечением. Значение каждой микрокоманды (инструкции) имеет для данного типа процессора строго определенное значение. Например, инструкция 4 предписывает микропроцессору 8088 (или 8086) сложить значение, хранящееся в заданной ячейке памяти, с содержимым регистра AL. Микрокоманды процессора не могут быть изменены загружаемым программным обеспечением.
Загружаемое программное обеспечение МПр (программа для ЭВМ) для исполнения аппаратными средствами процессора должна быть преобразована в специальную форму, учитывающую только существующие микрокоманды процессора. Это преобразование осуществляется специальной программой – компилятором, на выходе которой получается машинный код в виде «0» и «1», который непосредственно считывается из оперативной памяти и интерпретируется микропроцессором. Команды языка программирования низкого уровня, например ассемблера, позволяют выполнять следующие операции:
пересылка данных между регистрами, между регистрами и внешними устройствами;
операции ввода-вывода;
37
Техника микропроцессорных систем в коммутации
выполнения арифметических и логических операций. Микрокоманды организации переходов могут предусматривать
передачу управления, например при ветвлении в программе, передачу управления подпрограмме и возврат из подпрограммы в основную программу. Существуют также команды управления МПр, команды поддержки языков высокого уровня, команды поддержки функций операционных систем по управлению памятью, команды для поддержки однотипных операций над упакованным форматом данных.
Структура любой машинной команды (команды ассемблера), как правило, делится на две части (два поля); длина поля в битах или разрядах, а также назначение поля определяет формат команды [5,13]. Операционная часть указывает, что надо делать; для этого в ней содержится код операции. Адресная часть указывает, над каким операндами следует проводить операцию. Формат машинной команды имеет вид на рис 1.10.
КОП П |
Операнды или адреса |
Рис. 1.10 – Общая структура |
||
операндов |
машинной команды |
|||
|
||||
Операционная Адресная часть |
На |
рис.1.10 код опера- |
||
часть |
|
|||
|
ции, КОП |
– задает тип опера- |
||
|
|
|||
ции, которая должна быть выполнена, признак модификации операции, П – указывает на модификацию операции. Например, в поле «П» может указываться размер и тип ожидаемого операнда. Адрес в команде – часть машинной команды, которая указывает на устройство или элемент данных, являющийся операндом. В адресной части могут указываться следующие значения:
А1, А2, А3
абсолютные адреса ячеек физической памяти, причѐм А1 и А2
адреса ячеек операндов, А3
адрес ячейки для записи результата.
А4
абсолютный адрес ячейки физической памяти с машинным кодом следующей команды
R1,R2
номера регистров общего назначения, где находятся операнды.
B значение базового адреса.
38
Техника микропроцессорных систем в коммутации
D смещение или сдвиг.
В зависимости от числа адресов, которые указаны в адресной части команды могут быть четырех-, трех-, двухили одноадресные. Четырехадресная машинная команда имеет формат (см. рис. 1.11):
Рис. 1.11 – Формат четы- КОП П А1 А2 А3 А4 рехадресной машинной ко-
манды
Результат операции записывается по адресу А3, при этом А1….А3 – содержит номер ячейки памяти или номер регистра, А4 – содержит только адрес ячейки памяти. Такая машинная команда обеспечивает максимальную производительность МПр за счет того, что адреса операнда и адрес результата указывается явным образом. Однако в большинстве МПр поле А4 не используется. Использование поля А3 в некоторых случаях также является избыточным. Поэтому большинство МПр серии x86 Intel или Motorola поддерживают двухадресные команды, которые имеют следующий формат
(см. рис. 1.12):
|
|
|
|
Рис. 1.12 – Формат двухадресной |
|
КОП |
П |
А1 |
А2 |
||
машинной команды |
|||||
|
|
|
|
|
Результат выполнения машинной команды записывается на место одного из операндов. Такая команда является наиболее часто используемой. Одноадресная команда имеет формат (см. рис. 1.13):
КОП |
П |
А1 |
Рис. 1.13 – Формат одноадресной машинной |
|
|
|
команды |
Адрес первого операнда в одноадресной команде задается явно; второй операнд хранится в специальном неадресуемом регистре (аккумуляторе). Результат может записываться по адресу А1 либо в аккумулятор. Для задач управления, где большая часть времени уходит на пересылки данных и логические операции целесообразнее использовать двухадресные команды, а для многошаговых
39
Техника микропроцессорных систем в коммутации
вычислительных процедур целесообразно использовать одноадресные команды. Команды ПУСК, ОСТАНОВ процессора относятся к безадресным.
В некоторых случаях в адресную часть записываются не адреса данных, а сами данные. Этот приѐм позволяет увеличить быстродействие системы, но снижает гибкость программы. Кроме того, поле имеет ограниченную размерность, поэтому в «тело» команды могут быть записаны данные ограниченной размерности и, следовательно, величины. Рассмотрим основные систем команд, применяющиеся в вычислительных устройствах [22,47,48, 72].
Исторически наибольшее распространение получил МПр со сложной системой команд CISC (complex instruction set omputer), с
достаточно большим перечнем команд. Для этой системы команд основным являлся формат на рис. 1.14.
Адресная часть
|
|
|
Рис. 1.14 – Общий формат коман- |
|
|
|
|
КОП |
R1 |
B2 (D2) |
ды в системе CISC |
|
|||
|
|
|
|
На рис. 1.14 поле КОП содержит код арифметико-логической операции осуществляемой АЛУ, первое поле адресной части содержит номер регистра R1, где размещается первый операнд, а второе поле адресной части содержит обращение в память с базовым (начальным) адресом B2 и смещением (сдвигом) D2. Такой команде для выполнения требуется несколько тактов, что вызвано в первую очередь необходимостью работы с ОЗУ или кэш–памятью. Для системы CISC характерны, прежде всего, большое количество способов адресации, включая специализированные способы индексации с помощью массивов; достаточно существенно число команд обмена типа <память–регистр>,<регистр– регистр>,<регистр–память>. Здесь используется рассмотренная выше микропрограммная реализация выполнения команд.
Различным командам для выполнения требуется различное число тактов. Формат команд требует достаточно сложной конструкции управляющих устройств на кристалле МПр, в результате ЦПУ физически может занимать до 50% площади кристалла МПр. К примеру, общий формат CSIC–команды для процессора Intel 80х86 по-
40
