Страница 1 из 8 В предыдущем разделе было завершено рассмотрение подсистем процессора, выполняющих подготовку инструкций (операций) к исполнению в функциональных устройствах. Эта подготовка включает в себя выборку инструкций из кэша, их преобразование (декодирование) в промежуточные микрооперации (МОПы), формирование из них групп, содержащих от 3 до 4-5 операций. Включает в себя переназначение (переименование) регистров, выделение требуемых ресурсов и размещение сформированных групп МОПов в буфере переупорядочения, а также в очередях планировщика внеочередного исполнения. В рассмотренных подсистемах обработка операций ведётся в натуральном порядке — в котором инструкции следуют друг за другом при выполнении программы в последовательной модели вычисления. Эти подсистемы обычно объединяют под названием «Front End».
Часть 2: внеочередное исполнение операций В свою очередь, подсистему внеочередного исполнения операций вместе с функциональными устройствами объединяют под названием «Back End», чтобы подчеркнуть её обособленность и самостоятельность. Внутри этой подсистемы обработка операций ведётся асинхронно, с учётом зависимостей между ними, готовности операндов и наличия требуемых ресурсов (устройств и очередей). При внеочередной обработке операций в этой подсистеме гарантируется, что результаты такого выполнения программы совпадут с результатами «правильного» последовательно выполнения. Отставка выполненных машинных инструкций после их выхода из подсистемы внеочередного исполнения производится строго последовательно. Таким образом, восстанавливается натуральный порядок следования операций. Говорить о внешнем, или архитектурном состоянии программы можно только с позиции последней машинной инструкции, покинувшей блок отставки. При возникновении какого-либо прерывания все последующие инструкции будут считаться невыполненными, вне зависимости от действительного состояния их выполнения. При выходе из прерывания все эти инструкции будут повторно исполнены с самого начала. В данном разделе будет рассмотрена организация подсистемы внеочередного исполнения операций и характеристики функциональных устройств, в которых эти операции выполняются. Структура этой подсистемы связана с устройством подсистемы декодирования инструкций, особенно для процессоров с фиксированной привязкой позиции МОПа в сформированной группе к номеру очереди планировщика и функционального устройства (AMD K8, IBM PPC970). Поэтому характеристики этих двух подсистем тесно переплетаются. Процессоры будут рассматриваться по компаниям-производителям: сначала процессоры компании Intel в порядке следования поколений (Pentium III и его производные, Pentium 4 и новый процессор Intel Core), затем — процессоры компаний AMD (Athlon 64 / Opteron) и IBM (PowerPC 970). |