- •5.7.6. Команды ввода-вывода
- •5.8. Переход от алгоритма к структуре компьютера. Эмуляция вычислительных устройств в микропроцессорной среде
- •5.8.1. Переход от алгоритма к структуре
- •5.8.2. Эмуляция архитектуры посредством микропрограммирования
- •5.8.3. Микропрограммная интерпретация команд языка компьютера
- •5.9. Аппаратно-программные средства обработки прерываний
5.8.2. Эмуляция архитектуры посредством микропрограммирования
Основным следствием развития схемотехники и современных интегральных технологий явилось изменение соотношения между стоимостью разработки аппаратных средств и стоимостью программного обеспечения компьютеров. По мере появления стандартных блоков и модулей, обладающих всё большими возможностями, стоимость разработки программного обеспечения стала существенно превышать стоимость разработки аппаратуры. Это обстоятельство обусловило тенденцию использования в новых системах большего объема уже существующих программ, что и явилось основным стимулом для эмуляции - «растворения» - вновь разрабатываемых архитектур (путем микропрограммирования) в стандартной микропроцессорной среде.
Эмуляция архитектурных решений путем микропрограммирования имеет следующие существенные преимущества:
1. При эмуляции микропрограммированием может быть использовано уже существующее и испытанное ПО.
2. Процесс эмуляции компьютера в стандартной среде требует меньшего времени, чем аппаратная реализация усовершенствованной архитектуры.
3. Стоимость проектирования с использованием стандартной архитектуры оказывается значительно меньше, чем стоимость аппаратной реализации каждого нового устройства.
4. При эмуляции в стандартной структуре может быть реализовано несколько различных архитектур.
5. Если эмуляция вновь разработанного компьютера затруднена в связи с ограничениями стандартной схемы, то расширение стандартной конфигурации может быть выполнено с меньшими затратами, чем реализация нового вычислительного устройства.
Процесс эмуляции компьютера в общем случае означает, что каждой машинной команде эмулируемой системы в микропрограммной памяти (МПП) базовой структуры будет поставлена в соответствие микропрограмма, которая реализует требуемые преобразования посредством микроопераций. Простейший способ организации доступа к такой микропрограмме заключается в использовании битов кода операции эмулируемой машинной команды в качестве адреса соответствующей микропрограммы.
Очевидный недостаток данного (прямого) способа обращения к микропрограмме заключается в отсутствии надлежащей связи между кодами операций исполняемых команд и соответствующими адресами МПП.
Для устранения указанного недостатка используют косвенный способ адресации, сущность которого состоит в составлении специальной таблицы перекодирования адресов, хранимой в служебной области памяти. В этом случае биты кода операции машинной команды адресуют определенную строку таблицы, а содержимое строки в свою очередь используется в качестве адреса МПП.
Однако с точки зрения быстродействия применение в системе адресации таблиц переходов не является эффективным. Это связано с тем, что многократное обращение к памяти приводит к снижению скорости формирования исполнительных адресов, так как при обращении к ОЗУ приходится многократно использовать системную шину.
Приемлемым решением возникшей проблемы на практике явилось использование схем специальных ПЗУ, предназначенных для хранения алгоритмов и таблиц перекодирования адресов. При этом ПЗУ получило название дешифрирующего ПЗУ или преобразователя начального адреса (ПНА). Общесистемная функция данного модуля заключается в трансляции кода операции, поступающего из регистра команды, в адрес требуемой ячейки ПЗУ (МПП), хранящего множество микропрограмм, отрабатываемых компьютером.
