Реклама:

Pentium 4 - прямой потомок процессора 8088, который использовался в первой модели IBM PC. Презентация Pentium 4 состоялась в ноябре 2000 года. Публике был представлен процессор с 42 млн транзисторов, частотой 1,5 ГГц и шириной строки 0,18 мкм. Понятие "ширина строки" означает ширину проводников между транзисторами (и одновременно определяет размер самих транзисторов). Чем меньше эта величина, тем больше транзисторов умещается на одной микросхеме. По сути, закон Мура прогнозирует способность инженеров к дальнейшему уменьшению ширины строки. Помимо прочего, уменьшение этой величины позволяет повысить тактовую частоту. Для сравнения, диаметр человеческого волоса составляет 20-100 мкм (причем светлые волосы тоньше темных).

В течение трех последующих лет технологический процесс в Intel претерпевал изменения, в результате чего компания смогла приступить к выпуску процессоров с 55 млн транзисторов, частотой до 3,2 ГГц и шириной строки 0,09 мкм. Хотя Pentium 4 очень сильно отличается от процессора 8088 с его 29 ООО транзисторов, он полностью совместим с 8088 и может выполнять программы, написанные для 8088 (не говоря уже о программах для всех процессоров, появившихся между Pentium II и 8088).

С точки зрения программного обеспечения Pentium 4 представляет собой 32-разрядную машину. Он поддерживает ту же стандартную промышленную архитектуру (ISA), что и процессоры 80386, 80486, Pentium, Pentium II, Pentium Pro и Pentium III, включая те же регистры, те же команды и такую же встроенную систему обработки значений с плавающей точкой стандарта IEEE 754. Помимо этого в Pentium 4 предусмотрен набор специализированных команд для выполнения мультимедийных приложений.

С точки зрения аппаратного обеспечения Pentium 4 схож с 64-разрядными машинами, поскольку он может передавать данные в память и из памяти блоками по 64 бита. Хотя программист не замечает этих 64-разрядных передач, такая машина работает быстрее, чем обычная 32-разрядная.

На уровне микроархитектуры Pentium 4 разительно отличается от всех своих предшественников. В Pentium II, Pentium Pro и Pentium III была реализована общая внутренняя микроархитектура Р6, различавшаяся в зависимости от модели процессора только по быстродействию и ряду второстепенных параметров. Процессоры Pentium 4 снабжены новой микроархитектурой под названием NetBurst, которая существенно отличается от Р6, в частности, она предусматривает большее количество ступеней конвейера и два АЛУ (каждое из которых работает в два раза быстрее тактовой частоты, обеспечивая возможность выполнения двух операций за один цикл), а также поддерживает технологию гиперпоточности. Под гиперпоточностью понимается наличие двух наборов регистров и ряда других внутренних ресурсов, которые позволяют Pentium 4 переключаться между двумя программами с высочайшей скоростью - так, как будто в системе установлен не один, а два процессора. Микроархитектуру Pentium 4 мы обсудим в главе 4. Как бы то ни было, подобно своим предшественникам, Pentium 4 способен выполнять несколько команд за один цикл, а следовательно, является суперскалярной машиной.

В процессорах Pentium 4 используется двухуровневый или трехуровневый кэш, в зависимости от модели. Во всех моделях присутствует встроенный в микросхему кэш типа SRAM первого уровня (L1) объемом 8 Кбайт. В отличие от кэша первого уровня, применяемого в Pentium III, который умеет только хранить байты памяти, кэш Pentium 4 более функционален. При выборке команд из памяти они преобразуются в микрооперации, предназначенные для выполнения в RISC-ядре процессора Pentium 4. Кэш первого уровня Pentium 4 способен удерживать до 12 000 декодированных микроопераций, за счет чего необходимость в их повторном декодировании исчезает. Емкость кэша второго уровня составляет от 256 Кбайт в старых моделях до 1 Мбайт в более современных. В кэше второго уровня байты хранятся без декодирования. В таком кэше могут одновременно размещаться элементы кода и данные. В модели Pentium 4 Extreme Edition также реализован кэш третьего уровня емкостью 2 Мбайт, что еще больше повышает производительность.

Поскольку во всех микросхемах Pentium 4 предусмотрено по меньшей мере два уровня кэширования, в мультипроцессорных системах при изменении одним из процессоров слова, размещенного в кэше, могут возникать трудности. Если, предположим, другой процессор попытается считать это слово из памяти, он получит устаревшее значение, поскольку между изменением слова и его записью в память проходит некоторое время. В целях поддержания согласованности данных в памяти каждый ЦП в мультипроцессорной системе следит за шиной памяти на предмет поиска запросов на кэшированные слова. В случае обнаружения подобного рода запроса процессор предоставляет необходимые данные до того, как память передаст их другим потребителям. Технологию слежения мы рассмотрим в главе 8.

В системах с процессором Pentium II используются две внешние шины, обе они синхронные. Шина памяти служит для доступа к главному динамическому ОЗУ; шина PCI - для взаимодействия с устройствами ввода-вывода. Иногда к шине PCI подсоединяется унаследованная (то есть прежняя) шина, чтобы можно было подключать устаревшие периферийные устройства.

Pentium 4 существенно отличается от своих предшественников компоновкой. Основная проблема всех современных микросхем заключается в объемах потребляемой мощности и выделяемого тепла. Процессоры Pentium 4, в зависимости от частоты, потребляют от 63 до 82 Вт. Поэтому Intel пребывает в постоянном поиске новых решений, которые позволили бы урегулировать проблему тепловыделения. Микросхемы Pentium 4 поставляются в квадратном корпусе с длиной стороны 35 мм. На нижней плоскости микросхемы находится 478 выводов, из которых 85 используются для подачи питания, а 180 заземляются в целях шумоподавления. Выводы размещены в виде матрицы 26 х 26, причем ее центральный сегмент 14 х 14 не заполнен. Кроме того, отсутствуют два вывода в одном из углов микросхемы, за счет чего исключается возможность ее неправильной установки в гнезде. Физическую компоновку Pentium 4 иллюстрирует рис. 3.41.

Pentium 4/

Рис. 3.41. Компоновка Pentium 4

Микросхема снабжена креплением для радиатора, который рассеивает тепло, и вентилятора, который охлаждает процессор. Чтобы получить некоторое представление о том, что собой представляет величина 60 Вт, поднесите руку к включенной электрической лампочке мощностью 60 Вт (только не дотрагивайтесь до нее). Вот такое количество тепла нужно рассеивать постоянно. У всей этой ситуации только один плюс: когда Pentium 4 потеряет свои рабочие характеристики как процессор, он вполне сгодится в качестве нагревателя.

В соответствии с законами физики все, что выделяет большое количества тепла, должно потреблять большое количество энергии. В случае с портативным компьютером, который работает от батареи с ограниченным зарядом, потребление большого количества энергии нежелательно. Чтобы решить эту проблему, компания Intel нашла способ переводить центральный процессор в режим пониженного энергоснабжения (состояние "сна"), если он не выполняет никаких действий, и вообще отключать его (вводить в состояние "глубокого сна"), если есть вероятность, что он не будет выполнять никаких действий некоторое время. Всего предусмотрено пять различных состояний - от полной активности до глубокого сна. В промежуточных состояниях одни функции работают (например, функция слежения кэша, обработка прерываний), другие - отключаются. В состоянии "глубокого сна" значения кэш-памяти и регистров сохраняются, а тактовый генератор и все внутренние блоки отключаются. Видит ли Pentium 4 сны во время "глубокого сна", науке пока не известно.

Цоколевка процессора Pentium 4

Из 478 контактов Pentium 4 для сигналов используются 198, для питания (с различным напряжением) - 85, для "земли" - 180; еще 10 зарезервированы на перспективу. Для некоторых логических сигналов требуется два и более вывода (например, для запроса адреса памяти), поэтому существует только 56 вариантов сигналов. Цоколевка Pentium 4 в несколько упрощенном виде представлена на рис. 3.42. С левой стороны рисунка показано 5 основных групп сигналов шины памяти; с правой стороны расположены прочие сигналы. Прописными буквами обозначены названия самих сигналов по версии Intel, строчными - общеупотребительные названия для групп связанных сигналов (в последнем случае только первая буква прописная).

Компания Intel использует одно соглашение, о котором важно знать. Поскольку в наши дни микросхемы разрабатываются с помощью компьютеров, нужно каким-то образом представлять названия сигналов в виде ASCII-текста. Использовать черту над обозначениями сигналов, запускаемых низким напряжением, слишком сложно, поэтому вместо этого компания Intel помещает после названия сигнала знак решетки (#). Например, вместо обозначения BPRI используется BPRI#. Как видно из рисунка, большинство сигналов Pentium 4 устанавливаются низким напряжением.

Давайте рассмотрим различные типы сигналов. Начнем с сигналов шины. Первая группа сигналов требуется для запроса шины (то есть для арбитража). Непосредственно запрос осуществляется сигналом BR0. Сигнал BPRI# позволяет устройству с высоким приоритетом получить доступ к шине раньше других устройств. Сигнал LOCK# позволяет центральному процессору не предоставлять остальным устройствам доступ к шине, пока работа не будет закончена.

Pentium 4/

Рис. 3.42. Цоколевка процессора Pentium 4. Официальные названия отдельных сигналов даны прописными буквами; общепринятые названия групп связанных сигналов и описания сигналов - строчными

Центральный процессор или другое задающее устройство шины может производить запрос на доступ к шине, используя следующую группу сигналов. Адреса состоят из 36 бит, но три последних бита должны всегда быть равны 0, и, следовательно, они не имеют собственных выводов, поэтому группа А# содержит только 33 вывода. Все передачи состоят из 8 байт. Поскольку адрес содержит 36 бит, максимальный объем памяти составляет 236, то есть 64 Гбайт.

Когда адрес передается на шину, устанавливается сигнал АБ8#. Этот сигнал сообщает целевому объекту (например, памяти) о действительности адресных линий. На линиях 11Е()# запускается цикл шины определенного типа (например, считывание слова или запись блока). Два сигнала четности нужны для проверки А# и 11Е()#.

По пяти специальным линиям передаются сообщения об ошибках в операциях с плавающей точкой, внутренних, машинных (аппаратных) и некоторых других ошибках.

Ответные сигналы передаются от подчиненного задающему устройству. Сигнал RS# содержит код состояния. Сигнал TRDY# показывает, что подчиненное устройство (целевой объект) готово принять данные от задающего устройства. Эти сигналы проверяются на четность. В случае, если целевой объект оказывается не в состоянии ответить вовремя, при помощи сигнала BNR# устанавливается ожидание.

Последняя группа сигналов нужна для передачи данных. Сигнал D# позволяет передать в шину 8 байт данных. Когда данные попадают в шину, выдается сигнал DRDY# (сигнал наличия данных в шине). Он сообщает устройствам, что шина в данный момент занята. Здесь также применяется проверка данных по четности. Некоторые сигналы отвечают за фиксацию и другие операции с данными.

Сигнал RESET# нужен для перезагрузки процессора в случае сбоя или нажатия пользователем кнопки сброса на передней панели системного блока.

Pentium 4 может осуществлять прерывания тем же способом, что и 8088 (это требуется в целях совместимости), или использовать новую систему прерывания с устройством APIC (Advanced Programmable Interrupt Controller - усовершенствованный программируемый контроллер прерываний).

Pentium 4 может действовать на любом из нескольких предустановленных напряжений, но процессор должен знать, на каком именно напряжении ему предстоит работать. Сигналы управления питанием используются для автоматического выбора напряжения источника питания, оповещения процессора о стабильности питания и ряда других родственных операций. С их же помощью осуществляется переход в различные состояния сна, которые, естественно, являются одними из инструментов управления питанием.

Несмотря на сложный механизм управления питанием, температура Pentium 4 может достигать очень высоких значений. Группа сигналов управления температурой позволяет процессору оповещать окружающие устройства об опасности перегрева. Сюда относится, например, сигнал, который выдается центральным процессором, если его внутренняя температура превышает 130°С (266°F). Хотя если температура центрального процессора превышает 130°С, он уже, вероятно, мечтает о выходе на пенсию и добросовестной службе в качестве нагревателя.

Группа сигналов тактовой частоты отвечает за определение частоты системной шины. Группа диагностических сигналов предназначена для тестирования и отладки систем согласно стандарту IEEE 1149.1 JTAG. Группа сигналов инициализации обслуживает загрузку (запуск) системы.

Наконец, существует группа разнородных сигналов, в числе которых, помимо прочих, есть сигнал, указывающий на то, что гнездо ЦП занято, сигнал, обслуживающий режим эмуляции 8088, и некоторые другие.

Конвейерный режим шины памяти процессора Pentium 4

Современные процессоры, такие как Pentium 4, работают гораздо быстрее современных динамических ОЗУ. Чтобы процессор не простаивал, необходима максимально возможная производительность памяти. По этой причине шина памяти процессора Pentium 4 работает в конвейерном режиме, когда в шине происходят одновременно 8 операций. Понятие конвейера мы рассматривали в главе 2, когда говорили о конвейерных процессорах. Отметим, что память тоже может быть конвейерной.

Обращения процессора к памяти, которые называются транзакциями, состоят из шести фаз:

1. Арбитраж шины.

2. Запрос.

3. Сообщение об ошибке.

4. Слежение.

5. Ответ.

6. Передача данных.

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

В системе с процессором Pentium 4 в каждой фазе используются определенные сигналы, отличные от сигналов других фаз, поэтому каждая из них не зависит от остальных. Шесть групп этих сигналов показаны в левой части рис. 3.42^ Например, один из процессоров может пытаться получить доступ к шине, используя сигналы арбитража. Как только процессор получает право доступа к шине, он освобождает эти линии шины и занимает линии запроса. Тем временем другой процессор или какое-нибудь устройство ввода-вывода может войти в фазу арбитража шины и т. д. Рисунок 3.43 иллюстрирует ситуацию одновременного выполнения нескольких транзакций.

Фаза арбитража шины на рис. 3.43 не показана, поскольку она не всегда нужна. Например, если устройство, обладающее в данный момент шиной (часто это центральный процессор), захочет произвести еще одну транзакцию, ему не понадобится заново получать доступ к шине. Запрашивать шину заново нужно только в том случае, если оно уступило ее другому устройству. Транзакции 1 и 2 обычные: пять фаз за пять циклов шины. Во время транзакции 3 вводится более длительная фаза передачи данных (когда, например, требуется передать целый блок или ввести режим ожидания). Вследствие этого транзакция 4 не может начать фазу передачи данных сразу после фазы ответа. Фаза передачи данных начинается только после того, как будет сброшен сигнал DBSY#. Фаза ответа в транзакции 5 также может занимать несколько циклов шины, что задерживает транзакцию 6. Наконец, мы видим, что в транзакции 7 также происходит задержка. В действительности же маловероятно, что центральный процессор будет пытаться начать новую транзакцию на каждом цикле шины, поэтому простои не такие уж длительные.

1 В левой части рисунка показано только 5 групп. Сигналы еще одной фазы (фазы слежения) почему-то оказались в правой части рисунка. - Примеч. ред.

Pentium 4/

Рис.

3.43.

Конвейерный режим шины памяти в системе с процессором Pentium 4

Примеры центральных процессоров || Оглавление || UltraSPARC III