yandex rtb 1
ГоловнаЗворотній зв'язок
yande share
Главная->Різні конспекти лекцій->Содержание->3.2. Управляющие устройства

Организация ЭВМ

3.2. Управляющие устройства

Выше отмечалось, что УУ (рис. 3.5) управляет работой АЛУ путем выработки последовательности микрокоманд, необходимых для выполнения той или иной операции (+, -, /, * и т.д.). Порядок выполнения микрокоманд определен микропрограммой реализации операции, но может изменяться в зависимости от признаков операции, вырабатываемых в АЛУ (P1,...,Pm) и подаваемых  на  вход  УУ. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

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

Ниже будут рассмотрены общие принципы построения обоих типов УУ.

3.2.1. УУ с жесткой логикой

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

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

Специализированные УУ формируют неизменные последовательности сигналов управления (СУ).

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

Микропрограмма в таком автомате хранится за счет системы жестких связей между узлами УУ. Для изменения микропрограммы требуется демонтаж жестких связей и создание новой схемы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Обобщенная функциональная схема простейшей ПЛМ представлена на рис. 3.7.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

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

Следующим поколением устройств типа ПЛМ являются ПЛИС – программируемые логические интегральные схемы, позволяющие программно скомпоновать в одном корпусе электронную схему, эквивалентную схеме, включающей от нескольких десятков до нескольких сотен ИС стандартной логики.

В настоящее время на мировом рынке доминируют несколько производителей ПЛИС – XILINX, ALTERA, LATTICE, AT&T, INTEL. Выпускаемые ими ПЛИС весьма разнообразны по сложности, назначению, многофункциональности и т.д., однако все они делятся на две большие группы – EPLD и FPGA.

EPLD – многократно программируемые для сохранения конфигурации используется ППЗУ с ультрафиолетовым стиранием).

FPGA – многократно реконфигурируемые для сохранения конфигурации используется статическое ОЗУ).

Фирмы-производители поставляют также полное инструментальное обеспечение для разработки и применения устройств на базе EPLD и FPGA с помощью персональных компьютеров.

3.2.2. УУ с хранимой в памяти логикой

Идея создания микропрограммного УУ возникла давно, в 1951г., но реализовать ее в полном объеме удалось сравнительно недавно – с появлением компактных устройств памяти на БИС. Обобщенная структурная схема микропрограммного УУ изображена на рис. 3.8.

В общем случае МК может задавать одну или несколько МО. Микропрограмма хранится в ПМК. Адрес МК формируется контроллером КПМК и запоминается в регистре адреса МК (РгАМК). МК считывается из памяти в регистр микрокоманды (РгМК). МК, в общем случае, имеет три поля – АСМК, КМО, КПР.

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

 

 

3.2.2.1. Выборка и выполнение МК

Возможны три варианта взаимного расположения циклов выборка-реализация.

Последовательный способ (рис. 3.9, а).

В этом случае выборка следующей МКi+1 не инициируется до момента окончания предыдущей МКi. Достоинством метода является прежде всего простота организации МК-цикла.

Параллельный способ (конвейер МК) –рис. 3.9, б.

Имеет место совмещение этапов выборки МКi+1 и реализации МКi. При равенстве периодов выборки и реализации достигается сокращение МК-цикла теоретически в 2 раза.

Параллельно-последовательный способ (рис. 3.9, в).

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

Для выполнения условных и безусловных переходов в микропрограмме используются управляющие микрокоманды, содержащие адрес перехода и поле признаков (КПР) при обоих типах адресации. Таким образом, операционные и управляющие микрокоманды должны различаться некоторым признаком (рис. 3.10, б и в). Признак a определяет тип МК (например, a = 1 – операционная).

Коротко остановимся на формировании адреса при естественной адресации. В КПМК есть специальный счетчик адреса микрокоманд (СчА), в котором в конечном итоге формируется адрес следующей микрокоманды. Алгоритм формирования адреса следующей МК зависит от ее типа, а именно:

-       операционная МК – после выборки МК СчА := СчА + 1;

-       управляющая МК – после выборки происходит проверка условия, заложенного в МК. Если условие выполняется, то СчА := АСМК, а если условие не выполняется, то СчА := СчА + 1.

 

 

 

 

 

 

 

 

 

 

 

 

3.2.2.3. Кодирование МК

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

1.             Горизонтальное кодирование (рис. 3.11, а). Это простейший вариант кодирования микрокоманд, при котором каждый разряд поля кода микроопераций однозначно определяет управляющий сигнал для выполнения микрооперации.

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

Недостаток способа – при большом наборе МО (от нескольких десятков до нескольких сотен) возрастает разрядность МК и, следовательно, разрядность ПМК.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Помимо увеличения времени на МО к недостаткам следует отнести невозможность параллельного выполнения МО.

3.             Смешанное кодирование (рис. 3.11, в). Это кодирование устраняет основные недостатки, присущие горизонтальному и вертикальному кодированиям.

При таком кодировании в отдельных полях кода МО объединяют взаимоисключающие наборы для обеспечения параллельного выполнения МО с разных полей. Данный способ кодирования находит широкое применение в микропрограммных УУ.

Способы 1, 2, 3 – это прямые способы кодирования. Здесь каждое поле КМО формирует определенный набор управляющих сигналов, интерпретируемых всегда одинаковым образом.

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

