Меню

Сравнение архитектур процессоров: (Само)идентификация процессоров. Часть первая. Сравнение архитектур – Виды популярных архитектур процессоров

Содержание

архитектура RISC и развитие индустрии в 1990-е годы — Ferra.ru

Источник изображения

В 1996 году было представлено следующее поколение процессоров DEC — Alpha 21264 (EV6). Чип получил несколько важных изменений по сравнению с предшествующими моделями. Например, он поддерживал внеочередное исполнение инструкций, что повлекло за собой полную реорганизацию ядра. Целочисленные блоки и блоки загрузки/сохранения были объединены в единый модуль Ebox, а блоки вычислений с плавающей запятой выделены в модуль Fbox. Помимо самих блоков, эти юниты содержали еще и файлы регистров. Структура кэш-памяти опять стала двухуровневой — она пришла на смену трехуровневой организации кэша в Alpha 21164. Кэш первого уровня сохранил разделение на память для инструкций и для данных. Объем каждой части составлял 64 Кбайт. Что касается кэш-памяти второго уровня, то ее объем мог составлять от 1 Мбайт до 16 Мбайт. Плюс процессор получил поддержку предсказания ветвлений. С течением времени выпускались все новые и новые версии процессоров Alpha 21264, в которых, прежде всего, наращивалась тактовая частота. Последней модификацией стал Alpha 21264E, который работал на частоте 1250 МГц.

Увы, но линейка процессоров Alpha 21264 стала последней в истории «независимой» DEC. В начале 1998 года DEC признали банкротом, и она была поглощена компанией Compaq.

Архитектура Intel P5

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

Несмотря на то, что Intel вышла на рынок RISC-процессоров со своими решениями i860 и i960, основную ставку в компании все же делали на x86-кристаллы. Следующим поколением «камней» стали всем известные Pentium на базе архитектуры P5, выпущенные в 1993 году.

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

Первые процессоры линейки Pentium работали на частотах 60 МГц или 66 МГц. При этом для их работы требовалось напряжение 5 В, поэтому они сильно грелись. Также первые «пни» прославились неправильной работой блока вычислений с плавающей запятой, который в некоторых случаях при выполнении деления чисел выдавал неверный результат. Поэтому вскоре Intel запустила в продажу процессоры с исправленной архитектурой P54C.

Мобильные процессоры: всё об архитектурах

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

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

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

SoC-процессоры

Большинство современных процессоров так или иначе основаны на принципах, заложенных еще в 1940-х годах американо-венгерским ученым Джоном фон Нейманом, хотя, конечно, они прошли очень длинный путь развития по меркам технологий. Одна из главных на сегодняшний день процессорных архитектур называется SoC, или система на чипе (англ. system on a chip). Это тоже микроконтроллерная архитектура, но еще более плотная. Здесь целый ряд компонентов помещаются на одном полупроводниковом кристалле. Это как бы не процессор, а целый компьютер. Такой подход позволяет упростить и удешевить сборку и процессоров, и целых устройств.

Именно SoC-процессоры используются в подавляющем большинстве современных смартфонов и планшетов. Например, SoC-процессорами являются чипы британской фирмы ARM, на которой работает большинство Android-устройств, а также смартфоны iPhone и планшеты iPad. ARM-процессоры используются и в чипсетах MediaTek, где их число доходит до десяти.

RISC-процессоры

Технология RISC означает упрощенный набор команд (англ. reduced instruction set computer), ее впервые предложили в компании IBM. В основу RISC положена идея максимального повышения быстродействия посредством упрощения инструкций и ограничения их длины. Благодаря этому подходу стало возможным не только повысить тактовую частоту, но и сократить так называемый процессорный конвейер – очередь из команд на выполнение, а также снизить тепловыделение и потребление энергии.

Первые RISC-процессоры были настолько простыми, что не имели даже операций деления и умножения, однако они быстро прижились в мобильных технологиях. На архитектуре RISC основано большинство современных процессоров. Это, во-первых, уже упоминавшиеся процессоры ARM, а также PowerPC, SPARC и многие другие. Популярнейшие процессоры Intel уже много лет основаны на RISC-ядре, начиная с 1990-х годов. Можно сказать, что технология RISC сегодня является доминирующей, хотя у нее существует множество вариантов реализации. 

CISC-процессоры

Это более традиционный вид микропроцессоров, которые отличаются от предыдущих полным набором команд, отсюда и название: компьютер с полным набором команд (англ. complex instruction set computer). Такие процессоры не имеют фиксированной длины команды, а самих команд больше. CISC-процессорами были все процессоры архитектуры x86, которая доминирует в компьютерной индустрии уже не одно десятилетие, до появления Intel Pentium Pro, который впервые отошел от CISC-концепции и сегодня представляет собой гибрид – CISC-чипсет на базе RISC-ядра.

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

ARM и x86

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

С другой стороны, семейство x86, разработанное Intel, начиная с легендарного процессора Intel 8086 (откуда и пошло название) образца 1978 года, всегда было уделом компьютеров мощных, «настоящих». Куда уж до них ARM, говорили многие эксперты. Но времена меняются, и сегодня архитектуры ARM и x86 яростно конкурируют друг с другом во всей компьютерной индустрии, которая все больше зависит от мобильных технологий.

Сама компания ARM, в отличие от Intel, не производит процессоры, но лицензирует их сторонним производителям, среди которых практически все гранды: Apple, Samsung, IBM, NVIDIA, Nintendo, Qualcomm и даже, вот так ирония, Intel (и ее вечный конкурент AMD). Такой подход привел к тому, что ARM-процессоры буквально завалили рынок – сегодня их выпускается не один миллиард каждый год.

Поскольку сегодня все больше людей предпочитают планшеты традиционным компьютерам, продажи которых пошли на спад, сложилась ситуация, очень неприятная для Intel и AMD и немыслимая еще лет десять назад. Intel неожиданно оказалась в роли догоняющей и начала активно развивать собственные низковольтные решения, и не сказать, что совсем безуспешно – современные модели Intel Atom и Core M обладают вполне конкурентоспособными характеристиками по ряду параметров.

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

big.LITTLE

Одной из перспективных технологий ARM является big.LITTLE – технология оптимизации потребления энергии за счет объединения более высокопроизводительных ядер с менее производительными, но более энергоэффективными. Например, это может быть Cortex-A15 и Cortex-A7. Это как бы две передачи на автомобиле: когда нужно выполнить более сложную и ресурсоемкую задачу, включается более мощный чип, а для фоновых задач больше подходит более экономичный. В результате такого подхода последнее поколение платформы big.LITTLE позволяет снизить потребление энергии чипом на 75% и одновременно поднять производительность на 40%.

У big.LITTLE есть свои разновидности. Например, в 2013 году компания MediaTek представила платформу CorePilot на базе big.LITTLE, в которой впервые был реализован принцип разнородной (гетерогенной) множественной обработки данных (HMP). Специальное ПО автоматически распределяет рабочие потоки между разными ядрами исходя из их требований. Осуществляется интерактивное управление потреблением энергии и температурными режимами, а специальный алгоритм планировщика в сочетании с трехкластерной архитектурой позволяет еще больше снизить потребление энергии чипом.

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

Почему кластерные архитектуры эффективнее?

Но тайваньская компания MediaTek – это не только CorePilot. Производитель произвел настоящий фурор со своей трехкластерной технологией Tri-Cluster. Чтобы понять, что это такое и как работает, вспомним, как работает процессор смартфона или планшета в самом общем случае.

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

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

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

Три кластера против двух

Но и здесь возникла проблема: задачи средней сложности, наиболее распространенные на телефонах, часто направляются на кластер с мощными ядрами. Например, мы работаем с электронной почтой. Задача не ахти какая ресурсоемкая, но двухкластерная платформа может включить для нее мощный кластер. У нее просто нет выбора – кластера всего два, а никакой «золотой середины» нет. Результат – ускоренный расход энергии и нагрев устройства при отсутствии очевидных преимуществ для пользователя от быстрого кластера.

Именно эту задачу решает архитектура Tri-Cluster в сочетании с CorePilot 3.0. Она работает не с двумя, а с тремя кластерами, которые в ней получили названия минимум (Min), медиум (Med) и максимум (Max). Для большинства повседневных задач используется средний кластер – та самая золотая середина. Максимальный кластер включается относительно редко и только тогда, когда это действительно нужно: игры, обработка графики и т.д. Ну а сверхэкономичный кластер Min управляет фоновыми приложениями, сводя энергопотребление к минимуму.

Такой подход наиболее сбалансирован с точки зрения производительности и экономии. Мобильное устройство как бы получает третью передачу. В MediaTek даже говорят, что позаимствовали эту идею у автомобильной индустрии. В компании отмечают, что он позволяет сократить энергопотребление на треть и одновременно поднять производительность на 12–15% в зависимости от ресурсоемкости задачи.

Helio X20

Типичный образец технологий Tri-Cluster и CorePilot – новейший 20-нанометровый десятиядерный чип MediaTek Helio X20 на базе ARM Cortex. Кластер Max в нем представлен группой из двух ядер Cortex-A72 с тактовой частотой 2,5 ГГц, в Med работают четыре ядра Cortex-A53 с частотой 2 ГГц, ну а Mini выполнен в виде опять-таки четырех ядер Cortex-A53 на 1,4 ГГц. Helio X20 стал первым в мире мобильным процессором с технологией Tri-Cluster и десятью ядрами (Deca-core).

В MediaTek провели исследование, которое доказывает, что данный чип способен проработать на 30% дольше времени, чем аналоги с сопоставимыми характеристиками. Выполнялись тесты даже для конкретных сценариев. Например, при работе в Facebook удается снизить расход энергии на 17–40%, голосовое общение в Skype позволяет сэкономить 41%, работа Gmail – 41%, игра Temple Run – 17%. Самая впечатляющая экономия достигается в ситуации, когда телефон просто показывает домашний экран – 48%. В этой ситуации работает именно кластер Min, и энергопотребление составляет всего 0,026 Вт.

 

Если верить тайваньскому ресурсу DigiTimes, производители мобильной техники буквально выстраиваются в очередь за новейшим чипом Helio X20. Летом этого года ресурс писал, что чип планируют использовать LG, HTC, Sony, Lenovo, Huawei, Xiaomi и ZTE. Новый чип оказался на 40% быстрее и на столько же экономичнее предыдущей модели семейства, X10. Первые устройства с таким процессором появятся на рынке в начале 2016 года, поэтому пока придется запастись терпением.

Возможности трехкластерных SoC-процессоров MediaTek

Процессоры MediaTek относятся к классу SoC, то есть таких, в которых на одной кремниевой пластинке собран целый мини-завод. Тут и память, и графика, и камера с видеокодеками, и контроллеры дисплея, модема и других интерфейсов. Некоторые особенности чипсета выглядят следующим образом:

  • Универсальный модем WorldMode LTE Cat-6 от MediaTek поддерживает LTE и одновременно допускает агрегацию частот, что позволяет использовать его практически в любой сети.
  • Новейший видеочип ARM Mali обеспечивает высочайшую производительность графики в двумерном и трехмерном режимах.
  • Дополнительный встроенный процессор Cortex-M4 работает в фоновом режиме с крайне низким энергопотреблением, обеспечивая работу фоновых приложений.
  • Контроллер двух камер со встроенным 3D-движком не только быстро работает, но и эффективно генерирует сложные объемные изображения, а встроенная технология шумоподавления доводит картинку до практически идеальной.
  • Дисплей может работать с частотой обновления 120 Гц вместо стандартных 60 Гц, что дает изумительно четкое изображение и отзывчивый интерфейс.

Процессор комплектуется новейшим видеочипом ARM Mali-T800, который, помимо прочего, обеспечивает работу дисплеев высокой четкости вплоть до WQXGA на частоте до 120 Гц. Другими словами, устройство можно комплектовать дисплеем разрешением вплоть до 2560×1600 пикселов.

Весьма впечатляет реализация камеры: скорость декодирования получаемого изображения может доходить до 30 кадров в секунду при разрешении 25 мегапикселов (либо 24 к/с при 32 Мп), при этом встроенный чип сразу же, на лету, осуществляет одновременно шумоподавление, повышение четкости и 3D-конверсию. При воспроизведении видео поддерживается 10-битная глубина цвета и кодеки VP9 HW и HEVC.

Встроенный модем Helio X20 поддерживает большой арсенал мобильных сетей, такие как LTE FDD/TDD R11 Cat-6 (до 300 Мбит/с), CDMA2000 1x/EVDO Rev.A. Здесь же есть Wi-Fi 802.11ac, Bluetooth, GPS, российская система навигации ГЛОНАСС и даже китайская BeiDou.

Независимые тесты Helio X20, в частности GeekBench 3, показывают явное превосходство по сравнению с предыдущей и тоже очень популярной моделью X10. В тесте AnTuTu результат X20 на 40% выше, чем у X10, что в целом подтверждает внутренние тесты MediaTek. Helio X20 также явно превосходит чип Exynos 7420.

Helio X20 – процессор очень новый, поставки начались совсем недавно, но уже известны некоторые подробности об устройствах, которые его получат. Так, Acer будет устанавливать его на свой флагманский планшетофон Predator 6. Целых 4 гигабайта оперативной памяти, дисплей Full HD, 4 динамика, аккумулятор на 4000 мА*ч, необычный агрессивный дизайн – не смартфон, а зверь! Другая ожидаемая новинка с этим чипом – новый флагман HTC One A9, в котором незадачливый тайваньский производитель постарается исправить провал модели One M9. 2016 год обещает быть очень интересным.

MediaTek вокруг нас

Мы начинали с того, что микропроцессоры сегодня окружают нас повсюду, как воздух, и продукция MediaTek в полной мере подтверждает этот тезис. Вообще, диапазон интересов тайваньцев поражает: Интернет вещей, нательная электроника, медицинские устройства, навигация, автономные автомобили и вездеходы, умный дом, умный город, дистанционное управление приборами, 3D-печать и даже домашнее виноделие. Вот лишь часть сфер, в которых MediaTek совместно с партнерами выпускает специализированные чипсеты.

Некоторые из них очень оригинальны. Например, энтузиастам всех мастей понравится миниатюрная копия марсохода Curiosity, напичканная очень серьезными технологиями: камерой с собственным Wi-Fi-роутером и сервером для отправки изображения, шестью колесами (все – ведущие), манипулятором с тремя степенями свободы. Таким вездеходом можно управлять по Bluetooth, он может двигаться со скоростью до 3 км/ч, разворачиваться в любом месте и вести видеосъемку с непрерывной трансляцией сигнала.

Другой пример использования процессоров MediaTek – компактный домашний 3D-принтер со скоростью печати 150 мм в секунду при точности 0,01 мм. Такой принтер поддерживает больше 10 различных материалов, может печатать объекты диаметром 180 мм и высотой 200 мм и работать без остановки до 36 часов. Здесь используется микросхема MediaTek LinkIt ONE. Такой принтер очень доступен, легок и помещается на стол.

Еще больше поражает воображение Smart Brewer – целая домашняя система для виноделия. Если при этих словах вы представили себе систему из чанов, с трудом помещающуюся на кухне, то зря: речь идет о компактном стакане с насадкой и трубкой, которая благодаря той же микросхеме LinkIt ONE полностью управляет всем процессом брожения, при этом контролировать процесс можно со смартфона через Bluetooth. Это настоящая винная бочка XXI века!

Многие изобретения, возможные благодаря полупроводниковым решениям MediaTek, еще ждут своих инноваторов и разработчиков. Кстати, MediaTek очень любит разработчиков и старается сотрудничать с ними как можно плотнее.  Для этой цели был создан сайт MediaTek Labs (labs.mediatek.com) – онлайн-площадка, на которой начинающие (и не только) разработчики могут получить все необходимое для создания гаджетов в категориях нательной техники и Интернета вещей. Интересные проекты будут поощряться и развиваться совместно с компанией. Менее чем за год существования в Labs зарегистрировалось больше 6000 участников, из которых русскоязычных больше 16%. И это только начало!

Антон Чивчалов

Чем x86 отличается от ARM? Сравнение архитектур

На текущий момент у производителей компьютерного и мобильного «железа» котируются лишь две архитектуры. Чем ARM отличается от x86 и почему один стандарт до сих пор не сумел вытеснить конкурента?

Кратко рассмотрим данный вопрос. Стандартизация x86-архитектуры появилась более 30 лет назад, больше подходит для громоздких систем, но встречается и на лэптопах.

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

Какие недостатки есть у x86-процессоров:

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

Минусы ARM-чипов:

  • Меньшая скорость обработки данных за счёт минимизации размеров и упора на обеспечение достаточной автономности.

Чем x86 отличается от ARM – основные параметры:

  • Инструкции CPU. Поскольку x86-чипы развивались очень долго, в них есть не только стандартный набор, но и дополнительные команды. Улучшена виртуализация, предусмотрены разнообразные защитные методики. В случае с ARM-процессором, командный ассортимент скудней;
  • Изготовление. В случае с x86-микропроцессорами рынок делят Intel и AMD, причём первая начала терять долю в последние годы (сейчас у неё ~70 %). В ARM-архитектуре на передний план выходит открытость, поэтому есть немало производителей, вносящих в стандарт нечто своё, изготавливающих необходимые чипы и модули;
  • Энергопотребление. Для сравнения, Core i9-9900K потребляет до 190 Вт, а среднестатистический мобильный конкурент – около 2-3 Вт. Очевидно, что для первых потребуется мощный аккумулятор, либо стационарный источник питания. Вторые подходят для любых гаджетов, умещающихся в кармане и на ладони. Схожая ситуация наблюдается и в плане тепловыделения;
  • Общая производительность. Из вышесказанного можно сделать логичный вывод, что x86-е остаются флагманским вариантом для стационарных систем. Но и ARM-чипы постепенно догоняют их, что обуславливается уменьшением техпроцесса и развитием производственных технологий.

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

Подписывайтесь на наши каналы в Яндекс.Дзене и на YouTube! Копирование текстов с сайта GameNewsBlog.ru запрещено.

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

RISC-архитектура — компьютер с уменьшенным набором инструкций. Является типом микропроцессорной архитектуры, которая использует небольшой оптимизированный набор инструкций в отличие от предшестувующих типов архитектур с расширенным набором алгоритмических данных. Термин RISC был придуман Дэвидом Паттерсоном из проекта Berkeley RISC.

risc архитектура

Определение

Компьютер с ограниченным набором команд — это устройство, чья архитектура набора инструкций (ISA) имеет набор атрибутов, который позволяет ему иметь более низкие циклы на инструкцию (CPI), чем сложная команда, установленная на компьютер (CISC). Общая концепция RISC — это концепция компьютера, который содержит небольшой набор простых и общих алгоритмов, но не расширенный набор сложных и специализированных последовательностей. Другим распространенным признаком RISC является архитектура загрузки/хранения, где доступ к памяти осуществляется только с помощью определенных инструкций.

История и развитие

Первые проекты RISC пришли из IBM, Stanford и UC-Berkeley в 70-х и 80-х гг. ХХ века. IBM 801, Stanford MIPS и Berkeley RISC I и II были разработаны с аналогичной философией, которая стала известна как RISC. Некоторые особенности дизайна были характерны для большинства RISC-процессоров:

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

Хотя ряд компьютеров 1960-х и 70-х годов являлись предшествующими моделями RISC, современная концепция относится к 1980-м годам. В частности, два проекта в Стэнфорде и Калифорнийском университете масштабируют эту концептуальную идею. Стэнфордский MIPS станет коммерчески успешной моделью, в то время как университет в Беркли дал название всей концепции, коммерциализированной как SPARC. Другим успехом этой эпохи были усилия IBM, которые в конечном итоге привели к Power Architecture. По мере развития этих направлений в конце 1980-х гг., и особенно в начале 1990-х гг., процветало множество подобных проектов, представляющих собой основную силу на рынке рабочих станций Unix, а также встроенные процессоры в лазерных принтерах, маршрутизаторах и аналогичных продуктах.

Плюсы и минусы архитектуры RISC

Простейший способ изучить преимущества и уязвимости архитектуры RISC — это сопоставить ее с предшествующей архитектурой CISC. Основная цель архитектуры CISC — завершить задачу за меньшее количество линий сборки. Это достигается за счет создания процессорного оборудования, способного понимать и выполнять ряд операций. Для этой конкретной задачи процессор CISC выпускается с конкретной инструкцией (MULT). При выполнении эта команда загружает два значения в отдельные регистры, умножает операнды в исполнительном модуле и затем сохраняет продукт в соответствующем регистре. Таким образом, вся задача умножения двух чисел может быть завершена одной инструкцией: MULT 2: 3, 5: 2. CISC и RISC-архитектура — предшествующее и последующее архитектурное решение.

MULT — это то, что известно как «сложная инструкция». Команда работает непосредственно в банках памяти компьютера и не требует, чтобы программист явно вызывал любые функции загрузки или сохранения. Она очень похожа на команду на языке более высокого уровня. Например, если мы допустим, что a представляет значение 2:3, а b представляет значение 5:2, то эта команда идентична выражению C a = a * b.

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

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

Подход RISC

Процессоры RISC используют только элементарные инструкции, которые выполняются за один такт. Таким образом, описанная выше команда MULT может быть разделена на три отдельные команды: LOAD, которая перемещает данные из банка памяти в регистр PROD, который находит произведение двух операндов, расположенных внутри регистров, и STORE, который перемещает данные из регистра в банки памяти. Чтобы выполнить точный ряд шагов, описанных в подходе CISC, программисту необходимо будет закодировать четыре строки сборки:

LOAD A, 2:3.
LOAD B, 5:2.
PROD A, B.
STORE 2:3, А.

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

viewtopic php risc архитектура

Сравнение CISC и RISC

Ниже представлены сравнительные данные CISC и RISC-архитектуры:

CISC:

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

RISC:

  • Акцент на программном обеспечении.
  • Сокращенная инструкция, не требующая большого количества времени.
  • Низкие циклы в секунду, большие размеры кода.
  • Тратит больше транзисторов на регистрах памяти.

Стратегия RISC вносит некоторые очень важные преимущества. Поскольку каждая команда требует выполнения только одного такта, вся программа будет выполняться примерно в такое же количество времени, что и многоцилиндровая команда MULT. Эти «сокращенные инструкции» RISC требуют меньше транзисторов аппаратного пространства, чем сложные инструкции, оставляя больше места для общих регистров. Поскольку все инструкции выполняются в единое время (например, один такт), возможна конвейерная обработка.

powered by phpbb risc архитектура

Характеристика процесса

Разделение инструкций LOAD и STORE фактически уменьшает объем работы, которую должен выполнить компьютер. После выполнения команды MULT в стиле CISC процессор автоматически стирает регистры. Если один из операндов необходимо использовать для другого вычисления, процессор должен перезагрузить данные из банка памяти в регистр. В RISC операнд останется в регистре, пока на нем не будет загружено другое значение.

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

Сложности коммерцеской реализации

Несмотря на преимущества обработки на основе RISC, прошли десятилетия прежде, чем чипы RISK были коммерчески востребованы. Во многом это было связано с отсутствием поддержки программного обеспечения.

Хотя линейка Power Macintosh от Apple, в которой использовались чипы на основе RISC и Windows NT, совместима с RISC, Windows 3.1 и Windows 95 были разработаны с учетом процессоров CISC. Многие компании не желали рисковать появляющейся технологией RISC. Без коммерческого интереса разработчики процессоров не смогли изготовить чипы RISC в достаточно больших объемах, чтобы сделать их цену конкурентоспособной.

Еще одним серьезным препятствием стало присутствие Intel. Несмотря на то, что их чипы CISC стали все более громоздкими и сложными в разработке, Intel обладала ресурсами для разработки мощных процессоров. Хотя чипы RISC могли превзойти усилия Intel в определенных областях, различия не были достаточно велики, чтобы убедить покупателей менять технологии.

Общее преимущество RISC

Сегодня Intel x86 является единственным чипом, который сохраняет архитектуру CISC. Это связано прежде всего с продвижением в других областях компьютерной техники. Цена ОЗУ резко снизилась. В 1977 году 1 МБ DRAM стоил около 5000 долларов. К 1994 году такой же объем памяти стоит всего 6 долларов США (с учетом инфляции). Технология компилятора также стала более сложной, так что использование RISC RAM и акцент на программное обеспечение стали идеальными.

Философия набора инструкций

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

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

Формат инструкции

Большинство архитектур RISC имеют инструкции с фиксированной длиной (обычно 32 бита) и простое кодирование, что значительно упрощает выборку, декодирование и выдачу логики. Одним из недостатков 32-разрядных инструкций является снижение плотности кода, что является неблагоприятным фактором для встроенных вычислений на рабочих станциях и серверах. Архитектуры RISC изначально были предназначены для обслуживания. Для решения этой проблемы несколько архитектур, таких как ARM, Power ISA, MIPS, RISC-V и Adipteva Epiphany, имеют необязательный короткий сокращенный формат инструкции или функцию сжатия команд. SH5 также следует этой схеме, хотя и развился в обратном направлении, добавив более длинные мультимедийные инструкции к оригинальной 16-битной кодировке.

Использование оборудования

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

Другие функции, которые обычно встречаются в архитектурах RISC:

  • Средняя производительность процессора приближается к одной инструкции за цикл.
  • Единый формат инструкции — используется одно слово с кодом операции в одних и тех же позициях для более простого декодирования.
  • Все регистры общего назначения могут использоваться в качестве источника/назначения во всех инструкциях, упрощая разработку компилятора (регистры с плавающей запятой часто сохраняются отдельно).
  • Простые режимы со сложной адресацией, выполняемые последовательностями команд.
  • Несколько типов данных в аппаратном обеспечении (например, байтовая строка или BCD).

В RISC-конструкциях также представлена модель памяти Гарварда, где команды и данные концептуально разделены. Это означает, что изменение памяти, в которой хранится код, может не повлиять на инструкции, выполняемые процессором (поскольку ЦП имеет отдельный кэш команд и данных), до тех пор, пока не будет выдана специальная инструкция синхронизации. С другой стороны, это позволяет одновременно обращаться к кэшам, что часто повышает производительность.

Особенности RISC-архитектуры

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

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

У процессоров также было относительно мало регистров по нескольким причинам:

  • Большое количество регистров подразумевает более длительное сохранение и восстановление содержимого в стеке машины и требует большого количества битов команд в качестве спецификаторов, что означает менее плотный код.
  • Регистры CPU стоят дороже, чем внешние ячейки памяти.
  • Ограниченность печатных плат или интегрированных микросхем.powered by smf risc архитектура

Практическое применение

RISC-архитектура процессора теперь используются на большом спектре платформ: от смартфонов и планшетных ПК до некоторых из самых высокопродуктивных суперкомпьютеров, таких как компьютер K (лидер списка топ-500 в 2011 г.).

К началу XXI века большинство низкопрофильных и мобильных систем основывались на архитектуре RISC. Примеры:

  • Архитектура ARM доминирует на рынке для маломощных и недорогих встроенных систем (200-1800 МГц в 2014 году). Она применяется в ряде большинства Android-систем, Apple iPhone и iPad, Microsoft Windows Phone (бывшая Windows Mobile), устройства RIM (topic.risc.архитектура), Nintendo Game Boy Advance, DS/3DS и Switch.
  • Линия MIPS (в какой-то момент используется во многих компьютерах SGI ), а теперь — в PlayStation, PlayStation 2, Nintendo 64 (ipb.risc.архитектура), игровых консолях PlayStation Portable и шлюзах для жилых помещений, таких как Linksys WRT54G .
  • Hitachi SuperH, использующийся в Sega Super 32X, Saturn и Dreamcast (viewtopic.php.risc.архитектура), теперь разработан и продан Renesas как Sh5.
  • Atmel AVR используется в разных продуктовых линейках: от портативных контроллеров Xbox до автомобилей BMW .
  • RISC-V (vbulletin.risc.архитектура), пятый Berkeley RISC ISA с открытым исходным кодом, с 32-разрядным адресным пространством, небольшим ядром целочисленного набора команд, экспериментальной «сжатой» ISA для плотности кода и предназначенной для стандартных и специальных расширений.
  • Рабочие станции, серверы и суперкомпьютеры.
  • MIPS (powered.by.smf.risc.архитектура), Silicon Graphics (в 2006 году прекратила создание систем на основе MIPS).
  • SPARC, Oracle (ранее Sun Microsystems ) и Fujitsu (phorum.risc.архитектура).
  • Архитектура IBM Power Architecture, применяемая в большинстве суперкомпьютеров IBM, серверах усредненного уровня и терминальных станциях.
  • PA-RISC Hewlett-Packard (phpbb.risc.архитектура), также именуемый как HP-PA (прекращен в конце 2008 года).
  • Alpha, используется в одноплатных компьютерах, рабочих станциях, серверах и суперкомпьютерах от Digital Equipment Corporation, Compaq и HP (прекращено с 2007 года).
  • RISC-V (powered.by.phpbb.risc.архитектура), пятый Berkeley RISC ISA, с открытым исходным кодом, с 64 или 128-битными адресными пространствами и целым ядром, расширенным с плавающей точкой, атомизацией и векторной обработкой, и разработанный для расширения с инструкциями для сетей, ввода-вывода, обработки данных. 64-битный суперскалярный дизайн Rocket доступен для скачивания.

Сравнение с другими архитектурами

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

особенности risc архитектуры

Архитектуры RISC традиционно имели мало успехов на рынке настольных ПК и товарных серверов, где платформы на базе x86 остаются доминирующей архитектурой процессора. Однако это может измениться, поскольку процессоры на базе архитектуры ARM разрабатываются для систем с более высокой производительностью. Производители, включая Cavium, AMD и Qualcomm, выпустили серверные процессоры на базе архитектуры ARM. ARM также сотрудничала с Cray в 2017 году, чтобы создать суперкомпьютер на базе архитектуры ARM. Компания-лидер компьютерной индустрии Microsoft объявила, что в рамках партнерства с Qualcomm в 2017 году планируется поддержка ПК-версии Windows 10 на устройствах на базе Qualcomm Snapdragon. Эти устройства будут поддерживать программное обеспечение Win32 на базе x86 с помощью эмулятора процессора x86.

Тем не менее помимо настольной арены архитектура ARM RISC широко используется в смартфонах, планшетах и ​​многих формах встроенного устройства. Также Intel Pentium Pro (P6) использует внутреннее RISC-процессорное ядро ​​для своих процессоров.

В то время как начальные разработки RISC-архитектуры процессора значительно отличались от инновационных проектов CISC, к 2000 году самые высокопроизводительные процессоры в линейке RISC почти не отличаются от самых высокопроизводительных процессоров в линии CISC.

Сравнение производительности процессоров Intel разных поколений / STSS corporate blog / Habr

Почти каждый год на рынок выходит новое поколение центральных процессоров Intel Xeon E5. В каждом поколении попеременно меняются сокет и технологический процесс. Ядер становится всё больше и больше, а тепловыделение понемногу снижается. Но возникает естественный вопрос: «Что даёт новая архитектура конечному пользователю?»

Для этого я решил протестировать производительность аналогичных процессоров разных поколений. Сравнивать решил модели массового сегмента: 8-ядерные процессоры 2660, 2670, 2640V2, 2650V2, 2630V3 и 2620V4. Тестирование с подобным разбросом поколений является не совсем справедливым, т.к. между V2 и V3 стоит разный чипсет, память нового поколения с большей частотой, а самое главное — нет прямых ровесников по частоте среди моделей всех 4-х поколений. Но, в любом случае, это исследование поможет понять в какой степени выросла производительность новых процессоров в реальных приложениях и синтетических тестах.

Выбранная линейка процессоров имеет много схожих параметров: одинаковое количество ядер и потоков, 20 MB SmartCache, 8 GT/s QPI (кроме 2640V2) и количество линий PCI-E равное 40.

Для оценки целесообразности тестирования всех процессоров, я обратился к результатам тестов PassMark.

Ниже привожу сводный график результатов:

Так как частота существенно отличается, сравнивать результаты не совсем корректно. Но несмотря на это, с ходу напрашиваются выводы:

1. 2660 эквивалентен по производительности 2620V4
2. 2670 превосходит по производительности 2620V4 (очевидно, что за счёт частоты)
3. 2640V2 проседает, а 2650V2 бьёт всех (также из-за частоты)

Я поделил результат на частоту и получил некое значение производительности на 1 ГГц:

Вот тут уже результаты получились более интересные и наглядные:

1. 2660 и 2670 — неожиданный для меня разбег в рамках одного поколения, 2670 оправдывает только то, что общая производительность у него весьма высока
2. 2640V2 и 2650V2 — весьма странный низкий результат, который хуже чем у 2660
3. 2630V3 и 2620V4 — единственный логический рост (видимо как раз за счёт новой архитектуры…)

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

1. 2640V2 и 2650V2 — промежуточное поколение, и не очень удачное, на мой взгляд — убираю из кандидатов
2. 2630V3 — отличный результат, но стоит необоснованно дороже 2620V4, учитывая аналогичную производительность и, к тому же — это уже уходящее поколение процессоров
3. 2620V4 — адекватная цена (сравнивая с 2630V3), высокая производительность и, самое главное — это единственная модель 8-ядерного процессора последнего поколения с Hyper-threading в нашем списке, поэтому однозначно оставляем для дальнейших тестов
4. 2660 и 2670 — отличный результат в сравнении с 2620V4. На мой взгляд, именно сравнение первого и последнего (на данный момент) поколения в линейке Intel Xeon E5 представляет особый интерес. К тому же у нас на складе остались достаточные запасы процессоров первого поколения, поэтому для нас это сравнение весьма актуально.

Стоимость серверов на базе процессоров 2660 и 2620V4 может отличаться почти до 2 крат не в пользу последних, поэтому сравнив их производительность и выбрав сервер на процессорах V1 — можно существенно сократить бюджет на покупку нового сервера. Но об этом предложении я расскажу после результатов тестирования.

Для тестирования было собрано 3 стенда:

1. 2 x Xeon E5-2660, 8 x 8Gb DDR3 ECC REG 1333, SSD Intel Enterprise 150Gb
2. 2 x Xeon E5-2670, 8 x 8Gb DDR3 ECC REG 1333, SSD Intel Enterprise 150Gb
3. 2 x Xeon E5-2620V4, 8 x 8Gb DDR4 ECC REG 2133, SSD Intel Enterprise 150Gb

PassMark PerformanceTest 9.0


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

Более подробный отчёт о тестировании позволяет сделать некоторые выводы:

1. Математика, в т.ч. и с плавающей точкой, в основном зависит от частоты. Разница в 100 МГц позволила 2660 опередить 2620V4 в расчётных операциях, в шифровании и компрессии (и это не смотря на существенную разницу в частоте памяти)
2. Физика и вычисления с использованием расширенных инструкций на новой архитектуре выполняются лучше, не смотря на низкую частоту
3. Ну и, разумеется, тест с использованием памяти прошёл в пользу процессоров V4, так как в данном случае соревновались уже разные поколения памяти — DDR4 и DDR3.

Это была синтетика. Посмотрим что покажут специализированные бенчмарки и реальные приложения.

Архиватор 7ZIP


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

CINEBENCH R15


CINEBENCH — это бенчмарк для оценки рабочих характеристик компьютера для работы с профессиональной программой для создания анимации MAXON Cinema 4D.

Xeon E5-2670 вытянул по частоте и побил 2620V4. А вот E5-2660, имеющий не столь видимое преимущество по частоте, проиграл процессору 4-го поколения. Отсюда вывод — этот софт использует полезные дополнения новой архитектуры (хотя возможно всё дело в памяти…), но не на столько, чтобы это было решающим фактором.

3DS MAX + V-Ray


Для оценки производительности процессоров при рендеринге в реальном приложении я взял связку: 3ds Max 2016 + V-ray 3.4 + реальная сцена с несколькими источниками света, зеркальными и прозрачными материалами, и картой окружения.

Результаты получились схожи с CINEBENCH: Xeon E5-2670 показал самое низкое время рендеринга, а 2660 не смог обойти 2620V4.

1С: SQL/File


В заключение тестирования прилагаю результаты тестов gilev для 1С.

При тестировании базы с файловым доступом уверенно лидирует процессор E5-2620V4. В таблице приведены средние значения 20 прогонов одного и того же теста. Разница между результатами каждого стенда в случае с файловой базой была не больше 2%.

Однопоточный тест базы SQL показал весьма странные результаты. Разница получилась незначительной, учитывая разную частоту у 2660 и 2670, и разную частоту у DDR3 и DDR4. Была попытка оптимизировать настройки SQL, но результаты оказались хуже, чем было, поэтому я решил тестировать все стенды на базовых настройках.

Результаты многопоточного теста SQL оказались ещё куда более странными и противоречивыми. Максимальная скорость 1 потока в МБ/с была эквивалентна индексу производительности в предыдущем однопоточном тесте.

Следующим параметром была максимальная скорость (всех потоков) — результат получился практически идентичным у всех стендов. Так как результаты разных прогонов сильно колебались (+-5%) — иногда они были у разных стендов с существенным отрывом как в одну так и в другую сторону. Одинаковые средние результаты многопоточного теста SQL наводят меня на 3 мысли:

1. Такая ситуация вызвана неоптимизированной конфигурацией SQL
2. SSD стал узким местом системы и не позволил процессорам разогнаться
3. Разницы между частотой памяти и процессоров под эти задачи почти нет (что крайне маловероятно)

Если у Вас есть достоверные объяснения подобных результатов — прошу Вас поделиться ими в комментариях.

Также оказался необъяснимым результат по параметру «Рекомендуемое кол-во пользователей». Средний результат у 2660 оказался выше всех — и это при низких результатах всех тестов.
По этому вопросу также буду рад увидеть Ваши комментарии.

Выводы


Результаты нескольких разносторонних вычислительных тестов показали, что частота процессора в большинстве случаев оказалась важней поколения, архитектуры и даже частоты памяти. Безусловно есть современный софт, который использует все улучшения новой архитектуры. Например, транскодирование видео иногда производится в т.ч. с использованием инструкций AVX2.0, но это специализированное ПО — а большинство серверных приложений по прежнему привязаны к количеству и частоте ядер.

Разумеется я не заявляю, что разницы между процессорами нет совсем никакой, я лишь хочу отметить, что для определённых приложений нет смысла в «плановом» переходе на новое поколение.

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

Экономическая выгода


Как я уже писал в начале статьи — мы предлагаем линейку серверов на базе процессоров Xeon E5 первого поколения, которые по стоимости существенно бюджетней серверов на E5-2620V4.
Это такие же новые серверы (не путать с б/у) с гарантией 3 года.

Ниже привожу ориентировочный расчет:

Сервер STSS Flagman RX227.4-008LH в конфигурации 2 х Intel Xeon E5-2620V4 + 8 x 8Gb DDR4 ECC REG в розницу стоит на сегодняшний день 265065р.

Аналогичная конфигурация STSS Flagman EX227.3-008LH на базе 2 х Intel Xeon E5-2660 + 8 x 8Gb DDR3 ECC REG по акции доступна за 175275р.

Читатели Хабра могут получить при заказе дополнительную скидку 5%. Для этого необходимо выбрать нужный форм-фактор корпуса из списка моделей на нашем сайте. Модель EX217.3-004LH выполнена в 1U-корпусе, EX227.3-008LH — 2U, а EX240.3-008LH построена на базе корпуса Tower/4U.
В конфигураторе модели можно подобрать необходимые параметры памяти, дисковой подсистемы и дополнительных устройств. При отправке заявки на расчет необходимо указать промокод HABRAHABR.

Спасибо за внимание! Буду ждать Ваших комментариев и пожеланий по тестам.

Написание статьи и тестирование: Usikoff
Тестирование 1C: sarge74

сравнение архитектур / Процессоры и память

Философия дизайна P4 и G4e

В отличие от классического варианта, когда весь конвейер состоит из четырёх ступеней (как описано выше), в большинстве современных процессоров всё выглядит несколько по-другому. Например, в G4e вместо классических четырёх ступеней, конвейер разбивается на семь ступеней, что позволяет ему работать на более высокой тактовой частоте при одинаковом технологическом процессе. На каждой из ступеней выполняется меньшее количество работы, но при этом работа выполняется за меньшее количество времени. Так как каждая ступень всегда выполняется ровно за один такт, то более короткие ступени приводят к меньшей продолжительности тактов и возможности работы на более высокой тактовой частоте. В P4 с целыми двадцатью ступенями в основном конвейере эта тактика доведена до крайности. Взгляните на следующую диаграмму. Здесь представлена относительная частота последних шести процессоров Intel с архитектурой x86. (Предполагается, что технологический процесс всех процессоров одинаков).

Давайте посмотрим, как Intel объясняет эту картину.

На этой диаграмме видно, что глубина конвейера у процессоров 286, Intel 386™ , Intel 486™ и Pentium® (P5) одинакова. То есть если бы они были выполнены по одной кремниевой технологии, частота у них была бы одинаковой. Все они выполняют одинаковое количество логических операций на каждой из ступеней. В архитектуре P6 конвейер удлинён. При этом на каждой из ступеней выполняется меньшее количество логических операций, что позволяет существенно увеличить частоты и производительность. В архитектуре P6 количество ступеней в конвейере увеличено примерно в два раза по сравнению с предыдущими моделями. Это позволило достичь увеличения частоты в полтора раза при одинаковом технологическом процессе. В процессоре P4 была использована архитектура NetBurst, у которой количество ступеней в два раза выше по сравнению с конвейером P6.

Как мы видим, Pentium 4 жертвует довольно многим для увеличения тактовой частоты. И хотя Intel и пытается обыграть этот факт несколько по-другому, большая глубина конвейера — одна из таких «жертв».

Многие объяснят большую разницу в глубине конвейеров P4 и G4e тем, что современным x86 процессорам, таким как Athlon, PIII и P4 приходится разбивать большие, сложные x86 инструкции на маленькие, легко выполняемые инструкции. Действительно, такая операция по разбиению инструкций добавляет новые ступени в конвейер P4, но они добавляются не к основным двадцати ступеням. (Процессору все еще необходимо транслировать инструкции в чops, но как мы увидим позднее, кэш с отслеживанием позволяет проводить транслирование и декодирование вне основного конвейера P4).

Такое радикальное отличие в глубине конвейеров G4e и P4 отражено и в философии дизайна самих процессоров. Задача обоих процессоров — выполнить максимальное количество инструкций за минимальное время, но подход к этой задаче у обоих процессоров разный. Подход G4e можно обозначить как «много коротких конвейеров». Разработчики просто добавили несколько дополнительных устройств к постпроцессору для выполнения инструкций, а препроцессор должен параллельно обеспечивать эти устройства инструкциями. Для того чтобы разбить линейный поток команд на максимальное количество параллельных инструкций (instruction-level parallelism (ILP)), препроцессор G4e сначала перемещает серию команд на чип. Затем его логика вне очереди (out-of-order, OOO) проверяет взаимозависимости и посылает инструкции на параллельное выполнение на девять функциональных устройств исполнительного модуля. Каждое из функциональных устройств обладает довольно маленьким конвейером, поэтому инструкции проходят эту ступень за небольшое количество циклов. На последних ступенях конвейера инструкции преобразуются обратно в линейный вид (как в оригинальной программе), затем результат записывается в память.

В каждый момент G4e может одновременно выполнять до 16 инструкций, находящихся на различных ступенях выполнения. Как мы увидим позднее, окно инструкций у G4e имеет довольно небольшой размер по сравнению с P4. Итак, G4e получает на процессор небольшое количество инструкций, распределяет их на параллельное выполнение и выполняет их за минимальное количество циклов.


Так работает G4e

В P4 реализован другой подход. На ступени выполнения там используется меньшее количество функциональных устройств. Но каждое из них обладает более длинным и более быстрым конвейером. Это означает, что каждое функциональное устройство имеет большее количество доступных для выполнения тактов (execution slots) и таким образом способно одновременно выполнять довольно много инструкций. Так, скажем, вместо трёх устройств для выполнения операций с плавающей точкой, работающих медленно, но параллельно, P4 имеет только одно такое устройство, которое может быстрее одновременно выполнять большее количество инструкций на различных ступенях.

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


Так работает P4

Для лучшего понимания сути вопроса можно обратиться к аналогии в индустрии фастфуд. В МакДональдс вы можете либо прийти пешком, либо приехать. В первом случае, вы увидите шесть коротеньких очередей. Вы можете встать в любую, и подождать своей очереди, чтобы вас обслуживал один человек. Во втором случае, вы попадёте в одну большую очередь. Но очередь будет обслуживаться быстрее, так как там работает несколько человек. Первому вы сделаете заказ, а у второго вы этот заказ заберёте. Так как процесс обслуживания разбивается на несколько этапов, то большее количество посетителей смогут получить еду в одной большой очереди. Так вот, G4e использует первый вариант, а P4 — второй.

Опасность длинных конвейеров

В определённых типах приложений схема работы P4 имеет преимущества, здесь можно назвать 3D-приложения и потоковые мультимедийные приложения. Но такая схема и многим рискует. Неприятности начинаются тогда, когда у процессора не хватает инструкций или данных для конвейера в кэше L1. Вы наверняка заметили пустые такты в рисунке про работу G4e. (Пустые такты обозначены белым цветом, а такты с инструкциями — красным). Эти пустые такты, называемые «конвейерными пузырьками» («pipeline bubbles») появляются, когда процессору не хватает инструкций для выполнения. Эти пузырьки должны пройти все ступени до конца конвейера, таким образом, тратится впустую драгоценное время процессора.

Если сравнить P4 c G4e, то при попадании такого пузырька в многоступенчатый конвейер P4 тратится намного больше времени на то, чтобы этот пузырёк исчез. Так, попав в двадцатиступенчатый конвейер P4, один пузырёк затратит 20 тактов до своего выхода (даже ещё больше, если этот пузырёк находится в одном из длинных конвейеров FPU). А в семиступенчатом конвейере G4e он затратит всего лишь 7 тактов. 20 тактов — большие расходы. Даже если бы тактовая частота P4 была в два раза больше G4e, всё равно пузырёк бы исчезал быстрее в G4e.

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

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Рейтинг процессоров по методике CoreMark / Habr

Подбирая новый десктоп столкнулся с хаосом различных оценок быстродействия системы. И вроде бы всем давно известно, что связку компонентов следует подбирать по принципу «морского конвоя» — общая скорость конвоя определяется самым медленным кораблём, коими выступают скорость обмена между блоками CPU, RAM и прослойке в виде чипсетов. Однако в связи с очень крутыми переменами на процессорном фронте для меня всё не так объективно, и наибольшой объём непонимания я ассоциирую именно с процессорными кристаллами. С одной стороны рынок идёт вслед за серверами, многопоточностью и увеличением количества ядер, в разы увеличиваются частоты обмена между компонентами, с другой стороны софт медленно оптимизируется под многопроцессорность, исключение составляют лишь математические и инженерные пакеты, реально способные загрузить все ядра целиком. За последние 5 лет изменилась сама архитектура рядового десктопного процессора, хотя шина данных и не преодолела 64 бит, поколение Intell Haswell обрело высокопроизводительную кольцевую шину, после конвейера и HT её я лично считаю новым витком эволюции центральных микропроцессоров на платформе PC, что в купе с переориентацией производителей на Green Technology и низкое потребление должно наконец привести рынок к новым высокопродуктивным и энергоэффективным решениям. Вот о последних мне и хотелось бы услышать от пользователей Хабра, как у наиболее осведомлённой аудитории.

По следующей ссылке, ведущей на страницу с рейтингом процессоров, приведён один интересующий меня комментарий. Дословная цитата:
«В интернете множество таблиц со сравнительными характеристиками процессоров. Но очень тяжело найти таблицы сравнивающие архитектуры. Есть такой редко применяемый параметр DMIPS/MHz. Этот параметр показывает удельную производительность за один такт. Такой параметр позволяет понять чья архитектура является самой эффективной и имеет лучшие шансы. Например процессоры основанные на ядрах ARM сравнивают именно в удельной производительности. И в удельной производительности они лучше чем процессоры Intel. Это означает, что если Samsung сделает процессор с ядром ARM для очередного iPhone по самой современной технологии 22 нм, то у них получится процессор с характеристиками лучше чем самые современные процессоры Intel. Второй важный параметр для сравнения архитектур это производительность DMIPS/Ватт. Позволяет оценить энергопотребление архитектуры. Чем меньше требует электроэнергии процессор тем больше у него шансов к использования в мобильных (телефоны, планшеты) или наоборот в сверхбольших системах (суперкомпьютеры). Было бы очень приятно, если бы хоть одно интернет СМИ сделало обширную таблицу по старым и новым архитектурам различных (не только Intel, AMD или ARM) процессоров.»

Согласитесь, количество электроэнергии в мире жёстко лимитировано количеством электростанций, которые вводятся в эксплуатацию не так уж и часто, рост тарифов на электроэнергию наблюдатся повсеместно, а объём микропроцессоров на руках у населения и в собственности предприятий растёт лавинообразно. Наиболее ярко выражают общую ситуацию дата-центры, в которых стоимость основных фондов в виде парка серверов невелика по сравнению с общими затратами на питание стоек и функционирование систем охлаждения. Отсюда закономерно возникает необходимость вывода адекватного рейтинга процессоров с поправкой на TDP/Mhz для рядовых потребителей без необходимости лазить в каждый даташит в отдельности и тратить время. Другое дело, по секрету между нами, потребители редко смотрят на TDP. Только т-с-с…

Что же мне остаётся, на какой процессор мне ориентироваться? Для начала неплохо бы взглянуть на общий рейтинг ВСЕХ мейнстримовых решений на рынке, ну или почти всех. Приступим. Как ясно из заголовка, я воспользовался базой CoreMark. Предварительно стоит зарегистрироваться, можно пройти эту процедуру по ходу скачивания самих исходников теста:

Затем, выбрав вендоры,

можно лицезреть вот такие славные таблички (особое внимание прошу обратить на количество потоков):

Попутно я оценил Atom N455, распаковав высланные исходники теста coremark_v1.0.tgz и набрав для 2-х потоков в консоли make PORT_DIR=linux XCFLAGS="-g -DMULTITHREAD=2 -DUSE_FORK=1". Результат в 4500 вполне точно вписался в общую картину. Подробная информация о тесте.

Теперь мне оставалось только поискать инфо о текущих флагманах десктопов:

Мощные процессоры 2014 года и условный рейтинг производительности (в редакции dxdigitals.info):

Intel Core i7-4765T 50,4
Intel Core i5-4670K 56,7
Intel Core i5-4670 57,2
Intel Core i7-4770T 59,7
Intel Core i7-3770S 63,1
Intel Core i7-3820 63,8
AMD FX-9370 64,5
Intel Xeon E3-1240 V2 65,4
Intel Core i7-3770 66,2
Intel Core i7-3770K 67,3
Intel Core i7-4820K 67,4
AMD FX-9590 68,5
Intel Core i7-4771 69,7
Intel Core i7-4770 72,4
Intel Core i7-4770K 72,5
Intel Core i7-3930K 87,5
Intel Core i7-3970X 94,2


А также учесть TDP:

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

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

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