
- •Основные понятия.
- •Понятие архитектуры и организации эвм.
- •Обобщенное понятие архитектуры.
- •Виды архитектуры эвм и их составные элементы.
- •Краткое представление основных элементов прикладной архитектуры компьютеров. Типы, форматы и способы представления данных, аппаратно поддерживаемых в эвм.
- •Для числовых данных необходимо представлять диапазон и точность. Программная модель (регистровая структура) процессора.
- •1) Полная специализация регистров, когда каждый регистр используется только по одному специальному назначению.
- •2) Полная универсализация, когда каждый регистр можно использовать по любому назначению.
- •Регистр ip (Instruction Pointer).
- •Регистр fr (Flag Register).
- •If (Interrupt Flag) – Флаг Прерывания
- •Адресная структура основной памяти и принципы размещения информации в ней. Принципы формирования физического адреса.
- •Режимы адресации.
- •Структура и форматы машинных команд.
- •Базовая система команд.
- •1. Поддержка защищённого режима (i286).
- •3. Включение в Pentium блока mmx (Multimedia Extension), система команд, которая содержит порядка 60 команд для поддержки принципа векторной обработки на уровне целочисленных данных.
- •Внедрение в кристалл процессора блока sse (sse2)
- •Cisc- и risc – архитектура.
- •Основные особенности risc – архитектуры.
- •Стремление к выполнению большинства машинных команд за 1 машинный такт (машинный цикл).
- •Широкое использование принципов суперскалярной и суперконвейерной обработки.
- •Команды загрузки и сохранения системных регистров.
- •Команды ввода/вывода: in/out, ins/outs.
- •Команда останова процессора - hlt.
- •Упрощенная структура компьютера (эвм).
- •1. Центральную;
- •2. Периферийную.
- •Организация ввода/вывода. Понятие, основные характеристики и уровни представления интерфейса.
- •1) Совокупность линий, шин, обеспечивающих обмен информацией между устройствами.
- •2) Алгоритм (протокол) обмена, определяющий последовательность организации передачи информации по линиям интерфейса.
- •3) Разделение интерфейса на ряд уровней представлений.
- •Основные характеристики интерфейса:
- •Пропускная способность определяется максимальным количеством бит или байт данных, передаваемых по интерфейсу за одну секунду.
- •Информационная ширина (количество бит или байт данных, передаваемых параллельно по шине данных, т.Е. Разрядность линии).
- •Максимально возможное удаление устройств, подключаемых к интерфейсу.
- •Шины (интерфейсы) персональных компьютеров на базе процессоров Pentium.
- •Основные аспекты организации ввода/вывода.
- •1.Структура компьютера в плане организации связей между ядром и периферийными устройствами:
- •2. Адресация к ву или пу. Основным аспектом, связанным с адресацией ву, является объединение или разделение адресных пространств памяти и ввода/вывода.
- •3.Способ организации ввода/вывода:
- •Адресация ву.
- •Способы адресации портов ввода/вывода и их сравнительный анализ.
- •Раздельное адресное пространство.
- •Единое адресное пространство.
- •Организация ввода/вывода с отображением на память обладает следующими достоинствами:
- •Недостатками использование совмещенного адресного пространства являются:
- •Способы организации ввода/вывода.
- •Ввод/вывод по прерыванию.
- •Прямой доступ к памяти – dma (Direct Memory Access).
- •2) Стандартные контроллеры dma позволяют реализацию следующих видов обмена:
- •В современных моделях пк для обмена с жесткими дисками наряду с dma также используется и pio. Канальный ввод/вывод (квв).
- •Основные функции квв:
- •Функции по установлению логической связи между ву и оп.
- •2) Функции, связанные с непосредственной передачей данных между ву и оп.
- •3) Функции, связанные с завершением обмена и разрушением логической связи между ву и оп.
- •Участие цп в организации квв сводится к выполнению следующих функций:
- •Классификация квв.
- •Сравнение Канального вв с pio и с dma.
- •Организация прерываний. Основные отличия организации прерываний в защищенном режиме по сравнению с реальным режимом.
- •Программируемый контроллер прерываний (pic i8259a).
- •Основные функции pic.
- •Внутренняя структура pic.
- •Шифратор выделенного запроса.
- •Основные режимы работы pic.
- •1) Fnm (Fully Nested Mode – Режим вложенных прерываний).
- •Взаимодействие между cpu и ведущим pic.
- •Основы программирования pic.
- •Приказы инициализации.
- •Icw1 имеет следующий формат:
- •Icw2 определяет базовый адрес последовательности векторов прерываний, размещаемых в таблице векторов прерываний. Собственно, под базовый адрес отводятся старшие 5 битов приказа(3-7).
- •Icw4 Наиболее важным битом приказа icw4 является бит 1, именуемый aeoi – Automatic End Of Interrupt.
- •Слова рабочих приказов.
- •Установка и отмена так называемого режима специального маскирования;
- •Установка и сброс режима опроса (полинга);
- •Разрешение чтения регистров irr и isr контроллера.
- •Организация центральных процессоров.
- •Как обрабатывающее устройство: цп осуществляет выполнение программ, связанных с какой-либо обработкой данных.
- •Как управляющее устройство: цп осуществляет координацию остальных устройств компьютера, а также связь компьютера с внешним миром.
- •Принципы построения и функционирования конвейеров команд.
- •Сравнение производительности последовательного процессора (без конвейера команд) и «параллельного» процессора (с конвейером команд).
- •Наличие в программах зависимостей по данным (конфликты по данным).
- •Использование различными блоками конвейера одного и того же ресурса (структурные конфликты).
- •Наличие при выполнении программы особых случаев, приводящих к прерыванию.
- •Различное время выполнения отдельных фаз машинных команд.
- •Большой разброс длительности фазы ех для различных машинных команд. Основные действия, выполняемые процессором на различных фазах (этапах) команды.
- •Санкт-Петербург
- •1. Принципы построения и функционирования компьютеров
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •1.6. Принцип многоуровневой реализации функций
- •Программа
- •Аппаратура компьютера
- •2. Характеристики и классификация компьютеров
- •2.1. Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Оглавление Предисловие 3
- •Принципы построения и функционирования компьютеров 7
- •Характеристики и классификация компьютеров 25
- •3.Архитектура компьютеров
- •3.1.Машинные слова и байты
- •3.2.Коды с обнаружением и исправлением ошибок
- •3.3. Представление данных в компьютерах
- •3.4. Способы адресации данных
- •3.5. Операции, выполняемые компьютерами
- •3.6. Системы команд компьютеров
- •3.7. Режимы работы компьютеров
- •3.8. Средства мультипрограммирования
- •3.10. Привилегированные операции и состояния процессора
- •3.11. Организация прерывания программ
- •3.12. Средства защиты памяти
- •4. Структура операционных устройств компьютера
- •4.1. Принцип микропрограммного управления операционными устройствами
- •4.2. Каноническая структура процессора
- •4.3. Конвейерные процессоры
- •5. Организация памяти компьютеров
- •5.1. Организация виртуальной памяти
- •5.2. Организация кэш-памяти
- •5.3. Организация raid – массивов
4. Структура операционных устройств компьютера
4.1. Принцип микропрограммного управления операционными устройствами
Для выполнения операций над данными используются операционные устройства – процессоры, каналы ввода-вывода, контроллеры внешних устройств и т.д. Процессор выбирает поочередно команды, дешифрирует их коды операций, выполняет заданные операции и записывает результаты. Команды ввода-вывода направляются процессором в систему ввода-вывода: в систему с программно управляемым интерфейсом, т.е. в контроллеры внешних устройств, в контроллеры общей шины и в каналы ввода-вывода, а через них – в контроллеры внешних устройств компьютера. Важно понимать, что все указанные устройства строятся на основе сверхбольших интегральных схем и выполняют заданные наборы операций. Поэтому все классы устройств, построенные на основе сверхбольших интегральных схем, объединены в один класс устройств – операционных устройств компьютера. Разница между операционными устройствами – процессорами, каналами ввода-вывода, контроллерами внешних устройств, основана в первую очередь на различии функций этих устройств.
Функцией операционного устройства является выполнение заданного множества операций F = {f1, …, fG} над входными словами D = {d1, …,dH} с целью вычисления слов R = {r1, …,rQ}, представляющих результаты операций R = fg(D), g = 1, …,G. Функциональная и структурная организация операционных устройств, определяющая порядок функционирования и структуру устройств, базируется на принципе микропрограммного управления, который состоит в следующем.
1. Любая операция fg, g = 1, …,G, реализуемая устройством, рассматривается как сложное действие, которое разделяется на последовательность элементарных действий над словами данных, называемых микрооперациями.
2. Для управления порядком следования микроопераций используются логические условия, которые в зависимости от значений слов, преобразуемых микрооперациями, принимают значения 1 или 0, т.е. «истина» или «ложь».
3. Процесс выполнения операций в устройстве описывается в форме алгоритма, представляемого в терминах микроопераций и логических условий и называемого микропрограммой. Микропрограмма определяет порядок проверки значений логических условий и следования микроопераций, необходимых для получения требуемых результатов.
4. Микропрограмма используется как форма представления функции устройства, на основе которой определяется структура и порядок функционирования устройства во времени.
Сказанное можно рассматривать как содержательное описание принципа микропрограммного управления, из которого следует, что структура и порядок функционирования операционных устройств предопределяется алгоритмами выполнения операций F = {f1, …, fG}. Схемные решения операционного устройства могут быть различны, но во всех случаях точка зрения на процесс функционирования устройства как процесс реализации микроопераций и проверки логический условий, предопределяемый микропрограммой, является результативной, поскольку позволяет упорядочить и формализовать проектирование операционных устройств различного назначения.
Концепция операционного и управляющего
автоматов. В функциональном и
структурном отношении операционное
устройство разделяется на две части:
операционный и управляющий автоматы
(рис. 4.1). Операционный автомат служит
для хранения слов данных, выполнения
набора микроопераций и вычисления
значений логических условий, т.е.
операционный автомат является структурой,
организованной для выполнения действий
над данными. Микрооперации, реализуемые
операционным автоматом, инициируются
множеством управляющих сигналов Y =
{y1, …,yM},
с каждым из которых отождествляется
о
пределенная
микрооперация. Значения логических
условий, вычисляемые в операционном
автомате, отображаются множеством
осведомительных сигналов X = {x1,
…, xL},
каждый из которых отождествляется
с определенным логическим условием.
Управляющий автомат генерирует
последовательность управляющих
сигналов, предписанную микропрограммой
и соответствующую значениям логических
условий. Иначе говоря, управляющий
автомат задает порядок выполнения
действий в операционном автомате,
вытекающий из алгоритма выполнения
операций. Наименование операции, которую
необходимо выполнить в устройстве,
определяется кодом g
операции. По отношению к управляющему
автомату сигналы g1,…,gH,
посредством которых кодируется
наименование операции, и осведомительные
сигналы x1, …,xL,
формируемые в операционном автомате,
играют одинаковую роль: они влияют на
порядок выработки управляющих сигналов
Y. Поэтому сигналы
g1, …,gH
и x1, …,xL,
относятся к одному классу – к классу
осведомительных сигналов, поступающих
на вход управляющего автомата.
Таким образом, любое операционное устройство – процессор, канал ввода - вывода, контроллер внешнего устройства, является композицией операционного и управляющего автоматов. Операционный автомат, реализуя действия над словами данных, является исполнительной частью устройства, работой которого управляет управляющий автомат, генерирующий необходимые последовательности управляющих сигналов.
На данном этапе рассмотрения вопроса операционный и управляющий автоматы могут быть определены своими функциями – перечнем выполняемых ими действий, исходя из которых в дальнейшем будет определена структура автоматов.
Функция операционного автомата определяется следующей совокупностью сведений:
1. Множеством входных слов D = {d1, …,dH}, вводимых в автомат в качестве операндов.
2. Множеством выходных слов R = {r1, …,rQ}, представляющих результаты операций.
3. Множеством внутренних слов S = {s1, …,sN}, используемых для представления данных в процессе выполнения операций. В дальнейшем будем полагать, что входные и выходные слова будут совпадать с определенными внутренними словами, т.е. D S и R S.
4. Множеством микроопераций Y = {ym}, m = 1, …, M, реализующих преобразования
S = φm(S) над словами данных, где φm – вычислимая функция.
5. Множеством логических условий X = {xl}, l = 1, …,L, где xl = ψl(S) и ψl – булева функция.
Таким образом, функция операционного автомата задана, если определены множества D, R, S, Y, X. Заметим, что время не является аргументом функции операционного автомата. Функция устанавливает список действий – микроопераций и логических условий, которые может выполнять автомат, но никак не определяет порядок следования этих действий во времени. Иначе говоря, функция операционного автомата характеризует средства, которые могут быть использованы для вычислений, но не сам вычислительный процесс. Порядок выполнения действий во времени определяется в форме функций управляющего автомата.
Функция управляющего автомата – это операторная схема алгоритма (микропрограммы), функциональными операторами которой являются символы y1, …,yM, отождествляемые с микрооперациями, и в качестве логических условий (предикатов) используются булевы переменные x1, …,xL. Операторная схема алгоритма определяет вычислительный процесс в последовательном аспекте – устанавливает порядок проверки логических условий x1, …,xL и порядок следования микроопераций y1, …,yM.
Влияние систем микроопераций и логических условий на характеристики операционных устройств. Основными характеристиками операционных устройств являются быстродействие и затраты оборудования. Быстродействие устройства определяется средним временем выполнения операций
=
pg
τg,
(4.1)
где pg – вероятность выполнения операций fg; τg – среднее время выполнения операции. Вероятности p1, …,pG определяются классом задач, для решения которых предназначается устройство, и предполагаются известными. Операционное устройство функционирует в дискретном времени t = 0, 1, 2,… Промежуток между двумя моментами t и (t+1) дискретного времени называется микротактом. В течение микротакта формируется набор управляющих сигналов, выполняются соответствующие микрооперации и вычисляются значения логических условий. Длительность микротакта Т зависит от сложности микроопераций и логических условий и быстродействия элементов, из которых построены управляющий и операционный автоматы. С учетом этого среднее время выполнения операции = Тθ, где θ – среднее число тактов, за которое устройство реализует операцию. Затраты оборудования в операционном устройстве определяются суммарной стоимостью элементов, из которых состоит устройство.
Наиболее существенное влияние на быстродействие операционного устройства и затраты оборудования оказывает набор микроопераций Y = {ym} и логических условий X = {xl} и в первую очередь – система функций, на основе которых они строится. Система функций (операций), на основе которых описывается алгоритм (микропрограмма) выполнения операций F = {f1, …, fG}, определяется следующим образом.
По определению, введенному в пункте
4.1, микрооперация ym
Y – это
присваивание слову sα
S значения sα
: = φm
(
,
…,
),
определяемого как результат применения
функции φm
к значениям слов
,
…,
S. Аналогично, логическое
условие xl
X – это булева функция
xl
: = ψl
(
,
…,
),
определяющая отношение между словами
,
…,
S. В множестве Y
= {ym}
микрооперации различаются как
функциями Ф = {φm},
на основе которых образуются микрооперации,
так и наборами слов {( sα,
,
…,
)},
являющихся операндами функции.
Аналогичным образом, множество логических
условий X = {xl}
можно представить в виде набора булевых
функций Ψ = {ψl},
на основе которых строятся логические
условия, и наборов слов {(
,
…,
)},
на которые распространяются булевы
функции. Система Z = < Ф, Ψ>,
состоящая из множества функций Ф =
{φm}, образующих
микрооперации, и множества булевых
функций Ψ = {ψl},
образующих логические условия, называется
системой образующих алгоритма.
Например, набор микроопераций Y
= {ym}
может строиться на базе функций Ф = {+,
,
,
,
…}, где знак + – знак сложения целых
чисел,
,
,
– знаки булевых операций конъюнкции,
дизъюнкции и отрицания (инверсии). Набор
логических условий X
= {xl}
может строиться на базе отношений Ψ =
{=, = 0, …}.
Как показывает опыт, состав функций (операций) в системе Z наиболее существенно сказывается на времени выполнения алгоритмов (быстродействии) и затратах оборудования в операционном устройстве. Это объясняется тем, что микрооперации и логические условия образуются путем применения операций, входящих в систему образующих Z = < Ф, Ψ >, к словам s1, …, sN, с которыми оперирует алгоритм. Поэтому определение набора функций Z является первоочередной задачей микропрограммирования.
Структурная реализация микроопераций и логических условий. В общем случае операционное устройство строится по схеме на рис. 4.2, которая является более детальным представлением схемы на рис. 4.1. Операционный автомат разделяется на три части: память S; комбинационную схему Ф, реализующую микрооперации; комбинационную схему Ψ, вычисляющую значения логических условий. Память S обеспечивает хранение слов s1, …, sN,
Р
ис.
4.2. Структурная организация операционного
автомата
которые
представляют значения операндов D,
промежуточные значения и конечные
результаты R. Для выполнения
микроопераций Y={ym}
служит комбинационная схема Ф.
Управляющие сигналы Y, формируемые
управляющим автоматом, инициируют
выполнение необходимых микроопераций.
Так, если поступают сигналы y
и y
,
то схема Ф выполняет две микрооперации:
s
:
= φ
(s
,
…, s
);
s
:
= φ
(s
,
…, s
),
что сводится к вычислению значений
φ
(s
,
…, s
);
φ
(s
,
…, s
)
и присваиванию их словам s
,
s
S. Для вычисления
значений логических условий служит
комбинационная схема Ψ, реализующая
систему булевых функций {xl:=φl(s
,
…, s
)},
значения которых представляются
осведомительными сигналами X
= {xl}.
Управляющий автомат в соответствии с кодом операции генерирует набор управляющих сигналов, который инициирует соответствующий набор микроопераций. Выполнение микроопераций приводит к изменению состояния памяти операционного автомата – значений слов s1, …,sN. Состояние памяти S отображается множеством осведомительных сигналов X, которые анализируются управляющим автоматом для определения следующего набора микроопераций. Процесс выработки набора управляющих сигналов, выполнения микроопераций и вычисления логических условий занимает один микротакт времени, длительность T которого определяется быстродействием логических и запоминающих элементов. Количество тактов зависит от операции, которую реализует устройство, и состава системы образующих Z = < Ф, Ψ>: чем элементарнее, проще функции Ф и Ψ, тем большее число тактов требуется для выполнения операции. Затраты оборудования в операционном устройстве, как следует из рис. 4.2, определяются суммой C=CS+CФ+Cψ+CУА, где CS, CФ, Cψ, CУА – затраты оборудования, приходящиеся соответственно на память S, комбинационные схемы Ф и Ψ, реализующие микрооперации и логические условия, и управляющий автомат.
Многообразие операционных устройств. Рассмотрим различные варианты построения операционного устройства, реализующего фиксированное множество операций F = {f1, …, fG} над словами D с целью вычисления слов R. Каждый период работы устройства связан с выполнением операции R = fg(D), заданной кодом операции g = 1, …,G. Функцию устройства будем представлять в следующей сокращенной форме: R = Ω(D), где
f1
при g = 1;
Ω = . . . . . .
fG при g = G
- преобразование, реализуемое устройством. Эта функция реализуется на основе принципа микропрограммного управления структурой, приведенной на рис. 4.2.
В качестве первого варианта построения устройства можно принять, что преобразование Ω – единственная микрооперация, которую реализует устройство. Это означает, что множество образующих микроопераций Ф1={Ω} состоит из единственной функции (операции) Ω и отсутствует необходимость в логических условиях, т.е. Ψ1 = Ø. Следовательно, если принять, что Ω – микрооперация, система образующих алгоритма Z1 = < {Ω}, Ø > состоит из функции Ω и пустого множества функций, связанных с логическими условиями. Функция Ω реализуется комбинационной схемой, которую обозначим U1. Сопоставляя этот вариант реализации преобразования R = Ω (D) со структурой (рис. 4.2), можно видеть, что в данном случае отсутствует необходимость в управляющем автомате, памяти для хранения промежуточных результатов и схеме Ψ, вычисляющей значения логических условий. С учетом этого будем считать, что структура (рис. 4.2) вырождается в единственную комбинационную схему Ф, совпадающую со схемой U1 и реализующую преобразование Ω за один микротакт. Таким образом, реализация преобразования Ω на основе системы образующих Z1 = < {Ω}, Ø > приводит к комбинационной схеме U1, которая за один микротакт вычисляет значения R, соответствующие входным словам D.


