Сравнение архитектур процессоров


Собственная платформа. Часть 0.1 Теория. Немного о процессорах / Habr

Здравствуй, мир! Сегодня у нас серия статьей для людей со средними знаниями о работе процессора в которой мы будем разбираться с процессорными архитектурами (у меня спелл чекер ругается на слово Архитектурами/Архитектур, надеюсь я пишу слово правильно), создавать собственную архитектуру процессора и многое другое.

Принимаются любые замечания!



Исторически сложилось, что существуют много процессоров и много архитектур. Но многие архитектуры имеют схожести. Специально для этого появились "Группы" архитектур типа RISC, CISC, MISC, OISC (URISC). Кроме того они могут иметь разные архитектуры адресации памяти (фон Неймана, Гарвард). У каждого процессора есть своя архитектура. Например большинство современных архитектур это RISC (ARM, MIPS, OpenRISC, RISC-V, AVR, PIC** и т.д.), но есть архитектуры которые выиграли просто за счет других факторов (Например удобство/цена/популярность/etc) Среди которых x86, x86-64 (Стоит отметить, что x86-64 и x86 в последних процессорах используют микрокод и внутри них стоит RISC ядро), M68K. В чем же их отличие?


RISC

Reduced Instruction Set Computer — Архитектура с уменьшенным временем выполнения инструкций (из расшифровка RISC можно подумать, что это уменьшенное количество инструкций, но это не так). Данное направления развилось в итоге после того, как оказалось, что большинство компиляторов того времени не использовали все инструкции и разработчики процессоров решили получить больше производительности использую Конвейеры. В целом RISC является золотой серединой между всеми архитектурами.

Яркие примеры данной архитектуры: ARM, MIPS, OpenRISC, RISC-V


TTA

Что такое TTA? ТТА это Архитектура на основе всего одной инструкции перемещения из одного адреса памяти в другую. Данный вариант усложняет работу компилятора зато дает большую производительность. У данной архитектуры есть единственный недостаток: Сильная зависимость от шины данных. Именно это и стало причиной ее меньшей популярности. Надо отметить что TTA является разновидностью OISC.

Яркие примеры: MOVE Project


OISC (URISC)?

One Instruction Set Computer — Архитектура с единственной инструкцией. Например SUBLEQ. Такие архитектуры часто имеют вид: Сделать действие и в зависимости от результата сделать прыжок или продолжить исполнение. Зачастую ее реализация достаточно простая, производительность маленькая, при этом снова ограничение шиной данных.

Яркие примеры: BitBitJump, ByteByteJump, SUBLEQ тысячи их!


CISC

CISC — Complex Instruction Set Computer — ее особенность в увеличенных количествах действий за инструкцию. Таким образом можно было теоретически увеличить производительность программ за счет увеличения сложности компилятора. Но по факту у CISC плохо были реализованы некоторые инструкции т.к. они редко использовались, и повышение производительности не было достигнуто. Особенностью этой группы является еще ОГРОМНАЯ Разница между архитектурами. И несмотря на названия были архитектуры с маленьким количеством инструкций.

Яркие примеры: x86, M68K



Архитектура фон Неймана

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


Архитектура гарварда

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



Конвейеры

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


На картинке более понятно, не правда?


IF — получение инструкции,
ID — расшифровка инструкции,
EX — выполнение,
MEM — доступ к памяти,
WB — запись в регистр.

Вроде все просто? А вот и нет! Проблема в том что например прыжок (jmp/branch/etc) заставляют конвейер начать исполнение (получение след. инструкции) заново таким образом вызывая задержку в 2-4 такта перед исполнение следующей инструкции.


Расширение существующих архитектур

Достаточно популярной техникой является добавление в уже существующую архитектуру больше инструкций через расширения. Ярким примером является SSE под x86. Этим же грешит ARM и MIPS и практически все. Почему? Потому что нельзя создать унивирсальную архитектуру.

Другим вариантом является использование других архитектур для уменьшения размера инструкций.
Яркий пример: ARM со своим Thumb, MIPS с MIPS16.


В видеокартах часто встречается много ядер и из-за этой особенности появилась потребность в дополнительных решениях. Если конвейеры можно встретить даже в микроконтроллерах то решения используемых в GPU встречаются редко. Например Masked Execution (Встречается в инструкциях ARM, но не в Thumb-I/II). Еще есть другие особенность: это уклон в сторону Floating Number (Числа с плавающей запятой), Уменьшение производительности в противовес большего количества ядер и т.д.


Masked Execution

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

Но Зачем?

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


Здесь мы будем описывать несколько техник используемых в центральный процессорах и микроконтроллерах.


Прерывания

Прерывания это техника при которой исполняемый в данный момент код приостанавливается для выполнения какой-то другой задачи при каких-то условиях. Например при доступе в несуществующий участок памяти вызывается HardFault или MemoryFault прерывания или исключения. Или например если таймер отсчитал до нуля. Это позволяет не бездействовать пока нужно ждать какое-то событие.

Какие недостатки? Вызов прерывания это несколько тактов простоя и несколько при возврате из прерывания. Так же несколько инструкций в начале кода будет занято инструкциями для Таблицы прерываний.


Exception (исключения)

Но кроме прерываний еще существуют исключений которые возникают например при деления на ноль. Зачастую его совмещают с прерываниями и системными вызовами, как например в MIPS. Исключения не всегда присутствуют в процессоре например как в AVR или младших PIC


Системные вызовы

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


Здесь описываются методы запрета доступа приложений к аппаратуре напрямую.


Привилегированный режим

Это режим в котором стартует процессор. В таком режиме программа или ОС имеют полный доступ к памяти в обход MMU/MPU. Все программы запускаются в непривилегированном режиме во избежания прямого доступа к аппаратным подсистемам программ для этого не предназначенных. Например вредоносным программам. В Windows ее часто называют Ring-0, а в *nix — системным. Не стоит путать Привелигированный пользователь и Привилегированный режим ибо в руте вы все еще не можете иметь прямой доступ к аппаратуре (можно загрузить системный модуль который позволит это сделать, но об этом чуть позже :)


MPU и MMU

MPU и MMU используется в современных системах чтобы изолировать несколько приложений. НО если MMU позволяет "передвинуть" память то MPU позволяет только блокировать доступ к памяти/запуск кода в памяти.


PIC (PIE)

