Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организация микропроцессорных систем

.pdf
Скачиваний:
124
Добавлен:
02.05.2014
Размер:
1.72 Mб
Скачать

V = 1U

G

где U = pg τg; pg - вероятность выполнения операции fg(p1 + p2 +...+ pG =1); τg -

g=1

среднее время выполнения операции fg.

Затраты оборудования в операционном устройстве оцениваются суммарной стоимостью элементов, составляющих устройство.

К операционным устройствам ЭВМ относятся процессоры, процессоры канала ввода - вывода, устройства управления внешними устройствами и т.п.

Запоминающие устройства (ЗУ). Запоминающим устройством (накопителем) называется устройство, предназначенное для хранения множества элементов информации и снабженное средствами селекции, обеспечивающие запись и (или) чтение заданного элемента информации. Элементами информации могут быть биты, байты, слова и поля переменной длины - записи состоящие из последовательностей битов и байтов. Элемент информации выделяется на множестве элементов с помощью адреса, либо с помощью ключа, либо другими способами. Адрес - число, определяющее местоположение элемента информации в устройстве. Ключ - это признак, идентифицирующий элемент информации.

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

Устройства ввода-вывода. Устройством ввода-вывода называется устройство, предназначенное для чтения и (или) записи информации на носитель путем преобразования электрических сигналов в сигналы иной физической природы. Функция устройства вводавывода – это преобразование сигналов одной физической природы в сигналы другой природы, т.е. передачи информации из одной среды в другую. На входе устройства ввода имеется носитель информации – клавиатура, переключатели, графические планшеты и т.п. – а на выходе формируется совокупность электрических сигналов, представляющих информацию, последовательно считываемую с носителя. Устройство вывода выполняет обратное преобразование. Например, последовательность электрических сигналов преобразуется в механические перемещения печатающего устройства.

Основные характеристики устройств ввода-вывода – это скорость ввода-вывода и стоимость. Скорость ввода-вывода определяется числом символов информации, вводимых - выводимых за единицу времени. Для некоторых устройств, скорость ввода-вывода задается специфическими значениями: число строк, печатаемых в минуту и т.д.

1.6.Принцип микропрограммного управления

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

Любая операция fg , g = 1,…,G, реализуемая устройством, рассматривается как сложное действие, которое разделяется на последовательность элементарных действий над словами информации, называемых микрооперациями.

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

Процесс выполнения операций в устройстве описывается в форме алгоритма, представленного в терминах микроопераций и логических условий, и называется микропрограммой. Микропрограмма определяет порядок проверки значений логических условий и следования микроопераций, необходимых для получения требуемых результатов.

Микропрограмма используется как форма представления функции устройства, на основе которой определяется его структура, и порядок функционирования во времени.

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

В функциональном и структурном отношении операционное устройство разделяется на две части: операционный и управляющий автоматы (рис.1.7).

Операционный автомат ОА служит для хранения информации, выполнения набора микроопераций и вычисления значений логических условий, т.е. операционный автомат, является структурой, организованной для выполнения действий над информацией. Микрооперации, реализуемые операционным автоматом, инициируются множеством управляющих сигналов Y = {y1,…,yN}, с каждым из которых отождествляется определенная микрооперация.

D R

X

ОА

Y

УА

G

Рис.1.7. Структура операционного устройства

Значения логических условий, вычисляемые в операционном автомате, отображаются множеством осведомительных сигналов X = {x1,…,xL}, каждый из которых отождествляется с определенным логическим условием. Управляющий автомат УА генерирует последовательность управляющих сигналов, предписанную микропрограммой и соответствующую значениям логических условий. Иначе говоря, управляющий автомат задает порядок выполнения действий в операционном автомате, вытекающий из алгоритма выполнения операций. Наименование операции, которую необходимо выполнить в устройстве, определяется кодом g операции. По отношению к управляющему автомату сигналы g1,…,gh , посредством которых кодируется наименование операции и осведомительные сигналы х1,…,хL ,формируемые в операционном автомате, играют одинаковую роль: они влияют на порядок выработки управляющих сигналов Y. Поэтому сигналы g1,…,gh и х1,…,хL относятся к одному классу – осведомительных сигналов, поступающих на вход управляющего автомата.

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

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

Функции операционного автомата определяется следующей совокупностью сведений:

Множеством входных слов D = {d1,…,dH}, вводимых в автомат в качестве операндов. Множеством выходных слов R = {r1,…,rQ}, представляющих результаты операций. Множеством внутренних слов S = {s1,…,sN}, используемых для представления

информации в процессе выполнения операций. В дальнейшем будем предполагать, что входные и выходные слова совпадают с определенными внутренними словами, т.е. D S и R S .

Множеством микроопераций Y={ym}, m=1,…,M, реализующих преобразование S=φm(S) над словами информации, где φm - вычислимая функция.

Множеством логических условий Х={xl}, l=1,…,L, где xl = Ψl(S) и Ψl - булева функция. Таким образом, функция операционного автомата задана, если определены множества D, R, S, Y, X. Заметим, что время не является аргументом функции операционного автомата.

Функция устанавливает список действий – микроопераций и логических условий, - которые может выполнять автомат, но никак не определяет порядок следования этих действий во времени. Иначе говоря, функция операционного автомата характеризует средства, которые могут быть использованы для вычислений, но не сам вычислительный процесс. Порядок выполнения действий во времени определяется в форме функций управляющего автомата.

Функция управляющего автомата – это операторная схема алгоритма (микропрограммы), функциональными операторами которой являются символы y1,…,yM, отождествляемые с микрооперациями, и в качестве логических условий (предикатов) используются булевы переменные х1,…,хL .Операторная схема алгоритма наиболее часто представляется в виде граф - схемы или логической схемы алгоритма. Каждая из этих форм определяет вычислительный процесс в последовательном аспекте – устанавливает порядок проверки логических условий х1,…,хL и порядок следования микроопераций y1,…,yM .

1.7. Уровни представления цифровых систем

Как отмечалось выше, для описания сложных систем используется иерархический принцип, который основан на применении нескольких уровней описаний, каждому из которых свойственна определенная степень детализации. Этот принцип позволяет уменьшить степень сложности описания и упрощает процесс исследования свойств системы.

На рис.1.8 представлены основные уровни описания структуры и функций цифровых машин. К нижнему, нулевому уровню относятся описания, представляемые электрическими схемами. Электрические схемы определяют структуру, как совокупность взаимосвязанных электрических элементов. Функции, реализуемые схемами, отражают взаимосвязь между электрическими параметрами, характеризующими состояние входов и выходов схемы.

 

 

 

 

 

Един

 

Наимено-

Описывае-

Структурный

Функцио-

ицы

 

нальный

инфо

вание

мые объекты

базис

базис

рмац

 

 

 

 

 

 

 

 

 

ии

0

Уровень

Логические

Электронные

 

Соотноше-

 

 

электри-

и запоми-

 

компоненты

 

ния теории

 

 

ческих

нающие

 

 

 

электри-

 

 

 

схем

элементы

 

 

 

ческих цепей

 

1

Уровень

Операцион-

Логические

и

Операции

 

Биты

 

логических

ные

 

запоминаю-

 

булевой

 

 

 

схем

элементы,

 

щие элементы

алгебры

и

 

 

 

микропрог-

 

 

теории

 

 

 

 

раммные

 

 

 

конечных

 

 

 

 

автоматы

 

 

 

автоматов

 

 

2

Уровень

Операцион-

Операционные

Микро-

 

Сло-

 

операци-

ные

 

элементы

и

операции

и

ва,

 

онных

устройства

микропрог-

 

логические

 

поля

 

схем

 

 

раммные

 

условия

 

 

 

 

 

 

автоматы

 

 

 

 

3

Уровень

ЭВМ

