- •Классификация устройств управления. Устройства управления с жесткой и программируемой логикой.
- •Схемное устройство управления
- •Описание автоматов Мура и Мили на языке vhdl
- •Описание динамического триггера и дешифратора на языке vhdl
- •Описание шифратора и драйвера шины на языке vhdl.
- •Описание озу на языке vhdl
- •Программируемые логические матрицы. Программируемая матричная логика. Базовые матричные кристаллы.
- •Архитектура сложных программируемых логических устройств (cpld). Структура макроячейки (на примере xc9500)
- •Программируемые вентильные матрицы (fpga). Структура блока типа slicel в fpga Spartan3
- •Структура клб на примере Spartan-3
- •Структура блока типа slicel
- •Процесс проектирования цифровых устройств с использованием плис
- •Архитектура конвейерного суперскалярного процессора: способы устранения конфликтов по данным.
- •Архитектура конвейерного суперскалярного процессора: способы устранения конфликтов по управлению.
- •Архитектура конвейерного суперскалярного процессора: статическое и динамическое предсказание переходов.
Классификация устройств управления. Устройства управления с жесткой и программируемой логикой.
Принципы микропрограммного управления:
Любое цифровое устройство можно рассматривать, как совокупность операционного и управляющего блока.
Любая команда или последовательность команд реализуется в операционном блоке за несколько тактов
Устройство управления предназначено для выработки управляющих сигналов (по времени, по длительности, по функции), под воздействием которых происходит преобразование информации в арифметико-логическом устройстве, а также операции по записи и чтению информации в/из запоминающего устройства.
Последовательность сигналов управления должна выдаваться устройством управления в соответствии с поступающей на вход командой и текущим состоянием операционного блока
Состояние линий управления в каждом такте задает микрокоманду. Совокупность микрокоманд, необходимых для реализации команды называется микропрограммой.
Устройство управления реализуется в виде автомата.
Классификация устройств управления:
По типу автомата:
- Автомат Мили.
- Автомат Мура.
По способу кодирования микрокоманд:
- Горизонтальное кодирование.
МКК – код микрокоманды. Этот способ является простейшим вариантом кодирования, при котором каждый разряд поля кода микрооперации однозначно определяет управляющий сигнал для выполнения микрооперации. Из-за большого набора микроопераций (10-100) горизонтальное кодирование может потребовать большой разрядности памяти микрокоманд. Это приводит к неэффективному использованию памяти микропрограмм. Поэтому с целью сокращения длины микрокода используют вертикальное кодирование. Достоинством же горизонтального кодирования является возможность параллельной работы нескольких операционных блоков, что позволяет существенно повысить быстродействие и приводит к высокой степени загрузки оборудования, а также простота формирования УС.
- Вертикальное кодирование.
При этом способе уменьшается длина МК, но теряется возможность параллельного выполнения команд в одной вертикали. При вертикальном кодировании микрооперация определяется не состоянием одного из разрядов микрокоманды, а двоичным кодом, содержащимся в операционной части микрокоманды. Количество разрядов операционной части микрокоманды определяется как: m=]log2 n[ , где n – количество микроопераций. Основным достоинством является небольшая длина микрокоманды, что приводит к сокращению емкости ПМК. Однако в этом случае требуются сложные дешифраторы на большое количество микроопераций, и увеличиваются временные затраты на дешифрацию, а главное – каждой микрокоманде указывается лишь одна микрооперация, что приводит к увеличению длины микропрограмм по сравнению с горизонтальным кодированием.
- Смешанное (Горизонтально-вертикальное или вертикально-горизонтальное) кодирование.
Развитием способов кодирования микрокоманд с целью устранения основных недостатков, присущих горизонтальному и вертикальному способам, является горизонтально-вертикальное, или смешанное, кодирование микрокоманд. При смешанном кодировании множество микроопераций V разбивается на k подмножеств (или полей). Подмножества Vi кодируются горизонтальным, а микрооперации внутри каждого из этих подмножеств вертикальным способами. Таким образом, применение вертикального метода кодирования позволяет оптимизировать емкость ПМК, а горизонтального способа – сохранить принципы
параллельной работы операционных блоков микропроцессора.
- Косвенное кодирование
С целью дальнейшего сокращения разрядности микрокоманды используется
косвенный метод кодирования микрокоманд. Косвенное кодирование характеризуется наличием дополнительных полей, содержимое которых меняет смысл основных полей микрокоманды. Т.е. одной и той же вертикалью можно управлять несколькими устройствами, если переназначать управление с помощью дополнительного бита (указание типа устройства). Косвенное кодирование сокращает объем памяти микропрограмм, так как позволяет уменьшить длину микрокоманды. Однако, оно требует введения дополнительных дешифраторов, логических схем, что приводит к временным затратам из-за коммутации полей микрокоманды.
- Кодирование с помощью памяти нанокоманд (двухуровневое кодирование).
В современных микропроцессорах широко используется двухуровневое кодирование микрокоманд. Например, в МП68000 фирмы Motorola первый уровень микрокоманд использует вертикальное кодирование МК, выбирающие широкие горизонтальные МК второго уровня, называемые нанокомандами. Основой использования данного принципа кодирования является то, что в случае горизонтального кодирования часто для реализации микропрограмм используется небольшая часть параллельно выполняемых МО из максимально возможного их числа. Поэтому за счет хранения данных комбинаций в отдельной памяти нанокоманд (ПНК) небольшой емкости и разрядности, требуемой для горизонтального кодирования МК, можно достичь значительного сокращения общей емкости памяти с максимальным параллелизмом при выполнении микроопераций.
К примеру рассмотрим схему УУ с двухуровневым кодированием микрокоманд, в котором на первом уровне используется вертикальное кодирование, а на втором – горизонтальное.
Выполнение микрокоманды осуществляется следующим образом:
Первая микрокоманда с вертикальным кодированием извлекается из ПМК, поле кода микрооперации, которой является адресом нанокоманды. Нанокоманда, считанная из памяти, и определяет множество микроопераций, реализуемых в текущем микрокомандном цикле.
Например, память для хранения микропрограмм объемом 4К 32-битных микрокоманд при числе нанокоманд 256 может быть реализовано как совокупность памяти микрокоманд емкостью 4К 8-битных слов и памяти нанокоманд емкостью 256 32-битных слов. Это позволяет сократить память в три раза. Обычно такие структуры УУ реализуются на программируемых логических матрицах.
По способу исполнения команд:
- Последовательные.
- Конвейерные.
По способу реализации:
- Устройство управления с жесткой логикой.
Функции выдачи сигналов управления и разделения во времени сигналов управления реализуются с помощью комбинационных схем и триггерной памяти. Алгоритм управления в таком автомате «зашит» в самой схеме автомата;
(+) Высокое быстродействие
(-) Трудно наращивать
УУ схемного типа имеют сложную нерегулярную структуру, которая требует специальной разработки для каждой системы команд и должна практически полностью перерабатываться при любых модификациях системы команд. В то же время оно имеет достаточно высокое быстродействие, определяемое быстродействием используемого элементного базиса.
- Устройство управления с программируемой логикой.
Каждой выполняемой операции ставится в соответствие совокупность хранимых в памяти слов (микрокоманд), каждая из которых содержит информацию о микрооперациях, подлежащих исполнению в текущем такте, и указание, какое слово должно быть выбрано из памяти в следующем такте.
(+) Простота модификации и наращивания.
(-) Невысокое быстродействие для простых устройств.
Устройство управления, реализованное по микропрограммному принципу, может легко настраиваться на возможные изменения в операционной части ЭВМ. При этом настройка во многом сводится лишь к замене микропрограммной памяти. Однако УУ этого типа обладают худшими временными показателями по сравнению с устройствами управления на жесткой логике.
Прим: УА –управляющий автомат.
Т.о. при небольшом размере команд УА с жесткой логикой дешевле, чем УА с программируемой.
От характеристик УУ зависит быстродействие и эффективность функционирования ЭВМ.