Неисполняемый интерфейс
Неисполняемый интерфейс
Команды MI не исполняются аппаратурой непосредственно. Они либо предварительно (до исполнения программы) транслируются в аппаратный набор команд, либо специальный компонент SLIC интерпретирует некоторые команды MI одну за другой. Пример интерпретируемых команд MI — API Advanced 36. Мы называем процесс преобразования команд MI в низкоуровневые аппаратные команды трансляцией, а не компиляцией, так как при этом выполняется лишь часть функций компиляции. Прежде результатом такой трансляции был набор инструкций IMPI — теперь это набор инструкций PowerPC.
Набор инструкций MI нельзя считать ЯВУ в обычном смысле. Правильнее рассматривать его как разновидность промежуточного представления программы в современном компиляторе ЯВУ. Кое-кто предпочитает представлять набор инструкций MI как ЯВУ, требующий трансляции на более низкий уровень или исполнения посредством интерпретации. Краткое описание оптимизирующих компиляторов поможет понять, почему MI лучше рассматривать как промежуточное звено.
Структура современного оптимизирующего компилятора показана на рис. 4.1. Обычно, компилятор состоит из двух и более проходов или фаз. Проход — это одна фаза, за которую компилятор считывает и модифицирует всю программу. Термины фаза и проход часто используются как синонимы.
В процессе выполнения каждого прохода компилятор преобразуя программу, понижает уровень ее представления (от более абстрактного к менее). В конечном итоге получается набор команд аппаратуры. Такая структура оптимизирующего компилятора была впервые предложена в 60-х годах для упрощения сложных преобразований, имевших целью получение оптимизированного кода.
Возможности однопроходного компилятора по оптимизации ограничены. Проще говоря, он не может просмотреть код программы вперед и учесть то, что произойдет дальше. «Заглянуть вперед» может многопроходный компилятор. Назначение регистров переменным в зависимости от их связей с другими переменными, запись в память ненужного более содержимого кэша, предварительная выборка операндов — вот лишь некоторые примеры оптимизации, выполняемой многопроходным компилятором.
Оптимизации, произведенные компилятором, могут значительно ускорить выполнение программы, особенно если она работает на процессоре, способном выполнять несколько команд параллельно. RISC-процессор — именно такого типа и ему необходим оптимизирующий компилятор для достижения высокой производительности. Применение нескольких проходов также облегчает процесс написания самого компилятора.
Рисунок 4.1 Структура оптимизирующего компилятора
Первый проход компилятора, показанного на рис. 4.1, часто называют препроцессором (front end) компилятора. Его задача — преобразование текста на ЯВУ в общую промежуточную форму (common intermediate form).
Постпроцессор (back end) компилятора состоит из фаз оптимизации и фазы генерации кода. Препроцессоры зависят от ЯВУ, тогда как постпроцессоры — от аппаратуры. Если общая промежуточная форма независима как от ЯВУ, так и от аппаратуры, то она может использоваться несколькими компиляторами. Для каждого нового ЯВУ нужен лишь новый препроцессор. Аналогично, если создан постпроцессор для новой аппаратуры, то с ним будут работать все старые препроцессоры. Такой модульный подход упрощает создание компиляторов ЯВУ для нового компьютера.
Набор команд MI аналогичен общей промежуточной форме, применяемой в компиляторах. Компилятор ЯВУ преобразует исходный текст в форму для MI. Транслятор, расположенный уровнем ниже MI, считывает программу в этой форме, выполняет оптимизацию и генерирует инструкции IMPI или PowerPC. Транслятор очень напоминает постпроцессор компилятора.
Общая промежуточная форма для некоторых языков может как транслироваться, так и интерпретироваться. В главе 11 мы рассмотрим язык Java, использующий как раз такую форму. Промежуточная форма Java, известная как байт-код, также включена в MI.
Набор инструкций MI заменяет общую промежуточную форму не во всех компиляторах AS/400 — некоторые языки имеют собственную промежуточную форму. Ниже приводится описание внутренней структуры компиляторов языков для AS/400, и место MI в этой структуре.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Интерфейс
Интерфейс …И видим, что на экране вместо обещанных красот спутниковой разведки – обычная карта земной поверхности со знакомыми по школьным атласам и контурным картам схемами континентов! Да, судя по схеме, мы с вами находимся где-то в европейской части России
27.1. Интерфейс dl
27.1. Интерфейс dl Процесс динамической загрузки заключается в открытии библиотеки, поиске любого количества символов, обработке любых возникающих ошибок и закрытии библиотеки. Все функции динамической загрузки объявляются в одном заголовочном файле, <dlfcn.h>, и
Веб-интерфейс
Веб-интерфейс Работа с почтой непосредственно на том сайте, где вы зарегистрировали свой почтовый ящик, называется работой с помощью веб-интерфейса (рис. 5.2). Рис. 5.2. Работа с помощью веб-интерфейса.Для доступа к почтовому ящику посредством веб-интерфейса достаточно зайти
Интерфейс
Интерфейс Spb Pocket Plus! Страница программы: http://www.spbsoftwarehouse.comСтатус: Shareware, $15Вам не кажется, что место на стартовом экране Windows Mobile можно было бы использовать куда рациональнее? Во всяком случае, у крупнейшей российской фирмы по производству мобильного софта такое ощущение
7.2 Интерфейс WMI
7.2 Интерфейс WMI Как уже отмечалось, модель CIM определена в рабочей группе DMTF и принята к использованию ассоциацией SNIA. Интерфейс WMI представляет собой реализацию модели CIM от Microsoft. Другими словами, WMI – это «CIM для Windows».Интерфейс WMI был разработан для режима ядра и
Интерфейс
Интерфейс ИНТЕРФЕЙС, графическая «оболочка», с помощью которой мы, пользователи, обращаемся к операционной системе. Интерфейс – это посредник, переводчик, задача которого преобразовать все внутренние «рычаги управления» Windows в понятную людям графическую
Интерфейс
Интерфейс Интерфейс Windows 7 не претерпел каких-либо особых изменений по сравнению с внешним видом Windows Vista. Тем не менее кое-что новое в нем также имеется. Основные изменения коснулись оформления таких элементов и программ, как меню Пуск, Панель задач, область уведомлений,
Интерфейс
Интерфейс В категории Интерфейс (рис. 14.8) задают некоторые настройки, касающиеся интерфейса. Например, включить отображение цветовых каналов в их базовых цветах, включить или выключить появление всплывающих подсказок при подведении курсора к инструментам, режим
4.1. Интерфейс с PHP
4.1. Интерфейс с PHP В этом разделе мы рассмотрим процесс создания веб-приложения на языке PHP, взаимодействующего с базой данных MySQL. Вначале познакомимся с платформами, на которых возможно создание такого приложения, а затем с функциями языка PHP, обеспечивающими работу с
Интерфейс
Интерфейс На самом деле Word – это не просто текстовый редактор (то есть, программа, предназначенная для создания и обработки текстов), а нечто гораздо большее. С помощью Word вы можете не просто набрать текст, но и оформить его по своему вкусу: включить в него таблицы и
Интерфейс
Интерфейс Пример внешнего вида Pinnacle Studio в режиме захвата приведен на рис. 2.1. Рис. 2.1. Studio в режиме захватаВ случае, показанном на рисунке, захват осуществляется с цифровой камеры. Поэтому в левой нижней части окна присутствует панель управления камерой (Контроллер
Веб-интерфейс
Веб-интерфейс Существует еще один способ получения и отправки писем – это веб-интерфейс. Он работает через любой браузер. Его главное преимущество заключается в том, что вы сможете забрать свою почту с абсолютно любого компьютера без настройки почтового клиента.Кроме
Интерфейс
Интерфейс Интерфейс (внешний вид) программы очень схож с Microsoft Word. После запуска программы экран Excel содержит пять областей (по порядку сверху вниз): Внешний вид окна программы ExcelКак вы теперь смогли сами убедиться, основным отличием от Word является присутствие вместо