Процессоры Intel Sandy Bridge — все секреты. Презентация процессоров Intel Sandy Bridge: модельный ряд и архитектурные особенности Новый режим Intel Turbo Boost

Процессоры Intel Sandy Bridge — все секреты. Презентация процессоров Intel Sandy Bridge: модельный ряд и архитектурные особенности Новый режим Intel Turbo Boost

Кольцевая шина. Состоит из спаянных колец, покрыва­ющих зубы с вестибулярной стороны в виде полоски, и расположена в окклюзионной части коронки ближе к режущему краю (рис. 26). С язычной стороны кольцо расширяется и перекрывает зубной бугорок. Кольца, как правило, готовятся из штампованных коронок, однако вариантом подобной шины может быть цельнолитая конструкция. При подготовке зубов отшлифовываются межзубные контактные пункты на толщину штампованной коронки до нижнего края кольца. Для этого предварительно на диагностической модели химическим карандашом обозначаются границы колец, которые в последующем служат ориентиром при препарировании зубов. Сепарация контактных поверхностей, обращенных друг к другу, проводится на толщину двух колец. Режущий край оставляется открытым и это обстоятельство требует особой тщательности в определении показаний к применению этой шины. Выраженная вертикальная подвижность зубов, не зак­рытых со стороны режущего края, может быть причиной рассасывания цемента и нарушения фиксации шины. Кроме того, при резко выраженной анатомической форме нижних передних резцов требуется отшлифовывание довольно значительного слоя твердых тканей с контактных поверхностей до ниж­него края кольца, что затрудняет восстановление контактных поверхностей на штампованной заготовке кольца и снижает точность прилегания кольца к поверхности зуба. Это также может быть причиной рассасывания фиксирующего цемента и развития кариеса.

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

К недостаткам кольцевой шины относятся: 1 - нарушение эстетики естественных зубов, часть которых закрыта металлическим кольцом; 2 - наличие припоя нередко приводит к его окислению и изменению цвета в виде потемнения, особенно часто это наблюдается у пациентов с повышенной кислотностью желудочного сока; 3 - отсутствие шинирующего эффекта при вертикальной нагрузке; 4 - шина требует применения цементов, весьма устойчивых к воздействию ротовой жидкости (если это условие не соблюдается, возникает опасность поражения зубов кариесом и нарушения фиксации шины).

Рис. 26. Кольцевая шина: а - вид с губной стороны; б - вид с язычной стороны; в - общий вид кольца; г - схема подготовки зуба: пунктирная линия обозначает край кольца; слева показано чрезмерное удаление твердых тканей с контактной поверхности; справа - правильное препарирование, когда выступающие над нижней границей кольца твердые ткани удалены точно до обозначенной пунктирной линии; д, е - границы препарирования (вид спереди и сверху)

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

Рис. 27. Полукольцевая шипа: а - вид с вестибулярной стороны; б - вид с язычной стороны

Колпачковая шина. Система спаянных колпачков, покрывающих режущий край, контактные поверхности зуба, а на язычной поверхности достигающих зубного бугорка, обозначается как колпачковая шина (рис. 28). Препарированию подвергаются режущий край и контактные поверхности на толщину колпачка. С губной стороны край колпачка может быть расположен сверху на твердых тканях зуба или заканчиваться на специально сформированном уступе. Второй вариант предпочтительнее, поскольку край колпачка оказывается лежащим на одном уровне с примыкающими к нему твердыми тканями, то есть заподлицо. В первом варианте край колпачка часто ощущается пациентами, может травмировать окружающую его подвижную слизистую оболочку полости рта и требует создания фальца при переходе края кол­пачка в твердые ткани зуба. Колпачки могут изготавливаться двумя способами: 1) из штампованных коронок, 2) цельнолитые. Второй вариант считается более совершенным, по­скольку возрастает точность всей шинирующей конструкции, а значит повышается ее шинирующий эффект, и, кроме того, появляется возможность облицовывать литую конструкцию керамикой. Для лучшей устойчивости шину объединяют с полными коронками (металлоакриловыми или металлокера-мическими), покрывающими крайние наиболее устойчивые зубы - клыки или премоляры. Последовательность изготовления та же, что и при изготовлении кольцевой шины.

Рис. 28. Колпачковая шина: а - вид с губной стороны; б - вид с язычной стороны; в - слой удаляемых твердых тканей под колпачковую шину; г - штампованный колпачок; д - препарирование под литой колпачок; с - конструкция литого колпачка с облицовкой режущего края

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

При применении несъемных конструкций шин следует строго соблюдать правила размещения края шин, расположенных вблизи десиевого края. Последний не должен травмироваться шиной. Для этого край коронки следует минимально погружать в десневую бороздку, а для предупреждения возможного давления на десну применять методику препарирования зубов с уступом практически на уровне с ней. Щадящее отношение к больному пародонту при приме­нении несъемных шин благотворно сказывается на течении заболевания пародонта и не является препятствием для консервативной и хирургической терапии. Кроме того, важным с точки зрения предупреждения травмы десиевого края является метод получения оттисков. Мы считаем наиболее оптимальным в этом случае снимать оттиски для изготовления шинирующих конструкций наиболее эластичными альгинатными материалами, позволяющими при подвижных зубах избежать случайного удаления зубов вместе с оттиском. Встречающиеся в специальной литературе рекомендации снимать двуслойные оттиски с помощью силиконовых оттискных материалов, даже с предварительным шинированием, как показывают наблюдения, не приемлемы, так как снятие двуслойных оттисков может быть причиной удаления подвижных зубов.

СЪЕМНЫЕ ШИНЫ

В вопросе о способах шинирования зубов существуют разные точки зрения. Одни авторы считают оправданным преимущественное использование несъемных шин, а другие, наоборот, отдают препочтение съемным шинам и шинирую­щим конструкциям съемных протезов . Причем шинирование съемными конструкциями может использоваться как при интактных зубных рядах, так и при частичной потере зубов.

При необходимости же замены удаленных зубов искусственными реставрация съемной шины может быть проведена без замены всей конструкции.

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

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

с интактными зубными рядами; частичной потерей зубов.

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

Рис. 44. Съемная шина Эльбрехта: а - шина Эльбрехта (объяснение в тексте); б - разновидности многозвеньевого (непрерывного) кламмера: 1 - высокое положение кламмера (в верхней части язычной поверхности) каплевидной формы; 2 - расположение кламмера в средней части язычной поверхности; 3 - низкое положение кламмера (в придесневой половине язычной поверхности); 4 - кламмер в виде широкой полоски

