Достоинства и недостатки интерпретаторов
Достоинства:
· Большая переносимость интерпретируемых программ — программа будет работать на любой платформе, на которой есть соответствующий интерпретатор.
· Как правило, более совершенные и наглядные средства диагностики ошибок в исходных кодах.
· Упрощение отладки исходных кодов программ.
· Меньшие размеры кода по сравнению с машинным кодом, полученным после обычных компиляторов.
Недостатки:
· Интерпретируемая программа не может выполняться отдельно без программы-интерпретатора. Сам интерпретатор при этом может быть очень компактным.
· Интерпретируемая программа выполняется медленнее, поскольку промежуточный анализ исходного кода и планирование его выполнения требуют дополнительного времени в сравнении с непосредственным исполнением машинного кода, в который мог бы быть скомпилирован исходный код.
Язык SHELL - интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
После регистрации пользователя вся дальнейшая работа с системой выполняется под правлением программы sh - интерпретатора командного языка SHELL.
Во время работы пользователь выдает команды и получает сообщения системы о результатах их выполнения. Как правило, при получении команды интерпретатор определяет имя файла, содержащего программу, которую необходимо выполнить, и порождает процесс, который работает под управлением заданной программы. Исключения составляют случаи, когда вызываются встроенные команды языка SHELL, при этом указанные действия выполняются непосредственно интерпретатором без порождения нового процесса. Поскольку, в качестве имени команды может указываться любой файл, содержащий исполняемую программу, существует практически безграничная возможность расширения набора команд.
REXX - интерпретируемый язык программирования, разработанный фирмой IBM. Программа на языке REXX строится из ряда предложений, которые включают в себя следующее: нуль или более пробелов(которые игнорируются), последовательность лексем (см. ниже), нуль или более пробелов (опять же игнорируемых) и разделитель в виде точки с запятой (;), который может подразумеваться в конце строки, после некоторых ключевых слов или после двоеточия (:), если оно идет за одиночным символическим именем, каждое предложение сканируется перед выполнением слева направо, при этом идентифицируются составляющие его лексемы. Ha этой стадии распознаются ключевые слова операторов, удаляются комментарии, a группы пробелов (за исключением тех, которые находятся внутри цепочек символов) преобразуются в одиночные пробелы. Пробелы, примыкающие к специальным символам (включая арифметические и логические операторы) также удаляются.
2) Характеристика RISC и Intel
Архитектура компьютера — принцип построения и организации работы вычислительного устройства, включая определение функционального состава основных узлов и блоков, а также структуры управляющих и информационных связей между ними. Большинство компьютеров базируется на архитектуре фон Неймана и использует модульный принцип построения (открытая архитектура).
RISC (ReducedInstructionSetComputer)— компьютер с сокращенным набором команд
CISC (ComplexInstructionSetComputer) — компьютер с полным набором команд
Основные принципы RISC:
· Все команды должны выполняться непосредственно аппаратным обеспечением. То есть обычные команды не интерпретируются микрокомандами.Устранение уровня интерпретации повышает скорость выполнения большинства команд.
· Компьютер должен запускать как можно больше команд в секунду.
· Команды должны легко декодироваться. Полезно все, что способствует упрощению этого процесса. Например, можно использовать единообразные команды с фиксированной длиной и с небольшим количеством полей. Чем меньше разных форматов команд, тем лучше
· К памяти должны обращаться только команды загрузки и сохранения.
· Регистров должно быть много. Поскольку доступ к памяти происходит довольно медленно, в компьютере должно быть много регистров. Если слово однажды вызвано из памяти, при наличии большого числа регистров оно может содержаться в регистре до тех пор, пока не потребуется.
Проще говоря, в CISC напихано куча сложных функций, которые зачастую не используются программистом. При этом загрузка команд осуществляется довольно медленно из-за постоянного обращения к памяти.
В RISC данные обрабатываются в регистрах и их ОЧЕНЬ много.
Так же, стоит заметить, что RISC не являются компьютерами с сокращенным набором команд. Это они так просто называются (ну исторически так сложилось, забейте). Команд там больше и они простые. На пример, системе RISCпридется выполнить 4 или 5 команд вместо одной, которую выполнит CISC, ноRISCвсе равно выиграет в скорости, так как RISC-команды выполняются в 10 раз быстрее (поскольку они не интерпретируются).
Кажется, что RISC , это так классно. Почему их не стали использовать?
Во-первых, компьютеры RISCнесовместимы с другими моделями, а многие компании вложили миллиарды долларов в программное обеспечение для продукции Intel. Во-вторых, как ни странно, компания Intelсумела воплотить те же идеи в архитектуре CISC. Процессоры Intel, начиная с процессора 486, содержат RISC-ядро, которое выполняет самые простые (и обычно самые распространенные) команды за один цикл тракта данных, а по обычной технологии CISCинтерпретируются более сложные команды. В результате обычные команды выполняются быстро, а более сложные и редкие — медленно. Хотя при таком «гибридном» подходе производительность ниже, чем в архитектуре RISC, новая архитектура CISCимеет ряд преимуществ, поскольку позволяет использовать старое программное обеспечение без изменений.