На рис. 3.11 КМО1 кодирует одну из четырех групп МО, поле КМО2 определяет реализуемую в данной группе операцию.

Пример

00 – микрооперации в АЛУ;

01 – МО в памяти и регистрах контроллеров периферийных устройств;

10 – МО безусловного и условного переходов;

11 – константы для загрузки регистров и счетчиков.

КМО2 позволяет выполнить 64 МО в любой из указанных групп оборудования.

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

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

3.2.2.4. Синхронизация МК

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

Достоинством однофазных МК (рис. 3.12, а) является простота технической реализации.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Вопросы для самопроверки

1.        Опишите обобщенную структуру процессора.

2.        Как принцип академика Глушкова реализуется в структуре процессора?

3.        Почему устройства обработки цифровой информации имеют многоуровневую структуру?

4.        Какие операции выполняются в АЛУ? Как в зависимости от реализации этих операций подразделяются АЛУ?

5.        Чем отличаются АЛУ блочного типа от многофункциональных АЛУ?

6.        Опишите структуру АЛУ простейшего микропроцессора.

7.        Опишите общие принципы построения УУ.

8.        Укажите основные отличия УУ на жесткой логике от УУ с хранимой в памяти логикой.

9.        Перечислите преимущества УУ с жесткой логикой.

10.   В чем заключается главный недостаток УУ на жесткой логике?

11.   Какое решение было найдено для устранения главного недостатка УУ на жесткой логике?

12.   Для чего нужна ПЛМ?

13.   Что такое ПЛИС?

14.   Опишите структуру УУ с хранимой в памяти логикой.

15.   Перечислите варианты взаимного расположения циклов выборка-реализация МК.

16.   Охарактеризуйте основные способы формирования адреса следующей МК.

17.   Какие форматы микрокоманд бывают?

18.   Опишите алгоритмы формирования адреса следующей МК.

19.   Назовите способы кодирования МК. Приведите для каждого способа схему кодирования МК.

20.   Опишите достоинства и недостатки каждого способа кодирования микрокоманды.

21.   Как подразделяются МК с точки зрения синхронизации?

 

 

Контрольные задания к главе 3

 

1. На листах ответа должны быть указаны номер группы, фамилия студента и номер его варианта.

2. Номера вопросов выбираются студентом в  соответствии с двумя последними цифрами в его зачетной книжке. В табл.3.1 аn-1 – это предпоследняя цифра номера, аn – последняя цифра. В клетках таблицы стоят номера вопросов, на которые необходимо дать письменный ответ.

 

 

 

 

 

 

 

                                                                                                                                          Таблица 3.1

an

an-1

0

1

2

3

4

5

6

7

8

9

0

1,5,9, 13,17

3,6,10,14,18

4,7,11,16,20

2,8,12,15,19

3,7,9, 13,17

1,6,10,13,21

4,7,9, 13,20

2,5,9, 15,18

1,6,10,14,18

4,7,11,14,17

1

2,8,12,16,17

4,8,11,13,21

1,5,9, 16,20

3,8,10,15,18

4,7,11,13,18

2,5,10,16,21

3,6,10,13,17

1,7,12,16,21

4,7,9, 16,19

2,8,12,14,18

2

3,6,10,16,20

1,8,12,16,18

4,7,11,15,19

2,6,9, 15,17

1,5,9, 14,18

3,6,10,15,19

4,8,12,14,19

2,8,12,13,20

3,5,10,14,21

1,5,9, 15,19

3

2,6,9, 15,21

3,7,11,13,20

1,7,11,14,18

1,5,9, 13,17

3,6,10,14,18

4,7,11,16,20

2,8,12,15,19

3,7,9, 13,17

1,6,10,13,21

4,7,9, 13,20

4

2,5,9, 15,18

1,6,10,14,18

4,7,11,14,17

2,8,12,16,17

4,8,11,13,21

1,5,9, 16,20

3,8,10,15,18

4,7,11,13,18

2,5,10,16,21

3,6,10,13,17

5

1,7,12,16,21

4,7,9, 16,19

2,8,12,14,18

3,6,10,16,20

1,8,12,16,18

4,7,11,15,19

2,6,9, 15,17

1,5,9, 14,18

3,6,10,15,19

4,8,12,14,19

6

2,8,12,13,20

3,5,10,14,21

1,5,9, 15,19

2,6,9, 15,21

3,7,11,13,20

1,7,11,14,18

1,5,9, 13,17

3,6,10,14,18

4,7,11,16,20

2,8,12,15,19

7

3,7,9, 13,17

1,6,10,13,21

4,7,9, 13,20

2,5,9, 15,18

1,6,10,14,18

4,7,11,14,17

2,8,12,16,17

4,8,11,13,21

1,5,9, 16,20

3,8,10,15,18

8

4,7,11,13,18

2,5,10,16,21

3,6,10,13,17

1,7,12,16,21

4,7,9, 16,19

2,8,12,14,18

3,6,10,16,20

1,8,12,16,18

4,7,11,15,19

2,6,9, 15,17

9

1,5,9, 14,18

3,6,10,15,19

4,8,12,14,19

2,8,12,13,20

3,5,10,14,21

1,5,9, 15,19

2,6,9, 15,21

3,7,11,13,20

1,7,11,14,18

1,5,9, 13,17

 

 

 

 

 

 

 

22