Съемная шина с денто-альвеолярными кламмерами по В.Н. Копейкину. Съемная шина Эльбрехта была модифицирована В.Н. Копейкипым, который предложил для усиления ретенционпых свойств и достижения лучшего эстетического эффекта использовать Т-образные кламмеры Роуча. Многозвеньевые кламмеры в этой конструкции опушены ниже десневого края и в виде дуги располагаются па скате альвеолярных отростков передних отделов челюстей с вестибулярной и язычной сторон. От них к каждому переднему зубу отходят Т-образные кламмеры, плечи которых располагаются в зонах поднутрения. Шина может быть рекомендована при устойчивых или подвижных 0-1 степени передних зубах, когда шинирующие свойства удерживающих Т-образных клэммеров не будут оказывать вредного воздействия на больной пародонт (рис. 45). Для этого необходимо размещать плечи Т-образных кламмеров таким образом, чтобы они находились вне зоны поднутрения. Фиксирующие свойства шины обеспечиваются за счет введения в зону поднутрения тех литых плеч кламмеров, которые расположены на устойчивых зубах с наименее пораженным пародонтом. Эта шила так же, как и все остальные цельнолитые конструкции, должна отливаться с использованием огнеупорных моделей. Съемная шина Эльбрехта может быть усилена дугами, располагающимися на язычной поверхности ската альвеолярного отростка нижней челюсти или своде неба верхней (рис. а, б). Если подобная шинирующая конструкция применяется только для шинирования боковых зубов, достигается нарасагиттальная стабилизация (рис. в, г).

Рис. Съемные шины, усиленные дугами для нижней (а) и верхней челюсти (б). Конструкция шины для создания пара-сагиттальной стабилизации: в - на модели; г - общий вид шины

Рис. М. Съемная шипа с литой каппой для передних зубов: а - на гипсовой модели; б - каркас съемной шины

Рис. 48. Съемные шииы для передних зубов; а - съемная круговая шина; б - съемная шипа в виде непрерывного кламмера с когтевидиымн отростками

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

Съемная конструкция требует тщательного планирования и определенной последовательности действий:

Диагностика и обследование пародонта.

Подготовка поверхности зубов и получение слепков для будущей модели

Изучение модели и планирование конструкции шины

Моделирование восковой репродукции шины

Получение литейной формы и проверка точности каркаса на гипсовой модели

Проверка шины (шины-протеза) в полости рта

Окончательная отделка (полировка) шины

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

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

Топология “шина”

Топология шина (или, как ее еще часто называют общая шина или магистраль ) предполагает использование одного кабеля, к которому подсоединены все рабочие станции. Общий кабель используется всеми станциями по очереди. Все сообщения, посылаемые отдельными рабочими станциями, принимаются и прослушиваются всеми остальными компьютерами, подключенными к сети. Из этого потока каждая рабочая станция отбирает адресованные только ей сообщения.

Достоинства топологии “шина”:

  • простота настройки;
  • относительная простота монтажа и дешевизна, если все рабочие станции расположены рядом;
  • выход из строя одной или нескольких рабочих станций никак не отражается на работе всей сети.

Недостатки топологии “шина”:

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

Именно по топологии “шина” строились локальные сети на коаксиальном кабеле . В этом случае в качестве шины выступали отрезки коаксиального кабеля, соединенные Т-коннекторами. Шина прокладывалась через все помещения и подходила к каждому компьютеру. Боковой вывод Т-коннектора вставлялся в разъем на сетевой карте. Вот как это выглядело:Сейчас такие сети безнадежно устарели и повсюду заменены “звездой” на витой паре, однако оборудование под коаксиальный кабель еще можно увидеть на некоторых предприятиях.

Топология “кольцо”

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

Достоинства кольцевой топологии:

  • простота установки;
  • практически полное отсутствие дополнительного оборудования;
  • возможность устойчивой работы без существенного падения скорости передачи данных при интенсивной загрузке сети.

Однако “кольцо” имеет и существенные недостатки:

  • каждая рабочая станция должна активно участвовать в пересылке информации; в случае выхода из строя хотя бы одной из них или обрыва кабеля – работа всей сети останавливается;
  • подключение новой рабочей станции требует краткосрочного выключения сети, поскольку во время установки нового ПК кольцо должно быть разомкнуто;
  • сложность конфигурирования и настройки;
  • сложность поиска неисправностей.

Кольцевая топология сети используется довольно редко. Основное применение она нашла в оптоволоконных сетях стандарта Token Ring.

Топология “звезда”

Звезда – это топология локальной сети, где каждая рабочая станция присоединена к центральному устройству (коммутатору или маршрутизатору). Центральное устройство управляет движением пакетов в сети. Каждый компьютер через сетевую карту подключается к коммутатору отдельным кабелем. При необходимости можно объединить вместе несколько сетей с топологией “звезда” – в результате вы получите конфигурацию сети с древовидной топологией. Древовидная топология распространена в крупных компаниях. Мы не будем ее подробно рассматривать в данной статье.

Топология “звезда” на сегодняшний день стала основной при построении локальных сетей. Это произошло благодаря ее многочисленным достоинствам:

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

Однако, как и любая топология, “звезда” не лишена недостатков:

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

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

Сразу скажем, что кэши L1I и L2 почти не изменились - у первого ассоциативность снова (как и до Nehalem) стала 8, а у второго чуть увеличилась задержка. Самое главное изменение в ядрах, касаемое кэшей, кроется в доступе к L1D, который теперь стал 3-портовым: к раздельным портам чтения и записи добавили ещё один для чтения. Кроме того, как уже было указано, в планировщике Nehalem 2-й порт вычисляет адрес чтения и исполняет само чтение, 3-й вычисляет адрес записи (только), а 4-й - исполняет саму запись. В SB же порты 2 и 3 могут и вычислить любой адрес, и исполнить чтение.

Внимательный Читатель сразу найдёт подвох: портов L1D - 3, а адресных генераторов - 2. При не более чем 16-байтовых обменах их устоявшийся максимальный темп составит 32 байта/такт (либо два чтения, либо чтение и запись). 32-байтовые операции каждым портом обслуживаются за два такта, причём вычисление адреса для конкретной команды происходит в течение первого из них. Так что для двух чтений и одной записи требуется три адреса в течение двух тактов - тогда при потоковых обменах один из трёх нужных адресов можно вычислить заранее в течение второго такта предыдущей 32-байтовой операции. Только так мы получим искомый максимум в 48 байт/такт.

Возникает довольно странный компромисс: три 16-байтовые операции за такт в потоке сделать нельзя. С другой стороны, за такт можно вычислить адреса для двух 32-байтовых обменов, но даже одно 32-байтовое чтение за такт не запустишь, потому что порты чтения не объединяются. Т. е. либо нам не будет хватать числа AGU (тех, что в портах 2 и 3), либо ширины портов, либо возможности их объединения.

Как мы знаем из теории, многопортовость в кэшах чаще всего делается не явная, а мнимая, с помощью многобанковости. Однако Nehalem нарушил это правило, внедрив 8-транзисторные битовые ячейки для всех кэшей ядра. Помимо большей экономии (об этом в статье о микроархитектуре Intel Atom, который тоже применяет такую схему), это также даёт возможность получить истинную 2-портовость (чтение + запись), что и было использовано в L1D - никаких конфликтов по адресам в имеющихся 8 банках не было. В SB банков по-прежнему 8, а портов уже 3. Очевидно, конфликты неизбежны, но только среди адресов портов чтения.

Каждый банк L1D имеет ширину в 8 байт, вместе составляя строку, поэтому каждый из 16-байтовых портов использует 1–2 банка при выровненном доступе и 2–3 при невыровненном. Например, 8-байтовое чтение, пересекающее 8-байтовую границу, использует 2 банка, как и выровненное 16-байтовое. В SB конфликт происходит, если хоть один из банков, нужных одному чтению, также нужен и второму, причём для доступа к другой строке. Последнее означает, что если оба чтения требуют не только одинаковый(ые) банк(и), но и одинаковые номера строк в нём (них), то конфликта не будет, т. к. фактический доступ произойдёт один, и он обслужит оба обращения. В Nehalem, с его единственным чтением за такт, такого, очевидно, быть не могло.

Упомянув о невыровненном доступе, скажем и о более «грешных» делах - пересечении строки кэша, что обойдётся 5-тактным штрафом, и границы страницы (чаще всего - 4 КБ), что наказывается в среднем 24 тактами (ситуация требует сериализации конвейера). Причём последняя цифра малообъяснима, т. к. TLB, как мы увидим ниже, способны на одновременную обработку обеих смежных страниц - но даже при последовательном доступе двухзначной цифры получиться не может…

LSU

Изменений в LSU (контроллере L1D, который Intel упорно называет MOB) не меньше, чем в само́м кэше. Начнём с того, что очередь чтения удлинилась с 48 до 64 ячеек, а записи - с 32 до 36. Каждая ячейка привязана к одному мопу, а очередь записи хранит ещё и 32 байта данных (было 16). Очередь чтения хранит все команды считываний, но в каждый момент не более 32 могут обрабатываться на разных стадиях. Фактически, это отдельные диспетчер и планировщик, «ROB» которых хранит 64 мопа, а «резервация» - 32. Когда чтение завершено, моп удаляется из этой резервации, но остаётся в очереди чтения до отставки. Очередь записи хранит информацию до отставки предыдущих команд, когда ясно, что адрес, данные и сам факт исполнения команды верны, а значит её можно попытаться записать в кэш. Если попытка успешна - моп записи уходит в отставку, освобождая место и в очереди, и в ROB. При промахе или других проблемах запись задержится.

Как и все современные кэши, L1D является неблокирующим - после промаха он может принимать дальнейшие запросы одновременно с заполнением себя подгруженными данными. Кэш может выдержать даже 3 промаха/такт. Одновременно удерживается столько промахов, сколько имеется буферов заполнения. В SB, как и в его предшественнике, у L1D таковых 10, а у L2 - 16. Политика отложенной записи в L1D и L2 означает, что модифицированная строка остаётся в кэше до вытеснения, однако информация о факте её модификации (если до этого данные были «свежие») отправляется в теги соответствующей строки в L3.

Кэш L3

Физически, кэш L3 по-прежнему разделён на банки по числу x86-ядер. В Nehalem была возможность сделать одну запись и одно чтение в/из L3 за такт, если они попадали в разные банки, т. к. использовался общий коммутатор и контроллер на весь кэш. Теперь организация банков другая: можно сделать запись или чтение, но в каждом банке по отдельности. А т. к. число включенных банков почти всегда равно числу ядер (исключения до сих пор встречались только у 6–10-ядерных серверных Xeon, где в некоторых моделях банков на 1 больше или меньше числа ядер), то это линейно увеличивает пиковую пропускную способность L3 с ростом числа ядер. Учитывая, что она разделяется между всеми ядрами и ГП, это очень полезно, т. к. пропуск, приходящийся на каждое ядро, до сих пор был главной проблемой любого разделяемого кэша.

Другое важное изменение в L3 - он стал работать на полной частоте ядра. Точнее, x86-ядер. Точнее, работающего(их) из них в данный момент, т. к. часть ядер могут спать. Помимо увеличения пропускной способности это ещё и уменьшает задержки, которые, разумеется, меряются тактами ядер на их частоте. И вот (см. ) в SB они уменьшились на 30%. Это при том, что сама частота кэша вовсе не подросла на 30%. Причина в том, что когда поток данных пересекает силовые (по величине логических «0» и «1» в вольтах) и, особенно, частотные домены, происходит задержка в несколько тактов для преобразования уровней и совпадения фронтов тактовых сигналов. В SB такой проблемы нет, т. к. L3 работает на том же напряжении, что и работающие x86-ядра (не отключенные ), а частота у всех активно загруженных ядер всегда одинакова (включая применение технологии Turbo Boost) - и именно на неё и настроится частота L3.

Правда, всё может оказаться интересней. Внимательный Читатель успел заметить, что кэш L2 работает на половинной частоте, а потому, имея 64-байтовый порт, теряет половину ПС. Такое решение, видимо, связано с разумной достаточностью и 32 байт/такт, а потому можно применить более экономные транзисторы, которые, к тому же, будут работать при меньшей частоте. Про L3 такое достоверно не известно, но резонно предположить, что там ситуация та же: на высокой частоте работают только контроллеры портов кольцевой шины, обрабатывая по 32 байта/такт в каждом порту (детальней об этом ниже), а вот сам кэш работает целыми 64-байтовыми строками раз в 2 такта.

Как и в Nehalem, каждый банк L3 разделён на блоки по 512 КБ и 4 пути. В большинстве ЦП серий Core i в каждом банке таких блоков 3 или 4. Серверные ЦП Xeon с архитектурой Beckton и Westmere-EX имеют 6, 8 или 10 ядер и банков L3, но последние увеличены как по размеру (до 3 МБ), так и по ассоциативности (до 24), что в самых дорогих ЦП даёт аж 30 МБ. Для SB же пока обещаны «лишь» 8-ядерные Xeon с 20-путным L3 на 20 МБ.