Что такое PIE? (PIC не использую для избежания путаницы с МК PIC). PIE это техника благодаря которой компилятор генерирует код который будет работать в любом месте в памяти. Эта техника в совмещении с MPU позволяет компилировать высокие языки программирования которые будут работать и с MPU.


Популярная техника SIMD используется для того, что бы за один такт выполнять несколько действий над несколькими регистрами. Иногда бывают в качестве дополнений к основной архитектуре, например, как в MIPS, ARM со своими NEON/VFP/etc, x86 со своим SSE2.


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


Что такое регистр статуса? Это регистр который хранит состояние процессора. Например находится ли процессор в привилегированном режиме, чем закончилась операция последнего сравнения.

Используется в связке с Masked Execution. Некоторые разработчики специально исключают регистр статуса ибо он может являться узким местом как поступили в MIPS.


В MIPS нет отдельной инструкции загрузки константы в память, но есть инструкция addi и ori которая позволяет в связке с нулевым регистром ($0) эмулировать работу загрузки константы в регистр. В других архитектурах она присутствует. Я затронул эту тему, потому что она пригодиться нам в статьях с практикой.


Идут множество споров насчет того сколько должно быть операндов в арифметических инструкциях. Например в MIPS используется вариант с 3-мя регистрами. 2 операнда, 1 регистр записи. С другой стороны, использование двух операндов позволяет сократить код за счет уменьшения размера инструкции. Пример совмещения является MIPS16 в MIPS и Thumb-I в ARM. В плане производительности они практически идентичны (Если исключать размер инструкции как фактор).


Порядок байт. Возможно вам знакомы Выражения Big-Endian и Little-Endian. Они описывают порядок байт в инструкциях/в регистрах/в памяти/etc. Здесь думаю все просто :). Есть процессоры которые совмещают режимы, как MIPS, или которые используют одну систему команд, но имеют разный порядок байт, например ARM.


Итак, что такое битность процессора? Многие считают, что это битность шины данных, но это не так. Почему? В ранние переоды микроконтроллеров и микропроцессоров шина могла быть, например, 4-х битной, но передавала пакетами по 8 бит. Для программы казалось, что это 8-и битный режим, но это была иллюзия, как и сейчас. Например, в ARM SoC-ах часто применяют 128-и битную шину данных или инструкций.


Что такое сопроцессоры? Сопроцессоры являются элементами процессора или внешней микросхемой. Они позволяют исполнять инструкции, которые слишком громоздки для основной части процессора. Как яркий пример, сопроцессоры в MIPS для деления и умножения. Или например 387 для 80386, который добавлял поддержку чисел с плавающей запятой. А в MIPS сопроцессоров было много и они выполняли свои роли: контролировали прерывания, исключения и системные вызовы. Часто сопроцессоры имеют собственные инструкции и на системах, где этих инструкций нет, (пример ARM) эмулируют ее через Trap-ы (ловушки?). Несмотря на костыльность и маленькую производительность, они часто являются единственным выбором в микроконтроллерах.


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

Вариант другого решения атомарность переферии. Например для установки ножки в STM32 в высокое и низкое состояние используется разные регистры, что позволяет иметь атомарность на уровне переферии.


Вы, навярняка, слышали о L1, L2, L3 и регистрах. Если коротко, процессор анализирует часть кода, чтобы предугадать прыжки и доступ в память и зараннее просит кеш получить эти данные из памяти. Кеш зачастую бывает прозрачным для программы, но бывают и исключения из этого правила. Например, в программных ядрах в ПЛИС используется програмный кеш.

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


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


Стек? Я видел Стек в .NET и в Java! Что же, Вы частично правы. Стек существует, но он никогда не был апаратным в большинства процессорах. Например в MIPS его по просту нет. Спросите КАК ТАК ТО?! Ответ прост. Стек это просто доступ к памяти которую не нужно резервировать (очень грубое определение). Стек используется для вызова функций, передачи аргументов, сохранения регистров для того чтобы востановить их после выполнения функции и т.д.

Спросите тогда что такое куча (Heap)? Куча это память размером намного больше чем стек (Стек обычно ~1MB). В хипе храниться все глобальное. Например все указатели полученные с помощю Malloc указывают на часть куча. А указатели хранятся в стеке или в регистрах. С помощью инструкций загрузки данных относительно регистра можно ускорить работу стека и других доступов к памяти по типу стека, поскольку не нужно постоянно использовать операции PUSH/POP, INC/DEC или ADDI, SUBI (добавить константу), чтобы получить данные глубже по стеку, а можно просто использовать доступ относительно стека с отрицательным смещением.


Не буду описывать регистры слишком подробно. Это мы затронем в практической статье.

В x86 регистров достаточно мало. В MIPS используется увеличенное количество регистров, а именно 31 ($0 имеет значение всегда равное нулю). В процессоре университета Беркли использовались регистровые окна, которые жестки ограничивали вложенность функций, при этом имея лучшую производительность. В других же, таких как AVR, ограничили использование регистров. Для примера: три 16-битных можно трактовать как шесть восьмибитных, где первые 16ть недоступны при некоторых операциях. Я считаю, что лучший метод был выбран MIPS-ом. Это мое сугубо личное мнение.


Что такое выравнивание? Оставлю-ка я этот вопрос вам :)


Это конец первой главы нулевой части. Вся серия будет крутиться вокруг темы создания собственного процессора. Собственной операционной системы. Собственного ассемблера. Собственного компилятора и много чего другого.

Нулевые части будут посвящены теории. Я сомневаюсь что доведу всю серию до победного конца, но попытка не пытка! )

habr.com

Изучаем архитектуру процессоров Intel Core последних поколений

В августе 2017 года компания Intel порадовала нас анонсом процессоров Intel Core 8 поколения. Пользователи, скорее всего уже давно перестали ориентироваться в отличиях одних поколений от других, их особенностях, а главное, преимуществах. Ведь маркировка у них более-менее одинаковая. Так есть ли смысл в переходе с одного поколения на другое?

Несколько лет назад мы опубликовали статью, которая покрывала вопросы развития архитектуры процессоров Intel. Там мы рассказали о том, что развитие архитектур ядер подчиняется двухэтапной концепции «Тик-Так»: развитие каждый тик — это появление нового техпроцесса и выпуск процессоров на нем, используя имеющуюся архитектуру, а каждый так — это появление новой архитектуры (второе поколение, если хотите). Весь цикл длится примерно 2 года, по году на каждую стадию.

