5. Считывание содержимое слова в регистр центрального процессора.
6. Выполнение команды,
7. Переход к шагу 1, чтобы начать выполнение следующей команды.
Такая последовательность шагов (выборка — декодирование — выполнение) является основой работы всех компьютеров.
Алгоритм работы центрального процессора всегда можно представить в виде программы. А это
означает, что программа не обязательно должна выполняться реальным процессором (устройством).
Такой алгоритм может реализовываться некоторой программой, выполняемой на другом процессоре. Такая программа называется интерпретатором (интерпретация – перевод на другой язык)
Интерпретатор реализует команды процессора с помощью более мелкие элементарных микрокоманд другого процессора.
В результате машина, предназначенная для выполнения интерпретатора, может быть гораздо проще и дешевле, чем процессор, выполняющий программы без интерпретации (на аппаратном уровне).
Это важно при большом количестве сложных команд с различными параметрами.
Первые компьютеры поддерживали небольшое количество простых команд. Более мощные компьютеры имеют сложные в реализации команды. (Например: выполнение операций с плавающей точкой, обеспечение прямого доступа к элементам массива и т. п.)
При наличии сложных команд программы выполняются быстрее, хотя выполнение каждой отдельной команды занимает больше времени.
Если обнаруживалось, что пара тех или иных команд часто выполняется последовательно, вводилась новая команда, заменяющая эти две.
Таким образом, у дорогих компьютеров было гораздо больше команд, чем у дешевых.
Требования совместимости программ привело к тому, что сложные команды стали использоваться и в дешевых компьютерах. Характеристикой такой совместимости является понятие архитектура команд процессора.
Семейство компьютеров, отличающихся производительностью и стоимостью, но имеющих единую архитектуру команд, должны обеспечивать выполнение одних и тех же программ.
Способом обеспечения такого свойства стала интерпретация.
Пример. Архитектура System/360 (IBM) — семейство совместимых компьютеров, различающихся по цене и производительности. Аппаратное обеспечение, позволяющее работать без интерпретации, использовалось только в самых дорогих моделях.
Метод интерпретации имеет следующие достоинства:
- возможность исправлять неправильно выполненные команды или даже компенсировать ошибки аппаратного обеспечения;
- возможность добавлять новые команды при минимальных затратах, причем при необходимости уже после покупки компьютера;
- возможность (благодаря структурированной организации) разработки, проверки и документирования сложных команд.
Широкое применение подхода интерпретации привело к появлению понятия RISC - архитектура (Reduced Instruction Set Computer — компьютер с сокращенным набором команд) Такие ЭВМ имели около 50 быстрых команд.
Архитектура ЭВМ использующая только аппаратное выполнение команд процессором получила наименование CISC (Complex Instruction Set Computer — компьютер с полным набором команд). (200-300 команд)
ПАРАЛЕЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСИТЕМЫ
Повышение производительности ЭВМ приближается к физическим пределам. Время переключения электронных схем достигло долей наносекунд, а скорость распространения сигналов в проводниках физически ограничена значением 30см/нс (скорость света). Поэтому уменьшение времени переключения схем не позволяет существенно повысить производительность ЭВМ.
Альтернативным путем повышения производительности в настоявшее время является реализация принципа параллелизма устройств обработки информации и создания многомашинных и многопроцессорных (мультипроцессорных) ВС.
Второй причиной создания таких систем является необходимость решения проблемы обеспечения высокой надежности и готовности ВС, особенно работающих в системах реального времени.
Известный специалист М.ФЛИН выделил всего две причины порождающие вычислительный параллелизм:
- независимость потоков команд, одновременно существующих в системе
- несвязность данных, обрабатываемых в одном потоке команд.
Наиболее признанной классификацией программного параллелизма считается классификация предложенная П.ТРЕЛИВЕНОМ из университета Ньюкастела.
Уровни Программного параллелизма | Средства параллельной обработки |
Независимые задания | Мультипроцессирование |
Шаги задания и программы | |
Программы и подпрограммы | |
Циклы и итерации | Векторная обработка |
Операторы и команды | Многофункциональная |
Фазы команд | Конвейер команд |
Если совместить такое ранжирование с категориями Флина "параллельные потоки команд" и " параллельные потоки данных", то можно заметить, что параллелизм первых трех уровней достигается за счет множества независимых командных потоков, а параллелизм последних трех градаций – главным образом за счет несвязных потоков данных.