УДК 681.325
МОДЕЛИ АРХИТЕКТУРЫ MISC ПРОЦЕССОРА
ЛОБОДА В.Г., ЕЛЬЧАНИНОВ Д.Б., ЦУКАНОВ В.Ю.
Предлагаются и исследуются структурные, программные и графовые L - модели процессора с перестраиваемой архитектурой типа MISC для общего и специализированного применения.
1. Введение
Известны два типа цифровых автоматов — с программируемой процедурой (ЦАПП) и с программируемой структурой (ЦАПС) [ 1].
Принцип программирования процедуры недостаточно гибок , так как ЦАПП имеет жёсткую структуру и воздействовать на такой автомат можно, лишь задавая его исходное состояние и последовательность входных сигналов. ЦАПП часто не позволяет реализовать одновременно высокую точность вычислений и высокую скорость работы. Принцип программирования процедуры исключает адаптацию автоматов к изменяющимся условиям работы.
При программировании структуры ЦАПС в исходном состоянии остаётся не полностью синтезированным и синтезируется окончательно программным путём под воздействием входных управляющих сигналов в зависимости от условий работы и решаемой задачи. ЦАПС более гибкий по сравнению с ЦАПП. Очевидно, должен существовать автомат с программируемой процедурой и структурой-ЦАППС. ЦАППС может быть принят в качестве базового процессора для построения ЭВМ и вычислительных систем. Такой процессор, обладающий открытой архитектурой, предложено назвать Multipurpose Instruction Set Computer - MISC [2] .
В [3] была представлена и предварительно исследована на теоретическом уровне модель ЦАППС. Данная работа продолжает исследования ЦАППС со структурой типа MISC с применением принципа двухуровневого программирования настройки [1]. 2.Элементная база структурного моделирования
Логическая структура MISC состоит из двух частей [2] — основной (host) RISC и управляющей памяти (например, Flash). Host - процессор выполняет несколько десятков простых команд, а другие команды, не принадлежащие к числу простых, преобразуются в адрес соответствующей микропрограммы Flash. Host часть — одноуровневый RISC-процессор с глобальным микропрограммированием задачи (после компиляции команд высокого уровня), а система ( Host + Flash ) — двухуровневый CISC-процессор с программированием (путём “склейки” готовых микропрограмм из Flash памяти).
Следовательно, для построения структурного эмулятора архитектуры MISC, в частности host -ядра, необходимо использовать разрядно-модульные секции микропроцессорных наборов [4].
Анализ функциональных возможностей микропроцессорных секций целесообразно проводить с позиции их представления в виде абстрактных автоматов [5].
Условия универсальности структуры любой микропроцессорной секции должны быть следующие:
1) xi > 2 ; yi > 2 ; Ql > 2, (1)
где xi — операнд, принимаемый по i-му каналу связи; yj — выходной результат, отмеченный на j -м канале связи; Ql—множество состояний секции (регистров).
2) Q(l+1) = S1(Ql,xi,x0);
Q(l+1) = S2(Q1,Q2,x0) ;
Q(l+1) = S3(x1,x2,x0); (2)
yj = X1(Ql,xi,x0) ; yj = X2(Q1,Q2,x0) ; yi = X3(x1,x2,x0) ;
здесь x0 — буква управляющего слова, поступающая по нулевому каналу; Q(l+1) — функция переходов, определяющая выполнение некоторой операции в секции.
3) Должны выполняться микрооперации алгебраического сложения, инкремента, сдвига (все виды), конъюнкции, дизъюнкции.
4) Такие микрооперации должны выполняться над содержимым любых источников информации в соответствии с полным графом коммутации 5з.
Если выполняются все четыре условия, то К1= =К2=К3= К4 = 1. Тогда структурная полнота (степень универсальности) определяется как 4 4
Ку = Z Кі / Z Ermax = 1 . (3)
i=1 i=1
При невыполнении одного из условий соответствующий коэффициент Кі уменьшается, тогда Ку < 1.
Таким образом, структура секции операционного автомата должна содержать блоки выполнения операций, коммутации, внутренней памяти, расширения разрядности, формирования внутреннего рабочего цикла.
Универсальная секция управляющего автомата должна позволять реализовать полный перечень переходов в микропрограмме, строить управляющие автоматы любой разрядности и любой конфигурации.
Межмодульная связь, как правило, магистральная.
Из-за существующего коммерческого перекоса в сторону однокристальных микропроцессоров в последние годы характеристики многокристальных наборов БИС существенно не улучшались. Самым совершенным комплектом (из последних) остаются БИС К1804[4], которые можно принять как инструмент первоначальной эмуляции MISC архитектуры. Комплект К1804 весьма обширен по своей ориентации, а коэффициенты структурной полноты Ку для всех типовых секций равны единице [4].
3. Структурные модели
Анализ этапов развития технологии средств вычислительной техники показывает, что на каждом таком этапе оптимальным оказывается процессор, близкий то к RISC, то к CISC архитектурам. Суще-
РИ, 1999, № 1
85
ствуют и сбалансированные решения типа mainframe, которые, однако, не позволяют получать открытых архитектур.
В развитие изложенной идеи предлагается MISC-процессор с развивающейся структурой и двухуровневой настройкой на работу (рис.1).
Host часть состоит из управляющего автомата с гибкой логикой (RISC — область оперативной памяти и КАМК1 — контроллер адресации микрокоманд) и операционного автомата , общего для системы.
Рис.1. Общая MISC — структура:
АМК — адрес микрокоманды; МК — микрокоманда; МП — микроприказ; АЧ — адресная часть команды; КО — код операции команды; О — операнды
CISC-часть включает две последовательные ступени, разделённые диспетчером так, что после него образуется две параллельные ветви последней ступени. Сложные команды размещаются в CISC-области оперативной памяти и реализуются вторым автоматом с гибкой логикой (КАМК2 и Flash память). При этом КО запускает соответствующую микропрограмму в Flash памяти. Диспетчер может включить в работу параллельную ветвь, состоящую из контроллера запуска цифровых автоматов (КЗЦА) со схемной логикой для быстрого выполнения стандартных функций. CISC-часть получает входные адреса от
host-части (RISC). Кэширование (cache) используется для повышения быстродействия.
Загрузка оперативной памяти (по областям) соответствует программированию процедур, а настройка канала “КАМК2-операционный автомат” [3] — программированию структуры.
С помощью метода моделирования систем на уровне корпусов БИС [6] была синтезирована функциональная схема MISC-процессора путём коммутации микропроцессорных секций комплекта К1804[4].
На рис. 2 приведена избыточная функциональная модель одного MISC-канала типа “КАМК - КЕШ -ПАМЯТЬ - КЕШ - АЛУ ” . Здесь памятью может быть либо RISC - область ОП , либо Flash , модели которых в принципе не отличаются друг от друга. В модели (рис.2) структуры CISC-канала “КАМК2 -ОА” необходима для “быстрого” исполнения выб-
^ Адрес ОЕ Буфер М
ЕЛ
М
М
ША ветвления
I
Адрес V ^
ОЕ Буфер V
V
У
12
MX =1
D VE
ME PE
K1804ВУ4
CC RLD
CCE I
I
12
Cache AMK
I
12
Flash
1
- Управление
- Управление
N
Cache MK
Поле выбора адреса ' ^правление
► ОЕ Буфер Р ССЕ | СОМ МХ |RLD | I’ E 1
Упр
12
/' 3
/'
Буфер D
Z
16
T
CT
I
K1804BM1 IEN
OET
OEY
DLE
16
P
8
4
4
Y
1
Рис.2 .Функциональная модель RISC-канала
ранной микропрограммы (команды CISC) из Flash памяти [3].
Модификация содержимого Flash памяти соответствует модификации архитектуры всего процессора. Смена набора стандартных функций, генерируемых CISC-частью процессора, производится с помощью программируемых логических матриц (ПЛМ),
86
РИ, 1999, № 1
составляющих комбинационные схемы цифровых автоматов канала “ КЗ ЦА - ОА”. Этим также достигается открытость архитектуры процессора.
КАМК эмулируется микросхемой К1804ВУ4, которая позволяет реализовать типовые конструкции микропрограммы в микросхеме К1804ВМ1 - 16 разрядном процессорном элементе. Для организации условных переходов в микропрограммах в модель включён мультиплексор МХ , предназначенный для выбора необходимого признака условного перехода. Другие прямые и обратные связи в модели введены в соответствии с РТМ на комплект ИС типа К1804.
4. Программное моделирование
Для программной эмуляции полученных структурных моделей использовалась библиотека программных моделей элементов микропроцессорного набора К1804 [7], ОЗУ, Flash, Cache и вспомогательных фиктивных элементов, необходимых для организации взаимодействия БИС, СИС и МИС в составе общей программной модели MISC [6,8]. В процессе реализации программной модели проверялась правильность установки связей и прохождения информации между узлами процессора; а также определялась необходимая полнота сформированных информационных и управляющих сигналов.
5. Моделирование L-сетями Петри
Моделирование MISC-процессора проводилось с помощью L-сетей Петри [9, 10], которые основаны на цветных [11] и нагруженных [12] сетях Петри.
В качестве примера модели MISC-процессора приведем описание процесса вычисления функции
Ж)=—
sin x
с использованием 2-сети Петри.
Алгоритм вычисления функции fx) можно представить в виде сети Петри Nc, изображенной на рис.3.
Рис. 3. Сеть Петри для вычисления f(x)
Таблица 1
Позиция Метка в позиции
p c Начало вычисления функции fix)
p2 Вычислено значение sin x
p3 Проверено условие sin x Ф 0
pC4 Конец вычисления функции f(x)
pi Вычисление прервано
Таблица 2
Переход Запуск перехода
Вычисление значения sin x
tCC Проверка условия sin x ф 0
tc t3 Вычисление значения функции fix)
tc t4 Прерывание вычислений из-за невыполнения условия sin x Ф 0
Что означает наличие метки в позициях сети и какие действия соответствуют запускам переходов, показано в таблицах 1 и 2 соответственно.
Чтобы показать процесс вычисления функции f(x), сопоставим метке в позиции pf сеть Петри, изображенную на рис. 4. Позиции pf — p| моделируют ячейки памяти MISC-процессора. В табл. 3 показано, что хранится в каждой ячейке. Сеть Петри N0 содержит позиции, моделирующие ячейки памяти для хранения промежуточных результатов вычисления функции f(x), и переходы, моделирующие необходимые операции для вычисления этой функции.
Дуги в сети Петри N0 отсутствуют.
Далее метку, которой сопоставлена сеть Петри, будем называть макрометкой [9, 10]. Таким образом, сеть Петри, соответствующая макрометке, образует первый уровень, а сеть Петри Nc с макрометкой — второй уровень 2-сети Петри.
Затем сопоставим дуге сети Петри Nc из позиции pf в переход tf следующее условие-разрешение запуска перехода: позиция pf содержит одну метку.
x
fix)
sin x
ф
P\
p2
p3
p4
Сеть Петри
No
Рис.4. Преобразованная сеть Петри
РИ, 1999, № 1
87
Таблица 3
Позиция Что хранится
pf Значение x
p f Значение функции fx)
pf Значение sin x
pf результат проверки условия sin x Ф 0
Дуге из перехода tf в позицию pf сопоставим следующее преобразование макрометки: изменение сопоставленной ей сети Петри на сеть, изображенную на рис. 5, где сеть Петри N моделирует процесс вычисления функции sin x.
Следовательно, появление метки в позиции pi разрешает запуск перехода tf, который удаляет макрометку из позиции р и добавляет ее в позицию pf . Таким образом, моделируется запись значения x в соответствующую ячейку памяти и настройка MISC-процессора на вычисление функции sin x. Переходы tf и tf моделируют соответственно начало и конец вычисления функции sin x.
Далее сопоставим дуге сети Петри Nc из позиции pf в переход tf следующее условие-разрешение запуска перехода tf: позиция pf содержит одну метку. Дуге из перехода tf в позицию pf сопоставим следующее преобразование макрометки: изменение сопоставленной ей сети Петри на сеть, изображенную на рис. 6, где сеть Петри N2 моделирует процесс проверки условия sin x ф 0.
Следовательно, появление метки в позиции pf разрешает запуск перехода tf, который удаляет макрометку из позиции pf и добавляет ее в позицию pf . Таким образом, моделируется запись значения sin x в соответствующую ячейку памяти и настройка MISC-процессора на проверку условия sin x ф 0. Переход tf моделирует начало проверки условия, а
переходы tf и tf — конец проверки с результатом соответственно sin x Ф 0 и sin x = 0.
Затем сопоставим дуге сети Петри Nc из позиции pf в переход tf следующее условие разрешение запуска перехода tf: позиция pf содержит одну метку. Дуге из перехода tf в позицию pf сопоставим следующее преобразование макрометки: изменение сопоставленной ей сети Петри на сеть, изображенную на рис. 7, где сеть Петри N3 моделирует процесс
X
вычисления отношения ----.
sin X
Следовательно, появление одной метки в позиции pf разрешает запуск перехода tf, который удаляет макрометку из позиции pf и добавляет ее в позицию pf . Таким образом, моделируется запись проверки условия sin x ф 0 в соответствующую ячейку памяти и настройка MISC-процессора на вычисление
отношения ——. Переходы tf и tf моделируют sin X 1 f
начало вычисления, а переход tf — конец вычисле-
X
ния отношения-----.
sin X
88
РИ, 1999, № 1
Наконец, сопоставим дуге сети Петри Nc из позиции р3 в переход следующее условие — разрешение запуска перехода : позиция содержит две метки. Дуге из перехода в позицию р5
сопоставим следующее преобразование макрометки: изменение сопоставленной ей сети Петри на сеть, изображенную на рис. 3.
Следовательно, появление двух меток в позиции р4 разрешает запуск перехода , который удаляет макрометку из позиции р3 и добавляет ее в позицию р5 . Таким образом, моделируется запись проверки условия sin x ф 0 в соответствующую ячейку памяти и прерывание вычисления функции из-за невыполнения этого условия.
Предложенная модель отражает концепцию совместного проектирования аппаратных и программных средств (в англоязычной литературе известную как hardware-software codesign). При таком подходе модель программы и модель выполняющего ее процессора объединяются в единую модель, представленную в виде 2-сети Петри. Таким образом, можно проследить за изменением архитектуры MISC-процессора во время выполнения программы, что позволяет оптимальным образом адаптировать их друг к другу в целях одновременной реализации высокой скорости работы и высокой точности вычислений.
6. Заключение
В результате выполнения всех этапов моделирования MISC - архитектуры были сформулированы следующие общие рекомендации : MISC процессор может быть использован как центральный в ЭВМ общего назначения и как специализированный в составе вычислительных систем с производительностью не хуже современных коммерческих БИС (СБИС) при очевидной простоте комплексирования архитектуры на готовых схемах
.Литература. 1.Каляев А.В. Микропроцессорные системы с программируемой архитектурой. М.: Радио и связь, 1984. 240 с. 2. СизовК.А. Микропроцессор будуще-
го: RISC,CISC или MISC ?// Библиотека информационных технологий: Сб. статей. Вып. 1 / Под ред. Г.Р. Громова. М.: Наука, 1990. С. 118-124. 3. Бережная М.А., Лобода
B. Г., Цуканов В.Ю. К вопросу проектирования структуры процессора // Радиоэлектроника и информатика , 1998, №2(3).С.12о-124. 4. Комплект БИСК1804 в процессорах и контроллерах / В.М. Мещеряков, И.Е. Лобов,
C. С. Глебов и др. М.: Радио и связь, 1990. 256 с. 5. МикроЭВМ: В 8кн.: Практическое пособие / Под ред. Л.Н. Преснухина. Книга 4. Управляющие системы “ЭНЦ”/ Ю.Е. Чичерин. М.: Высш. шк., 1988. 192 с. 6. Иванников А.Д. Моделирование микропроцессорных систем. М.: Энергоатомиздат, 1990. 144 с. 7. Автоматизация проектирования аналого-цифровых устройств / Под ред. Э.И. Гитиса. М.: Энергоатомиздат, 1987. 184 с. 8. Собкин Б.Л. Автоматизация проектирования аналого-цифровых приборов на микропроцессорах . М.: Машиностроение, 1986. 128с. 9. Ельчанинов Д. Б. Моделирование иерархических структур Г-сетями Петри // НТЖ. Автоматизация, телемеханизация и связь в нефтяной промышленности. М.: ВНИИОЭНГ, 1998. № 2. С. 7-8. Ю.Ельчанинов Д. Б. Микропроцессорные иерархические системы управления на базе Г-сетей Петри // Сб. статей “Актуальные проблемы современной науки в исследованиях молодых ученых г. Харькова”. X.: АО “Бизнес Ин-форм”, 1998. С. 20-23. 11. Технология системного моделирования / Е. Ф. Аврамчук, А. А. Вавилов, С. В. Емельянов и др. М.: Машиностроение; Берлин: Техник, 1988. 520с. 12. Слепцов А. И., Юрасов А. А. Автоматизация проектирования управляющих систем гибких автоматизированных производств. К.: Техніка, 1986. 110 с.
Поступила в редколлегию 17.05.99 Рецензент: д-р техн. наук Руденко О.Г.
Лобода Виталий Гаврилович, канд. техн. наук, профессор. Научные интересы: коммутация вычислительных структур. Увлечения: мотоцикл. Адрес: Украина, 310144, Харьков, ул. Ком. Уборевича, 12, кв. 55, тел.65-73-65.
Ельчанинов Дмитрий Борисович , аспирант ХТУРЭ. Научные интересы: структурированные системы Петри. Увлечения: пчеловодство. Адрес: Украина, 310096, Харьков, пр. Героев Сталинграда, 189 , кв.153.
Цуканов Виталий Юрьевич , аспирант ХТУРЭ. Научные интересы: алгоритмическое и программное обеспечение функционально-ориентированных процессоров. Увлечения: автомобиль. Адрес: 310111, Украина , Харьков, ул. Познанская, 2, кв.67, тел 10-42-63.
РИ, 1999, № 1
89