Для любителей кунсткамеры добавим, что единственный представитель архитектуры Nehalem с одним работающим ядром (и одним банком L3 на 2 МБ) - это, как ни странно, не какой-то тихой сапой выпущенный сверхбюджетный Celeron, а Xeon LC3518, физически представляющий собой обычный 4-ядерный Nehalem с тремя (!) отключенными ядрами и их банками. Авторы SB также приготовили такие диковинки - это модели Celeron B и Pentium B, где на 2 ядра и ГП приходится не 4, не 3, а 2 МБ кэша с уполовиненной до 8 путей ассоциативностью.

Как и предшественник, ядра SB активней используют КМОП-логику по сравнению с динамической, что отразилось на частоте возникновения ошибок при работе. Это потребовало внедрить более мощные алгоритмы и коды (ECC) в кэшах ядер, способные в каждом байте обнаружить и исправить 2-битные ошибки и обнаружить (но не исправить) 3-битные. До сих пор ЦП умели обнаруживать до двух неверных бит и исправлять один, требуя в среднем 1 бит ECC на каждый защищаемый байт. Новый код, видимо, требует не менее 1,5 бит/байт - чуть позже мы сможем это проверить.

Кольцевая шина

Не только наш Внимательный Читатель догадался, как надо связать L3 и ядра, чтобы ПС кэша росла пропорционально числу банков (а значит - и ядер). Однако эта кольцевая шина, вопреки утверждению Intel, в SB появилась не впервые. Если не считать различных специализированных процессоров (в частности, некоторых ГП), среди ЦП вообще она появилась в 9-ядерных Sony/IBM Cell BE (2007 г.). У ЦП Intel кольцевая шина была внедрена в 8-ядерных серверных Xeon серий Nehalem-EX (2010 г.), откуда с небольшими изменениями она попала SB. Её имеют и только что вышедшие серверные Westmere-EX (Xeon E7).

В каждом направлении протянуто 4 шины: запросов, подтверждений, (для поддержки ) и собственно данных (шириной 32 байта) - разумеется, всё защищено битами ECC. Протокол обмена является чуть переделанной и дополненной версией шины QPI, которую мы привыкли видеть как межпроцессорную шину типа «точка-точка», аналогичную HyperTransport в ЦП AMD. Внутри процессора связываемые «точки» являются агентами, каждый из которых имеет две пары шинных портов (приёмный и передающий в каждую сторону) и пару клиентских. К шинным подключены звенья шины, связывающие соседние агенты. К клиентским обычно подключены локальное x86-ядро и локальный банк L3. Однако в 2/4-ядерных SB один из крайних агентов подключен только к ГП, а второй - только к «системному агенту»; шинные порты также используются наполовину, т. к. в этих местах шина разворачивается на 180°, соединяя противонаправленные звенья. В 8-ядерном серверном SB будет 8 обычных агентов и 4 концевых, каждый из которых разворачивает направление обеих шин на 90°, задействуя все шинные порты, и обслуживает по одному клиенту-контроллеру: по 2 для памяти и для внешних шин (QPI и PCIe).

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

Таким образом, пиковая ПС шины равна полупроизведению числа используемых шинных портов всех агентов, 32 байт и частоты. «Полу-» - потому что требуется 2 порта для каждого звена. Учитывая, что кольцо, как и L3, работает на максимуме частот ядер, абсолютный максимум его ПС получается очень большим: для 4-ядерного ЦП на 3 ГГц - 960 млрд. байт/с (по «славной» традиции производителей винчестеров назовём это 960 ГБ/с:). Для сравнения - в Cell BE ко́льца также передают по 32 байта в каждую сторону, но на одну передачу требуется 2 такта, поэтому этот 9-ядерный ЦП наберёт на 3 ГГц примерно те же 960 ГБ/с.

Физически звенья шины проложены дорожками на самом высоком уровне, доступном для передачи сигналов - 7-м и 8-м . Вышележащие слои используются только для питания и контактных площадок. Причём дорожки проходят поверх банков L3 и отдельного места не занимают. Такое устройство позволяет масштабировать шину простым копированием агентов и звеньев, что гораздо проще добавления дополнительных портов к центральному коммутатору. Впрочем, у последнего есть и преимущество - задержка прямой коммутации куда меньше, чем транзитной. Однако из-за более высокой частоты кэш L3 в SB оказался всё же с меньшей задержкой, чем в Nehalem.

Поддержка аппаратной отладки

Говоря о кольцевой шине, стоит упомянуть новую отладочную функцию - Generic Debug eXternal Connection (GDXC). Она позволяет мониторить трафик и синхрокоманды шины, перенаправляя их во внешний логический анализатор, подключаемый к спецпорту процессора. Ранее такие тонкие инструменты были доступны разве что производителям системных плат (разумеется, при полной секретности), да самим разработчикам. Но GDXC доступна и системным программистам, что, по идее, должно способствовать вылавливанию ошибок и оптимизации видеодрайверов. Что касается «обычных программистов», им наверняка пригодится увеличение (с 6 до 8) числа счётчиков производительности и событий в каждом ядре.

Когерентность и «поддержка» OpenCL

Nehalem был первым ЦП Intel со времён Pentium 4, в котором кэш последнего (т. е. 3-го) уровня стал включающим относительно остальных. Это означает, что в многопроцессорной системе процессорам будет проще отслеживать копии данных, раскиданных по разным кэшам, что требуется для поддержки их когерентности. Для этого теги каждой строки в L3 среди прочего хранят набор битов, обозначающих я́дра этого ЦП, в кэши которых эта строка была скопирована, а также номера других ЦП, в кэшах которых также есть её копия. Для Westmere-EX число таких битов наверняка не меньше 17 (10 ядер + 7 «остальных» ЦП). Кроме того, тогда же стандартный протокол когерентности MESI обновился до MESIF, включив в себя 5-е состояние Forward, разрешающее ответ на снуп-запрос от другого ЦП (в MESI ответить мог каждый ЦП, что увеличивало снуп-трафик). Соображением минимизации снуп-трафика руководствовалась и AMD, добавив для своих Opteron 5-е состояние Owned и получив протокол MOESI.

Когда при доступе в L3 из какого-либо ядра оказывается, что искомая строка закэширована другим ядром (для простоты предположим, что одним) и может быть им модифицирована, происходит обращение к его кэшам L1D и L2 для проверки её актуального состояния. Проверка называется «чистой», если данные оказались нетронутыми, и «грязной», если они модифицированы и требуют копирования в запрашивающее ядро и L3. В SB первый случай вызывает задержку в 43 такта, а второй - в 60. Эти указанные в документации цифры почему-то являются константами, хотя должны зависеть от топологического расстояния между ядрами на кольцевой шине. Да и разница в 17 тактов куда больше, чем положенные 2 для передачи 64 байт…

