Меню

Что такое архитектура процессора – Что такое архитектура процессора, какая бывает и используется в смартфонах

Содержание

Что такое архитектура процессора, какая бывает и используется в смартфонах

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

В условиях использования единой технологии (и отсутствия практически применимых альтернатив, так как до массового внедрения квантовых процессоров еще далеко) единственным способом приспособить вычислительные чипы под те или иные задачи — стало изобретение различных архитектур ЦП.

Что такое архитектура процессора

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

За все время было создано много различных архитектур. Самые популярные из них — CISC, MISC, VLIW и RISC. Различия между ними касаются, главным образом, системы взаимодействия процессора с обрабатываемыми данными. Сейчас активно используются конвейерные архитектуры CISC и RISC.

Как работает архитектура процессора

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

Количество стадий конвейера может быть разным. Если программа получает данные исправно, в них не содержится ошибок, то такой подход повышает производительность. Чем длиннее конвейер — тем больше операций выполняется за такт (1 герц частоты процессора). В аналогии с автозаводом, количество этапов конвейера — это количество работников за лентой, по которой двигаются кузова собираемых машин. Чем больше мегагерц — тем быстрее движется лента, тем быстрее работают сборщики. Однако если первый работник что-то сделает не так — получится брак, машину придется собирать заново.

В процессоре все аналогично: если на раннем этапе конвейера происходит ошибка — конвейер нужно перезапускать. Это замедляет производительность и приводит к пустым тратам энергии. Так как для компактных и мобильных устройств энергоэффективность очень важна — специально для них была создана архитектура RISC. От CISC она отличается упрощенным набором команд, которые принимает процессор, и укороченным конвейером. Такая особенность приводит к снижению производительности на фоне CISC (а компьютерные x86-процессоры Intel и AMD построены на ней), но позволяет минимизировать пустую трату энергии.

Архитектура процессоров ARM

Всевозможные MIPS, PowerPC, SPARC и прочие архитектуры типа RISC оставим IT-специалистам. Когда дело касается смартфонов — стоит детальнее уделить внимание ARM, Это — разновидность RISC архитектуры с коротким конвейером, которая является одной из самых распространенных и удачных. Именно ARM использует большинство производителей (Qualcomm, MediaTek, Apple, Samsung, Huawei-HiSilicon и другие). Только Intel в своих SoC атом используют x86-совместимые CISC ядра.

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

Архитектура и микроархитектура процессора

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

Виды микроархитектур ARM для смартфонов

Большинство чипсетов для смартфонов содержат процессоры, созданные на ARM, а именно — микроархитектурах семейства Cortex и других. Список актуальных версий и их отличия приведены ниже.

  • Cortex A7. Устаревающая микроархитектура процессоров для смартфонов. Отличается низким энергопотреблением, имеет конвейер из 8-10 этапов. Не умеет работать с 64-битными инструкциями. Относится к семейству ARMv7.

    Cortex A7

  • Cortex A53. Актуальная микроархитектура, также имеет ковейер, состоящий из 8 стадий. Поддерживает новые инструкции и 64-битность, за счет этого работает быстрее, чем A7. Относится к семейству ARMv8.

    Cortex A53

  • Cortex A35. Модификация предыдущей микроархитектуры, отличающаяся сниженными производительностью и энергопотреблением. Принадлежит к семейству ARMv8.

    Cortex A35

  • Cortex A72. Высокопроизводительная микроархитектура ARM, сочетающая короткий конвейер и расширенный набор инструкций, а также поддерживающая увеличенный кэш. В сравнении с A53 – обеспечивает более высокую производительность, но также расходует больше энергии. Тоже принадлежит к серии ARMv8.

    Cortex A72

     

  • Cortex A73. Развитие предыдущей версии, сохраняет основные принципы этой архитектуры, но является более продуктивной и энергоэффективной.

    Cortex A73

  • Apple. Apple используют в своих процессорах модификации ARMv8, но усовершенствованные. Точных спецификаций американцы не раскрывают, но известно о поддержке дополнительных инструкций и удлиненном конвейере. Актуальные микроархитектуры — Zephyr и Hurricane, используемые в чипе Apple A10 Fusion.
  • Kryo. Актуальная микроархитектура, основанная на ARMv8, созданная Qualcomm. Отличается расширенным набором инструкций и удлиненным конвейером. Применяется во флагманских чипах Snapdragon, например, 821.
  • Mongoose. Еще одна микроархитектура, производная от архитектуры ARMv8. Используется Samsung в топовых процессорах семейства Exynos. В сравнении с базовой Cotrex A72 имеет небольшие отличия, касающиеся энергосбережения и производительности.

Возможно вам будет интересно:

Архитектура современных процессоров (стр. 1 из 3)

Содержание

Введение

1. 8086: первый процессор для ПК

2. Одноядерные процессоры

3. Переход к двуядерным процессорам

4. Виртуализация

5. Кратко о некоторых других технологиях

6. Будущие технологии

Библиографический список

Введение

Процессор (или центральный процессор, ЦП) — это транзисторная микросхема, которая является главным вычислительным и управляющим элементом компьютера.

Английское название процессора - CPU (Central Processing Unit).

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

В первом процессоре компании Intel - i4004, выпущенном в 1971 году, на одном кристалле было 2300 транзисторов, а в процессоре Intel Pentium 4, выпущенном 14 апреля 2003 года, их уже 55 миллионов.Современные процессоры изготавливаются по 0,13-микронной технологии, т.е. толщина кристалла процессора, составляет 0,13 микрон. Для сравнения - толщина кристалла первого процессора Intel была 10 микрон.

