ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011
.pdf
Техника микропроцессорных систем в коммутации
формализованном виде, пригодном для процесса обмена, интерпретации и обработки автоматическими средствами при возможном участии человека согласно ГОСТ 15971–90 и документу ISO/IEC 11179– 1. Информация – сведения (сообщения, данные) независимо от формы их представления. Алгоритм работы, согласно А.А. Маркову – точное предписание, определяющее вычислительный процесс, идущий от варьируемых (изменяемых) исходных данных к искомому результату.
Микропроцессор является функциональной частью вычислительной машины или системы обработки информации, предназначенной для интерпретации программ для ЭВМ. В рамках узла коммутации микропроцессорная система непосредственно обеспечивает функционирование управляющей системы узла коммутации. Управ-
ляющая система узла коммутации представляет собой интегри-
рованный комплекс, реализующий процессы управления и включающий аппаратные устройства, программы для ЭВМ, иные средства, предоставляющие возможность удовлетворить определенную потребность или условие управления (согласно стандарту IEEE 12207). Под управлением здесь понимается процесс целенаправленного воздействия на объект управления с целью достижения состояния, необходимого для успешного обслуживания определенного числа попыток установления соединения. Объектами управления являются различные устройства и коммутационные приборы, программное обеспечение, с помощью которого реализуется обработка вызовов, предоставление основных и дополнительных услуг, учѐт и контроль трафика. Целью функционирования системы управления узла коммутации является обслуживание вызовов с качеством, соответствующим нормативному для данных условий работы. Система управления узла коммутации обеспечивает прежде всего выполнение функции коммутации каналов или пакетов для предоставления услуг связи пользователям, а также управление и учѐт трафика. Управляющая система узла коммутации вместе с объектами управления может рассматриваться как система управления узла коммутации. Аппаратная часть системы управления в основном реализована с использованием микропроцессорной системы/микропроцессорных систем.
11
Техника микропроцессорных систем в коммутации
Рассмотрим аппаратные и программные компоненты микропроцессорной системы, понимая под компонентом часть микропроцессорной системы, выделяемую по определенному признаку, совокупности признаков и рассматриваемую как единое целое. В состав аппаратных компонентов микропроцессорной системы кроме собственно микропроцессора, могут входить интегральные схемы запоминающих устройств, используемые для хранения данных, интегральные схемы, реализующие функции обмена данными (ввод/вывод), интегральные схемы генераторов тактовой частоты, сопроцессоры, контроллеры и арбитры шин и прочие. Программные компоненты микропроцессорной системы включают программное обеспечение. Программное обеспечение – совокупность компьютерных программ узла коммутации и программных документов, необходимых для эксплуатации этих программ. Под компьютерной программой (или программой для ЭВМ) здесь понимаются данные и команды, предназначенные для управления конкретными компонентами узла коммутации в целях реализации определенного алгоритма. Программа существует как объективная форма представления совокупности данных и команд с целью получения определенного результата. При разработке программ используется определенная информационная технология обработки данных, для чего применяется программирование и языки программирования.
Программирование – раздел прикладной математики, разрабатывающий методы использования вычислительных машин для реализации алгоритмов. Язык программирования – формальная знаковая система, предназначенная для записи программ для ЭВМ, также используемая для связи человека с цифровым вычислительным устройством. Язык программирования предназначен для описания данных (информации) и алгоритмов (программ) с целью их обработки на вычислительном устройстве. В ходе выполнения программы используются различные форматы и способы обмена управляющими командами и сигналами. Сигнал – это физический процесс, распространяющийся в канале связи и несущий сообщение о некотором событии, состоянии объекта наблюдения/контроля, код команды управления. По аналогии с микропроцессорной системой, микропроцессор также состоит из различных аппаратных компонент,
12
Техника микропроцессорных систем в коммутации
которые функционально объединены в центральное процессорное устройство, ЦПУ(CPU). Согласно ГОСТ 15971–90, центральное процессорное устройство, которое также называется центральным процессором, выполняет основные функции по обработке данных и управлению работой других аппаратных компонент микропроцессорной системы. К обработке данных относится последовательность операций объединения, проверки, арифметические операции, в большинстве случаев определенные/ограниченные во времени. Здесь следует указать на различные трактовки понятия «операция». В контексте решения узлом коммутации задач управления, операция – это однозначно определенное действие, составляющее выполнение команды или реакцию на определенные условия. В программировании операция – действие, производимое над данными, переменными, константами, функциями. В вычислительных машинах различают операции обработки данных или вычислительные операции, операции управления, операции над командами программы (операции переадресации). Рассмотрим подробнее группу вычислительных операций.
Арифметические операции – это сложение, вычитание, умножение, деление, выполняемые в соответствии с правилами арифметики. Результатами арифметических операций, как правило, являются числа с фиксированной или плавающей запятой, поля переменной длины, двоичные числа, шестнадцатеричные числа. Логические поразрядные операции – это логические сложение, умножение, равнозначность, отрицание равнозначности — сравнение, выполняемые в соответствии с правилами алгебры логики. Результатами являются отдельные разряды исходных величин, представленные в двоичной форме. Логические операции – поиск, выборка, упорядочивание, группировка, выполняемые над отдельными разрядами данных или совокупностями разрядов. К операциям управления, обеспечивающим выполнение компьютерной программы и работу микропроцессорной системы, относят передачу управления, организацию циклов, обращение к внешним устройствам, пересылку данных, прерывание основной программы, изменение режима работы устройств такие как пуск, останов, чтение, запись. В состав ЦПУ также входит блок декодирования команд или устройство управления, которое преобразует
13
Техника микропроцессорных систем в коммутации
машинные команды, загруженные в процессор из физической памяти, во внутренние инструкции (микрокоманды) и далее – в функциональные/физические сигналы управления отдельными компонентами процессора – логическими схемами. Также ЦПУ поддерживает встроенную систему прерываний выполнения последовательности операций (инструкций), что позволяют изменять порядок выполнения машинных команд. При создании микропроцессорной системы ЦПУ конструктивно дополняется компонентами управления физической памятью, устройствами ввода–вывода данных. Под вводом здесь понимается передача данных от внешнего, по отношению к ЦПУ, источника информации в физическую оперативную память. Под выводом понимается процесс передачи данных от ЦПУ в физическую оперативную память и далее к внешним запоминающим устройствам или к внешней, по отношению к микропроцессорной системе, аппаратуре. Рассмотрим подробнее обработку данных ЦПУ в процессе исполнения загружаемых программ.
Команда – это записанная с помощью определенной системы символов (алфавита) совокупность сведений, необходимых для выполнения микропроцессором некоторой вычислительной или логической операции (см. раздел 1.3). Машинная команда – оператор языка программирования, опознаваемый и выполняемый непосредственно аппаратными средствами микропроцессора. Машинная команда представлен непосредственно в виде двоичного (бинарного) кода. Этот код в виде физических сигналов высокого и низкого уровня поступает на физические компоненты МПр. После поступления сигналов, соответствующих бинарному коду, компоненты МПр изменяют своѐ состояние и выполняют требуемые операции. Для осуществления данной процедуры используются различные процессы. Эти процессы объединены в рамках трансляции – процесса преобразования программы, представленной на одном языке программирования, в программу на другом языке и в, определенном смысле, равносильную первой. При трансляции различают интерпретацию, компиляцию и конвертирование языка программирования. Интерпретация – процесс, при котором специальная программа осуществляет последовательное преобразование каждой строки (команды) язы- ка программирования, на котором написана загружаемая в МПр про-
14
Техника микропроцессорных систем в коммутации
грамма в машинную команду с немедленным исполнением команды. Компиляция – трансляция программы с языка высокого уровня в форму, близкую к программе с машинными командами (в бинарном коде). Конвертация – трансляция с одного языка программирования на другой, аналогичный по виду и возможностям, язык программирования.
Машинная команда описывает элементарную операцию, которую должен выполнить МПр. Каждый микропроцессор поддерживает встроенную систему команд обработки данных. Выполнение команды предусматривает исполнение совокупности (набора) доступных микроопераций над данными, выполняемых аппаратными средствами МПр. Микрооперация – это элементарное действие по обработке или передаче данных. К числу микроопераций относятся считывание содержимого регистра, сдвиг содержимого регистра на один разряд влево или вправо, запись суммы данных в регистр результата, установка регистра или счетчика в требуемое исходное состояние, прибавление или вычитание единицы к содержимому счетчика команд. Например, при выполнении команды сложения с плавающей запятой можно выделить следующие микрооперации: вычитание порядков, выравнивание мантисс, сложение, нормализация. С помощью микроопераций выполняются передача, запоминание и преобразование кодов команд при пересылке между регистрами МПр через соответствующие логические схемы ЦПУ.
Микрооперация выполняется за 1 такт т.е. за одну регистровую передачу; под тактом иногда понимается минимальный рабочий интервал, в течение которого совершается одно элементарное действие [19]. Микрооперации соответствует информационный код (микрокод). Код, микрокод – способ отображения информации, задаваемый соответствием между необходимым действием и сигналом, с помощью которых это действие фиксируется. При выполнении микрооперации для организации срабатывания логических схем ЦПУ формируется набор управляющих сигналов; код набора таких сигналов называется микрокомандой. Микрокоманда – это команда управления логическими схемами МПр для обеспечения выполнение микрооперации. В свою очередь, микрооперация обеспечивает ис- полнения операции, предписанной машинной командой. Можно вы-
15
Техника микропроцессорных систем в коммутации
делить следующие основные микрокоманды: выборка команды из памяти или регистра, расшифровка полей команды, выборка (чтение) необходимых операндов, выполнение команды, сохранение результатов в регистр или в память. Операнд – машинный код (данные, номер регистра), над которым при исполнении микрокоманды производится операция, указанная в машинной команде.
Микрокоманда, также называемая инструкцией МПр, определяет код операции над данными и место нахождения данных. В итоге, микрокоманда представляет собой код одной или нескольких микроопераций, выполняемых на протяжении одного такта работы МПр. Место нахождения данных может быть указано в явном виде, например как номер регистра. Микрокоманда может содержать три части: оперативную, в которой указываются управляющие входы всех исполнительных устройств или логических схем; адресную, определяющую адрес следующей микрокоманды с учѐтом условий логических переходов (передач управления); временную, определяющую время выполнения микрокоманды. Логическая последовательность микрокоманд, соответствующая исполнению машинной команды для осуществления требуемой операции, называется микропрограммой [4]. Код конкретной операции загружаемой для исполнения компьютерной программы совпадает с адресом первой микрокоманды соответствующей микропрограммы.
Микрокоманды и микропрограммы хранятся в физическом запоминающем устройстве, ЗУ. Запоминающее устройство – компонент микропроцессорной системы или самостоятельное устройство, предназначенное для записи, хранения и считывания информации. Запоминающее устройство МПр существует в виде физической памяти.
Физическая оперативная память – память, в которой раз-
мещаются данные, обрабатываемые командами, и сами команды в ходе непосредственного выполнения (интерпретации) программ. На аппаратном уровне центральное процессорное устройство выполняет обработку данных с помощью арифметико-логического устройства, АЛУ, аппаратных средств для выполнения отдельных операций (сдвиг, сложение, умножение) и встроенных устройств (аппаратных компонент) кратковременного хранения данных – регистров.
16
Техника микропроцессорных систем в коммутации
Регистры физически представляют собой совокупность последовательно расположенных ячеек с возможностью одновременного чтения/записи/хранения данных во все ячейки или в часть ячеек. Количество ячеек определяет длину (разрядность) регистра, зависит от типа микропроцессора и составляет 8, 16, 32, 64, 128 бит. В результате регистр может хранить данные определенной разрядности и типа. Данные регистра могут быть обработаны за 1…2 такта работы процессора, что относит регистры к устройствам хранения данных МПр с максимальным быстродействием.
Содержимое регистра записывается или считывается последовательно, параллельно или циклически со сдвигом через специализированный регистр–бит который называется флагом переноса; такой регистр относится к флаговым регистрам, которые тоже могут объединяться в группы. Регистр конструктивно расположен на микросхеме процессора, несколько регистров могут объединяться в блоки или в регистровые файлы. Обращение к регистрам для чтения/записи информации со стороны исполняемых программ производится по именам регистров. Поскольку физически регистр состоит из групп ячеек запоминающего устройства, можно говорить об архитектурных и физических регистрах.
Архитектурный регистр – это регистр, указанный по имени в исполняемой машинной команде или в микрооперации (см. определение ниже в настоящем разделе). Архитектурный регистр по сути есть ссылка на физические регистры; архитектурному регистру сопоставляются физические регистры, которые «скрыты» от исполняемой программы. В результате возможна процедура «переименования» регистров, когда микрооперации для записи результаты выделяется новый «физический» регистр, рассматриваемый другими микрокомандами как операнд. Однако обращение к такому «переименованному» регистру происходит по имени архитектурного регистра в микрокоманде. Сведения о соответствии архитектурных и физических регистров хранятся в специальной таблице соответствий. Практическое использование данного механизма обсуждается в разделе 5.4.
Запись (сохранение) информации – процесс занесения ин-
формации в память или ЗУ для хранения. Хранение информации –
17
Техника микропроцессорных систем в коммутации
процесс поддержания данных в неизменном состоянии после их записи (сохранения), обеспечивающий возможность последующего считывания данных в произвольный момент времени.
Считывание (чтение) – процесс преобразования физического состояния запоминающей среды, отображающей хранимую информацию, в информационные сигналы стандартной формы. Эти информационные сигналы позволяют восстановить исходную информацию/сообщение, существовавшую на момент записи. Считывание микрокоманды из ячейки запоминающего устройства означает появление на выходах ЗУ определенного уровня сигнала (высокий или низкий уровень). Соответственно, формируется двоичный код команды, который поступает на входы МПр, где рассматривается как функциональный сигнал управления. В результате срабатывают соответствующие логические схемы внутри МПр, которые, согласно поступившей микрокоманде, выполняют требуемую микрооперацию или несколько микроопераций. Описанная схема соответствует микропрограммному управлению, также именуемому управлением с хранимой/гибкой логикой управления. Если последовательность исполнения операций задаѐтся набором микросхем, вырабатывающих определенные функциональнее сигналы для выполнения микроопераций, то это управление с жѐсткой логикой.
Следует отметить, что ячейкам запоминающего устройства с помощью функции адресации присваивается уникальный номер– адрес. Функция адресации предназначена для выделения по адресу единственной подобласти в пространстве памяти так, что обеспечивается определенная операция с этой подобластью. Адрес – цифровое обозначение ячейки памяти, под пространством памяти понимается область памяти, некоторая совокупность подобластей которой является областью значений функции адресации. Пространство памяти МПр может охватывать несколько разнотипных ЗУ – кэшпамять, оперативная память МПр, накопитель на жестком магнитном диске, накопитель на магнитной ленте, накопитель на оптическом диске, твердотельный накопитель.
Арифметико-логическое устройство выполняет вычислительные и логические операции на аппаратном уровне (на уровне схемной логики), для чего имеет в своем составе сумматор, схемы базо-
18
Техника микропроцессорных систем в коммутации
вых логических операций, а также схемную логику, обеспечивающую перестройку с одной операции на другую. Бит – двоичная единица представления данных. В случае создания МПр в виде сборки из нескольких интегральных схем, в едином корпусе можно размещать не только несколько АЛУ, но и контроллеры управления физической памятью; буферную память небольшой ѐмкости, недоступную для пользователя, автоматически используемую МПр для ускорения операций обмена информацией блоки предсказания ветвления, служебные регистры различного назначения.
Буферная память – рабочая область памяти, предназначенная для промежуточного хранения данных, при пересылке данных между устройствами, работающих с разными скоростями. Некоторые типы современных МПр могут конструктивно объединять на одном кристалле не только устройства управления внешней физической памятью, но и саму физическую память, а также устройства ввода/вывода. В результате появляется однокристальная микро–ЭВМ.
Также можно выделить микроконтроллер – управляющее устройство, построенный на одной или нескольких больших интегральных схемах, содержащий ЦПУ, запоминающее устройство/память, устройства сопряжения с датчиками и исполнительными механизмами и выполняющий функции контроля и управления периферийным оборудованием.
С учѐтом требований ГОСТ Р 51840–2001, можно особо выде-
лить программируемый контроллер – цифровую электронную систему, предназначенную для применения в промышленных условиях. Программируемый контроллер содержит запоминающее устройство для хранения ориентированных на пользователя инструкций. В частности, контроллер используется для выполнения логических операций, операций упорядочивания, отсчѐта времени, математических действий, управления через аналоговые или цифровые входы и выходы различными устройствами или процессами.
По своей функциональности контроллер в целом уступает микропроцессору, но часто применяется для решения отдельных задач, например управления вводом–выводом.
Далее рассмотрим архитектуру микропроцессора.
19
Техника микропроцессорных систем в коммутации
1.2Архитектура микропроцессора
Термин «архитектура», согласно стандарту ISO 15704, означает описание т.е. модель основной компоновки и взаимодействия частей системы. В рамках стандарта IEEE 1471 архитектура описывается как фундаментальный способ организации системы, продиктованный ее компонентами, их взаимным отношением, а также принципами, в соответствии с которыми осуществляется проектирование и развитие архитектуры. Под архитектурой микропроцессора по-
нимается описание способа организации и взаимодействия частей (компонентов) процессора, обусловленный характеристиками этих компонент, принципами их проектирования, связи и развития. Архитектура включает описание логических (программных), функциональных и физических компонент организации МПр в процессе обработки данных [12]. Описание логических (программных) компонент охватывает набор команд, способы адресации, поддерживаемые типы ветвлений и переходы, способы обращения и именования регистров микропроцессора. Описание функциональных и аппаратных компонент МПр включает описание количества и разрядности компонент, способов связи между компонентами при обменен данными командами и управляющими сигналами, описание способов передачи синхросигналов, временные диаграммы работы компонентов МПр, описание компоновки, то есть физического размещения, компонент. В последнее время часто используется термин микроархитектура процессора – описание реализации архитектуры на уровне аппаратных (полупроводниковых) компонентов. Как правило, микроархитектура описывается в виде функциональной блок–схемы. Архитектура микропроцессора прямо или косвенно определяет основные принципы функционирования процессора, его наблюдаемые характеристики и область практического применения
[3,5,36,47,48,50,66].
В 1946 году американский учѐный фон Нейман (von Neumann) предложил повсеместно использовать архитектуру вычислительной машины и, в более узком смысле – архитектуру процессора, в которых присутствовала общая память для хранения программ и данных. Вычислительная машина – совокупность технических средств,
20