Рассмотрим другой вариант построения
операционного устройства, реализующего
то же преобразование R
= Ω (D). Примем,
что элементы схемы (рис. 4.2) выполняют
следующие функции. Информация, хранимая
в памяти S, разделяется на биты s1,
…,sN.
Схема Ф выполняет единственную функцию
Ф = {
},
где
- знак операции И-НЕ, на основе которой
могут быть реализованы микрооперации
sα:= sβ
sγ,
где sα, sβ,
sγ
– биты (одноразрядные слова). На выходе
системы Ψ формируется единственное
логическое условие x1=sα,
значение которого 0 или 1 определяется
значением результата микрооперации.
В алгоритме значение x1
используется для проверки на нуль (или
на единицу) значения sα.
Следовательно, логические условия
образуются из единственной функции Ψ=
{= 0}. Систему образующих <{
},
{= 0}> обозначим как ZP.
Cистема ZP
является функционально полной,
т.е. в терминах функций {
,
= 0} можно описать любой алгоритм, и на
основе функций ZP
можно построить операционное устройство
UP,
реализующее преобразование Ω. Устройство
UP
в каждом такте может выполнять одну
микрооперацию sα:=sβ
sγ.
В связи с этим процесс выполнения
преобразования Ω должен быть представлен
в форме микропрограммы, реализуемой
управляющим автоматом.
Сопоставим характеристики операционных устройств U1 и UP, которым соответствуют вышеопределенные системы образующих Z1 = < {Ω}, Ø > и ZP = <{ }, {= 0}>. Устройство U1 представляет собой комбинационную схему и выполняет преобразование Ω за один микротакт времени и является наиболее быстродействующим. Устройство UP выполняет преобразование в виде последовательности простейших операций над битами информации. Поэтому число тактов, необходимых для реализации преобразования Ω, будет максимальным. Затраты оборудования в операционном устройстве: СУА = 0; CS = 0; CΨ = 0 и CФ имеет максимальное значение, так что суммарные затраты C1 = CS + CФ + CΨ + СУА = Cф. Для устройства UP затраты оборудования в управляющем автомате CУА и памяти операционного автомата CS имеют максимальные значения по сравнению с другими возможными вариантами построения устройств, а затраты оборудования CФ и CΨ, приходящиеся на комбинационные схемы Ф и Ψ, минимальны.
Таким образом, в общем случае устройства U1, UP и соответствующие им системы образующих Z1, ZP обладают диаметрально противоположными свойствами: 1) устройство U1 является наиболее быстродействующим, а устройство UP – наименее быстродействующим; 2) в устройстве U1 управляющий автомат отсутствует, в то время как в устройстве UP на управляющий автомат приходится максимальная доля затрат оборудования; 3) операционный автомат в устройстве U1 является наиболее сложным по количеству используемого оборудования, а в устройстве UP – наиболее простым.
Очевидно, что между диаметрально противоположными вариантами построения операционных устройств U1, UP находится ряд вариантов, показатели которых (быстродействие и затраты оборудования) занимают промежуточное положение между экстремальными значениями, соответствующим устройствам U1, UP. Предположим, что существует прием, позволяющий для преобразования Ω выявлять любые возможные системы образующих Z=<Фi,Ψi>, i = 1, …,P и синтезировать на их основе устройства с быстродействием i и минимальные по затратам оборудования. Такого рода системам образующих и соответствующим этим системам устройствам будем присваивать индексы i = 1, …,P в порядке уменьшения быстродействия устройств. При этом времена выполнения преобразования Ω устройствами U1, U2, …,UP будут образовывать монотонно возрастающую последовательность 1 < 2 < … < P. Последовательность Z1, Z2, …,ZP будем называть иерархией систем образующих преобразования Ω, а соответствующую последовательность устройств U1, U2, …, UP – иерархией операционных устройств, реализующих преобразование Ω.
И
ерархия
систем образующих содержит в себе
иерархию наборов микроопераций и
иерархию наборов логических условий,
функционально полных в отношении
преобразования Ω. Можно предполагать,
что иерархия операционных устройств
U1, U2, …, UP
обладает следующими свойствами: 1)
автоматное время
выполнения преобразования Ω монотонно
возрастает; 2) затраты оборудования
CФ+CΨ
в комбинационной части операционного
автомата монотонно убывают; 3) затраты
оборудования CУА,
приходящиеся на управляющий автомат,
монотонно возрастают, начиная от нуля;
4) затраты оборудования CS,
приходящиеся на память операционного
автомата, монотонно возрастают; 5) в
иерархии устройств имеется устройство
Um, суммарные
затраты оборудования в котором
C=СУА+CS+Cф+CΨ
минимальны, причем в общем случае
устройство Um
занимает срединное положение
между устройствами U1 и
UP, т.е. 1 < m
< P.