Новинкой в SB по части включающей политики L3 является то, что биты присутствия копий данных в кэшах ядер учитывают и ГП. Т. е. с точки зрения программы ГП можно использовать как векторный , работающий с общими данными в общем адресном пространстве. По идее, поддержка OpenCL 1.1 в ГП этому должна способствовать, что успел заявить Thomas Piazza, глава отдела графических архитектур Intel. Однако некоторые аналитики упорно писали, что OpenCL в SB не поддерживается. Ещё один детектив? Да, и он распутан.

Согласно заявлению другого представителя компании, поддержка физически есть, но из-за неготовности драйвера при его активации по-прежнему будут использоваться лишь ресурсы x86-ядер. Когда появится обновление, где всё заработает, - сказано не было. По менее официальным каналам получен намёк, что и до этого ГП как-то можно будет использовать в качестве сопроцессора. Но только после доделки нужного SDK (инструментального пакета для программистов) ГП будет доступен не «как-то», а по-человечески. :)

Для облегчения доступа к данным всё адресное пространство ЦП делится на 3 раздела: для x86-ядер, ГП и некогерентных данных. Раздел ГП использует «слабую» когерентность для ускорения проверок, осуществляемых программным путём через драйвер (в частности, данные пересылаются в раздел x86 синхронизационными процедурами, а не автоматически). Некогерентные данные также используются ГП для завершающих операций переноса готового кадра в память.

Каждый путь в L3 имеет 3 бита атрибутов, указывающих, что содержимое этих строк принадлежит вышеуказанным трём разделам в любой их комбинации. Но для минимизации затрат на поддержку когерентности между разделами протоколы и семантика связности (отличные в каждом из них) применяются, только когда это явно требуется - т. е. когда в одном пути кэшируется область, помеченная как общая для нескольких разделов.

и

Системный агент - это та часть «внеядра», которая получается после вычета кэша L3 и ГП. Остаётся вот что:

  • арбитр со своим портом кольцевой шины - коммутирует потоки данных между остальными частями агента;
  • порт отладочной шины GDXC;
  • контроллер шин QPI (1–2 соединения на 25,6, 28,8 или 32 ГБ/с) - очевидно, присутствует только в серверных моделях;
  • контроллер шин PCIe 2.0 (на 1 ) или 3.0 (2 ГП/с, только для Xeon) - в зависимости от модели может быть 16-, 20-, 24- и 40-полосным и допускает различные схемы соединений по числу полос: для наиболее распространённых 20-полосных моделей это x16+x4 (для большинства мобильных SB доступен только этот вариант), x8+x8+x4 и x8+x4+x4+x4 (только для младших Xeon);
  • контроллер шины 2.0 - для соединения с PCH (чипсетом): фактически немного преобразованный 4-полосный канал PCIe, по сравнению с v1.0 (в Nehalem и Atom) удвоил ПС до 4 ГБ/с (сумма в оба направления);
  • «гибкое межсоединение экранов» (Flexible Display Interconnect, FDI) - порт для соединения с контроллером физических интерфейсов экранов в составе чипсета, также переработанный из PCIe;
  • ускоритель (де)кодирования видео;
  • контроллер памяти;
  • программируемый силовой контроллер (Power control unit, PCU) с собственной прошивкой.

Наиболее интересными тут оказываются 3 последних пункта. Однако видеоускоритель оставим для обзора графической части, тут же расскажем об ИКП. Он поддерживает 2–4 канала памяти вплоть до DDR3-1600 (с ПСП 12,8 ГБ/с на канал), но для настольных и мобильных ЦП - только 2 канала DDR3-1333. Каждый канал имеет отдельные ресурсы и независимо обслуживает запросы. ИКП имеет внеочерёдный планировщик операций (!), максимизирующий ПСП с минимизацией задержек. Кроме того, ещё в версиях Nehalem для Xeon появилась технология SMI (Scalable Memory Interconnect, масштабируемое межсоединение памяти) с использованием подключаемых SMB (масштабируемый буфер памяти, аналог буфера AMB из FB-DIMM, но находящийся не на модуле, а на системной плате). Буфер подключается скоростной последовательной шиной к каналу ИКП процессора и позволяет подключить к себе большее суммарное число модулей, чем напрямую к ЦП. Правда, от этого ухудшаются и задержки, и частота работы памяти.

В каждом канале есть 32-строковый буфер записи, причём запись считается завершённой, как только данные попадут в буфер. Как ни странно, этот буфер не занимается, в результате чего частичные записи (когда обновляется не вся строка) обрабатываются неэффективно, т. к. требуют чтения старой копии строки. Это странно, учитывая, что современные микросхемы памяти учитывают битовую маску записи не только для отдельных 8-байтовых слов (которых 8 на строку), но и байт в словах, потому комбинация неизменной и обновлённой частей строки производится внутри чипа памяти, а не в ИКП. Впрочем, в SB ИКП (как и кэши) может включать продвинутые методы ECC, и для этого даже частично обновляемую строку для пересчёта ECC надо начала считать целиком. Причём это правило работает даже при применении обычной памяти, а также в большинстве мобильных моделей, где ECC-память вовсе не поддерживается. 2.0

Силовой контроллер системного агента отвечает сразу за 3 функции - защита от перегрева, сохранение энергии и авторазгон (именно в таком порядке они добавлялись с эволюцией ЦП x86). Последний пункт в процессорах Intel известен как технология Turbo Boost (TB). Её обновлённая версия является одним из главных «гвоздей программы», т. к. для слабопараллелизуемых программ она может дать ускорение не меньшее, чем все архитектурные улучшения в ядрах.

Напомним, что TB следит за текущими частотами, напряжениями питания, силами тока и температурами разных частей кристалла, чтобы определить, можно ли повысить работающим ядрам частоту на очередной шаг множителя (отдельно для x86-ядер и ГП). При этом учитываются пределы по всем вышеуказанным параметрам. Главной новинкой 2-й версии TB является дополнительное повышение частот, происходящее сразу после периода простоя всех или большей части ядер и обусловленное температурной инерцией системы «ЦП + радиатор». Очевидно, что при включении нагрузки и всплеске выделения тепла температура кристалла достигнет некоего значения не мгновенно, а плавно и с замедлением. Так вот если текущая температура пока ещё не критическая, и по остальным параметрам также есть запас, то контроллер ещё чуть поднимет множитель, ещё чуть увеличив потребление и выделение энергии и ещё чуть увеличив скорость роста температуры. Кстати, Intel продемонстрировала стабильную работу 4-ядерного SB на частоте 4,9 ГГц с воздушным охлаждением…


Зелёным пунктиром обозначена частота, а красным - температура. Во врезке - типичная нагрузка на ЦП домашнего ПК.

В зависимости от качества кулера и политики BIOS по регулировке оборотов вентилятора при разной температуре, первые 10–25 секунд после относительно длительного простоя процессор будет потреблять больше величины TDP, а занятые ядра теоретически должны работать на бо́льших частотах, чем у ЦП Westmere в тех же обстоятельствах. Как только температура поднимается до критической отметки, частота снизится к обычному «турбированному» значению - это снизит и выделение тепла до TDP, а температура расти перестанет. Выигрыш в том, что в течение нескольких секунд система будет работать чуть быстрее, чем с Turbo Boost 1.0. Т. е. вторая версия технологии является «турбонаддувом турбобуста». Отсюда ясно, на какие сценарии это рассчитано - периодический запуск малооптимизированных под многопоточность программ, быстро решающих свою задачу и снова погружающих систему в простой на несколько минут. При домашней и офисной работе - типичная ситуация.

Не стоит забывать, что теперь каждый шаг множителя для x86-ядер равен 100 МГц, а не 133, поэтому напрямую сравнивать «турбо-формулы» SB и Nehalem не получится. Для ГП шаг равен 50 МГц, а для ИКП - 266 (максимум - 2166, автоматически не разгоняется). Частота шины DMI принимается как базовая, от которой отталкиваются остальные часто́ты всей системы. Впрочем, ровно по этой причине её как раз надо оставить на стандартных 100 МГц, и если уж заниматься разгоном, то только через множители. Кстати, отдельный тактовый генератор теперь не обязателен и будет присутствовать лишь на дорогих «оверклокерских» платах, а остальные станут чуть дешевле и проще.


Обычно тактовый генератор южного моста подключен к нескольким делителям в самом мосту, а через шину DMI - и к ЦП с его разнообразными умножителями…


…Но в дорогих платах внешний генератор тактирует всё.

Несколько лет назад, во времена господства бренда Pentium, первого появления торговой марки Intel Core и одноимённой микроархитектуры (Architecture 101), на слайдах о будущих процессорах впервые было упомянуто следующее поколение микроархитектуры Intel с рабочим названием Gesher ("мост" на иврите), что чуть позже трансформировалось в Sandy Bridge.

В ту давнюю пору господства процессоров NetBurst, когда только-только начали проступать контуры грядущих ядер Nehalem, а мы знакомились с особенностями внутреннего строения первых представителей микроархитектуры Core - Conroe для настольных систем, Merom - для мобильных и Woodcrest - для серверных…

Словом, когда трава была зелёная, а до Sandy Bridge было ещё как до Луны, уже тогда представители Intel говорили, что это будет совершенно новая процессорная микроархитектура. Именно так, cкажем, сегодня можно представить таинственную микроархитектуру Haswell, которая появится после поколения Ivy Bridge, которое, в свою очередь, придёт на смену Sandy Bridge в следующем году.

Однако чем ближе дата выпуска новой микроархитектуры, чем больше мы узнаём об её особенностях, тем больше становятся заметны сходства соседних поколений, и тем более очевиден эволюционный путь изменений в схемотехнике процессоров. И действительно, если между начальными реинкарнациями первой архитектуры Core - Merom/Conroe, и первенцем второго поколения Core - Sandy Bridge - на самом деле пролегает пропасть различий, то нынешняя последняя версия поколения Core - ядро Westmere - и грядущая, рассматриваемая сегодня первая версия поколения Core II - ядро Sandy Bridge, могут показаться схожими.

И всё же различия существенны. Настолько существенны, что теперь окончательно можно говорить о конце 15-летней эпохи микроархитектуры P6 (Pentium Pro) и о появлении нового поколения микроархитектуры Intel.

⇡ Микроархитектура Sandy Bridge: с высоты птичьего полёта

Чип Sandy Bridge - это четырёхъядерный 64-битный процессор с изменяемой (out-of-order) последовательностью исполнения команд, поддержкой двух потоков данных на ядро (HT), исполнением четырёх команд за такт; с интегрированным графическим ядром и интегрированным контроллером памяти DDR3; с новой кольцевой шиной, поддержкой 3- и 4-операндных (128/256-битных) векторных команд расширенного набора AVX (Advanced Vector Extensions); производство которого налажено на линиях с соблюдением норм современного 32-нм технологического процесса Intel.

Так, вкратце, одним предложением можно попробовать охарактеризовать новое поколение процессоров Intel Core II для мобильных и настольных систем, массовые поставки которых начнутся в самое ближайшее время.

Процессоры Intel Core II на базе микроархитектуры Sandy Bridge будут поставляться в новом 1155-контактном конструктиве LGA1155 под новые системные платы на чипсетах Intel 6 Series.

Примерно такая же микроархитектура будет актуальна и для серверных решений Intel Sandy Bridge-EP, разве что с актуальными отличиями в виде большего количества процессорных ядер (до восьми), соответствующего процессорного разъёма LGA2011, большего объёма кеша L3, увеличенного количества контроллеров памяти DDR3 и поддержкой PCI-Express 3.0.

Предыдущее поколение, микроархитектура Westmere в исполнении Arrandale и Clarkdale для мобильных и настольных систем, представляет собой конструкцию из двух кристаллов - 32-нм процессорного ядра и дополнительного 45-нм «сопроцессора» с графическим ядром и контроллером памяти на борту, размещённых на единой подложке и производящих обмен данными посредством шины QPI. По сути, на этом этапе инженеры Intel, используя преимущественно предыдущие наработки, создали этакую интегрированную гибридную микросхему.

При создании архитектуры Sandy Bridge разработчики закончили начатый на этапе создания Arrandale/Clarkdale процесс интеграции и разместили все элементы на едином 32-нм кристалле, отказавшись при этом от классического вида шины QPI в пользу новой кольцевой шины. Суть микроархитектуры Sandy Bridge при этом осталась в рамках прежней идеологии Intel, которая делает ставку на увеличение суммарной производительности процессора за счёт улучшения «индивидуальной» эффективности каждого ядра.

Структуру чипа Sandy Bridge можно условно разделить на следующие основные элементы: процессорные ядра, графическое ядро, кеш-память L3 и так называемый «Системный агент» (System Agent).

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

Кольцевая шина (Ring Interconnect)

Вся история модернизации процессорных микроархитектур Intel последних лет неразрывно связана с последовательной интеграцией в единый кристалл всё большего количества модулей и функций, ранее располагавшихся вне процессора: в чипсете, на материнской плате и т.д. Соответственно, по мере увеличения производительности процессора и степени интеграции чипа, требования к пропускной способности внутренних межкомпонентных шин росли опережающими темпами. До поры до времени, даже после внедрения графического чипа в архитектуру чипов Arrandale/Clarkdale, удавалось обходиться межкомпонентными шинами с привычной перекрёстной топологией - этого было достаточно.

Однако эффективность такой топологии высока лишь при небольшом количестве компонентов, принимающих участие в обмене данными. В микроархитектуре Sandy Bridge для повышения общей производительности системы разработчики решили обратиться к кольцевой топологии 256-битной межкомпонентной шины, выполненной на основе новой версии технологии QPI (QuickPath Interconnect), расширенной, доработанной и впервые реализованной в архитектуре серверного чипа Nehalem-EX (Xeon 7500), а также планировавшейся к применению совместно с архитектурой чипов Larrabee .

Кольцевая шина в версии архитектуры Sandy Bridge для настольных и мобильных систем (Core II) служит для обмена данными между шестью ключевыми компонентами чипа: четырьмя процессорными ядрами x86, графическим ядром, кешем L3 и системным агентом. Шина состоит из четырёх 32-байтных колец : шины данных (Data Ring), шины запросов (Request Ring), шины мониторинга состояния (Snoop Ring) и шины подтверждения (Acknowledge Ring), на практике это фактически позволяет делить доступ к 64-байтному интерфейсу кеша последнего уровня на два различных пакета. Управление шинами осуществляется с помощью коммуникационного протокола распределённого арбитража, при этом конвейерная обработка запросов происходит на тактовой частоте процессорных ядер, что придаёт архитектуре дополнительную гибкость при разгоне. Производительность кольцевой шины оценивается на уровне 96 Гбайт в секунду на соединение при тактовой частоте 3 ГГц, что фактически в четыре раза превышает показатели процессоров Intel предыдущего поколения.

Кольцевая топология и организация шин обеспечивает минимальную латентность при обработке запросов, максимальную производительность и отличную масштабируемость технологии для версий чипов с различным количеством ядер и других компонентов. По словам представителей компании, в перспективе к кольцевой шине может быть "подключено" до 20 процессорных ядер на кристалл, и подобный редизайн, как вы понимаете, может производиться очень быстро, в виде гибкой и оперативной реакции на текущие потребности рынка. Кроме того, физически кольцевая шина располагается непосредственно над блоками кеш-памяти L3 в верхнем уровне металлизации, что упрощает разводку дизайна и позволяет сделать чип более компактным.

L 3 - кеш-память последнего уровня, LLC

Как вы уже успели заметить, на слайдах Intel кеш-память L3 обозначается как «кеш последнего уровня», то есть, LLC - Last Level Cache. В микроархитектуре Sandy Bridge кеш L3 распределён не только между четырьмя процессорными ядрами, но, благодаря кольцевой шине, также между графическим ядром и системным агентом, в который, среди прочего, входит модуль аппаратного ускорения графики и блок видеовыхода. При этом специальный трассировочный механизм упреждает возникновение конфликтов доступа между процессорными ядрами и графикой.

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

Дополнительные подробности о строении и особенностях функционирования кеш-памяти L3 процессоров Sandy Bridge будут появляться далее по тексту, в процессе знакомства с микроархитектурой, по мере возникновения необходимости.

Системный агент: контроллер памяти DDR 3, PCU и другие

Ранее вместо определения System Agent в терминологии Intel фигурировало так называемое «Неядро» - Uncore, то есть, «всё, что не входит в Core», а именно кеш L3, графика, контроллер памяти, другие контроллеры вроде PCI Express и т.д. Мы же по привычке частенько называли большую часть этого элементами северного моста, перенесённого из чипсета в процессор.

Системный агент микроархитектуры Sandy Bridge включает в себя контроллер памяти DDR3, модуль управления питанием (Power Control Unit, PCU), контроллеры PCI-Express 2.0, DMI, блок видеовыхода и пр. Как и все остальные элементы архитектуры, системный агент подключен в общую систему посредством высокопроизводительной кольцевой шины.

Архитектура стандартной версии системного агента Sandy Bridge подразумевает наличие 16 линий шины PCI-E 2.0, которые также могут быть распределены на две шины шины PCI-E 2.0 по 8 линий, или на одну шину PCI-E 2.0 на 8 линий и две шины PCI-E 2.0 по четыре линии. Двухканальный контроллер памяти DDR3 отныне «вернулся» на кристалл (в чипах Clarkdale он располагался вне процессорного кристалла) и, скорее всего, теперь будет обеспечивать значительно меньшую латентность.

Тот факт, что контроллер памяти в Sandy Bridge стал двухканальным, вряд ли обрадует тех, кто уже успел вывалить немалые суммы за оверклокерские комплекты трёхканальной памяти DDR3. Что ж, бывает, теперь будут актуальны наборы лишь из одного, двух или четырёх модулей.

По поводу возвращения к двухканальной схеме контроллера памяти у нас имеются кое-какие соображения. Возможно, в Intel начали подготовку микроархитектур к работе с памятью DDR4? Которая, из-за ухода от топологии «звезды» на топологию «точка-точка» в версиях для настольных и мобильных систем будут по определению только двухканальной (для серверов будут применяться специальные модули-мультиплексоры). Впрочем, это всего лишь догадки, для уверенных предположений пока что недостаточно информации о самом стандарте DDR4.

Расположенный в системном агенте контроллер управления питанием отвечает за своевременное динамичное масштабирование напряжений питания и тактовых частот процессорных ядер, графического ядра, кешей, контроллера памяти и интерфейсов. Что особенно важно подчеркнуть, управление питанием и тактовой частотой производится независимо для процессорных ядер и графического ядра.

Совершенно новая версия технологии Turbo Boost реализована не в последнюю очередь благодаря этому контроллеру управления питанием. Дело в том, что, в зависимости от текущего состояния системы и сложности решаемой задачи, микроархитектура Sandy Bridge позволяет технологии Turbo Boost «разогнать» ядра процессора и встроенную графику до уровня, значительно превышающего TDP на достаточно долгое время. И действительно, почему бы не воспользоваться такой возможностью штатно, пока система охлаждения ещё холодная и может обеспечить больший теплоотвод, чем уже разогретая?

Кроме того, что технология Turbo Boost позволяет теперь штатно «разгонять» все четыре ядра за пределы TDP, также стоит отметить, что управление производительностью и тепловым режимом графических ядер в чипах Arrandale/Clarkdale, по сути, только встроенных, но не до конца интегрированных в процессор, производилось с помощью драйвера. Теперь, в архитектуре Sandy Bridge, этот процесс также возложен на контроллер PCU. Такая плотная интеграция системы управления напряжением питания и частотами позволила реализовать на практике гораздо более агрессивные сценарии работы технологии Turbo Boost, когда и графика, и все четыре ядра процессора при необходимости и соблюдении определённых условий могут разом работать на повышенных тактовых частотах со значительным превышением TDP, но без каких-либо побочных последствий.

Принцип работы новой версии технологии Turbo Boost, реализованной в процессорах Sandy Bridge, отлично описывается в мультимедийной презентации, показанной в сентябре на Форуме Intel для разработчиков в Сан-Франциско. Представленный ниже видеоролик с записью этого момента презентации расскажет вам о Turbo Boost быстрее и лучше, чем любой пересказ.

Насколько эффективно эта технология будет работать в серийных процессорах, нам ещё предстоит узнать, но то, что показывали специалисты Intel во время закрытой демонстрации возможностей Sandy Bridge в дни IDF в Сан Франциско, просто поражает: и прирост тактовой частоты, и, соответственно, производительность процессора и графики, одномоментно могут достичь просто фантастических уровней.

Есть информация, что для штатных систем охлаждения режим такого «разгона» с помощью Turbo Boost и превышением TDP будет ограничен в BIOS периодом в 25 секунд. Но что если производители системных плат смогут гарантировать более качественный отвод тепла с помощью какой-нибудь экзотической системы охлаждения? Тут и открывается раздолье для оверклокеров…

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

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

В соответствии с современными веяниями, предусмотрены инструменты воспроизведения 3D-контента: аппаратный модуль декодирования Sandy Bridge способен без труда обрабатывать сразу два независимых потока MPEG2, VC1 или AVC в разрешении Full HD.

Сегодня мы познакомились со структурой нового поколения микроархитектуры Intel Core II с рабочим названием Sandy Bridge, разобрались со строением и принципом работы ряда ключевых элементов этой системы: кольцевой шины, кеш-памяти L3 и системного агента, в состав которого входит контроллер памяти DDR3, модуль управления питанием и другие компоненты.

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

Возможности графического процессора Sandy Bridge в целом сравнимы с таковыми у предыдущего поколения подобных решений Intel, разве что теперь в дополнение к возможностям DirectX 10 добавлена поддержка DirectX 10.1, вместо ожидаемой поддержки DirectX 11. Соответственно и не многие приложения с поддержкой OpenGL ограничены аппаратной совместимостью только с 3-й версией спецификации этого свободного API.

Тем не менее нововведений в графике Sandy Bridge достаточно много, и нацелены они главным образом на увеличение производительности при работе с 3D-графикой.

Основной упор при разработке нового графического ядра, по словам представителей Intel, был сделан на максимальном использовании аппаратных возможностей для обсчёта 3D-функций, и то же самое – для обработки медиа-данных. Такой подход радикально отличается от полностью программируемой аппаратной модели, принятой на вооружение, например, в NVIDIA, или в самой Intel для разработки Larrabee (за исключением текстурных блоков).

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

Для программируемых исполнительных шейдерных модулей графики Sandy Bridge, по традиции называемых в Intel «исполнительными блоками» (EU, Execution Units), характерны увеличенные размеры регистрового файла, что позволяет достичь эффективного исполнения комплексных шейдеров. Также в новых исполнительных блоках применена оптимизация ветвления для достижения лучшего распараллеливания исполняемых команд.

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

Внутренний набор команд, усиленный в Sandy Bridge рядом новых, позволяет распределять большинство инструкций API набора DirectX 10 в режиме «один к одному», как в случае с архитектурой CISC, что в результате позволяет добиться значительно более высокой производительности при той же тактовой частоте.

Быстрый доступ посредством быстрой кольцевой шины к распределённому кешу L3 с динамически конфигурируемой сегментацией позволяет снизить латентность, поднять производительность и в то же время снизить частоту обращений графического процессора к оперативной памяти.

Кольцевая шина

Вся история модернизации процессорных микроархитектур Intel последних лет неразрывно связана с последовательной интеграцией в единый кристалл всё большего количества модулей и функций, ранее располагавшихся вне процессора: в чипсете, на материнской плате и т.д. Соответственно, по мере увеличения производительности процессора и степени интеграции чипа, требования к пропускной способности внутренних межкомпонентных шин росли опережающими темпами. До поры до времени, даже после внедрения графического чипа в архитектуру чипов Arrandale/Clarkdale, удавалось обходиться межкомпонентными шинами с привычной перекрёстной топологией - этого было достаточно.

Однако эффективность такой топологии высока лишь при небольшом количестве компонентов, принимающих участие в обмене данными. В микроархитектуре Sandy Bridge для повышения общей производительности системы разработчики решили обратиться к кольцевой топологии 256-битной межкомпонентной шины (рис. 6.1), выполненной на основе новой версии технологии QPI (QuickPath Interconnect), расширенной, доработанной и впервые реализованной в архитектуре серверного чипа Nehalem-EX (Xeon 7500), а также планировавшейся к применению совместно с архитектурой чипов Larrabee.

Кольцевая шина (Ring Interconnect) в версии архитектуры Sandy Bridge для настольных и мобильных систем служит для обмена данными между шестью ключевыми компонентами чипа: четырьмя процессорными ядрами x86, графическим ядром, кэш-памятью L3, теперь е ё называют LLC (Last Level Cache), и системным агентом. Шина состоит из четырёх 32-байтных колец: шины данных (Data Ring), шины запросов (Request Ring), шины мониторинга состояния (Snoop Ring) и шины подтверждения (Acknowledge Ring), на практике это фактически позволяет делить доступ к 64-байтному интерфейсу кеша последнего уровня на два различных пакета. Управление шинами осуществляется с помощью коммуникационного протокола распределённого арбитража, при этом конвейерная обработка запросов происходит на тактовой частоте процессорных ядер, что придаёт архитектуре дополнительную гибкость при разгоне. Производительность кольцевой шины оценивается на уровне 96 Гбайт в секунду на соединение при тактовой частоте 3 ГГц, что фактически в четыре раза превышает показатели процессоров Intel предыдущего поколения.

Рис.6.1. Кольцевая шина (Ring Interconnect)

Кольцевая топология и организация шин обеспечивает минимальную латентность при обработке запросов, максимальную производительность и отличную масштабируемость технологии для версий чипов с различным количеством ядер и других компонентов. По словам представителей компании, в перспективе к кольцевой шине может быть "подключено" до 20 процессорных ядер на кристалл, и подобный редизайн, как вы понимаете, может производиться очень быстро, в виде гибкой и оперативной реакции на текущие потребности рынка. Кроме того, физически кольцевая шина располагается непосредственно над блоками кеш-памяти L3 в верхнем уровне металлизации, что упрощает разводку дизайна и позволяет сделать чип более компактным.



просмотров