Существующая нумерация поколений процессоров Core начинается с 2009 года, когда было представлено ядро Westmere, пришедшая на смену Nahalem.

  • 1-е поколение «Westmere» и 2-е поколение «Sandy Bridge» (2011 г.). Технологический процесс в этом случае был идентичным — 32 нм, а вот изменения в плане архитектуры чипа существенные — северный мост материнской платы и встроенный графический ускоритель перенесены в ядро CPU.
  • 3-е поколение «Ivy Bridge» (2012 г.) и 4-е поколение «Haswell» (2013 г.) — техпроцесс 22 нм. Уменьшено энергопотребление процессоров на 30-50% благодаря внедрению множества новых технологических особенностей в производство, таких как 3D трехзатворные транзисторы, повышены тактовые частоты чипов, при этом производмтельность возросла незначительно. Процессоры Haswell потребовали переход на новый сокет в связи с изменением системной шины и новой шины памяти.
  • 5-е поколение «Broadwell» (2014 г.) и 6-е поколение «Skylake» (2015 г.) – техпроцесс 14 нм. Снова повышены частота, еще более улучшено энергопотребление (улучшение автономной работы на 10-30%) и добавлены несколько новых инструкций, которые улучшают быстродействие. Однако, 5-е поколение подкупает не только автономной работой. Помимо этого, такие процессоры способны укладывать загрузку в не более чем 3 секунды, проводить конвертацию видео до 8 раз быстрей, а также работать с некоторыми 3D играми в 12 раз эффективней своих предшественников Haswell. Также новые процессоры поддерживают самые последние технологии, среди которых особенно хочется выделить 4К, беспроводной экран Wi-Di и встроенную опцию безопасности с возможностью быстрого шифрования передаваемых данных.
    А вот Skylake стал самым серьезным обновлением микроархитектуры за последние 10 лет: выделим поддержку DDR4 и одновременно DDR3L с пониженным напряжением питания памяти, USB3.1 первого поколения, беспроводной зарядки и работу с Thunderbolt 3. Однако, стоит обратить внимание, что здесь поддержка Thunderbolt 3 требует отдельного Thunderbolt контроллера, который по умолчанию не входит в состав чипсета. Помимо этого в ядро интегрировали достаточно мощное графическое ядро Intel HD 520/530. Надо сказать, что процессор стал удачным маркетинговым решениям, предлагая не только привычное небольшое увлечение производительности за счет оптимизации архитектуры, но и привнес поддержку ряда технологических решений. Это привело к необходимости редизайна материнских плат и переписывая BIOS для поддержки новых возможностей. По признанию HP, их ноутбуки Elitebook имели массу проблем со стабильностью именно из-за включения множества новых необкатанных технологий, включая Thunderbolt 3. Пропатченные версии BIOS сменяли один другого каждый месяц.

 

7 поколение Core — наше настоящее

Седьмое поколение, носящее кодовое наименование «Kaby Lake», было представлено в 2016 году, а устройства на нем выпускаются до сих пор. Эта платформа удивила использование техпроцесса 14 нм. Да, на этом ядре традиционный цикл обновления ядер Intel сломался – перехода на техпроцесс 10 нм не произошло. Не хватило времени для технологической подготовки к еще большему увеличению плотности чипов за счет уменьшения транзисторов. Kaby Lake — это всего лишь «доработанная» версия Skylake, но она приносит с собой некоторые важные новые функции:

  1. Новый встроенный видеоадаптер Intel HD 630, обеспечивающий производительность на целых 30% в синтетических тестах выше по сравнению с предыдущим Intel HD 620.
  2. В новой микроархитектуре существенно улучшено энергопотребление, составляющее 7.5 Вт у Kaby Lake, чего не скажешь о Skylake с его 15-ти ваттным потреблением.
  3. В Kaby Lake была реализована нативная поддержка портов USB 3.1 в отличие от Skylake, где для этого требовались дополнительные контроллеры на материнской плате.

Поддержка чипсетов

Важный момент заключается в том, что Kaby Lake используют тот же разъем LGA 1151, поэтому вы можете использовать Kaby Lake на материнской плате, на которой был установлен чип Skylake. Однако, материнские платы для Skylake 100-й серии не поддерживают ряд новых функций, поэтому рекомендуется переход на чипсеты 200-й серии. Изменилась системная шина, связывающая процессор и чипсет. Несмотря на то, что оба поколения процессоров имеют 6 PCIe 3.0 линий от CPU, Kaby Lake использует 24 линии PCIe линиями от PCH (Platform Controller Hub), в то время как Skylake обладает только 20-ю линиями.

Я напомню, что процессоры на сокете LGA1150 использовали системную шину DMI 2.0, в то время как начиная со Skylake с разъема LGA1150 стала применяться шина DMI 3.0, имеющая пропускную способность 8 Гигатранзакций в секунду (32 Гбит/с или 4 ГБ/с в каждом направлении). DMI 3.0, по сути, является эквивалентом четырем линиями PCIe 3.0. Все данные с интерфейсов ввода-вывода, включая USB флеш-накопители, SATA SSD и гигабитную сеть Ethernet, проходят сначала через PCH, и уже потом через DMI попадают в системную память, после чего достигают ЦП. Строго говоря, шина DMI 3.0 никогда не загружается на полную, однако при наличии большого числа быстрой периферии типа массива SSD, она имеет смысл. Интересно, что бюджетные чипсеты как 100-го, так и 200-го семейства (например, h210 и С226) использовали DMI 2.0, в то время как более производительные чипсеты в то же время используют DMI 3.0.

Топовый чипсет 100-го семейства Z170 имеет в общей сложности 26 линий шины HSIO (High-Speed Input-Output), шесть из которых выделены под шесть постоянных портов USB 3.0. Таким образом, на чипсете остается 20 конфигурируемых линий HSIO, которые можно назначить для работы с тем или иным устройством или шиной. Каждый порт SATA также использует линию HSIO, если он не подключен через сторонний контроллер (хотя контроллеру также нужна, по крайней мере, одна линия для связи с PCH). На схеме видно, что контроллеры GbE и SSD с интерфейсом PCIe также используют доступные линии HSIO.

 

 

А вот скромный чипсет h210 начального уровня использует только 14 линий HSIO. Lkя интересующихся тонкостями того, как производитель вводит нас в заблуждение, я приведу сводную таблицу, описывающую реальное число линий, которые позволяют подключить то или иное число периферии. Именно с этим числом может играть производитель материнских плат, устанавливая то или иное количество нужным ему интерфейсов.

 

 

