Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011

.pdf
Скачиваний:
133
Добавлен:
05.05.2015
Размер:
4.74 Mб
Скачать

Техника микропроцессорных систем в коммутации

при уменьшении тактовой частоты и сложности одного ядра дополнительно сокращается потребление электроэнергии МПр в целом.

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

гий как VoIP, IPTV, Web.2.0.

Особое место в многоядерной архитектуре занимает взаимодействие с кэш–памятью и с физической оперативной памятью. Например в среднесрочной перспективе компания Intel предлагает каждое ядро соединить непосредственно с микросхемой памяти емкостью 256 Мбайт при помощи специальной технологии Through Silicon Vias (TSV). Эта технология представляет собой специальные электрические проводники, соединяющие МПр с памятью. Сейчас память и МПр обмениваются данными через контроллер памяти и соответствующую шину, которые работают значительно медленнее, чем МПр. Это одно из основных узких мест архитектуры фон Неймана. Технология TSV, которая проходит стадию лабораторного тестирования, возможно, сможет заменить контроллер памяти, что приведѐт к увеличению скорости обмена «процессор–память». Пока соответствующие испытания проведены для статической памяти SRAM, в перспективе – испытания для динамической памяти DRAM. Кроме того, предстоит решить проблему объединения МПр и памяти в единый корпус, а также решить традиционную проблему теплоотвода.

Рассмотрим некоторые практические примеры реализации многоядерных процессоров. Одна из первых двухъядерных платформ производства компании Intel в 2005 г. включала в себя процес-

сор Intel Pentium Extreme Edition 840 с тактовой частотой 3,2 ГГц и набор микросхем Intel 955X Express. Частота системной шины МПр,

361

Техника микропроцессорных систем в коммутации

построенном на основе 90-нанометровой технологии, составляла 800 МГц. Среди других характеристик этого решения — 2 МБ кэшпамяти L2 (по 1 МБ на каждое ядро МПр. Размер кристалла МПр составлял около 206 мм2, количество транзисторов — около 230 млн., энергопотребление 130Вт. В другом двухъядерной процессоре типа Intel Xeon Tulsa 7140M (выпущен в 2006 г.), упор делался на производительность. Этот МПр мог работать с тактовой частотой 3,4 ГГц, оснащался 16-Мбайт объединенной кэш-памятью L2, причем каждое ядро могло обращаться к данным из общего кэша. Конструктивная тепловая мощность составила 150 Вт. Это был первый процессор Intel с технологией виртуализации Pellston, которая позволит процессору исполнять сразу несколько операционных систем. Два ядра этого процессора могли поддерживать 4 потока вычислений. В МПр Tulsa также применялась технология экономии энергии. Кэш-память можно вводить в состояние «сна» и «глубокого сна», экономя таким образом до 6Вт потребляемой мощности на один МПр.

В современных МПр, например в архитектуре Intel Core i7, система управления энергопотреблением выделена в отдельный блок, который представляет собой фактически «процессор в процессоре». Этот блок является микроконтроллером, который может регулировать тактовую частоту и напряжение питания для каждого ядра многоядерного МПр отдельно на основании данных о температуре кристалла МПр и величине потребляемого тока. Таким образом, каждое ядро может быть переведено в состояние пониженного энергопотребления отдельно от других, а контроллеры памяти и контроллеры локальной шины переводятся в состояние пониженного энергопотребления в случае, когда все ядра находятся в незагруженном работой состоянии. Аналогичное решение предлагается и компанией AMD в рамках технологии Cool'n'Quiet 2.0 (Phenom), однако блок регулирования электропитания у AMD выполнен отдельно на системной плате.

Отдельно стоит остановиться на решениях задачи виртуализации. В частности, компания IBM, США разработала двухъядерный процессор общего назначения POWER6, который содержит два обрабатывающих ядра, у каждого из которых есть своя высокоскоростная кэш-память второго уровня L2 емкостью 4 Мбайт. Два ядра так-

362

Техника микропроцессорных систем в коммутации

же могут совместно использовать кэш L3 ѐмкостью 32 Мбайта; при этом кэш L3 конструктивно находится вне кристалла микропроцессора, хотя контроллер управления L3 находится на кристалле МПр. Также на кристалле МПр находятся два контроллера оперативной памяти ОЗУ. Каждое ядро может одновременно управлять двумя потоками инструкций.

В целях виртуализации POWER6 можно поделить на 2 и далее до 1024-х отдельных виртуальных сегментов, каждый из которых сможет работать со своей операционной системой. Конструкторы реализовали в МПр POWER6 механизм обнаружения и исправления максимального количества ошибок. Этот механизм направлен на то, чтобы ошибки были выявлены раньше, чем они приведут к сбою в работе программного обеспечения. Для этого на каждом цикле МПр фиксирует состояние всех хранящихся в регистрах данных; в случае ошибки МПр возвращается к предыдущему состоянию и повторяет последний шаг вычислений. При более серьезных ошибках информация о текущем состоянии микропроцессора (команды, данные) могут быть переданы в другое ядро — так называемое «горячее резервирование центрального процессора». Аналогичный механизм ранее рассматривался в процессоре CP113 в процессорах

BAP и CAP.

С учетом широкого распространения у пользователей мобильных цифровых устройств с автономным питанием от аккумуляторов, таких как смартфоны, устройства SDR, нетбуки, планшетные компьютеры, электронные книги появилась необходимость в микропроцессорах, которые объединяли бы в себе многоядерность и эффективное (низкое или сверхнизкое) энергопотребление. Примером такого МПр является 32-разрядный четырехъядерный RISCмикропроцессор с ЦПУ типа ARM Cortex A9 Mpcore c энергопотреблением 250 мВт на ядро, тактовой частотой 1…2 ГГц [30]. Ядро данного МПр может применять конвейер длиной от 4 до 14 стадий, использует полностью когерентную кэш-память L1 для данных и инструкций ѐмкостью 32 Кбит. Ёмкость общей кэш-памяти L2 может составлять 1…2 Мбайт.

Конструкция ЦПУ данного микропроцессора обозначена ARM v7 и разработана компанией ARM Holdings, которая с 1980-х годов

363

Техника микропроцессорных систем в коммутации

является одним из лидеров в разработке микропроцессоров рассматриваемого класса. Лицензии на использование ЦПУ с ARM в своих решениях имеют такие общемировые производители МПр как

Analog Devices, Qualcomm, Samsung, Sony–Ericsson, Texas Instruments, NVIDIA и Intel (рассмотренная выше архитектура Intel XScale до 2006 г., впоследствии проданная Marvell и обозначаемая как Marvell XScale). При этом сама компания ARM производством микропроцессоров не занимается. Ядро ARM может выполнять как 32-х так и 16-ти разрядные команды (инструкции). Рассматриваемый микропроцессор имеет общую функциональную блок–схему, представленную на рис. 5.11. и относится к классу «система–на– кристалле» SoC.

 

 

 

 

Блок отладки и трассировки технологий ARM

 

 

 

 

Блок вычислений с

Блок вычислений с

Блок вычислений с

Блок вычислений с

плавающей точкой/

плавающей точкой/

плавающей точкой/

плавающей точкой/

 

NEON

 

 

NEON

 

NEON

 

NEON

 

Центральное

Центральное

Центральное

Центральное

процессорное

процессорное

процессорное

процессорное

устройство (ядро)

устройство (ядро)

устройство (ядро)

устройство (ядро)

CortexA9

 

 

CortexA9

 

CortexA9

CortexA9

 

Кэш

 

 

Кэш

Кэш

 

Кэш

Кэш

Кэш

Кэш

 

 

Кэш

инструкцийL

 

инструкцийL

 

инструкцийL

инструкцийL

 

данных L1

данных L1

данных L1

данных L1

1

 

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок отслеживания операций

 

Блок ускорения

Блок управления и

 

 

 

 

 

 

Блок передачи

 

 

 

согласования

распределения

 

 

 

данных между

 

Фильтр

 

(coherence)

прерываний

 

Таймеры

кэш-памятью

 

слежения

кэш-памяти

 

 

 

 

 

 

 

 

 

 

 

ядер

 

 

 

 

 

 

 

 

 

 

 

 

Локальная 64-х разрядная интерфейсная шина

 

 

 

 

 

 

 

 

 

 

 

Кэш-память L.2

 

 

 

 

 

К контроллеру ОЗУ

К контроллеру

периферийных устройств

 

Рис. 5.11 – Блок-схема многоядерного ARM–процессора

В микропроцессоре реализован 4-х стадийный суперскалярный конвейер. Данный четырехъядерный микропроцессор имеет в каж-

364

Техника микропроцессорных систем в коммутации

дом ядре блок вычислений для операций с плавающей точкой, способный выполнять операции с одинарной и двойной точностью. В каждом ядре с архитектурой ARM Cortex A9 имеется специальное 128–битное расширение архитектуры SIMD по условным наименованием NEON, предназначенное для поддержки мультимедийных операций и функций цифровой обработки сигналов (например, кодирования видео согласно Рек. МСЭ–Т H.264 или стандарту mpeg3).

В составе ядра имеется блок предсказаний переходов, как и в случае с МПp Pentium M, который поддерживает систему предсказания переходов с экспериментально показанной точностью предсказаний 95%. Подсистема памяти имеет возможность загрузки данных в кэш первого уровня за один цикл. Для обеспечения высокоэффективных вычислений в рассматриваемом микропроцессоре применяется ряд специальных решений.

Блок отслеживания операций (Snoop Control Unit) совместно с фильтром слежения (Snoop Filtering), блоком передачи данных между кэш-памятью ядер «Cache-2-Cache Unit» совместно отвечают за поддержку когерентности кэш-памяти при использовании протокола MESI, обсуждавшегося в главе 1. Рассмотрим детально задачу обеспечения когерентности.

Пусть имеется мультипроцессорная системе, где каждый процессор (ядро) имеет собственный кэш, в рассматриваемом случае – кэш L1. В ходе обработки данных может возникнуть ситуация, когда в нескольких кэшах будут копии одних и тех же данных. При этом, если какое-либо ядро изменит значение в L1 некоторой, общей для всей выполняемой программы переменной, то значение этой переменной в кэш L1 других ядер оказывается недействительным. В результате возникает проблеме согласованности (когерентности) кэшпамяти. Для решения этой проблемы могут применяться различные протоколы. Один из таких протоколов использует т.н. справочник (directory based), где информация о состоянии физической памяти хранится в одном месте т.е. в справочнике. Однако этот протокол подходит больше для сложных иерархических мультипроцессорных систем, где число МПр составляет не менее 32-х. В рассматриваемом случае «системы-на-кристалле» всего с четырьмя ядрами используется протокол наблюдения (snooping). Этот протокол предпи-

365

Техника микропроцессорных систем в коммутации

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

Блок отслеживания операций выступает в качестве контроллера кэш-памяти L1, который определяет наличие в кэш-памяти ядер модифицируемых данных. Далее, в кэш-памяти тех ядер, которые непосредственно не участвуют в обработке данных, модифицируемая информация либо обновляется, либо аннулируется. Чаще всего применяется схема с аннулированием информации и кэшем с обратной записью, которая позволяет снижать количество обращений к кэш-памяти в связи с обеспечением когерентности, поскольку схема с обновлением данных гораздо более затратна с точки зрения увеличение трафика обмена и потребляемой мощности. Поэтому в рассматриваемой схеме многоядерного ARM процессора дополнительно используется фильтр слежения, позволяющий обращаться исключительно к общим для нескольких ядер данным (строке кэшпамяти), что ускоряет процедуру обеспечения когерентности. Для этого фильтр слежения «пропускает» лишь те запросы к кэш-памяти, которые касаются общих данных для двух и более ядер. Передача данных между кэш L1 осуществляется блоком передачи данных между кэш-памятью. Таким образом, в результате взаимодействия рассматриваемых блоков обеспечивается согласованность данных в кэш-памяти всех ядер.

Для ускорения согласования используется порт ускорения согласования (Accelerator Coherence Port), который по аналогии с портами в МПр Itanium, организует прямое подключения по специальной шине к блоку отслеживания операций с целью поддержки режима прямого доступа к кэш-памяти L1 или для подключения внешнего криптографического модуля. Также обеспечивается доступ и к кэшпамяти L2. Локальная 64-х разрядная интерфейсная шина применятся для связи с кэш L2 c целью минимизации задержек при обмене данными. Используется контроллер кэша второго уровня, который позволяет осуществлять доступ с малыми временами задержки и высокой пропускной способностью к кэш-памяти размером до 2 Мбайт.

Компоненты блока отладки и трассировки технологий ARM по-

366

Техника микропроцессорных систем в коммутации

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

Рассмотренная конструкция Cortex A9 позволяет оптимально использовать его возможности при выполнении различных программных приложений. Пусть в смартфоне пользователя имеется версия рассматриваемого процессора. В случае, если запускается web-браузер, то это запуск многопотокового приложения M:N, и операционная система может использовать все имеющиеся ядра МПр на сравнительно низких тактовых частотах. Энергопотребление в данном случае среднее. В случае, если пользователь просматривает видео (кодек H.264), то это приложение 1:1 не относится к многопотоковым, поэтому операционная система запускает эту задачу только на одном ядре с максимальной тактовой частотой, в то время как остальные ядра могут перейти на минимальные тактовые частоты в режим «сна». В результате энергопотребление может понизиться. Разумеется, эффективность энергосбережения будет зависеть и от того, является ли используемая операционная система «подлинно» многозадачной. Следует отметить, что технология ARM может применяться не только в ЦПУ синхронных, но и в ЦПУ самосинхронных/асинхронных микропроцессоров [18]. Самосинхронный

367

Техника микропроцессорных систем в коммутации

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

В результате самосинхронные МПр расходуют меньше электроэнергии по сравнению со «стандратными» синхронными. Внешние компоненты, как ОЗУ, интерфейсы, вычислители также строятся по самосинхронному принципу. Указанные МПр обладают низким уровнем электромагнитных помех, устойчивы к радиопомехам, что делает возможным их применение в виде процессоров встраиваемых приложений в медицине, автомобильной технике, в специальных средствах связи (например, в пейджерах) с высокой производительностью, отказоустойчивостью и быстродействием. Элементы самосинхронной логики частично применяются в таких МПр как Pentium 4. Определенные трудности представляет использование самосинхронных МПР с «традиционными» синхронными общесистемными шинами и ОЗУ, а также отсутствие развитых средств разработки программного обеспечения для таких МПр.

5.5Развитие технологий производства микропроцессоров

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

368

Техника микропроцессорных систем в коммутации

кремниевой пластине была продемонстрирована 12 сентября 1958 года американским исследователем Джеком Килби руководству компании Texas Instruments, США. Чуть позже тоже самое сделал Роббер Нойс из компании Fairchild Semiconductor. В настоящее время на физическом уровне микропроцессоры изготавливаются в результате более чем 250 стадий производственного цикла с использованием сложных химических процессов и таких методов, как фотолитография, ионная имплантация. Основой современной элементной базы для изготовления микропроцессора является твердотельный планарный транзистор, изготавливаемый по диффузионной технологии, на кремниевой подложке. Подложка – заготовка из диэлектрического материала в виде кремния, предназначенная для нанесения на неѐ элементов микросхем, межэлементных или межкомпонентных соединений, а также контактных площадок. При изготовлении МПр его будущая полупроводниковая структура последовательно формируется на поверхности кристалла кремния в 15–25 слоях из поликремния, металла, диэлектрика. Кристалл – часть полупроводниковой пластины, в объѐме и на поверхности которой сформированы элементы полупроводниковой микросхемы, межэлементные соеди-

нения и контактные площадки. Полупроводниковая пластина

заготовка из полупроводникового материала, предназначенная для изготовления полупроводниковых интегральных микросхем. С 2001 года начался постепенный переход на полупроводниковые (кремниевые) пластины диаметром 300 мм, а в 2012…2015 г.г. начинается переход к полупроводниковым пластинам диаметром 450 мм. Проводимость отдельных «слоѐв» будущего МПр обеспечивается поэтапной (по областям транзистора) диффузией примесей в кристаллическую структуру кремниевой подложки при температурах порядка +800°C с очень жесткими ограничениями на градиент температуры. Для получения приемлемых характеристик градиент должен иметь порядок ± 0,1°/час [14]. В настоящее время существуют МПр, выполненные на кремниевых подложках с помощью пластин диаметром 200…450 мм, что позволяет выпускать процессоры с площадью кристалла до 300… 500 мм2. Также МПр может выпускаться в виде сборки из нескольких больших (сверхбольших) интегральных схем. Производство микропроцессоров и интегральных микросхем в це-

369

Техника микропроцессорных систем в коммутации

лом можно разбить на следующие этапы:

1)физический этап – определяет базовую технологию изготовления МПр, в т.ч. материал и способ изготовления;

2)схемотехнический этап – осуществляется разработка логической и принципиальной электрической схемы будущего МПр;

3)топологический этап – проектирование размещения конкретных компонентов или приборов в объеме кремниевой подложки

сучѐтом оптимизации связей и цепей как внутри каждого слоя так и между слоями;

4)программный этап (для МПр) – включает разработку программного обеспечения, реализующей требуемые вычислительные и логические функции;

5)конструктивный этап – исполнение микросхемы (чипа) в корпусе, определение количества, типа и назначения внешних проводников для операций ввода/вывода данных.

Физический размер МПр и его будущие возможности определенным образом связаны с технологической или проектной нормой производства. Технологическая или проектная норма произ-

водства – это значение максимального смещения границы топологического элемента на кремниевой подложке при изготовлении транзистора. Топологический элемент – элемент микросхемы, определяемый своим трехмерным расположением в интегральной схеме, предназначенной для производства.

Тенденция такова, что количество элементов на единицу площади кристалла МПр, а технологическая норма производства – уменьшается. Это связано с тем, что конструкция, функции и возможности МПр постоянно совершенствуются и развиваются. При этом изменяется и площадь кристалла МПр. В частности, для МПр

Intel при технологической норме в 90 нм площадь кристалла МПр составляла в среднем 120…200 мм2 (до 230 миллионов транзисто-

ров на кристалл); при технологической норме 65 нм площадь кристалла составляла в среднем 80…140 мм2 (до 580 миллионов тран-

зисторов на кристалл); при технологической норме 32 нм площадь кристалла составляет в среднем 80..110 мм2 (до 800 млн. транзисторов на кристалл). Уже сейчас расстояние между транзисторами на кристалле МПр составляет одну десятитысячную толщины челове-

370