Рисунок 1 – принципиальная схема процессора

Управляющий блок - управляет работой всех блоков процессора.

Арифметико-логический блок - выполняет арифметические и логические вычисления.

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

Блок декодировки - преобразует данные в двоичную систему.

Блок предварительной выборки - получает команду от устройства (клавиатура и т.д.) и запрашивает инструкции в системной памяти.

Кэш-память (или просто кэш) 1-го уровня - хранит часто использующиеся инструкции и данные.

Кэш-память 2-го уровня - хранит часто использующиеся данные.

Блок шины - служит для ввода и вывода информации.

Эта схема соответствует процессорам архитектуры P6. По этой архитектуре создавались процессоры с Pentium Pro до Pentium III. Процессоры Pentium 4 изготавливаются по новой архитектуре Intel® NetBurst.

В процессорах Pentium 4 кэш 1-го уровня поделен на две части - кэш данных и кэш команд.

Существует два типа тактовой частоты — внутренняя и внешняя.

Внутренняя тактовая частота — это тактовая частота, с которой происходит работа внутри процессора.

Внешняя тактовая частота или частота системной шины — это тактовая частота, с которой происходит обмен данными между процессором и оперативной памятью компьютера.

До 1992 года в процессорах внутренняя и внешняя частоты совпадали, а в 1992 году компания Intel представила процессор 80486DX2, в котором внутренняя и внешняя частоты были различны — внутренняя частота была в 2 раза больше внешней. Было выпущено два типа таких процессоров с частотами 25/50 МГц и 33/66 МГц, затем Intel выпустила процессор 80486DX4 с утроенной внутренней частотой (33/100 МГц).

С этого времени остальные компании-производители также стали выпускать процессоры с удвоенной внутренней частотой, а компания IBM стала выпускать процессоры с утроенной внутренней частотой (25/75 МГц, 33/100 МГц и 40/120 МГц).

В современных процессорах, например, при тактовой частоте процессора 3 ГГц, частота системной шины 800 МГц.

Для чего предназначены дополнительные наборы команд? В первую очередь — для увеличения быстродействия при выполнении некоторых операций. Одна команда из дополнительного набора, как правило, выполняет действие, для которого понадобилась бы небольшая программа, состоящая из команд основного набора. Опять-таки, как правило, одна команда выполняется процессором быстрее, чем заменяющая ее последовательность. Однако в 99% случаев, ничего такого, чего нельзя было бы сделать с помощью основных команд, с помощью команд из дополнительного набора сделать нельзя. Таким образом, упомянутая выше проверка программой поддержки дополнительных наборов команд процессором, должна выполнять очень простую функцию: если, например, процессор поддерживает SSE — значит, считать будем быстро и с помощью команд из набора SSE. Если нет — будем считать медленнее, с помощью команд из основного набора. Корректно написанная программа обязана действовать именно так. Впрочем, сейчас практически никто не проверяет у процессора наличие поддержки MMX, так как все CPU, вышедшие за последние 5 лет, этот набор поддерживают гарантированно. Для справки приведем таблицу, на которой обобщена информация о поддержке различных расширенных наборов команд различными десктопными (предназначенными для настольных ПК) процессорами.

Таблица 1

Сравнение основных наборов команд

* в зависимости от модификации

В 1970г. доктор Маршиан Эдвард Хофф с командой инженеров из Intelсконструировал первый микропроцессор. Во всяком случае, так принято считать – хотя на самом деле еще в 1968 году инженеры Рэй Холт и Стив Геллер создали подобную универсальную микросхему SLFдля бортового компьютера истребителя F-14. Первый процессор работал на частоте 750 кГц. Сегодняшние процессоры от Intelбыстрее своего прародителя более чем в десять тысяч раз

Тактовая частота – это то количество элементарных операций (тактов), которые процессор может выполнить в течение секунды. Еще недавно этот показатель был для пользователей не то, что самым важным – единственным значимым! Многие пользователи пытались «разогнать» свой процессор при помощи специальных программ. Впрочем, частота процессоров и безо всякого разгона возрастала в геометрической прогрессии – в полном соответствии с так называемым «законом Мура» (в свое время Гордон Мур предсказал, что каждые полтора года частота микропроцессоров будет удваиваться вместе с числом транзисторов на кристалле). Этот принцип успешно работал вплоть до 2004 г. – пока на пути инженеров Intelне встали законы физики. Ведь размеры транзисторов «ужимать» до бесконечности нельзя. Уже сегодня процессоры производятся по 65-наномикронной технологии (технология 65 нанометров), а толщина «подложки» транзисторов не превышает 1 нм (всего 5 атомов). В ближайшие годы размеры транзисторов могут сократиться до 22 нм, что близко к физическому пределу. Одновременно с уменьшением размеров транзисторов резко возрастает количество тепла, которое выделяет работающий процессор – например у последних моделей Pentiumтепловыделение составляет около 120 ватт (что соответствует двум бытовым электролампам)!

1.8086: первый процессор для ПК

8086 стал первым процессором x86 - Intel к тому времени уже выпустила модели 4004, 8008, 8080 и 8085. Этот 16-битный процессор мог работать с 1 Мбайт памяти по внешней 20-битной адресной шине. Тактовая частота, выбранная IBM (4,77 МГц) была довольно низкой, и к концу своей карьеры процессор работал на 10 МГц. Первые ПК использовали производную процессора 8088, которая имела всего 8-битную внешнюю шину данных. Что интересно, системы управления в американских шаттлах используют процессоры 8086, и NASA пришлось в 2002 году покупать процессоры через eBay, поскольку Intel их больше не производила.

Таблица 2

Характеристики 8086

80286: 16 Мбайт памяти, но всё ещё 16 битов

Выпущенный в 1982 году, процессор 80286 был в 3,6 раза быстрее 8086 на той же тактовой частоте. Он мог работать с памятью объёмом до 16 Мбайт, но 286 всё ещё оставался 16-битным процессором. Он стал первым процессором x86, оснащённым диспетчером памяти (memory management unit, MMU), который позволял работать с виртуальной памятью. Подобно 8086, процессор не содержал блока работы с плавающей запятой (floating-point unit, FPU), но мог использовать чип-сопроцессор x87 (80287). Intel выпускала 80286 на максимальной тактовой частоте 12,5 МГц, хотя конкурентам удалось добиться 25 МГц.

Таблица 3

Характеристики 8026

386: 32-битный и с кэш-памятью

Intel 80836 стал первым процессором x86 с 32-битной архитектурой. Вышло несколько версий этого процессора. Две наиболее известные: 386 SX (Single-word eXternal), который использовал 16-битную шину данных, и 386 DX (Double-word eXternal) с 32-битной шиной данных. Можно отметить ещё две версии: SL, первый процессор x86 с поддержкой кэша (внешнего) и 386EX, который использовался в космической программе (например, телескоп "Хаббл" использует этот процессор).

Архитектура компьютера — Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 5 января 2019; проверки требуют 5 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 5 января 2019; проверки требуют 5 правок.

Архитекту́ра компью́тера — набор типов данных, операций и характеристик каждого отдельно взятого уровня. Архитектура связана с программными аспектами. Аспекты реализации (например, технология, применяемая при реализации памяти) не являются частью архитектуры[1].

Выделяют несколько уровней организации компьютера (компьютерной архитектуры), от двух и более:[1]

Схема, иллюстрирующая многоуровневую структуру компьютера
Уровень 0 
Цифровой логический уровень, это аппаратное обеспечение машины, состоящий из вентилей. См. также Логические элементы (защелки), триггеры, регистры
Уровень 1 
Микроархитектурный уровень, интерпретация (микропрограммы) или непосредственное выполнение. Электронные схемы исполняют машинно-зависимые программы. Совокупность регистров процессора формирует локальную память. См. также арифметико-логическое устройство.
Уровень 2 
Уровень архитектуры системы команд, трансляция (ассемблер).
Уровень 3 
Уровень операционной системы, трансляция (ассемблер). Это гибридный уровень: одна часть команд интерпретируется операционной системой, а другая — микропрограммой. См. также виртуальная память, файлы.
Уровень 4 
Уровень языка ассемблера, трансляция (компилятор). Четвертый уровень и выше используется для написания прикладных программ, с первого по третий — системных программ. Программы в удобном для человека виде транслируются на язык уровней 1-3.
Уровень 5 
Язык высокого уровня. Программы на языках высокого уровня транслируются обычно на уровни 3 и 4.

Первая документально оформленная компьютерная архитектура находилась в переписке между Чарльзом Бэббиджем и Адой Лавлейс, описывающим механизм анализа. При создании компьютера Z1 в 1936 году Конрад Цузе описал в двух патентных заявках свои будущие проекты.[2] Два других ранних и важных примера:

Статья Джона фон Неймана 1945 года, первый проект отчета об EDVAC, в котором описана организация логических элементов;

Более подробный Предложенный Электронный Калькулятор Алана Тьюринга для Автоматического Вычислительного Двигателя, также 1945 и который привел статью Джона фон Неймана.

Термин «архитектура» в компьютерной литературе можно проследить до работы Лайла Р. Джонсона, Фридриха П. Брукса-младшего и Мохаммада Усмана-хана. Все они были членами отдела машинной организации в основном исследовательском центре IBM в 1959 году. У Джонсона была возможность написать собственное исследовательское сообщение о суперкомпьютере Stretch, разработанном IBM в Лос-Аламосской национальной лаборатории (в то время известном как Лос-Аламос Научная лаборатория). Чтобы описать уровень детализации для обсуждения роскошно украшенного компьютера, он отметил, что его описание форматов, типов команд, аппаратных параметров и улучшений скорости было на уровне «системной архитектуры» — термин, который казался более полезным, чем «машинная организация».

Впоследствии Брукс, дизайнер стретч, начал главу 2 книги («Планирование компьютерной системы: проект Stretch», изд., W. Buchholz, 1962), написав:

"Компьютерная архитектура, как и другая архитектура, — это искусство определения потребностей пользователя структуры, а затем проектирования для максимально эффективного удовлетворения этих потребностей в рамках экономических и технологических ограничений."

Брукс продолжал помогать в разработке линейки компьютеров IBM System / 360 (теперь называемой IBM zSeries), в которой «архитектура» стала существительным, определяющим «то, что пользователь должен знать».[3]

Самые ранние компьютерные архитектуры были разработаны на бумаге, а затем непосредственно встроены в окончательную аппаратную форму. Позже прототипы компьютерной архитектуры были физически построены в виде транзисторно-транзисторной логической системы (TTL), такой как прототипы 6800 и испытанного PA-RISC, и исправлены, прежде чем перейти к окончательной аппаратной форме. Начиная с 1990-х годов, новые компьютерные архитектуры обычно «строятся», тестируются и настраиваются внутри какой-либо другой компьютерной архитектуры в симуляторе компьютерной архитектуры; или внутри ПЛИС в качестве мягкого микропроцессора; Или оба — перед тем, как совершить окончательную аппаратную форму.[4]

По типу применяемого процессора[править | править код]

  • CISC (англ. complex instruction set computing) - архитектура с полным набором команд. Такие процессоры выполняют все команды, простые и сложные, за большое количество тактов. Команд в таких процессорах много, и бывает, что компиляторы верхнего уровня очень редко используют все команды.
  • RISC (англ. reduced instruction set computing) - архитектура с сокращенным набором команд. Такие процессоры работают быстрее, чем CISC архитектура, за счет упрощения архитектуры и сокращения количества команд, но для выполнения сложной команды, она составляется из набора простых, что увеличивает время выполнения команды (за большее количество тактов).
  • MISC (англ. minimal instruction set computing) - архитектура с минимальным набором команд. Такие процессоры имеют минимальное количество команд, все команды простые и требуют небольшого количества тактов на выполнение, но если выполняются сложные вычисления, например с числами с плавающей запятой, то такие команды выполняются за большое количество тактов, превышающее CISC и RISC архитектуры.
  • VLIW (англ. very long instruction word - «очень длинная машинная команда») - архитектура с длинной машинной командой, в которой указывается параллельность выполнения вычислений. Такие процессоры получили широкое применение в цифровой обработке сигналов.

По принципу разделения памяти[править | править код]

  • Joseph D. Dumas II. Computer Architecture: Fundamentals and Principles of Computer Design. — CRC Press, 2005. — ISBN 978-0-8493-2749-0.
  • David A. Patterson, John L. Hennessy. Computer Architecture: A Quantitative Approach, 5th Edition. — Morgan Kaufmann, 2011. — 856 p. — ISBN 012383872X. (англ.)
  • Дэвид Харрис, Сара Харрис. Цифровая схемотехника и архитектура компьютера, 2-е издание, перевод командой компаний и университетов России, Украины, США и Великобритании, Morgan Kaufman,2013
  • Таненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. СПб.: Питер, 2014, ISBN 978-5-496-00337-7

Архитектура современных многоядерных процессоров

Супер компьютерВведение. Компьютерная техника развивается быстрыми темпами. Вычислительные устройства становятся мощнее, компактнее, удобнее, однако в последнее время повышение производительности устройств стало большой проблемой. В 1965 году Гордон Мур (один из основателей Intel) пришёл к выводу, что «количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца».

Первые разработки в области создания многопроцессорных систем начались в 70-х годах. Длительное время производительность привычных одноядерных процессоров повышалась за счёт увеличения тактовой частоты (до 80% производительности определяла только тактовая частота) с одновременным увеличением числа транзисторов на кристалле. Фундаментальные законы физики остановили этот процесс: чипы стали перегреваться, технологический стал приближаться к размерам атомов кремния. Все эти факторы привели к тому, что:

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

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

Hyper-Threading Technology (HTT) или технология сверхпоточной обработки данных, позволяющая процессору на одном ядре выполнять несколько программных потоков. Именно HTT по мнению многих специалистов стала предпосылкой для создания многоядерных процессоров. Выполнение процессором одновременно несколько программных потоков называется параллелизмом на уровне потоков (TLP –thread-level parallelism).

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

1. Общие понятия

Ядра процессораАрхитектура в широком смысле – это описание сложной системы, состоящей из множества элементов.

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

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

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

Процессоры Intel, используемые в IBM – совместимых ПК, насчитывают более тысячи команд и относятся к процессорам с расширенной системой команд – CISC-процессорам (CISC –Complex Instruction Set Computing).

1.1 Высокопроизводительные вычисления. Параллелизм

Темпы развития вычислительной техники легко проследить: от ENIAC (первый электронный цифровой компьютер общего назначения) с производительностью в несколько тысяч операций в секунду до суперкомпьютера Tianhe-2 (1000 триллионов операций с плавающей запятой в секунду). Это означает, что скорость вычислений увеличилась в триллион раз за 60 лет. Создание высокопроизводительных вычислительных систем – одна из самых сложных научно-технических задач. При том, что скорость вычислений технических средств выросла всего лишь в несколько миллионов раз, общая скорость вычислений выросла в триллионы раз. Этот эффект достигнут за счёт применения параллелизма на всех стадиях вычислений. Параллельные вычисления требуют поиска рационального распределения памяти, надёжных способов передачи информации и координации вычислительных процессов.

1.2 Симметрическая мультипроцессорность

Symmetric Multiprocessing (сокращённо SMP) или симметрическое мультипроцессирование – это особая архитектура мультипроцессорных систем, в которой несколько процессоров имеют доступ к общей памяти. Это очень распространённая архитектура, достаточно широко используемая в последнее время.

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

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

SMP-система (как и любая другая, основанная на параллельных вычислениях) предъявляет повышенные требования к такому параметру памяти, как полоса пропускания шины памяти. Это зачастую ограничивает количество процессоров в системе (современные SMP- системы эффективно работают вплоть до 16 процессоров).

SMP архитектураТак как у процессоров общая память, то возникает необходимость рационального её использования и согласования данных. В мультипроцессорной системе получается так, что несколько кэшей работают для разделяемого ресурса памяти. Сache coherence (когерентность кэша) – свойство кэша, обеспечивающее целостность данных, хранящихся в индивидуальных кэшах для разделяемого ресурса. Данное понятие – частный случай понятия когерентности памяти, где несколько ядер имеют доступ к общей памяти (повсеместно встречается в современных многоядерных системах)[4]. Если описать данные понятия в общих чертах, то картина будет следующей: один и тот же блок данных может быть загружен в разные кэши, где данные обрабатываются по-разному.

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

SMP-системы являются подгруппой MIMD (multi in-struction multi data - вычислительная система со множественным потоком команд и множественным потоком данных) классификации вычислительных систем по Флинну ( профессор Стэнфордского университета, сооснователь Palyn Associates). Согласно данной классификации, практически все разновидности параллельных систем можно отнести к MIMD.

Разделение многопроцессорных систем на типы происходит на основе разделения по принципу использования памяти. Этот подход позволил различить следующие важные типы

многопроцессорных систем – multiprocessors (мультипроцессорные системы с общей разделяемой памятью) и multicomputers (системы с раздельной памятью). Общие данные, используемы при параллельных вычислениях требуют синхронизации. Задача синхронизация данных – одна из самых важных проблем, и её решение при разработке многопроцессорных и многоядерных и, соответственно, необходимого программного обеспечения является приоритетной задачей инженеров и программистов. Общий доступ к данным может быть произведён при физическом распределении памяти. Этот подход называется неоднородным доступом к памяти (non-uniform memory access или NUMA).

Среди данных систем можно выделить:

  • Системы, где только индивидуальная кэш-память процессоров используется для представления данных (cache-only memory architecture).
  • Системы с обеспечением когерентности локальных кэшей для различных процессоров (cache-coherent NUMA).
  • Системы с обеспечением общего доступа к индивидуальной памяти процессоров без реализации на аппаратном уровне когерентности кэша (non-cache coherent NUMA).

Упрощение проблемы создания мультипроцессорных систем достигается использованием распределённой общей памяти (distributed shared memory), однако этот способ приводит к ощутимому повышению сложности параллельного программирования.

1.3 Одновременная многопоточность

Исходя из всех вышеперечисленных недостатков симметрической мультипроцессорности, имеет смысл разработка и развитие других способов повышения производительности. Если проанализировать работу каждого отдельного транзистора в процессоре, можно обратить внимание на очень интересный факт – при выполнении большинства вычислительных операций задействуются далеко не все компоненты процессора (согласно последним исследованиям – около 30% всех транзисторов). Таким образом, если процессор выполняет, скажем, несложную арифметическую операцию, то большая часть процессора простаивает, следовательно, её можно использовать для других вычислений. Так, если в данный момент процессор выполняет вещественные операции, то в свободную часть можно загрузить целочисленную арифметическую операцию. Чтобы увеличить нагрузку на процессор, можно создать спекулятивное (или опережающее) выполнение операций, что требует большого усложнения аппаратной логики процессора. Если в программе заранее определить потоки (последовательности команд), которые могут выполняться независимо друг от друга, то это заметно упростит задачу (данный способ легко реализуется на аппаратном уровне). Эта идея, принадлежащая Дину Тулсену (разработана им в 1955 г в университете Вашингтона), получила название одновременной многопоточности (simul-taneous multithreading). Позднее она была развита компанией Intel под названием гиперпоточности (hyper threading). Так, один процессор, выполняющий множество потоков, воспринимается операционной системой Windows как несколько процессоров. Использование данной технологии опять-таки требует соответствующего уровня программного обеспечения. Максимальный эффект от применения технологии многопоточности составляет около 30%.

1.4 Многоядерность

Технология многопоточности – реализация многоядерности на программном уровне. Дальнейшее увеличение производительности, как всегда, требует изменений в аппаратной части процессора. Усложнение систем и архитектур не всегда оказывается действенным. Существует обратное мнение: «всё гениальное – просто!». Действительно, чтобы повысить производительность процессора вовсе необязательно повышать его тактовую частоту, усложнять логическую и аппаратную составляющие, так как достаточно лишь провести рационализацию и доработку существующей технологии. Такой способ весьма выгоден – не нужно решать проблему повышения тепловыделения процессора, разработку нового дорогостоящего оборудования для производства микросхем. Данный подход и был реализован в рамках технологии многоядерности – реализация на одном кристалле нескольких вычислительных ядер. Если взять исходный процессор и сравнить прирост производительности при реализации нескольких способов повышения производительности, то очевидно, что применение технологии многоядерности является оптимальным вариантом.

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

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

Что такое архитектура процессора?

    Желаете обеспечить свой дом дом бесперебойной электронергией или ищите источник бесперебойного питания? Вот такой генератор Кентавр подойдет для вашей цели максимально удачно. Высокая надежность работы, низкий расход топлива и малая шумность работы – это то, что отличает генераторы Кентавр, от других моделей. Спешите приобрести генератор уже сейчас!

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

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


За всё время существования микропроцессорной техники, было множество различных видов архитектур. Наиболее популярными являются CISC, MISC, VLIW и RISC. Отличия между ними заключаются лишь в том, как они взаимодействуют с данными, которые поступают к процессору, и которые из него исходят.

Схема работы архитектуры процессора несколько сложнее. Так, данные в схеме обрабатываются последовательным путем. К примеру, в начале, процессор получает инструкцию, затем производит чтение данных, после производит необходимые вычисления, а в конце выдает полученный результат. Но, это всё очень абстрактно, на самом деле, работа микропроцессора куда сложнее.

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


Также не следует путать понятия архитектуры и микроархитектуры процессора, это несколько разные определяющие. Так, архитектурой называют принцип устройства микропроцессора, микроархитектурой лишь 1 из способов её реализации, в котором есть собственные особенности.

Одной из самых известных серий архитектур, считается «Cortex». В первых смартфонах присутствовала архитектура Cortex А7, которая сегодня считается устаревшей. Наиболее производительными сегодня считаются Cortex А72 и А73. Компания Apple в своих устройствах использует модифицированную архитектуру ARMv8.


Ядро микропроцессора — Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 16 января 2016; проверки требуют 3 правки. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 16 января 2016; проверки требуют 3 правки.

Термин «ядро микропроцессора» (англ. processor core) не имеет чёткого определения и в зависимости от контекста употребления может обозначать особенности, позволяющие выделить модель[чего?] в отдельный вид:

  • физическую реализацию:
  • набор характеристик организационного, схемотехнического или программного характера:
    • часть процессора, осуществляющая выполнение одного потока команд. Многоядерные процессоры имеют несколько ядер и поэтому способны одновременно выполнять несколько потоков команд;
    • набор параметров, характеризующих микропроцессор.

Ядро микропроцессора обычно имеет собственное кодовое обозначение (например, K7) или имя (например, Deschutes).

Типичными характеристиками ядра являются, например:

В процессе разработки новых ядер микропроцессоров на основе существующих ядер в конструкцию существующих ядер вносятся изменения, часто значительные. Так, например, может быть добавлен дополнительный набор инструкций, могут быть уменьшены проектные нормы техпроцесса, может быть увеличена тактовая частота. Также обычно исправляются найденные ошибки. Подобные ядра называют ревизиями существующего ядра. Например, на основе ядра «Athlon XP Thoroughbred» созданы ядра ревизий «A0» и «B0». Номер ревизии может быть закодирован в маркировке микропроцессора и/или может быть запрограммирован в ядре. В последнем случае код номера ревизии (степпинг) можно узнать с помощью инструкции cpuid (а в MS Windows — с помощью программы CPU-Z или подобных ей).

Многоядерный процессор — Википедия

Многоя́дерный проце́ссор — центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе.

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

Термин мультиядерный (англ. multi-core[1]) обычно применяется к центральным процессорам, содержащим два и более ядра общего назначения, однако иногда используется и для цифровых сигнальных процессоров (DSP) и однокристальных систем (SoC, СнК). Под многоядерностью процессора понимают, что несколько ядер являются интегрированными на одну интегральную схему (изготовлены на одном кремниевом кристалле). Если же в один корпус были объединены несколько полупроводниковых кристаллов, то конструкцию называют многочиповый модуль (англ. multi-chip module, MCM).

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

Понятие многоядерный[1] (англ. many-core[2] или англ. massively multi-core) может использоваться для описания многоядерных систем, имеющих высокое количество ядер, от десятков до сотен или более. Например, именно название «многоядерный» («many-core») использовалось Intel для вычислителей Intel MIC[3].

Мультипроцессор на кристалле (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) — так ранние исследователи называли свои проекты размещения нескольких процессоров на одной подложке[4][5][6].

Архитектура многоядерных процессоров во многом повторяет архитектуру симметричных мультипроцессоров (SMP-машин) только в меньших масштабах и со своими особенностями.

Первые многоядерные процессоры (first generation CMP) представляли собой самые простые схемы: два процессорных ядра, размещенные на одном кристалле без разделения каких-либо ресурсов, кроме шины памяти (например, Sun UltraSPARC IV и Intel Pentium D). «Настоящим многоядерным» (second generation CMP) процессор считается, когда его вычислительные ядра совместно используют кэш третьего или второго уровня: например, Sun UltraSPARC IV+, Intel Core Duo и все современные многоядерные процессоры.

В многоядерных процессорах тактовая частота, как правило, намеренно снижена. Это позволяет уменьшить энергопотребление процессора без потери производительности: энергопотребление растёт как куб от роста частоты процессора. Удвоив количество ядер процессора и снизив вдвое их тактовую частоту, можно получить практически ту же производительность, при этом энергопотребление такого процессора снизится в 4 раза.

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

Суперскалярность в ядре присутствует не всегда, если, например, производитель процессора стремится максимально упростить ядро.

Каждое ядро может использовать технологию временной многопоточности или, если оно суперскалярное, технологию SMT для одновременного исполнения нескольких потоков, создавая иллюзию нескольких «логических процессоров» на основе каждого ядра. На процессорах компании Intel эта технология носит название Hyper-threading и удваивает число логических процессоров по сравнению с физическими. На процессорах Sun UltraSPARC T2 (2007 г.) такое увеличение может достигать 8 потоков на ядро.

Многоядерные процессоры можно подразделить по наличию поддержки когерентности (общей) кэш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё. Способ связи между ядрами:

  • разделяемая шина;
  • сеть (Mesh) на каналах точка-точка;
  • сеть с коммутатором;
  • общая кэш-память.

Кэш-память: Во всех существующих на сегодня многоядерных процессорах кэш-памятью 1-го уровня обладает каждое ядро в отдельности, а кэш-память 2-го уровня существует в нескольких вариантах:

  • разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core;
  • индивидуальная — отдельные кэши равного объёма, интегрированные в каждое из ядер. Обмен данными из кэшей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).

Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:

  • гомогенная архитектура — все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo, Sun SPARC T3, AMD Opteron;
  • гетерогенная архитектура — ядра процессора выполняют разные задачи. Типичный пример: процессор Cell альянса IBM, Sony и Toshiba, у которого из девяти ядер одно является ядром процессора общего назначения PowerPC, а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3.

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

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

На сегодня многими производителями процессоров, в частности Intel, AMD, IBM, ARM, дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.

История массовых многоядерных процессоров[править | править код]

POWER[править | править код]
Основная статья: POWER

Первым процессором, предназначенным для массового использования, а не для встроенных систем, стал POWER4 с двумя ядрами PowerPC на одном кристалле, выпущенный компанией IBM в 2001 году.

2-ядерный IBM PowerPC-970MP (G5) был представлен в 2005 году. Этим процессором оснащались последние Power Mac G5.

SPARC[править | править код]
Основная статья: SPARC

В марте 2004 года компания Sun Microsystems представила первый 2-ядерный процессор архитектуры SPARC: UltraSPARC IV — CMP первого поколения. Процессором второго поколения CMP стал UltraSPARC IV+ (середина 2005 года), где два ядра процессора совместно использовали off-chip кэш 3-го уровня и on-chip кэш 2-го уровня.

Компания Fujitsu в своей линейке SPARC64 представила 2-ядерный процессор SPARC64 VI только в 2007 году.

x86[править | править код]

В апреле 2005 года AMD выпустила 2-ядерный процессор Opteron архитектуры AMD64, предназначенный для серверов.

В мае 2005 года Intel выпустила процессор Pentium D архитектуры x86-64, ставший первым 2-ядерным процессором, предназначенным для персональных компьютеров. Это был «быстрый» ответ компании Intel на вызов компании AMD. По сути Pentium D, созданный на основе ведущей у Intel архитектуры NetBurst, состоял из двух раздельных процессоров, помещённых на одну подложку, без каких-либо общих элементов. Так как компания Intel отказалась от архитектуры NetBurst в конце 2005 года, развитие Pentium D не получил. Настоящий многоядерный процессор Core Duo на более экономичной архитектуре Core был выпущен компанией Intel в январе 2006 года.

В марте 2010 года появились первые 12-ядерные серийные процессоры, которыми стали серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64).[7]

В 2011 году компанией AMD освоено производство 8-ядерных процессоров для домашних компьютеров[8] и 16-ядерных для серверных систем[9].

В августе 2011 года компанией AMD были выпущены первые 16-ядерные серийные серверные процессоры Opteron серии 6200 (кодовое наименование Interlagos). Процессор Interlagos объединяет в одном корпусе два 8-ядерных (4-модульных) чипа и является полностью совместимым с существующей платформой AMD Opteron серии 6100 (Socket G34).[10]

По состоянию на 2016 год Intel выпускает процессоры для серверов Xeon E7 — с количеством ядер от 4 до 24.[11][12] (E5 — до 22 ядер).

Сводные данные по истории микропроцессоров и их параметров представлены в обновляющейся английской статье: Хронология микропроцессоров, 2010-е годы. Для получения числа ядер процессора надо умножить поля «Cores per die» и «Dies per module», для получения числа аппаратных потоков — умножить число ядер на число «threads per core». Например, для Xeon E7, Intel: «4, 6, 8, 10» ядер на 1 die на 1-2 аппаратных потоков = максимум 10 ядер и 20 аппаратных потоков, AMD FX «Bulldozer» Interlagos «4-8» на 2 на 1 = максимум 16 ядер и 16 потоков.

История экспериментальных многоядерных процессоров[править | править код]

27 сентября 2006 года на форуме разработчиков «IDF Fall» Intel продемонстрировал экспериментальный 80 ядерный чип с производительностью до 1 TFLOPS. Каждое ядро работало с тактовой частотой 3,16 ГГц, энергопотребление чипа достигало около 100 Вт[13].

20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.)русск. с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с.[14][15]

26 октября 2009 года Tilera анонсировала[16] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кэш-памятью 1 и 2 уровней. Ядра, память и системная шина связаны посредством топологии mesh network. Процессоры производятся по 40-нм техпроцессу и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года.

2 декабря 2009 года Intel представила одночиповый «облачный» Single-chip Cloud Computer (SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора[17].

В июне 2011 года Intel раскрыла детали разрабатываемой архитектуры Many Integrated Core (MIC) — эта технология выросла из проекта Larrabee. Микропроцессоры на основе этой архитектуры получат более 50 микроядер архитектуры x86 и начнут производиться в 2012 году по 22-нм техпроцессу. Эти микропроцессоры не могут быть использованы в качестве центрального процессора, но из нескольких чипов этой архитектуры будут строиться вычислительные ускорители в виде отдельной карты расширения и конкурировать на рынках GPGPU и высокопроизводительных вычислений с решениями типа Nvidia Tesla и AMD FireStream.[18] По опубликованному в 2012 году описанию архитектуры, возможны чипы с количеством ядер до 60.

В октябре 2011 года компания Adapteva (англ.)русск. представила 64-ядерные микропроцессоры Epiphany IV (англ.)русск., которые показывают производительность до 70 гигафлопс (SP), при этом потребляя менее 1 Вт электроэнергии. Микропроцессоры спроектированы с использованием RISC-архитектуры и, ознакомительные образцы планировалось произвести в 2012 году по 28-нм техпроцессу GlobalFoundries. Данные процессоры не могут быть использованы в качестве центрального процессора, но компания Adapteva (англ.)русск. предлагает использовать их в качестве сопроцессора для таких сложных задач, как распознавание лиц или жестов пользователя. Компания Adapteva утверждает, что в дальнейшем число ядер данного микропроцессора может быть доведено до 4096 Планируется, что 4096-ядерный процессор в основной версии (700 МГц), по оценкам, позволит получить 5,6 TFLOPS, потребляя всего 80 Ватт.

[19][20].

В январе 2012 года компания ZiiLabs (англ.)русск. (дочернее предприятие Creative Technology) анонсировала 100-ядерную систему на чипе ZMS-40. Эта система, объединяющая 4-ядерный процессор ARM Cortex-A9 1,5 ГГц (с мультимедийными блоками Neon) и массив из 96 более простых и менее универсальных вычислительных ядер StemCell. Ядра StemCell — это энергоэффективная архитектура SIMD, пиковая производительность при вычислениях с плавающей запятой (32 бит) — 50 гигафлопс, ядра которой работают скорее как GPU в других системах на чипе, и могут быть использованы для обработки видео, изображений и аудио, для ускорения 3D- и 2D-графики и других мультимедийных задач (поддерживается OpenGL ES 2.0 и OpenCL 1.1)[21].

В августе 2019 года компания Cerebras представила самый большой в мире многоядерный суперпроцессор Cerebras Wafer Scale Engine. Он имеет более 1,2 триллиона транзисторов и 400 000 ядер и занимает почти всю площадь полупроводниковой пластины диаметром 300 мм.[22]

Существует также тенденция внедрения многоядерных микроконтроллеров в мобильные устройства.

Например:

  • seaForth-24[23] — новая разработка многоядерной MISC-архитектуры Чака Мура: 1 ГГц 24-ядерный асинхронный контроллер.
  • Контроллер от Parallax (англ.)русск.[24] имеет восемь 32-разрядных процессоров (COG) в одном кристалле P8X32A.
  • Kilocore PowerPC-процессор с 1024 8-битными ядрами, работающими на частоте 125 МГц. На данный момент существует 256-ядерный процессор.
  1. 1 2 Кризис параллельного мира, Сергей Кузнецов: Обзор декабрьского 2009 г. номера журнала Computer (IEEE Computer Society, V. 42, No 12, декабрь, 2009): «архитектур мультиядерных (multicore) и многоядерных (many-core) процессоров»
  2. ↑ Programming Many-Core Chips. By András Vajda, page 3
  3. ↑ [1]: " для которого ввели этот новый термин вместо привычного multi-core, "
  4. ↑ The Case for a Single-Chip Multiprocessor — Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang — Appears in Proceedings Seventh International Symp. Architectural Support for Programming Languages and Operating Systems (ASPLOS VII), Cambridge, MA, October 1996
  5. ↑ Stanford Hydra Single-Chip Multiprocessor (неопр.) (недоступная ссылка). Дата обращения 4 сентября 2016. Архивировано 29 августа 2007 года.
  6. ↑ ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency — Kunle Olukotun, Lance Hammond, James Laudon — 2007
  7. ↑ «AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100» — overclockers.ua
  8. ↑ Сайт 3DNews: «Официальный анонс процессоров AMD FX»
  9. ↑ Сайт 3DNews: «AMD начала массовые поставки серверных Bulldozer. Настольные откладываются?».
  10. ↑ Сайт 3DNews: «Появились данные о серверных AMD Bulldozer: 3 ГГц максимум?».
  11. ↑ Intel® Xeon® Processor E7 Family
  12. ↑ Intel unleashes new Xeon E7 v4 CPUs including 24-core monster | TechRadar
  13. ↑ Intel продемонстрировала 80-ядерный суперпроцессор будущего (неопр.). Lenta.ru (27 сентября 2006). Дата обращения 13 августа 2010.
  14. ↑ Статья на сайте 3dnews.ru: «Tilera Tile64 — чип с 64 процессорными ядрами»
  15. ↑ «Tilera Now Shipping the TILE64 Processor: the World’s Highest Performance Embedded Processor» (неопр.) (недоступная ссылка). Дата обращения 19 октября 2018. Архивировано 23 марта 2010 года.
  16. ↑ Modnews
  17. ↑ Статья на сайте lenta.ru: «Intel продемонстрировала 48-ядерный процессор»
  18. ↑ Сайт 3DNews: «Intel MIC: 22-нм Knights Corner — в 2012 году, ExaScale — в 2018 году»
  19. ↑ Сайт 3DNews: «64-ядерный чип от Adapteva может быть использован в смартфонах и планшетах», 05.10.2011
  20. ↑ Adapteva скоро начнет поставки ознакомительных образцов 28-нанометровых 64-ядерных процессоров E64G4 Архивная копия от 11 августа 2016 на Wayback Machine // Ixbt.com, 21 Марта, 2012
  21. ↑ Сайт 3DNews: «ZiiLabs представила „4+96-ядерный“ процессор ZMS-40»
  22. ↑ * The first computer chip with a trillion transistors — обзорная статья The Economist, Dec 7th 2019 (англ.)
  23. ↑ Архивированная копия (неопр.) (недоступная ссылка). Дата обращения 15 апреля 2008. Архивировано 21 июля 2011 года.
  24. ↑ Propeller | Parallax Inc
  • (1999) Processor Architecture — From Dataflow to Superscalar and Beyond (ISBN 3540647988) (англ.)
  • (2009) Microprocessor Architecture — From Simple Pipelines to Chip Multiprocessors (ISBN 0521769922) (англ.)
  • Многоядерные процессоры. Учебный курс. А. В. Калачев ISBN 978-5-9963-0349-6
  • Mario Nemirovsky, Dean M. Tullsen. Multithreading Architecture. — Morgan and Claypool Publishers, 2013. — 1608458555 p. — ISBN 1608458555. (англ.)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *