PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Процессоры

Процессоры

Эксклюзивный кэш

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

Оригинальность организации кэш-памяти процессоров AMD заключается в ее «эксклюзивности» (exclusive). Суть этой технологии в том, что содержимое кэша L1 не копируется в кэш L2, то есть они дополняют друг друга. Таким образом, суммарный объем кэша рассчитывается как сумма объемов L1 и L2. Эксклюзивная архитектура обусловливает некоторые особенности в работе кэша. Особенность первая: поскольку в процессе работы данные «складываются» прежде всего в кэш L1, то практически всегда возникает нехватка места. В этом случае кэш L1 перебрасывает самые ненужные данные в L2, а затем принимает новые. Для временного хранения перебрасываемых данных предусмотрен специальный буфер (Victim buffer). Необходимость в таком буфере возникает потому, что кэши L1 и L2 работают с разными задержками, как показано в таблице.

Вторую особенность архитектуры кэша AMD K8 хорошо иллюстрирует вариант работы с данными, которых не оказалось в кэше L1, но они есть в кэше L2. В этом случае задержки обусловлены следующими операциями. На первом этапе процессор выполняет поиск данных в кэше L1, на это уходит три такта. На втором этапе освобождается место в L1 для пересылки данных из L2. Соответственно, строка кэша сбрасывается в Victim buffer, освобождая место в L1. До окончания пересылки первого блока данных из L2 (после чего процессор может продолжить работу) необходимо еще 8 тактов.

Если буфер свободен, 8 + 3 такта дают минимальную задержку в 11 татов. Это так называемый «лучший» сценарий.

Если же Victim buffer занят, то на его очистку уходит 8 тактов. Переключение режимов записи/чтения кэша L2 занимает два такта. Еще 8 тактов тратится на перенос данных в L1. Последние два такта опять расходуются на переключение режимов записи/чтения. Таким образом, в худшем случае операция загрузки занимает 8 + 2 + 8 + 2 = 20 тактов. Это значение точно равно задержке, так как операция чтения на разделяемой 64-битной шине L1-L2 не может начаться, пока не будет закончена операция записи из Victim buffer.

По теоретической пропускной способности кэш второго уровня К7 проигрывает инклюзивному кэшу Pentium 4. Это объясняется как особенностями эксклюзивной архитектуры кэша, так и более узкой шиной (у Pentium 4 шина L1-L2 имеет ширину 256 бит). Но в реальных приложениях таких ситуаций, которые бы демонстрировали несостоятельность эксклюзивной архитектуры кэша, практически не возникает.

Разрабатывая архитектуру К8, инженеры AMD модернизировали шину кэш-памяти L1-L2. Вместо одной двунаправленной шины шириной 64 бит уровни кэша связаны двумя однонаправленными шинами шириной по 64 бита. Такое решение позволило практически полностью нивелировать отрицательные эффекты «перегруза» шины L1-L2 и снизить задержки в «худшем» варианте до 16 тактов.

Функциональная схема микроархитектуры AMD K8

Процессор VIA СЗ

Следующая реинкарнация процессора произошла под именем VIA СЗ. На этот раз ядро Samuel процессора проектировалось специалистами из подразделения Centaur Technology бывшей фирмы IDT. Технологические нормы составили 180 микрон, размер кэш-памяти первого уровня вырос до 128 Кбайт (по 64 Кбайт для инструкций и данных). Кэш-память второго уровня на ядре процессора отсутствует (можно использовать кэш на системной плате). Длина конвейера обработки данных составляет двенадцать ступеней. Для повышения конкурентоспособности необходимо было придумать «изюминку», отличающую новый процессор от всех остальных. В качестве таковой была выбрана технология Dynamic Power Caching, то есть автоматическое регулирование энергопотребления в зависимости от загрузки процессора (в варианте на ядре Samuel 2). Так, процессор с частотой 533 МГц в режиме полной мощности потреблял 10,5 Вт (в два раза меньше, чем Celeron аналогичной частоты), а в режиме «холостого хода» — всего 2 Вт. Низкое энергопотребление позволило отказаться от активного охлаждения — достаточно установки радиатора.

В конце 2001 г. фирма VIA приступила к производству процессора СЗВ на ядре Ezra. Модификация имеет 64 Кбайт кэш-памяти первого уровня и 128 Кбайт второго уровня. Рабочие частоты достигают 1000 МГц (1 ГГц). В 2003 г. компания VIA начала выпуск процессора СЗ на ядре Nehemiah (технормы 130 нм), с интерфейсом Socket 370, в корпусе EBGA. Емкость кэш-памяти первого уровня увеличена до 128 Кбайт, а кэш второго уровня занимает 64 Кбайт. Рабочая частота достигает 1,2 ГГц при тепловой мощности всего 19 Вт. Обеспечена поддержка инструкций ММХ и SSE, разработанных компанией Intel для процессоров Pentium. Одним из преимуществ процессора VIA СЗ является интерфейс Socket 370. По сути дела, сейчас это единственный современный процессор, который устанавливается в этот разъем. В итоге на платформе VIA СЗ можно построить чрезвычайно дешевую компьютерную систему.

Разъемы процессоров

Особого обсуждения требует процессорный разъем (Socket). Разъем для процессора — не просто механическое устройство на системной плате. Спецификация разъема описывает не только его конструктив, но и электрические параметры, и назначение контактов, предопределяет порядок взаимодействия с шинами данных, питания, особенности работы с оперативной памятью и многие другие показатели. За последние десять лет в компьютерах класса IBM PC использовалось более полутора десятков конструкций разъемов. Но лишь нескольким была суждена сравнительно долгая жизнь. К числу «долгожителей» относятся разъемы Socket 7 (1995-1998 гг.), Socket 370 (1998-2001 гг.), Socket 478 (2001-2004 гг.), Socket A (2000-2005 гг.).

Socket 7 — разъем типа ZIF (Zero Input Force — нулевое усилие установки) с 296 контактами, расположенными в плоском прямоугольном конструктиве. Используется всеми процессорами класса Intel P54/P55, AMD K5 и Кб, Cyrix 6x86 и 6х86МХ, Centaur Technology IDT C6. Весь обмен данными (в том числе с кэш-памятью второго уровня) идет по единственной 64-разрядной шине. Это послужило одной из основных причин, по которым Intel отказалась от дальнейшего развития интерфейса Socket 7.

Socket 8 — разъем ZIF с 387 контактами для процессора Pentium Pro, расположенный в плоском прямоугольном конструктиве. Разъем обеспечивает разделение собственно системной шины и шины для обмена данными с кэш-памятью. Для него требуется процессор в специальном корпусе (multichip module), включающем собственно кристалл процессора и один-два кристалла SRAM кэш-памяти второго уровня. При этом кэш может работать на частоте процессора или иметь дробный коэффициент (1/2) умножения частоты.

Slot 1 — разъем с продольно расположенными 242 контактами. Он предназначен для установки процессоров (Pentium II/III, Celeron), выполненных в картридже SEPP. Внутри картриджа размещены кристаллы процессора и кэш-памяти (Pentium II/III). В Pentium III Coppermine кэш второго уровня расположен в кристалле процессора. Шины данных и кэша разведены отдельно. Кэш второго уровня может работать на частотах, составляющих 100%, 50% или 33,3% частоты процессора. Кэш L2 в процессорах Celeron либо отсутствует, либо выполнен на одном кристалле с ядром процессора. На материнской плате можно устанавливать до двух разъемов Slot 1.

Slot 2 — разъем для установки картриджей с процессором Хеоп с 330 продольно размещенными контактами. Предназначен для рабочих станций и серверов высокого класса. На материнской плате допускается монтаж до четырех разъемов Slot 2, а при использовании специальных устройств расширения — и более.

Socket 603 — разъем для процессоров Intel Xeon в корпусе INT-mPGA.

Socket 604 — разъем для процессоров Intel Xeon в корпусе FC-mPGA.

Socket 370 — интерфейс для процессоров серии Pentium III/Celeron. Отличается от Slot 1 размещением контактов на плоской площадке (по типу Socket 7). Электрические и логические параметры полностью совпадают с разъемом Slot 1. Для подключения к новому интерфейсу годятся только процессоры в пластмассовом корпусе типа PGA (Pin Grid Array). Однако возможна обратная совместимость — имеются переходники для установки процессоров в корпусах PGA в разъем Slot 1.

Socket 370 FC-PGA — интерфейс для процессоров Pentium III/Celeron (ядро Coppermine) в корпусах PPGA. Физически совпадает с Socket 370, однако электрически с ним несовместим. В частности, изменено назначение контактов, использованы другие напряжения питания. Существуют адаптеры (переходники) FC-PGA/Slot 1, но поддержка процессоров должна обеспечиваться BIOS и блоком питания системной платы.

Socket 370 FC-PGA2 — плоский штырьковый разъем для процессоров Intel Pentium III/Celeron на ядре Tualatin в корпусе PPGA. Для его поддержки требуются модифицированные чипсеты (например, Intel 815 Step В). Несовместим с предыдущим разъемом по логическим сигналам.

Socket 423 — плоский штырьковый разъем для 32-разрядного процессора седьмого поколения Intel Pentium 4 /Celeron на ядре Willamette в корпусе OOI.

Socket 478 — плоский штырьковый разъем для процессора Pentium 4/Celeron на ядре Northwood или Prescott в корпусах FC-mPGA4. Интерфейс поддерживается модифицированными чипсетами, начиная с i845GE.

Socket 775 — контактная площадка (Land Grid Array, LGA775) для процессоров Pentium 4/Celeron на ядре Prescott в корпусах FC-LGA4. Ножки стали частью разъема, а не процессора. Процессор получил плоские контактные площади. В конечном итоге произошло перераспределение ответственности между поставщиками: раньше о целостности ножек голова болела у изготовителя процессора, теперь — у изготовителя системной платы.

Slot A — разъем с продольно расположенными 242 контактами для процессора AMD Athlon в картридже, имеющего кэш-память второго уровня в отдельном кристалле на плате процессора.

Socket A (Socket 462) — разъем с плоской контактной площадкой для процессоров Athlon/Athlon XP/Duron в корпусах CPGA или OPGA.

Socket 754 — разъем процессора AMD Athlon 64 на ядре ClawHammer в корпусе mPGA и процессора Sempron в корпусе OPGA.

Socket 939 — универсальный разъем для процессоров AMD Athlon 64 и Athlon FX в корпусах OPGA.

Socket 940 — разъем процессоров AMD Athlon FX и Opteron на ядре SledgeHammer в корпусах OPGA.



Производство процессоров

В современной микроэлектронике основными компонентами интегральных микросхем являются полупроводники р-типа и n-типа (в зависимости от типа проводимости). Основой полупроводников обоих типов служит кремний (Si), который в чистом виде плохо проводит электрический ток. Добавление (внедрение) в кремний определенной примеси позволяет радикально изменить его проводящие свойства. Примеси позволяют формировать комплиментарные металл-оксидные полупроводниковые (КМОП) транзисторы — основные структурные элементы современных микросхем. В отличие от механических переключателей, КМОП-транзисторы практически безынерционны и способны переходить из открытого в запертое состояние триллионы раз в секунду. Именно этой характеристикой, то есть способностью мгновенного переключения, и определяется в конечном счете быстродействие процессора, который состоит из десятков миллионов таких транзисторов.

Процесс создания микросхемы процессора начинается с выращивания цилиндрического монокристалла кремния диаметром 200 или 300 мм. В дальнейшем из таких монокристаллических заготовок (болванок) нарезают круглые пластины (wafers — вафли). Это и есть кремниевые подложки, служащие основой для производства микросхем. Понятно, что на пластине диаметром 200-300 мм можно разместить много микросхем, даже если речь идет о процессоре с десятками миллионов транзисторов. Для простоты мы рассмотрим процессы, происходящие лишь на одном участке.

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

Простейший компьютер

Самый элементарный компьютер, который только можно себе представить, имеет всего два компонента: процессор и оперативную память, связанные друг с другом группой проводников, которую называют системной шиной.

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

 

Как известно, все современные микропроцессоры являются синхронными. На спаде тактового импульса затворы регистров открываются, чтобы разрешить запись данных и команд из памяти. Затем надлежащие данные поступают по шине в АЛУ. Когда все выполнено, АЛУ приступает к работе. После вычислений результаты передаются шине данных регистров. По фронту следующего импульса они загружаются в регистры. Таким образом, в каждом цикле есть сигнал, который переключает определенные триггеры. Например, в регистры можно загружать данные лишь по фронту импульса, а считывать только по спаду импульса (загрузка в это время блокируется). Именно поэтому АЛУ может в течение одного цикла и считать, и записать данные в регистр.

Как данные, так и команды для их обработки процессор получает из ячеек оперативной памяти по системной шине. В составе системной шины различают: шину данных, адресную шину, шину управления. По шине данных в регистры процессора копируются данные из ячеек памяти. По адресной шине процессор выбирает, начиная с какой именно ячейки он должен получить данные. 32-разрядный процессор способен избирательно подключиться к любой из 232 ячеек оперативной памяти. По шине управления процессор получает из оперативной памяти команды для обработки данных.

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



Подкатегории