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

Закон Мура гласит, что количество транзисторов на одном кристалле удваивается каждые 18 месяцев. Этот «закон», в отличие от закона сохранения импульса, не имеет никакого отношения к физике, он появился в результате наблюдений одного из соучредителей корпорации Intel Гордона Мура (Gordon Moore) за темпами, с которыми шло уменьшение размеров транзисторов.
Закон Мура соблюдался в течение трех десятилетий и, как ожидается, будет соблюдаться как минимум еще одно десятилетие. После этого число атомов в транзисторе станет настолько мало, что дальнейшему уменьшению размеров транзистора воспрепятствует усиливающаяся роль законов квантовой механики.

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

Следующим очевидным шагом является дублирование не только функциональных блоков, но и части управляющей логики. Это свойство, впервые использованное в Pentium 4 и названное многопоточностью, или гиперпоточностью (hyperthreading по версии Intel), стало неотъемлемой принадлежностью процессора x86 и ряда других процессоров, включая SPARC, Power5, Intel Xeon, а также процессоры семейства Intel Core. В первом приближении эта технология позволяет процессору сохранять состояние двух различных потоков и переключаться между ними за наносекунды. (Поток является разновидностью легковесного процесса, который, в свою очередь, является выполняющейся программой; подробности мы рассмотрим в главе 2.) Например, если одному из процессов нужно прочитать слово из памяти (что занимает несколько тактов), многопоточный процессор может переключиться на другой поток. Многопоточность не предлагает настоящей параллельной обработки данных.

Одновременно работает только один процесс, но время переключения между процессами сведено до наносекунд.

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

Кроме процессоров с многопоточностью в настоящее время применяются процессоры, имеющие на одном кристалле четыре, восемь и более полноценных процессоров, или ядер. Например, четырехъядерные процессоры (рис. 1.8) фактически имеют в своем составе четыре мини-чипа, каждый из которых представляет собой независимый процессор. (Кэши мы рассмотрим чуть позже.) Некоторые процессоры, например Intel Xeon Phi и Tilera TilePro, могут похвастаться более чем 60 ядрами на одном кристалле. Несомненно, для использования такого многоядерного процессора потребуется многопроцессорная операционная система.

Кстати, с точки зрения абсолютных чисел нет ничего лучше, чем современные графические процессоры (Graphics Processing Unit, GPU). На их кристаллах содержатся тысячи крохотных ядер. Они очень хорошо подходят для множества небольших производимых параллельно вычислений, таких как визуализация многоугольников в графических приложениях. Но для выполнения последовательных задач они не годятся. К тому же их трудно программировать. Хотя графические процессоры могут найти применение и для операционных систем (например, при кодировании или обработке сетевого трафика), не похоже, что на них могла бы запускаться основная часть самой операционной системы.

1.3.3.

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

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

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