Так выглядит структурная схема топового чипсета Intel Z270:

 

 

Kaby Lake процессоры также обладают широким диапазоном требований по теплоотводу, варьирующимся от 3.5Вт и до 95 Вт. Среди общих характеристик, можно выделить поддержку до 4-х ядер в главных процессорах, кеш-память L4 от 64 до 128 Мб. Это самая масштабируемая линейка процессоров за 10 лет, отсюда и множественные индексы в названиях процессоров – Y (ультранизкое энергопотребление 4,5 Вт), U (15 Вт), H и S (десктопные процессоры).

 

 

С точки зрения главных фишек для пользователя наиболее значительно, что обновленный графический чип поддерживает аппаратное кодирование и декодирование 4K видео. Для этого применяется кодек HEVC (High Efficiency Video Coding – H.265). Кодек HEVC при высоком качестве изображения позволяет менять на ходу и уменьшить битрейт, а соответственно, и размер файла. Экономия места в сравнении со стандартом H.264 может достигать 25-50% при сохранении качества, кроме того он поддерживает параллельное кодирование! Вычисления на себя берет GPU, что разгружает основное ядро, чем страдал Skylake. Это же привело и к увеличению времени автономной работы.

В целом же производительность во всех остальных приложениях осталось почти прежней: прирост составил несколько процентов за счет увеличения базовой частоты моделей на 100 МГц. Здесь также слегка обновлена технология Turbo Boost.

Turbo Boost — технология компании Intel для автоматического увеличения тактовой частоты процессора свыше номинальной, если при этом не превышаются ограничения мощности, температуры и тока в составе расчетной мощности (TDP). Это приводит к увеличению производительности однопоточных и многопоточных приложений. Фактически, это технология «саморазгона» процессора. Доступность технологии Turbo Boost зависит от наличия одного или нескольких ядер, работающих с мощностью ниже расчетной. Время работы системы в режиме Turbo Boost зависит от рабочей нагрузки. Включается и выключается эта опция через BIOS.

Так вот, Turbo Boost в Kaby Lake усовершенствована за счет более быстрого переключения между частотами ядер.

В 7-ом поколении Intel решила поменять названия моделей процессоров, и если в линейке Skylake у нас были три модели с именами m3, m5 и m7, то Kaby Lake назвала свои модели m3, i5 и i7. Теперь, чтобы не ввести себя в заблуждение, и разобраться, какие перед вами i5 и i7 процессоры – маломощные Kaby Lake или же более мощные Skylake — придется обращать внимание на полное название процессора. Модели «m» содержат букву «Y» в своем названии, тогда как у более мощных процессоров вместо нее будет присутствовать буква «U».

Thunderbolt 3 – раскат грома в платформостроении

Внедрение Thunderbolt 3 на уровне чипсета в Kaby Lake стало важной вехой в развитии интересов и платформостроении. Это до сих пор пока еще странная и малопонятная вещь, которая имеет большие перспективы на рынке. Это универсальный интерфейс, который в себе объединяет совершенно различные порты в одно единое целое. В основе его лежит шина PCI Express, которая и позволяет перекоммутировать все современные последовательные интерфейсы между собой.

Контроллер Thunderbolt 3 обеспечивает подключение со скоростью до 40 Гбит, удвоив скорость предыдущего поколения, он же поддерживает USB 3.1 второго поколения (Gen2) на 10 Гб/с (а не 5 Гб/с как у Skylake) и DisplayPort 1.2, HDMI 2.0, что позволяет подключить два 4К дисплея, выводить видео и аудио сигналы одновременно. Кроме того, Thunderbolt 3 обратно совместим с Thunderbolt 2. Сам же интерфейс Thunderbolt 3 использует разъем на базе USB Type-C как основной.

Вы, наверное, обратили внимание, что многие ноутбуки с 2016 года имеют многие из этих интерфейсов сразу на борту, а заявленная поддержка USB 3.1 как раз реализована новыми портами USB Type-C. Через этот порт, например, происходит, и зарядка планшетных компьютеров, и подключение док-станций, имеющих и видео, и аудио интерфейсы в одном. Так, например, таблетка HP Elite x2 1012 имеет два порта USB-C, к которым подключается док Elite USB-C dock, а все дисплеи, локальная сеть и аудиоустройства уже подключаются к доку. USB Type-C позволяет заряжать ваши устройства до 100 Вт, которых достаточно для зарядки большинства ноутбуков. Это значит, что вы можете использовать один кабель с разъемом USB Type-C для передачи данных в тот момент, когда вы заряжаете его.

 

 

На USB Type-C перешла и компания Apple, оставив только такие порты на своих MacBook. Кстати, MacBook 2016 года как раз целиком выполнен на Kaby Lake. Помимо ноутбков MacBook Pro, многие ноутбуки ведущих брендов поддерживают Thunderbolt 3: ASUS Transformer 3 и Transformer 3 Pro, Alienware 13, Dell XPS 13, HP Elite X2 и Folio, HP Spectre и Spectre x360, Razer Blade Stealth, Lenovo ThinkPad Y900, а также ещё несколько десятков других с портами Thunderbolt 3.

Однако нужно понимать, что не все USB Type-C порты поддерживают Thunderbolt 3 – это могут быть и обычные контроллеры USB 3.1. Электрически они совместимы, но функции Thunderbolt контроллера работать не будут. Это означает, что Thunderbolt устройство можно подключить в обычный порт USB-C и наоборот, работать они будут только как обычный USB порт для передачи данных.

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

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

8 поколение – Озеро Кофе

Текущий 2017 год получился очень насыщенным в процессорном мире. AMD выпустила очень удачные процессоры Ryzen и Threadripper, которые наконец пришлись ко двору, так сказать, в нужное время и за нужную цену, отчего они стали так популярны среди простых покупателей. Intel же, выпустила Core X с 14, 16 и даже 18 ядрами так сказать, с прицелом на будущее. Но мы ждем чуда – реализации продолжения закона Мура, то есть перехода на 10 нанометровый техпроцесс. И это опять не произошло.

