ВУЗ:
Составители:
65
Итак, как же реализуется Hyper-Threading на практике? Для
программиста и операционной системы процессор с поддержкой этой
технологии представляется как пара логических процессоров [4].
На этапе выборки и дешифрации команд данная технология не вносит
никаких изменений. Но после того как команды «разложены» на микроинструк-
ции, становится возможным параллельное исполнение двух потоков если, к
примеру, текущая инструкция из первого потока осуществляет сложение целых
чисел, а из второго - умножение вещественных, то они будут выполняться
одновременно, задействовав ALU и FPU соответственно. При этом для каждой
из них будут выделяться логические регистры путем переименования
физических. Естественно, может возникнуть конфликтная ситуация, когда
обоим потокам потребуются одни и те же исполнительные устройства. В этом
случае процессор сам решает, какой из потоков имеет больший приоритет. С
другой стороны, если исполняемый поток перейдет в режим ожидания, то он
закроет доступ к исполнительным устройствам, находящимся в его распо-
ряжении. Чтобы предотвратить подобную ситуацию, при которой
быстродействие может снизиться, разработчики рекомендуют заменять пустые
циклы ожидания специальной командой PAUSE [4].
В процессоре Pentium 4 с технологией Hyper-Threading кэши команд и
данных являются разделяемыми. Поэтому если каждому потоку необходимо
задействовать все доступное пространство «процессорной памяти», то
неизбежно возникнут большие задержки, связанные с постоянной подкачкой
данных из оперативной памяти то для одного, то для другого потока.
Таким образом, для корректной работы Hyper-Threading необходима
перекомпиляция программ, иначе быстродействие может даже снизиться. Кро-
ме того, для достижения максимальной производительности, скорее, всего,
потребуется оптимизировать сам алгоритм. Также не все операционные
системы корректно поддерживают Hyper-Threading. Из наиболее
распространенных отметим лишь Microsoft Windows XP.
Тесты процессоров Intel Pentium 4 с Hyper-Threading указывают на то, что
во многих приложениях, работающих «в одиночку», данная технология не
приводит к заметному росту быстродействия.
Например, технология Hyper-Threading снижает скорость вычислений при
работе с пакетом программ AutoCAD, который используется в САПР. Но
наибольший прирост производительности (до 30 – 40 %) Hyper-Threading
обеспечивает при одновременном выполнении нескольких приложений [4].
На физическом уровне технология Hyper-Threading реализована в
следующих элементах: буфер потока инструкций, буфер трансляции команд,
указатель следующей инструкции, блок возврата в стек инструкций, буфер с
таблицами псевдонимов регистров, кэш с отслеживанием исполнения следую-
щей инструкции и кэш с отслеживанием заполнения буфера инструкций [4].
Очередной модификаций Pentium 4 стала модель на ядре Prescott. Это пер-
вый в мире процессор, изготовленный по технологическим нормам 0,09 мкм.
Теоретически рабочая частота процессоров на ядре Prescott может достичь 5
ГГц.
Итак, как же реализуется Hyper-Threading на практике? Для программиста и операционной системы процессор с поддержкой этой технологии представляется как пара логических процессоров [4]. На этапе выборки и дешифрации команд данная технология не вносит никаких изменений. Но после того как команды «разложены» на микроинструк- ции, становится возможным параллельное исполнение двух потоков если, к примеру, текущая инструкция из первого потока осуществляет сложение целых чисел, а из второго - умножение вещественных, то они будут выполняться одновременно, задействовав ALU и FPU соответственно. При этом для каждой из них будут выделяться логические регистры путем переименования физических. Естественно, может возникнуть конфликтная ситуация, когда обоим потокам потребуются одни и те же исполнительные устройства. В этом случае процессор сам решает, какой из потоков имеет больший приоритет. С другой стороны, если исполняемый поток перейдет в режим ожидания, то он закроет доступ к исполнительным устройствам, находящимся в его распо- ряжении. Чтобы предотвратить подобную ситуацию, при которой быстродействие может снизиться, разработчики рекомендуют заменять пустые циклы ожидания специальной командой PAUSE [4]. В процессоре Pentium 4 с технологией Hyper-Threading кэши команд и данных являются разделяемыми. Поэтому если каждому потоку необходимо задействовать все доступное пространство «процессорной памяти», то неизбежно возникнут большие задержки, связанные с постоянной подкачкой данных из оперативной памяти то для одного, то для другого потока. Таким образом, для корректной работы Hyper-Threading необходима перекомпиляция программ, иначе быстродействие может даже снизиться. Кро- ме того, для достижения максимальной производительности, скорее, всего, потребуется оптимизировать сам алгоритм. Также не все операционные системы корректно поддерживают Hyper-Threading. Из наиболее распространенных отметим лишь Microsoft Windows XP. Тесты процессоров Intel Pentium 4 с Hyper-Threading указывают на то, что во многих приложениях, работающих «в одиночку», данная технология не приводит к заметному росту быстродействия. Например, технология Hyper-Threading снижает скорость вычислений при работе с пакетом программ AutoCAD, который используется в САПР. Но наибольший прирост производительности (до 30 – 40 %) Hyper-Threading обеспечивает при одновременном выполнении нескольких приложений [4]. На физическом уровне технология Hyper-Threading реализована в следующих элементах: буфер потока инструкций, буфер трансляции команд, указатель следующей инструкции, блок возврата в стек инструкций, буфер с таблицами псевдонимов регистров, кэш с отслеживанием исполнения следую- щей инструкции и кэш с отслеживанием заполнения буфера инструкций [4]. Очередной модификаций Pentium 4 стала модель на ядре Prescott. Это пер- вый в мире процессор, изготовленный по технологическим нормам 0,09 мкм. Теоретически рабочая частота процессоров на ядре Prescott может достичь 5 ГГц. 65
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »