Программирование на JAVA

Из-за этого нельзя подготовить к выполнению команду I4, которая ждет освобождения временного регистра, а его невозможно освободить, пока коман­да I5 не покинет процессор. В свою очередь, команда I5 не покинет процессор пре­жде, чем это сделает команда I4. Таким образом, налицо взаимоблокировка.

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

Примером удачного применения описанных в этой главе технологий и разрешения мно­гих из перечисленных проблем, является процессор UltraSPARC II — коммерчески успеш­ный суперскалярный процессор с высокой степенью конвейеризации команд.

Семейство процессоров Intel IA-32


<< назад вперед >>