Хорошо это или плохо? Наверное, с маркетинговой точки зрения, это грамотный шаг, оставить новый техпроцесс про запас, на вырост. Но что-то же надо выпустить. И Intel выстрелила – наконец, впервые, последовав идеологии AMD, пошли на увеличение числа ядер. И теперь у Core i7 6 ядер/12 потоков, у Core i5 их также 6, а у i3 теперь 4 полноценных ядра, теперь он вообще как целый i5 раньше!

Итак, новый топовый Intel Core i7-8700 имеет в два раза больше ядер на одном кристалле, что стало возможным за счет очередной оптимизации компоновки ядра, более равномерного расположения транзисторов по кристаллу. Площадь кристалла увеличилась на 16% до 150 мм2. Чуть-чуть вырос кэш L1, кэш L2 стал 1,5 Мбайт, а L3 – 12 Мбайт. Эти изменения логичны для обслуживания вычислительной работы ядер. Однако, это все меньше, чем у Ryzen, у которых 4 и 16 Мбайт кэши второго и третьего уровня соответственно при значительно меньшей цене. Хотя это ни о чем напрямую не говорит, ведь эффективность работы с кэшем зависит от длины конвейера и точности попадания при ветвлениях. Но потенциально это проигрыш.

Новый процессор теперь поддерживает только память DDR4, а встроенный контроллер памяти увеличил частот до 2666 МГц, что является рекордом работы с памятью. Уровень TDP увеличился с 91 до 95 Вт в режиме без разгона и до 145 Вт в турборежиме, что потребует очень хорошей системы охлаждения. Частота поднята за счет высокого множителя – максимальный множительный частоты шины – 43x.

Несмотря на то, что количество потоков увеличилось до 12 за счет Hyper-Threading, количество инструкций выполняемых за такт (IPC) осталось таким же, как и у Skylake и Kaby Lake. А это означает, что архитектура вычислительного устройства (ALU), конвейера и блока предвыборки инструкций не изменилась. Иначе говоря, это та же архитектура с тем же набором инструкций.

Графическое ядро не изменилось — Intel UHD Graphics 630, однако слегка увеличена частота GPU. Структурно там все также 24 вычислительных блока. Графика занимает примерно треть всего кристалла.

Что стало неприятной, но ожидаемой новостью – это то, что новые процессоры не смогут работать со старыми чипсетами. И дело даже не разъеме – будет использоваться прежний LGA1151. Дело в том, что из-за новой компоновки ядра, изменится и обвязка питания кристалла, что приводит к иной распиновке выводов. Появилось большее число выводов Vcc (питание) и Vss (заземление). Как результат, Intel следом представила и 300-е семейство чипсетов, топовая модель которого – Z370. На удивление, Z370 ничем не отличается от предшественника Z270, даже имея USB 3.1 первого поколения. Все это в купе создает не слишком приятное впечатление о новинке.

 

 

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

Говоря о производительности, можно констатировать, что отличия по сравнению с предыдущим поколением по большей части будут заметны только при работе с видео (особенно 4К до 30%), графикой (в Adobe Photoshop до 60%) и играх (до 25%). Средневзвешенная производительность увеличится не более чем на 15%.

(Посещений: 3 287, из них сегодня: 8)

CPUCoffee lake, intel, Kaby Lake, LGA1151, Skylake, TDP, Thunderbolt, USB-C, Z370, архитектура, чипы, ядра

Понравилась публикация? Почему нет? Оставь коммент ниже или подпишись на feed и получай список новых статей автоматически через feeder.

hww.ru

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

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

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

Содержание статьи:

Что такое архитектура?

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

На данный момент существуют два типа архитектур: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing). Первая предполагает, что в процессоре будут реализованы инструкции на все случаи жизни, вторая, RISC - ставит перед разработчиками задачу создания процессора с набором минимально необходимых для работы команд. Инструкции RISC имеют меньший размер и более просты.

Архитектура x86

Архитектура процессора x86 была разработана в 1978 году и впервые появилась в процессорах компании Intel и относится к типу CISC. Ее название взято от модели первого процессора с этой архитектурой - Intel 8086. Со временем, за неимением лучшей альтернативы эту архитектуру начали поддерживать и другие производители процессоров, например, AMD. Сейчас она является стандартом для настольных компьютеров, ноутбуков, нетбуков, серверов и других подобных устройств. Но также иногда процессоры x86 применяются в планшетах, это довольно привычная практика.

Первый процессор Intel 8086 имел разрядность 16 бит, далее в 2000 годах вышел процессор 32 битной архитектуры, и еще позже появилась архитектура 64 бит. Мы подробно рассматривали разрядность процессоров в отдельной статье. За это время архитектура очень сильно развилась были добавлены новые наборы инструкций и расширения, которые позволяют очень сильно увеличить производительность работы процессора.

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

 

Архитектура ARM

Эта архитектура была представлена чуть позже за x86 - в 1985 году. Она была разработана известной в Британии компанией Acorn, тогда эта архитектура называлась Arcon Risk Machine и принадлежала к типу RISC, но затем была выпущена ее улучшенная версия Advanted RISC Machine, которая сейчас и известна как ARM.

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

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

Отличия ARM и x86

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

Производство

Производство x86 vs arm отличается. Процессоры x86 производят только две компании Intel и AMD. Изначально эта была одна компания, но это совсем другая история. Право на выпуск таких процессоров есть только у этих компаний, а это значит, что и направлением развития инфраструктуры будут управлять только они.

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

Количество инструкций

Это главные различия архитектуры arm и x86. Процессоры x86 развивались стремительно, как более мощные и производительные. Разработчики добавили большое количество инструкций процессора, причем здесь есть не просто базовый набор, а достаточно много команд, без которых можно было бы обойтись. Изначально это делалось чтобы уменьшить объем памяти занимаемый программами на диске. Также было разработано много вариантов защит и виртуализаций, оптимизаций и многое другое. Все это требует дополнительных транзисторов и энергии.

ARM более прост. Здесь намного меньше инструкций процессора, только те, которые нужны операционной системе и реально используются. Если сравнивать x86, то там используется только 30% от всех возможных инструкций. Их проще выучить, если вы решили писать программы вручную, а также для их реализации нужно меньше транзисторов.

Потребление энергии

Из предыдущего пункта выплывает еще один вывод. Чем больше транзисторов на плате, тем больше ее площадь и потребление энергии, правильно и обратное.

Процессоры x86 потребляют намного больше энергии, чем ARM. Но на потребление энергии также влияет размер самого транзистора. Например, процессор Intel i7 потребляет 47 Ватт, а любой процессор ARM для смартфонов - не более 3 Ватт. Раньше выпускались платы с размером одного элемента 80 нм, затем Intel добилась уменьшения до 22 нм, а в этом году ученые получили возможность создать плату с размером элемента 1 нанометр. Это очень сильно уменьшит энергопотребление без потерь производительности.

За последние годы потребление энергии процессорами x86 очень сильно уменьшилось, например, новые процессоры Intel Haswell могут работать дольше от батареи. Сейчас разница arm vs x86 постепенно стирается.

Тепловыделение

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

Производительность процессоров

ARM изначально не были заточены для максимальной производительности, это область преуспевания x86. Отчасти этому причина меньше количество транзисторов. Но в последнее время производительность ARM процессоров растет, и они уже могут полноценно использоваться в ноутбуках или на серверах.

Выводы

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

А как вы относитесь к этим x86 и ARM? За какой технологией будущее по вашему мнению? Напишите в комментариях! Кстати, Линус Торвальдс предпочитает x86.

На завершение видео о развитии арихтектуры ARM:

losst.ru

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

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

Современные микропроцессоры сильно отличаются от тех, что разрабатывались в 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, что в целом подтверждает внутренни

www.kv.by

архитектура 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.

www.ferra.ru

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

Философия дизайна 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.

3dnews.ru

основы архитектуры компьютеров / Habr


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

В этой серии мы расскажем о компьютерной архитектуре, проектировании процессорных плат, VLSI (very-large-scale integration), производстве чипов и тенденциях будущего в области вычислительной техники. Если вам было интересно разобраться в подробностях работы процессоров, то начинать изучение лучше с этой серии статей.

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

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


Программы компилируются в набор низкоуровневых инструкций, называемых языком ассемблера, который является частью архитектуры набора команд (Instruction Set Architecture, ISA). Это набор команд, которые должен понимать и выполнять ЦП. Одними из наиболее распространённых ISA являются x86, MIPS, ARM, RISC-V и PowerPC. Точно так же, как синтаксис написания функции на C++ отличается от функции, выполняющей то же действие в Python, у каждой ISA есть свой отличающийся синтаксис.

Эти ISA можно разбить на две основных категории: с фиксированной и с переменной длиной. ISA RISC-V использует инструкции с фиксированной длиной, и это означает, что определённое заранее заданное количество битов в каждой инструкции определяет, какой тип имеет эта инструкция. В x86 всё иначе, в нём используются инструкции с переменной длиной. В x86 инструкции могут кодироваться различным способом с разным количеством битов для разных частей. Из-за такой сложности декодер инструкций в процессоре x86 обычно является самой сложной частью всего устройства.

Инструкции с фиксированной длиной обеспечивают простое декодирование благодаря постоянной структуре, но ограничивают общее количество инструкций, которые могут поддерживаться ISA. В то время, как у популярных версий архитектуры RISC-V есть примерно 100 инструкций и все они имеют открытый исходный код, архитектура x86 проприетарна и никто не знает, сколько всего инструкций в ней есть. Обычно считается, что существует несколько тысяч инструкций x86, но точное число никто не публикует. Несмотря на различия между ISA, по сути все они имеют одинаковую базовую функциональность.


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

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

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


64 бита — это ширина регистра процессора, канала передачи данных и/или адреса памяти. Для обычных пользователей это означает, какой объём информации компьютер может обработать за один раз, и лучше всего это понять в сравнении с младшим родственником по архитектуре — 32-битным процессором. 64-битная архитектура может обрабатывать за раз в два раза больше бит информации (64 бит против 32).

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

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


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

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

Кроме выполнения с изменением очерёдности современные процессоры применяют технологию под названием суперскалярная архитектура. Это означает, что в любой момент времени процессор одновременно выполняет на каждом этапе конвейера множество инструкций. Он может также ожидать ещё сотни других, чтобы начать их выполнение, и для того, чтобы иметь возможность одновременного выполнения нескольких инструкций внутри процессоров есть несколько копий каждого этапа конвейера. Если процессор видит, что к выполнению готовы две инструкции, и между ними нет зависимости, то он не ждёт, пока они завершатся по отдельности, а выполняет их одновременно. Одна из популярных реализаций такой архитектуры называется Simultaneous Multithreading (SMT) и также известна, как Hyper-Threading. Процессоры Intel и AMD сейчас поддерживают двухсторонний SMT, а IBM разработала чипы, поддерживающие до восьми SMT.


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

Необходимость кэшей иногда может сбивать с толку, ведь они хранят данные, как и ОЗУ или SSD. Но кэши отличаются задержкой и скоростью доступа. Даже несмотря на то, что память ОЗУ чрезвычайно быстра, она на порядки величин медленнее, чем нужно для ЦП. Для ответа с передачей данных ОЗУ может потребоваться сотни циклов, и процессору в это время будет нечем заняться. А если данных нет в ОЗУ, то могут потребоваться десятки тысяч циклов для получения доступа к ним с SSD. Без кэшей процессоры бы постоянно стопорились.

Обычно процессоры имеют три уровня кэша, образующих так называемую иерархию памяти. Кэш L1 — самый маленький и быстрый, L2 находится посередине, а L3 — самый крупный и медленный из всех кэшей. Выше кэшей в иерархии находятся мелкие регистры, хранящие во время вычислений единственное значение данных. По порядку величин эти регистры являются самыми быстрыми устройствами хранения в системе. Когда компилятор преобразует высокоуровневую программу в язык ассемблера, он определяет наилучший способ использования этих регистров.

Когда ЦП запрашивает данные из памяти, то сначала проверяет, хранятся ли эти данные уже в кэше L1. Если да, то можно всего за пару циклов получить к ним доступ. Если их там нет, то процессор проверяет L2, а затем и кэш L3. Кэши реализованы таким образом, что в общем случае они прозрачны для ядра. Ядро просто запрашивает данные по указанному адресу памяти, и тот уровень в иерархии, на котором они есть, отвечает ему. При переходе к последующим уровням в иерархии памяти размер и задержки обычно растут на порядки величин. В конце концов, если ЦП не находит данные ни в одном из кэшей, то обращается в основную память (ОЗУ).


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

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

Кроме кэшей одним из самых важных строительных блоков современного процессора является точный предсказатель переходов. Инструкции переходов (ветвлений) схожи с конструкциями «if» для процессора. Один набор инструкций выполняется, если условие истинно, а другой — если оно ложно. Например, нам нужно сравнить два числа, и если они равны, выполнить одну функцию, а если не равны, то выполнить другую. Эти инструкции ветвления применяются чрезвычайно часто и могут составлять примерно 20% всех инструкций в программе.

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

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

Такие предсказатели перехода — одни из самых простейших разновидностей машинного обучения, потому что предсказатель изучает поведение ветвей в процессе выполнения. Если он предсказывает неверно слишком часто, то начинает обучаться правильному поведению. Десятилетия исследований методик предсказания переходов привели к тому, что в современных процессорах точность предсказаний превышает 90%.

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

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

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

Рекомендуемое чтение

habr.com

Архитектура современных процессоров (стр. 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, который использовался в космической программе (например, телескоп "Хаббл" использует этот процессор).

mirznanii.com

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

С момента изобретения первых электронно-вычислительных машин в первой половине 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 имеет небольшие отличия, касающиеся энергосбережения и производительности.

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

mobcompany.info

как выбрать и не ошибиться? / Galtsystems (ex. Сквадра Груп) corporate blog / Habr

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



Какие основные моменты необходимо рассмотреть при выборе процессора:
  • Цели дальнейшего использования.
  • Количество ядер.
  • Совместимость с другими компонентами.
  • Скорость ЦПУ.
  • Цена.

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

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

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

Чем отличаются серверные процессоры от десктоптных?

  • Высокий контроль качества. Серверные процессоры проходят через все виды тестирований в самых суровых условиях. В качестве аналога можно привести следующий пример: двигатель пассажирского самолета требует более тщательного тестирования, чем двигатель автомобиля. Несомненно, риск неисправности двигателя самолета выше.
  • Надежность. Серверные процессоры отличаются отказоустойчивостью. В критической ситуации серверы могут избежать выключения или перезагрузки (при 2-х процессорной конфигурации). Они рассчитаны на работу нон-стоп 24/7. Десктопные варианты больше предназначены для «бытовой» многозадачности.
  • Наличие самокорректирующей системы. Серверные ЦПУ имеют алгоритм, позволяющий корректировать ошибки памяти, которые могут влиять на стабильность оборудования. Эта технология называется «проверка и исправление ошибок» (ECC).

Теперь перейдем непосредственно к выбору процессора.

Основные критерии выбора процессора


» Ядра
Менее десяти лет назад все процессоры выпускались с одним ядром. Сейчас одноядерные процессоры стали исключением из-за повсеместной распространенности многоядерных процессоров. В последнее время даже софт разрабатывают таким образом, чтобы приложения могли задействовать многоядерную технологию. Существует большое количество вариантов для выбора – начиная от 2-х и заканчивая 22 ядрами.

Когда процессоры запускались на одном ядре, оно полностью отвечало за обработку данных, которые передавались на процессор. Чем больше ядер встроено в ЦПУ, тем больше они способны распределять его задачи. Это делает процессор быстрее и эффективнее. Очень важно понимать, что процессор отвечает только за исполнение задач, как и софт, работающий на нем. Всю основную работу выполняют ядра. Однако стоит учитывать, что если для корректной работы приложений используются 3 ядра из 8, то 5 ядер остаются незадействованными. Чтобы минимизировать затраты, стоит сопоставить системные требования с количеством ядер.

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

» Сокет
Совместимость сокетов – это первоочередная задача при выборе процессора. Сокет является средством связи между материнской платой и ЦПУ. Если вы уже купили материнку, проверьте, что установленный процессор совместим с ее сокетом. И наоборот, отдельно покупая процессоры, проверьте совместимость с материнкой. Это может пригодиться для дальнейшего апргрейда.

» Графический процессор (GPU)
Многие современные процессоры имеют встроенные графические процессоры, которые выполняют расчеты, относящиеся к графике. Если у процессора отсутствует встроенный GPU, сервер все равно сможет отображать графику (если установлена отдельная видеокарта или материнка позволяет запускать видео). Однако для работы софта и приложений, интенсивно нагруженных графикой, ЦПУ со встроенным GPU будет работать намного эффективнее.

» Частота
Частота ЦПУ, измеряемая герцами, это скорость, на которой он работает. Раньше было так: высокая частота = лучшая производительность. Эта формула более не действует. В некоторых случаях ЦПУ, работающий на низкой частоте, может в действительности работать лучше, чем процессор, обладающей высокой частотой. На это влияет архитектура процессора. Наравне с частотой очень важно обращать внимание на число команд процессора, выполняемых за цикл. Хотя частота по-прежнему является важным индикатором быстродействия процессора, теперь это не ключевой момент, влияющий на реальную скорость ЦПУ.

» Величина отвода тепловой мощности (TDP)
Процессоры генерируют тепло. Величина отвода тепловой мощности, назначенная для процессора, объясняет, сколько тепла процессор может выделять. Это напрямую будет влиять на тип охлаждения, необходимого для ЦПУ. Если процессор поставляется без системы охлаждения, или эта система не используется, необходимо продумать систему охлаждения для корректной работы сервера. Перегрев – основная опасность для серверных компонентов.

Какая из спецификаций подойдет для вашей компании?


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

Небольшая компания:

  1. Ядра. Для большинства задач подойдет сервер с 4-х ядерным процессором. Если перед вами стоят более требовательные задачи – необходимо работать с графическим дизайном, выясните, какое количество ядер необходимо для конкретного софта. Если необходимо 8 ядер, то лучше всего инвестировать деньги сразу в сервер на базе 8-ядерных процессоров.
  2. Память. Количество памяти, которое поддерживает сервер, тоже может играть свою роль. Материнская плата и тип операционной системы помогут определиться с необходимым объемом.
  3. Частота. Софт, с которым вы планируете работать, будет влиять на скорость ЦПУ. Например, постоянное использование программы Adobe CS 6 потребует процессор со скорость как минимум 2 Ггц.

Средние компании
  1. Цена. Большинство средних компаний должны придерживаться установленного бюджета, когда дело касается покупки оборудования. Цена относительно производительности процессора может стать ключевым фактором.
  2. Многопоточность. При выборе серверного процессора обязательно обратите внимание на технологию гиперпоточной обработки (Hyper-Threading). Эта технология обеспечивает более эффективное использование ресурсов процессора, позволяя выполнять несколько потоков на каждом ядре и повышает пропускную способность процессоров, улучшая общее быстродействие многопоточных приложений.

Корпоративные заказчики
  1. Ядра. При выборе ЦПУ стоит учитывать количество ядер. Необходимо ориентироваться на технические требования приложений. Например, если установлен 8-и ядерный процессор, но для приложения необходимо только 4 из них, то нет смысла переплачивать. Размер не всегда имеет значение.
  2. Частота. Здесь тоже стоит ориентироваться на софт – некоторым компаниям хватает 2 Ггц, а другим и 4 Ггц мало.
  3. TDP. Проверьте этот показатель перед покупкой процессоров. Тогда вы будете уверенным, что система охлаждения справится с выделением тепла.

Есть ли смысл переплачивать за производительность?


Мы составили сравнительный список процессоров, относительно аналогичных по характеристикам, и указали цены за серверы, на борту которых установлены нижеуказанные модели ЦПУ (цены взяты на Яндекс.Маркет и Сквадра Груп от 23.05.2016):
Процессоры Сквадра Груп
CPU Benchmark
Цена за сервер, ₽
Новые процессоры
CPU Benchmark
Цена за сервер, ₽
Intel Xeon E5530
(4 Core, 8M Cache, 2.40 GHz)
4621
18 000
Intel Core i5-2300
(4 Core, 6M Cache, up to 3.10 GHz)
5283
78 000
Intel Xeon E5620
(4 Core, 12M Cache, 2.40 GHz)
4903
21 800
Intel Core i7-870
(4 Core, 8M Cache, 2.93 GHz)
5487
85 000
Intel Xeon E5645
(6 Core, 12M Cache, 2.40 GHz)
6533
39 400
Intel Xeon E3-1225 v3
(4 Core, 8M Cache, 3.20 GHz)
7005
124 300
Intel Xeon X5650
(6 Core, 12M Cache, 2.66 GHz)
7601
45 400
Intel Xeon E5-2620 v2
(6 Core, 15M Cache, 2.10 GHz)
8689
195 000
Intel Xeon E5-2670 v1
(8 Core, 20M Cache, 2.60 GHz)
12497
77 900
Intel Xeon E5-2640 v3
(8 Core, 20M Cache, 2.60 GHz)
14055
375 000

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

Заключение


Итак, при выборе процессора определите для себя следующие вещи:
  1. Цель использования сервера.
  2. Технические характеристики приложений, для которых будет предназначен сервер.
  3. Совместимость с другими компонентами (память, ОС и т. д.).
  4. Размер компании.
  5. Цена

habr.com

Новые процессоры ARM смогут потягаться с Core i5 / Habr


Согласно собственным тестам ARM, процессор Cortex-A76 уже примерно соответствует по производительности разогнанному процессору Core i5-7300U, рассеивая при этом менее 5 Вт (TDP), в сравнении с 15 Вт у чипа Intel

Процессоры ARM традиционно используются в смартфонах и планшетах, но в последнее время производители ПК вроде Asus и HP решили, что производительность и низкое энергопотребление этих «камней» вполне подходят для ноутбуков. Глядя на такое положение вещей, сама компания ARM анонсировала процессорные архитектуры, специально предназначенные для конкуренции с Intel и AMD на ноутбуках и настольных компьютерах в 2019−2020 годы. По мнению ARM, новые чипы вполне могут сравниться и даже превзойти процессоры Intel в однопоточной производительности.

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

  • Deimos, 7 нм, 2019 год
  • Hercules, 7 и 5 нм, 2020 год

Все эти процессоры будут использовать новую технологию DynamiQ, которая заменит big.LITTLE.

Сложно заранее сказать, насколько реальные системы на ARM смогут сравниться в производительности с обычными машинами x86. Всем понятно, что большинство программного обеспечения пишется и оптимизируется для x86, а под ARM будет работать через эмуляцию, что сразу даёт x86 фору в производительности. Например, можно посмотреть на реальные бенчмарки PCMark 8 Work 3.0 обычных процессоров в сравнении с ARM. Бенчмарки проводились в нативном разрешении каждого планшета/ноутбука.

Как видим, мощный современный ARM-процессор Snapdragon 835 (производитель: Qualcomm) сильно проигрывает в производительности даже системе на Celeron N3450. Проигрыш объясняется двумя причинами: кроме упомянутого режима вынужденной эмуляции это ещё и меньшее количество ядер в процессорах ARM по сравнению с представителями семейства Core.

Но ARM собирается устранить это обидное недоразумение в будущих процессорных архитектурах, где микросхемы станут изготовлять по техпроцессам 7 и 5 нм. К 2019−2020 годам компания намерена догнать и обогнать по производительности существующие процессоры Core i5-4300U, Core i5-6300U и Core i5-7300U, а траектория развития процессоров ARM превзойдёт закон Мура. По заявлению фирмы, до выхода Cortex-A76 в последние годы ARM и так выдаёт средний ежегодный прирост производительности процессоров около 20%, а после Cortex-A76 ежегодный прирост ещё увеличится. Итак, с 2016 по 2020 годы производительность её чипов вырастет в 2,5 раза, то есть процессоры на архитектуре Hercules будут в 2,5 раза быстрее, чем Cortex-A73. Львиная доля в этом скачке производительности объясняется переходом с техпроцесса 16 нм на 5 нм, но частично — системными улучшениями, ведь в сравнении с остальной процессорной индустрией ARM демонстрирует (или обещает продемонстрировать) намного больший прогресс.

Но разница постепенно нивелируется. Согласно собственным бенчмаркам ARM, процессор Cortex-A76 уже примерно соответствует по производительности процессору Core i5-7300U, рассеивая при этом менее 5 Вт (TDP), в сравнении с 15 Вт у чипа Intel.

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

Вероятно, ARM рассчитывает, что процессоры на её архитектуре станут настолько же популярными в ноутбуках, насколько популярными они сейчас являются в смартфонах и планшетах. Это вполне целенаправленная и логичная экспансия. Как и планшеты, ноутбуки тоже преимущественно эксплуатируются в «мобильном» режиме, то есть без непосредственного подключения к сети питания, а в таком режиме ноутбуки на ARM смогут работать несколько дней. Кроме того, ведущим производителем ARM-процессоров является компания Qualcomm. По всей вероятности, она станет и крупнейшим производителем 5G-модемов. Это даёт дополнительное преимущество ARM-ноутбукам, которые в будущем предположительно будут эксплуатироваться в режиме постоянного соединения с сетью 5G.

habr.com


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.