Многоядерные микропроцессоры

По мере совершенствования технологии производства микросхем транзисторы становились все меньше и меньше, и появилась возможность размещать их на микросхемах все в большем и большем количестве. Это эмпирическое наблюдение часто называют законом Мура в честь одного из основателей компании Intel Гордона Мура (Gordon Moore), который первым отметил эту особенность.
В 1974 году процессор Intel 8080 содержал чуть более 2 тысяч транзисторов, а центральные процессоры Xeon Nehalem- EX содержат более 2 млрд транзисторов.

Возникает резонный вопрос: как распорядиться всеми этими транзисторами? В разделе главы 1, посвященном процессорам, в качестве одной из возможностей рассматривалось увеличение емкости кэш-памяти, размещенной на кристалле процессора. Это весьма ценная возможность, и уже повсеместно используются процессоры, имеющие в своем составе кэш-память объемом 4-32 Мбайт. Но существует мнение, что увеличение размера кэш-памяти может поднять максимальную производительность всего лишь с 99 до 99,5 %, а это не сможет существенно увеличить производительность работы приложения.

Другая возможность заключается в размещении на одной и той же микросхеме (технически на одном и том же кристалле) двух и более полноценных центральных процессоров, обычно называемых ядрами (cores). Сейчас уже никого не удивишь двухъядерными, четырехъядерными и восьмиядерными процессорами, размещенными на одном кристалле, и можно даже купить процессоры, имеющие несколько сотен ядер. Несомненно, на подходе процессоры с еще большим количеством ядер. По-прежнему актуален вопрос относительно кэш-памяти. Например, у процессора Intel Xeon 2651 имеюся 12 физических многопотоковых ядер, благодаря которым создаются 24 виртуальных ядра. Каждое из 12 физических ядер имеет 32-килобайтный кэш уровня L1, предназначенный для инструкций и 32-килобайтный кэш L1 для данных. У каждого из них также имеется 256-килобайтный кэш уровня L2. И наконец, 12 ядер совместно используют 30-мегабайтный кэш уровня L3.

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

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

В результате такой конструкции многоядерные микросхемы становятся миниатюрными мультипроцессорами. На практике многоядерные микросхемы иногда называют мультипроцессорами на уровне микросхемы (Chip-level MultiProcessors (CMP)). С точки зрения программирования CMP практически не отличаются от мультипроцессоров с общей шиной или мультипроцессоров, использующих схемы коммутации. Но некоторые различия все же имеются. Прежде всего у мультипроцессоров с общей шиной у каждого центрального процессора имеется собственный кэш, показанный на рис. 8.2, б, и это совпадает с конструкцией AMD, показанной на рис. 1.8, б. А конструкция с общей кэш-памятью, использующаяся компанией Intel во многих ее процессорах и показанная на рис. 1.8, а, в других мультипроцессорах не встречается. Общая кэшпамять второго или третьего уровня (L2 или L3) может нанести вред производительности. Если одному из ядер требуется большой объем кэш-памяти, а другим — нет, то эта конструкция позволяет осуществить захват кэш-памяти, чтобы забрать требуемый объем. Общая кэш-память допускает, чтобы «ненасытное» ядро снизило производительность других ядер.

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

В дополнение к симметричным многоядерным микропроцессорам, у которых все ядра одинаковы, существует еще одна распространенная категория многоядерных микропроцессоров — система на кристалле (system on a chip). У этих микросхем имеется один или несколько основных центральных процессоров, но также имеются и ядра специального назначения, такие как видео- и аудиодекодеры, криптопроцессоры, сетевые интерфейсы и т. д., составляющие полную компьютерную систему на одном кристалле.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Многоядерные микропроцессоры:

  1. Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей, 2007
  2. В. И. Юров. Assembler. Учебник для вузов. 2-е изд, 2003
  3. Уран и Плутон,
  4. Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ, 2015
  5. 11.3. Основные направления правового регулирования информационных отношений в Интернет
  6. Зонирование городской территории
  7. 2.6. Педагогические средства в воспитании учащихся
  8. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  9. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
  10. ПЕРЕДМОВА
  11. Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»