Достоинства и недостатки интерпретаторов

Достоинства:

· Большая переносимость интерпретируемых программ — программа будет работать на любой платформе, на которой есть соответствующий интерпретатор.

· Как правило, более совершенные и наглядные средства диагностики ошибок в исходных кодах.

· Упрощение отладки исходных кодов программ.

· Меньшие размеры кода по сравнению с машинным кодом, полученным после обычных компиляторов.

Недостатки:

· Интерпретируемая программа не может выполняться отдельно без программы-интерпретатора. Сам интерпретатор при этом может быть очень компактным.

· Интерпретируемая программа выполняется медленнее, поскольку промежуточный анализ исходного кода и планирование его выполнения требуют дополнительного времени в сравнении с непосредственным исполнением машинного кода, в который мог бы быть скомпилирован исходный код.

Язык SHELL - интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

После регистрации пользователя вся дальнейшая работа с системой выполняется под правлением программы sh - интерпретатора командного языка SHELL.

Во время работы пользователь выдает команды и получает сообщения системы о результатах их выполнения. Как правило, при получении команды интерпретатор определяет имя файла, содержащего программу, которую необходимо выполнить, и порождает процесс, который работает под управлением заданной программы. Исключения составляют случаи, когда вызываются встроенные команды языка SHELL, при этом указанные действия выполняются непосредственно интерпретатором без порождения нового процесса. Поскольку, в качестве имени команды может указываться любой файл, содержащий исполняемую программу, существует практически безграничная возможность расширения набора команд.

REXX - интерпретируемый язык программирования, разработанный фирмой IBM. Программа на языке REXX строится из ряда предложений, которые включают в себя следующее: нуль или более пробелов(которые игнорируются), последовательность лексем (см. ниже), нуль или более пробелов (опять же игнорируемых) и разделитель в виде точки с запятой (;), который может подразумеваться в конце строки, после некоторых ключевых слов или после двоеточия (:), если оно идет за одиночным символическим именем, каждое предложение сканируется перед выполнением слева направо, при этом идентифицируются составляющие его лексемы. Ha этой стадии распознаются ключевые слова операторов, удаляются комментарии, a группы пробелов (за исключением тех, которые находятся внутри цепочек символов) преобразуются в одиночные пробелы. Пробелы, примыкающие к специальным символам (включая арифметические и логические операторы) также удаляются.

2) Характеристика RISC и Intel

Архитектура компьютера — принцип построения и организации работы вычислительного устройства, включая определение функционального состава основных узлов и блоков, а также структуры управляющих и информационных связей между ними. Большинство компьютеров базируется на архитектуре фон Неймана и использует модульный принцип построения (открытая архитектура).

RISC (ReducedInstructionSetComputer)— компьютер с сокращенным набором команд

CISC (ComplexInstructionSetCompu­ter) — компьютер с полным набором команд

Основные принципы RISC:

· Все команды должны выполняться непосредственно аппаратным обеспече­нием. То есть обычные команды не интерпретируются микрокомандами.Устранение уровня интерпретации повышает скорость выполнения боль­шинства команд.

· Компьютер должен запускать как можно больше команд в секунду.

· Команды должны легко декодироваться. Полезно все, что способствует упро­щению этого процесса. Например, можно использовать единообразные ко­манды с фиксированной длиной и с небольшим количеством полей. Чем меньше разных форматов команд, тем лучше

· К памяти должны обращаться только команды загрузки и сохранения.

· Регистров должно быть много. Поскольку доступ к памяти происходит до­вольно медленно, в компьютере должно быть много регистров. Если слово однажды вызвано из памяти, при наличии большого числа регистров оно может содержаться в регистре до тех пор, пока не по­требуется.

Проще говоря, в CISC напихано куча сложных функций, которые зачастую не используются программистом. При этом загрузка команд осуществляется довольно медленно из-за постоянного обращения к памяти.

В RISC данные обрабатываются в регистрах и их ОЧЕНЬ много.

Так же, стоит заметить, что RISC не являются компьютерами с сокращенным набором команд. Это они так просто называются (ну исторически так сложилось, забейте). Команд там больше и они простые. На пример, системе RISCпридется выполнить 4 или 5 ко­манд вместо одной, которую выполнит CISC, ноRISCвсе равно выиграет в ско­рости, так как RISC-команды выполняются в 10 раз быстрее (поскольку они не интерпретируются).

Кажется, что RISC, это так классно. Почему их не стали использовать?

Во-первых, компьютеры RISCнесовместимы с другими моделями, а многие компании вложили миллиарды долларов в программное обеспечение для про­дукции Intel. Во-вторых, как ни странно, компания Intelсумела воплотить те же идеи в архитектуре CISC. Процессоры Intel, начиная с процессора 486, содержат RISC-ядро, которое выполняет самые простые (и обычно самые распространен­ные) команды за один цикл тракта данных, а по обычной технологии CISCин­терпретируются более сложные команды. В результате обычные команды вы­полняются быстро, а более сложные и редкие — медленно. Хотя при таком «гибридном» подходе производительность ниже, чем в архитектуре RISC, новая архитектура CISCимеет ряд преимуществ, поскольку позволяет использовать старое программное обеспечение без изменений.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: