Выполнения команд относится к MISD (МКОД) архитектурам. Машинные
команды выполняются с помощью ряда последовательных элементарных действий: выборки команды (IF), декодирования команды (D), формирования адресов операндов (ОА), выборки операндов (OF),выполнения операции (ЕХ) и запоминания результата (S). В машине с простой структурой аппаратной части выборка следующей машинной команды производится лишь после завершения выполнения предыдущей команды. С другой стороны, в машинах с конвейерной организацией команд, как показано на рис. 1.19, Допустимо одновременное выполнение нескольких команд путем Совмещения во времени различных фаз этих команд. IF- выборка команды, D-декодирование, ОА- формирование адресов операндов, OF- выборка операндов, ЕХ- выполнение операции, S- запоминание результата. Если считать, что на выполнение каждого из этапов (шагов) команды Затрачивается одинаковое время, равное машинному такту (в некоторых машинах один шаг соответствует машинному циклу), то в идеальном случае можно получать результаты операций в каждом машинном такте. Конвейерное выполнение команд основано на тех же принципах, что и поточные линии сборки на производстве. Оно имеет максимальную эффективность, когда продолжительность выполнения всех этапов команд одинакова, бесперебойно подаются команды и данные и на каждом этапе отсутствуют «мертвые» временные зоны, нарушающие непрерывность конвейерной реализации команд. К этим факторам можно отнести следущие: Когда для выполнения следующей команды требуется результат От предыдущей команды, или когда предыдущей командой определяется адрес операнда следующей команды (модификация адреса), то возникает задержка начала выполнения следующей команды, связанная с ожиданием выборки операнда или с преобразованием адресов;
|