Основные особенности архитектуры Intel NetBurst
Для того, чтобы процессоры могли работать на частотах порядка нескольких гигагерц Intel увеличил длину конвейера Pentium 4 до 20 стадий (Hyper Pipelined Technology) за счет чего удалось даже при текущих технологических нормах (0,18мкм) добиться работы процессора на частоте в 2ГГц. Названием Hyper Pipelined Technology конвейер Pentium 4 обязан своей длине – 20 стадий. Для сравнения – длина конвейера Pentium III составляет 10 стадий. Чего же достиг Intel, так удлинив конвейер? Благодаря декомпозиции выполнения каждой команды на более мелкие этапы, каждый из этих этапов теперь может выполняться быстрее, что позволяет беспрепятственно увеличивать частоту процессора. Так, если при используемом технологическом процессе 0.18 мкм предельная частота для Pentium III составляет 1 ГГц (по более оптимистичным оценкам, 1.13 ГГц), то Pentium 4 мог достигнуть частоты в 2 ГГц. Однако у чрезмерно длинного конвейера есть и свои недостатки. Первый недостаток очевиден – каждая команда теперь, проходя большее число стадий, выполняется дольше. Поэтому, чтобы младшие модели Pentium 4 превосходили по производительности старшие модели Pentium III, частоты Pentium 4 начинаются с 1,4 ГГц. Если бы Intel выпустил Pentium 4 с частотой 1 ГГц, то этот процессор, несомненно, проиграл в производительности Pentium III 1 ГГц. Второй недостаток длинного конвейера вскрывается при ошибках в предсказании переходов.
Из-за такого увеличения длины конвейера время выполнения одной команды в процессорных тактах также сильно увеличивается. Поэтому компания сильно поработала над алгоритмами предсказания переходов (Advanced Dynamic Execution). Advanced Dynamic Execution - осуществляет минимизацию простоя процессора при неправильном предсказании переходов и увеличение вероятности правильных предсказаний. Для этого Intel улучшил блок выборки инструкций для внеочередного выполнения и повысил правильность предсказания переходов. Правда, для этого алгоритмы предсказания переходов были доработаны минимально, основным же средством для достижения цели было выбрано увеличение размеров буферов, с которыми работают соответствующие блоки процессора. Количество предварительно загружаемых инструкций увеличилось до 126 по сравнению с 48 у Pentium III. Буфер, хранящий адреса условных переходов, также увеличился с 512 байт до 4 КБ. Все это позволило увеличить вероятность правильного предсказания переходов на 33%.
Для ускорения работы целочисленных операций в Pentium 4 применена технология удвоения внутренней тактовой частоты (Rapid Execution Engine). Два блока АЛУ (арифметико-логическое устройство), выполняющие операции над целочисленными данными, работают на частоте вдвое большей, чем частота самого процессора. Таким образом, например, в Pentium 4 с частотой 1.4 ГГц ALU работает на частоте 2.8 ГГц. В ALU исполняются простые целочисленные инструкции, поэтому, производительность нового процессора при операциях с целыми числами была очень высокой. Однако, на производительности Pentium 4 при операциях с вещественными числами, MMX или SSE двукратное ускорение ALU никак не сказывается.
Кэш 1-го уровня в процессоре также претерпел значительные изменения. В отличие от Pentium III, кэш которого мог хранить команды и данные, Pentium 4 имеет всего 8 КБ кэш данных. Команды, поступающие на исполнение процессору, сохраняются в так называемом Trace Cache. Там они хранятся уже в декодированном виде, т.е. в виде последовательности микроопераций, поступающих для выполнения в исполнительные устройства процессора. Емкость этого кэша составляет 12000 микроопераций. Для кэширования инструкций теперь используется Trace Cache, однако по сравнению с обычным L1-кэшем он имеет много преимуществ, направленных опять же на минимизацию простоев процессора при выполнении неправильных предсказаний переходов. Кэш 2-го уровня в Pentium 4, сделанном на ядре Willamette, остался объемом 256 КБ.
Самой интересной особенностью новых процессоров Pentium 4 является расширение набора команд процессора инструкциями Streaming SIMD Extensions 2 (SSE2). В отличие от AMD, которая сильно переработала блок FPU, Intel решила оставить его практически без изменений, но зато дополнила его множеством команд для работы с потоками данных. К 70 инструкциям SSE, работающим с потоковыми данными одинарной точности добавились 144 инструкции для работы с числами двойной точности, а также с целыми числами длиной от одного до восьми байт.
Do'stlaringiz bilan baham: |