и

Операционные

Внутренние

 

Сло-

 

структур-

комплексы

 

устройства

 

процедуры

 

ва,

 

ных схем

машин

 

 

 

 

 

поля

4

Програм-

Операцион-

 

Команды

и

Операции из

Сло-

 

мный

ные системы

операторы

 

системы

 

ва,

 

уровень

 

 

 

 

команд

и

мас-

 

 

 

 

 

 

процедур

 

сивы,

 

 

 

 

 

 

 

 

сег-

 

 

 

 

 

 

 

 

мент

 

 

 

 

 

 

 

 

ы

Рис.1.8. Уровни описания структуры и функций цифровых систем Уровни электрических схем отражают только физические свойства процессов в ЭВМ

и используются для описания информационных процессов.

На уровне логических схем описание ЭВМ детализируется до уровня запоминающих элементов и логических операций, выполняемых над битами информации, а объектами описания являются операционные элементы (сумматоры, регистры и т.д.) и микропрограммные автоматы.

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

Структура ЭВМ как целого объекта описывается на уровне структурных схем. На этом уровне определяется весь комплекс устройств, составляющих ЭВМ, и описывается порядок взаимодействия устройств в процессе выполнения отдельной операции из системы команд машины.

Самым высоким уровнем представления функций, реализуемой машиной, является уровень программ. Процесс выполнения программ определяет вычислительный процесс, реализуемый в ЭВМ. Выделяя, отдельные операторы, можно говорить о структуре программ, а операции, выполняемые программой над множеством значений, составляют функции программы. Функции, выполняемые операционной системой, определяют операционные возможности вычислительной системы.

Контрольные вопросы

1.Как определяется функция и структура системы?

2.Определите сущность функциональной и структурной организации систем.

3.Определите основные положения принципа программного управления.

4.Укажите структурные компоненты ЭВМ и их основное назначение.

5.Какие классы устройств используются для построения ЭВМ?

6.Опишите алгоритм функционирования ЭВМ.

7.В чем заключается принцип микропрограммного управления?

8.Каким образом определяется операционное устройство?

9.Что такое операционный автомат и как задается его функция?

10.Определите управляющий автомат и опишите его функцию. 11.Укажите основные уровни описания цифровых машин.

Глава 2

ОРГАНИЗАЦИЯ МИКРОПРОЦЕССОРА

2.1. Этапы развития микропроцессорной техники

За всю историю развития микропроцессорной техники, ведущие позиции в этой области занимает американская фирма Intel (Integrated Electronics). В 1971 году она разработала и выпустила первый в мире 4-битный микропроцессор 4004. Он содержал 2300 транзисторов, выполненный по технологии 10 мкм, работал на частоте 108 кГц, адресовал 640 байт памяти и имел производительность 0,06 MIPS. Но подлинный успех фирме Intel принес 8-битный микропроцессор 8080, который был выпущен в 1974 году. Он имел частоту 2 мГц, адресовал 64 Кбайта памяти, вмещал 6000 транзисторов благодаря технологии 6 мкм. Процессор требовал трех источников питания (+5, +12, -5 В) и сложной двухтактной синхронизации. Этот микропроцессор получил очень широкое распространение во всем мире. Сейчас в нашей стране его аналог - микропроцессор К580ИК80 применяется во многих бытовых и персональных компьютерах и разнообразных контроллерах.

Следующим этапом стал микропроцессор 8085, выполненный по технологии 3 мкм, размещал на кристалле 6500 транзисторов, имел тактовую частоту 5 мГц и производительность 0,37 MIPS. Архитектура этого микропроцессора соответствовала архитектуре 8080, но в него добавили порт последовательного интерфейса, и перешли на единое питающее напряжение +5 В.

В1979 году фирма Intel первой выпустила 16-битный микропроцессор 8086, возможности которого были близки к возможностям процессоров миникомпьютеров 70-х годов. Этот микропроцессор работал на частоте 5 мГц, производительность его составляла 0,33 MIPS, но обрабатывал 16-битные операнды. Был выполнен по технологии 3 мкм с 29000 транзисторами на кристалле. Микропроцессор 8086 оказался "прародителем" целого семейства, которое обычно называют семейством 80х86. Аналог этого микропроцессора К1810ВМ86 применяется в персональных компьютерах, выпускаемых в нашей стране.

Желание расширить адресное пространство памяти до 1 Мбайта в процессоре с 16битными регистрами заставило использовать в микропроцессоре 8086 сегментную организацию памяти, которая в последующих микропроцессорах фирмы Intel было сохранено ради совместимости.

Через год появился МП 8088, архитектурно повторяющий МП 8086 и имеющий 16битные внутренние регистры, но ее внешняя шина данных составляет 8 бит. Широкой популярности МП 8088 способствовало его применение фирмой IBM в ПК РС и РС/ХТ. Очень быстро для этих компьютеров был накоплен такой огромный объем программного обеспечения, что в последующих МП фирме Intel пришлось предусматривать специальный режим эмуляции МП 8086. Обычно этот режим называется режимом реального адреса (Real Addres Mode) или R-режим.

В1981 году появились МП 80186/80188, которые сохраняли базовую архитектуру МП 8086/8088, но содержали на кристалле контроллер прямого доступа к памяти, счетчик/таймер

иконтроллер прерываний. Кроме того, была расширена система команд. Однако широкого распространения эти МП (как и ПК PCjr на их основе) не получили.

Следующим крупным шагом в разработке новых идей стал МП 80286, появившийся в 1982 году. Разработанный по технологии 1,5 мкм, он содержал 134000 транзисторов. При разработке этого МП были учтены достижения в архитектуре миникомпьютеров и больших компьютеров. МП 80286 может работать в двух режимах: в режиме реального адреса он эмулирует МП 8086, а в защищенном режиме виртуального адреса или Р-режиме предоставляет программисту много новых возможностей и средств. Среди них отметим расширение адресного пространства до 16 Мбайт, появление дескрипторов сегментов и дескрипторных таблиц, наличие защиты по четырем уровням привилегий, поддержку организации виртуальной памяти (1 Гбайт) и мультизадачности. МП 80286 применялся в ПК РС/АТ и младших моделях PS/2.

В1986 году появился новый микропроцессор фирмы Intel 80386 (275000 транзисторов, 1,5 мкм). При разработке этого 32-битного МП потребовалось решать две задачи: совместимость и производительность. Первая из них решена путем введения трех режимов работы.

ВR-режиме, который действует после включения питания или системного сброса, процессор копирует работу МП 8086 и использует 16-битные регистры; адресное пространство составляет 1 Мбайт памяти.

ВР-режиме МП 80386 может выполнять 16-битные программы МП 80286 без какихлибо модификаций. Вместе с тем в этом режиме он может выполнять свои "естественные" 32-битные программы, что обеспечивает повышение производительности системы. В этом режиме реализуются все новые возможности и средства МП 80386, такие как масштабированная индексная адресация памяти, ортогональное использование РОН, новые команды, средства отладки, а также введен режим страничного управления памятью. Адресное пространство памяти в этом режиме составляет 4 Гбайта. Операционная система Р- режима может создать задачу, которая работает в режиме виртуального процессора 8086 или V-режим. Прикладная программа, которая выполняется в этом режиме, полагает, что она работает на процессоре 8086. Однако, программе запрещается выполнять некоторые команды, связанные с управлением ввода вывода. Поэтому при нарушении правил защиты генерируется прерывание и управление передается ОС.

Позже, в 1988 году появился МП 80386 SX, который полностью совместим с процессором 80386, но имеет внешнюю шину данных 16 бит и адресное пространство 16 Мбайт. После этого полноразрядный вариант получил официальное название 80386 DX. В 1990 году был выпущен МП 80386 SL в миниатюрном корпусе и с пониженным потреблением энергии, разработанный специально для портативных компьютеров.

В1989 году фирма Intel выпустила на рынок МП 80486, содержащий в кристалле 1,2 миллиона транзисторов и выполненный по технологии 1 мкм. Два главных отличия от предыдущего МП состоит в том, что математический сопроцессор реализован на одном кристалле с центральным процессором FPU (Floating Point Unit) и имеется внутренняя совмещенная кэш-память команд и данных емкостью 8 КБайт. Кроме того, для повышения производительности в этом CISC-процессоре применено RISC-ядро.

2.2. Архитектура микропроцессора

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

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

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

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

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

2.2.1. Типы и форматы данных

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

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

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

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

Целое двоичное число имеет следующий формат:

0 1

n

±

 

Цифровые разряды

 

 

 

Разряд с номером 0 является знаком числа. Знак плюс кодируется цифрой 0, знак минус – цифрой 1. Разряды от 1 до n являются цифровыми. Запятая фиксируется после младшего разряда с номером n. Этот формат обеспечивает представление целых значений в диапазоне от –(2n - 1) до +(2n-1).

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

Целое двоичное число без знака Х длиной в n-бит может принимать значения в диапазоне 0<X<2n-1, где n может равняться 8,12,16 битам. Для представления чисел с многократной точностью используется соответствующее число ячеек памяти, в каждой из которых хранится одно слово. Для выборки таких чисел из памяти необходимо задать адрес

младшего слова, а остальные слова выбираются путем увеличения адреса текущей ячейки памяти на 1.

В некоторых микропроцессорах заложена возможность обработки чисел, представленных в двоично-десятичной системе счисления. Возможность выполнить арифметическую обработку десятичных чисел позволяет избежать потерь при обратном и прямом преобразовании чисел из одной системы счисления в другую и исключить потери в точности представления исходных чисел, которые могут иметь место при переходе от одной системы счисления к другой. Например, десятичное число 0,3 нельзя представить абсолютно точно в двоичной системе счисления. Поэтому для представления десятичных чисел используют специальные двоично-десятичные коды с весами 8-4-2-1. Для хранения много разрядных десятичных чисел используется последовательно запоминание в ячейках памяти цифр десятичного числа. Для сложения и вычитания чисел в десятичной системе счисления в микропроцессоре используется не одна, а две команды: команда двоичного сложения и команда десятичной коррекции. Например, кодирование знакового разряда S производится следующим образом:

S0000 – дляположительныхчисел

1001 – дляотрицательныхчисел

Сложим два числа +52 и -43:

0000,0101 0010 (52)

1001,0101 0111 (-43)

1001,1010,1001 двоичное сложение

0110,0110 десятичная коррекция

0000,0000,1001 (9)

Если тетрада содержит число больше 9, то прибавляется число 6.

Значительная доля информации, обрабатываемая микропроцессором, является текстовой, которая представлена строками символов некоторого алфавита. Отдельный символ (буква, цифра, знак и т.д.) кодируется 7 и 8-битными кодами. Строка символов при 8- битном кодировании представляет собой последовательность байт следующего вида:

1

8 1

8

1

8

 

 

 

 

 

S1

S2

Sn

S – 8-битный двоичный код символа. Таким образом, строка символов представляется полем переменной длины. Обычно длина поля может изменяться от 1 до 256 байт.

Для кодирования символов используются специальные коды, наиболее распространенными из которых являются 7- и 8-битные двоичные коды.

Логические значения являются булевыми переменными принимающие одно из двух значений ‘ложь’ или ‘истина’ и кодируется цифрами 0 и 1 соответственно. Действия над ними можно производить только с помощью логических операций и могут являться элементами наборов – булевых векторов и матриц.

Для записи и индикации адресов и данных применяются удобные и компактные восьмеричная и шестнадцатеричная системы счисления.

2.2.2. Общие сведения о системе команд

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

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

Теоретически ограничения на число команд ЭВМ нет, например, при введении команд из нескольких слов можно выделить больше бит под код операции. Однако, как

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

Чем сложнее команда, тем более вероятно, что ее действия можно интерпретировать группой команд, а это уменьшает эффективность всей системы команд. Но с другой стороны, чем сложнее команда, тем более быстро выполняется программа из-за сокращения обращений к памяти.

Теоретически показано, что минимальная алгоритмически полная система команд процессора состоит из одной или нескольких универсальных команд. Существует два подхода к созданию эффективной системы команд.

Первый подход был заложен в разработку МП с сокращенным набором команд, на основе которых разрабатываются RISC-компьютеры (Reduced Instruction Set Computer). С одной стороны RISC-процессоры, имеющие более простую внутреннюю архитектуру, за счет меньшего числа запрограммированных инструкций (команд), более дешевы в изготовлении, более надежны и отличаются высокой производительностью. С другой стороны, перенесение бремени обработки информации в RISC-процессорах на программное обеспечение приводит к снижению быстродействия за счет увеличения длины программ, особенно за счет существенного усложнения трансляторов с языков высокого уровня.

Второй подход базируется на МП с расширенным набором команд - CISCпроцессорах (Complexed Instruction Set Computer). В эти микропроцессоры встраиваются дополнительные аппаратные средства, позволяющие реализовать многие десятки и сотни команд. Такие развитые системы команд дают возможность обеспечить компактную запись алгоритмов и соответственно эффективность программы. С другой стороны, с введением в

МП традиционной структурой большего числа регистров и большего объема кэш-памяти (МП 68040, i80486) их быстродействие приближается к быстродействию МП RISCархитектуры.

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

2.2.3. Форматы команд

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

1.Код операции, являющий ее основным элементом, определяет действие (операцию) самой команды (КОП).

2.Источник данных (операнд). Этот элемент в общем случае содержится в поле адреса. Для одноместных операций (например, сдвиг) требуется один операнд, а для двухместных операций (сложение) - два операнда.

3.Приемник данных, определяющий место назначения результата выполнения операции. Этот элемент команды также содержится в поле адреса.

4.Источник следующей команды (адрес следующей команды).

Очевидно, что команда, которая содержит всю эту информацию (рис.2.1) будет очень длинной.

Код

Адрес

Адрес

Адрес

Адрес

опера-

операнда

операнда

резуль-

следующей

ции

1

2

тата

команды

Рис.2.1. Формат команды

Например, если бы поле кода операции составила 4 бита (можно закодировать только 16 различных операций) и каждый из адресов составлял 12 бит (что позволяет адресовать 4 Кбайт памяти), то общая длина команды составила бы 40 бит. Ясно, что с такой командой трудно было бы работать микропроцессору, который оперирует с 8-ми или 16-битными словами. Таким образом, часть информации, в которой нуждается микропроцессор, должна быть задана неявно и не должна зависеть от особенностей конкретной команды.

Существует множество методов уменьшения форматов команд микропроцессора, среди которых наиболее часто употребляемые следующие:

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

2.Использование адреса одного из источников для записи результата.

3.Использование адресов источника и места назначения информации неявным образом. Эти неявно выраженные адреса могут быть записаны в регистры или в ячейки, адресуемые через регистры.

4.Ограничение адресами регистров, вместо использования полных адресов ячеек

памяти.

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

В микропроцессорах с ограниченной разрядностью широкое применение получил и второй метод уменьшения формата команды введением специального регистра - аккумулятора в качестве источника и места назначения информации. Типичная команда ADD B, означает, что требуется сложить содержимое регистра B с содержимым аккумулятора и результат поместить в аккумулятор. Такие команды называются одноадресными, форматы которых приведены на рис.2.2, очевидно, что такие команды могут быть короткими.

КОП

Адрес операнда

Рис.2.2. Формат одноадресной команды

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

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

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

Соседние файлы в предмете Микропроцессорные системы