Влияние системы образующих Z=<Ф,Ψ> на характеристики операционных устройств иллюстрируется зависимостями, приведенными на рис. 4.3, где СОА и СУА – затраты оборудования соответственно в операционном и управляющем автоматах и С=СОА+СУА – затраты оборудования в операционном устройстве. Изменение системы образующих Z путем разложения операций F = {f1, …, fG}, реализация которых возлагается на устройство, на все более и более простые операции – микрооперации и логические условия – приводит к уменьшению затрат оборудования в операционном автомате СОА, но одновременно с этим увеличиваются затраты оборудования в управляющем автомате СУА. Таким образом, изменяя состав микроопераций и логических условий, в терминах которых описывается алгоритм выполнения операций, можно из оборудования операционного автомата «перекачивать» в управляющий автомат и наоборот. Из рис.4.3 видно, что существует система образующих Zm, которой соответствует определенный набор микроопераций и логический условий, обеспечивающая минимум затрат оборудования в операционном устройстве. Однако соответствующее системе Zm время выполнения операций достаточно велико. Чтобы уменьшить значение , т.е. увеличить быстродействие устройства, необходимо дополнительное оборудование, которое используется для реализации более сложных микроопераций и логических условий.
Задача порождения систем образующих (наборов микроопераций и логических условий), минимизирующих затраты оборудования или обеспечивающих заданное время выполнения операций в устройстве, сложна, что затрудняет разработку формальных методов выбора оптимального состава микроопераций и логических условий. Этот факт отмечен на рис.4.3 разрывами по оси абсцисс графиков функций СОА, СУА и С в связи с неопределенностью в общем случае местоположения ординат СОА, СУА и С. Эта ситуация типична как для процессоров, так и для контроллеров. И эта ситуация связана только с тем, что возможности создания в принципе любых технических систем всегда ограничены возможностями микроэлектроники как искусственной технологии, всегда ограничивающей возможности создания сверхбольших интегральных схем предельной площадью кристалла для размещения полупроводниковых элементов.
Проектирование операционных устройств.
На этапе системного проектирования
компьютера, когда компьютер рассматривается
как одно целое, выявляются номенклатура
устройств, в частности операционных
устройств, способ сопряжения устройств
(интерфейсы), требования к быстродействию
устройств и ограничения на сложность
сверхбольших интегральных схем. В
результате для каждого операционного
устройства становится известным: 1)
перечень входов D и
выходов R устройства,
определяемый составом интерфейсов; 2)
набор операций F =
{f1, …,fG},
реализация которых возлагается на
устройство; 3) требование к быстродействию
устройства, определяемое ограничением
*
на среднее время выполнения операций
(4.1); 4) ограничения на сложность
сверхбольших интегральных схем.
С учетом этого задача проектирования операционного устройства ставится следующим образом. Заданы функции операционного устройства, определяемые множествами D, R входных и выходных слов и множеством операций F, а также требования к быстродействию устройства, определяемые средним временем выполнения операций *. Требуется синтезировать схему устройства, обеспечивающую реализацию заданных функций с заданным быстродействием и являющуюся минимальной в смысле количества используемого оборудования (стоимости).
Чтобы синтезировать схемы операционного устройства, необходимо принять некоторый способ выполнения операций в устройстве и описать его в форме микропрограммы. Микропрограмма, представляющая функцию операционного устройства безотносительно к средствам, которые могут быть использованы для реализации заданной функции, называется функциональной микропрограммой. Функциональная микропрограмма фиксирует в себе алгоритм выполнения операций, рекомендуемый проектировщиком, и используется как исходная форма, представления функций устройства, на основе которой синтезируется структура, достаточная для реализации заданной функции.
Для записи функциональных микропрограмм необходима какая-либо алгоритмическая система – язык функционального микропрограммирования. Средства языка должны обеспечивать описание алгоритмов выполнения операций – слов, микроопераций, логических условий и порядка их выполнения – с такой степенью детализации, которая обеспечит синтез структуры устройства. За прошедшие десятилетия были опробованы многие десятки языков микропрограммирования, направленных на проверку правильности построения микропрограмм. К настоящему времени широкое распространение получил язык VHDL (Very high speed Hardware Description Language), появившийся в 1987 году, язык Verilog, отличающийся универсальностью и ставший стандартным с 1995 года, язык SystemVerilog, расширивший язык Verilog, и многие другие языки микропрограммирования.