Виды популярных архитектур процессоров

Виды популярных архитектур процессоров

Виды популярных архитектур процессоров

    Статьи , 16 июля 2018 в 16:30

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

С программной точки зрения архитектура процессора — это совместимость с определённым набором команд (Intel x86), их структуры (система адресации, набор регистров) и способа исполнения (счётчик команд).

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

С аппаратной точки зрения архитектура процессора — это некий набор свойств и качеств, присущий целому семейству процессоров (Skylake – процессоры Intel Core 5 и 6 поколений).

Виды архитектур

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

CISC (англ. Complex Instruction Set Computer — «компьютер с полным набором команд») — тип процессорной архитектуры, в первую очередь, с нефиксированной длиной команд, а также с кодированием арифметических действий в одной команде и небольшим числом регистров, многие из которых выполняют строго определенную функцию.

Самый яркий пример CISC архитектуры — это x86 (он же IA-32) и x86_64 (он же AMD64).

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

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

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

Примеры RISC-архитектур: PowerPC, серия архитектур ARM (ARM7, ARM9, ARM11, Cortex).

В общем случае RISC быстрее CISC. Даже если системе RISC приходится выполнять 4 или 5 команд вместо одной, которую выполняет CISC, RISC все равно выигрывает в скорости, так как RISC-команды выполняются в 10 раз быстрее.

Отсюда возникает закономерный вопрос: почему многие всё ещё используют CISC, когда есть RISC? Всё дело в совместимости. x86_64 всё ещё лидер в desktop-сегменте только по историческим причинам. Так как старые программы работают только на x86, то и новые desktop-системы должны быть x86(_64), чтобы все старые программы и игры могли работать на новой машине.

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

MISC (англ. Minimal Instruction Set Computer — «компьютер с минимальным набором команд»).

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

Для увеличения производительности во всех вышеперечисленных архитектурах может использоваться “спекулятивное исполнение команд”. Это выполнение команды до того, как станет известно, понадобится эта команда или нет.

VLIW (англ. Very Long Instruction Word — «очень длинная машинная команда») — архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно.

По сути является архитектурой CISC со своим аналогом спекулятивного исполнения команд, только сама спекуляция выполняется во время компиляции, а не во время работы программы, из-за чего уязвимости Meltdown и Spectre невозможны для этих процессоров. Компиляторы для процессоров этой архитектуры сильно привязаны к конкретным процессорам. Например, в следующем поколении максимальная длина «очень длинной команды» может из условных 256 бит стать 512 бит, и тут приходится выбирать между увеличением производительности путём компиляции под новый процессор и обратной совместимостью со старым процессором. Опять же, Open Sourсe позволяет простой перекомпиляцией получить программу под конкретный процессор.

Примеры архитектуры: Intel Itanium, Эльбрус-3.

Виртуальные архитектуры

Но раз нельзя запустить программу одной архитектуры на другой, то откуда берутся магические JAR-файлы, которые можно запустить на любой машине? Это пример виртуальной JVM-архитектуры, которая, по сути, эмулируется на целевой реальной машине. Поэтому достаточно JVM-машины для целевой архитектуры для запуска на ней любой Java-программы. Другим примером виртуальной архитектуры является .NET CIL.

Из минусов виртуальных архитектур можно выделить меньшую производительность по сравнению с реальными архитектурами. Этот минус нивелируется с помощью JIT- и AOT-компиляции. Однако большим плюсом будет кроссплатформенность.

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

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Honor Cup, бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник:
http://tproger.ru/articles/processors-architectures-review/

Архитектура процессора — что это за хитрое понятие??

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

Объяснение термина

Под архитектурой процессора понимается комбинация из:

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

Если рассматривать архитектуру со стороны программистов, то его можно объяснить как совместимость с определенным набором команд (допустим, девайсы, соответствующие командам Intel x86), их структуру (например, как организована система адресации или регистровая память), а также метод исполнения (к примеру, счетчик команд).

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

Классификация архитектур

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

  • CISC. На английском языке расшифровывается как «Complex Instruction Set Computing», то есть «Комплексный набор команд». Устройствам этого типа свойственно большое количество режимов адресации и команд разного формата и длины, а также сложная кодировка инструкции.
  • RISC. Первое слово в расшифровке заменено на «Reduced», что на нашем языке — «Сокращенный». Это значит, что все команды имеют одинаковый формат и кодировку.
  • MISC (Multipurpose — Многоцелевой ). База элементов делится на две части, которые находятся или в одном корпусе, или в отдельных. Главной выступает RISC CPU. Он дополнен другой частью — постоянным запоминающим устройством микропрограммного управления. Системе присущи характеристики CISC. Большинство команд выполняет первая часть, а команды расширения преобразуются в адрес микропрограммы.

Также существует классификация процессоров, и соответственно архитектур, по назначению:

  • Графические. Как видеокарта отвечает за визуализацию объектов на экране.
  • Математические. Нацелены на расширение набора команд, выполняемых центральным процессором, для решения различных математических задач.
  • Цифровые сигнальные. Специализированные устройства, предназначенные для обработки оцифрованных сигналов.

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

Разбор обозначений

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

8086 и компания

В 1978 году компания Intel выпустила 16-битный процессор, получивший название 8086.

После него выходили другие модели, в наименованиях которых первые две цифры оставались прежними, а последние менялись на 88, 186, 286, 386, 486 и прочие.

Вот пример i386.

Как вы заметили, почти все имена заканчиваются одинаково, поэтому все семейство объединили под условное обозначение x86. Оно устоялось среди пользователей и применялось даже когда Интел начала давать своим продуктам словарные названия типа Пентиум, Кор, Атом и т. д. Переняли эту «моду» и другие производители устройств, совместимых с этим семейством, — IBM, VIA, AMD, Cyrix и др.

Чаще всего это обозначение сейчас используется по отношению к 32-битным процессорам. Они также могут называться, к примеру, i386, i486, i586, когда требуется дать более точные сведения о наборе инструкций.

Совершенствование до 64 бит

Компания Intel модернизировала процессоры с 16-битной шиной до 32 бит. Однако AMD приложила усилия к усовершенствованию их до х64. Первый такой продукт она выпустила в 2003 году, не став заморачиваться над названием — просто «AMD64».

Чтобы показать повышенную разрядность процессоров, стали к обозначению «x86» добавлять «64», к примеру, x86_64.

Интел решила выделиться, помечая такие устройства сначала как «IA-32e», а потом «EM64T». Но сейчас чаще можно встретить «Intel 64».

Как узнать архитектуру?

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

Средства системы

Выполните следующие действия:

  • Откройте командную строку через меню «Пуск — Программы — Стандартные» или другим удобным способом.
  • Впишите в нее слово systeminfo.
  • Нажмите Enter.

Перед вами появятся сведения об операционке, среди которой будет и архитектура процессора.

  • Щелкните правой кнопкой мыши на значке «Мой компьютер»;
  • Откройте «Свойства»;
  • Перейдите в «Диспетчер устройств»;
  • Кликните пункт «Процессор».

И тоже получите все данные о нем.

Сторонние программы

Одной из хороших программ, помогающих узнать все о проце, является CPU-Z .

Она бесплатная и распространенная, поэтому вы без проблем ее отыщите и скачаете.

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

В качестве альтернативного варианта могу предложить еще одну достойную прогу — AIDA 64 . Она платная (Есть триал период), зато может рассказать все о вашем железе в целом, не только о ЦП.

Получить сведения о процессоре через нее можно, перейдя по разделам «Компьютер — Системная плата — ЦП».

На этом буду заканчивать.

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

Источник:
http://profi-user.ru/arkhitektura-processora/

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

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

Источник:
http://mobcompany.info/interesting/chto-takoe-arxitektura-processora-kakaya-byvaet-i-ispolzuetsya-v-smartfonax.html

Архитектура микропроцессоров: основные виды, развитие, достоинства и недостатки

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

Эта глава посвящена архитектурным особенностям микропроцессоров. В ней приведены общие сведения о микропроцессорах, рассматриваются принципы структурно – функциональной организации) типы данных, регистровая память, спо­собы адресации и система команд микропроцессоров. Излагаемый материал ил­люстрируется на простейших 8– и 16–разрядных процессорах.

Основные понятия

Микропроцессор — это программно–управляемое устройство в виде интегральной микросхемы (БИС или СБИС), предназначенное для обработки цифровой информации. Поскольку все современные микро­процессоры имеют интегральное исполнение, синонимом микропроцессора стал термин процессор.

Микроконтроллер— это специализированный процессор, предназначен­ный для реализации функций управления (control— управление).

Цифровой сигнальный процессор(Digital Signal Processor — DSP) — это специа­лизированный процессор, предназначенный для обработки цифровых сигналов.
Микропроцессорная система представляет собой функционально законченное изделие, состоящее из нескольких цифровых устройств, включая процессор. Это понятие объединяет широкий набор законченных изделий, начиная с микроконтроллеров, выполненных на интегральных микросхемах, и кон­чая компьютерными системами, представляющими собой набор отдельных конст­руктивно оформленных устройств (системный блок, клавиатура, монитор и др.). В дальнейшем рассматриваются простейшие (однокристальные) микропроцес­сорные системы, содержащие помимо процессора основную память и устройства ввода/вывода. Такие микропроцессорные системы можно отнести к классу микро­процессоров.

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

● физическую организацию в виде принципиальной схемы;

● логическую организацию в виде структурно–функциональной схемы.

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

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

Например, современные 32–разрядные процессоры х86 с архитектурой IA–32 (Intel Architecture — 2 bit ) имеют стандарт­ный набор регистров, общую систему основных команд, одинаковые способы организации и адресации памяти, защиты памяти и обслуживания прерываний. Отметим, что понятие архитектуры в большей степени характеризует свойства системы, чем устройства.

Основные виды архитектур

По форматам используемых команд (инструкций) можно выделить:

● CISC–архитектуру, которая относится к процессорам (компьютерам) с полным набором команд (Complete Instruction Set Computer— CISC). Она реализова­на во многих типах микропроцессоров (например Pentium), выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации.

Система команд процессоров с CISC–архитектурой может содержать не­сколько сотен команд разного формата (от 1 до 15 байт), или степени слож­ности, и использовать более 10 различных способов адресации, что позволя­ет программисту реализовать наиболее эффективные алгоритмы решения различных задач.

Развитие традиционных CISC

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

● RISC–архитектуру, которая относится к процессорам (компьютерам) с сокра­щенным набором команд (Reduced instruction Set Computer — RISC). Появле­ние RISC –архитектуры продиктовано тем, что многие CISC –команды и спо­собы адресации используются достаточно редко. Основная особенность RISC–архитектуры проявляется в том, что система команд состоит из неболь­шого количества часто используемых команд одинакового формата, которые могут быть выполнены за один командный цикл (такт) центрального процес­сора. Более сложные, редко используемые команды реализуются на про­граммном уровне. Однако за счет значительного повышения скорости испол­нения команд средняя производительность RISC–процессоров может оказать­ся выше, чем у процессоров с CISC–архитектурой.

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

Современные RISC –процессоры реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта, и используют небольшое число наи­более простых способов адресации (регистровую, индексную и некоторые другие).

Для сокращения количества обращений к внешней оперативной памяти RISC –процессоры содержат десятки–сотни регистров общего назначения (РОН), тогда как в CISC–процессорах всего 8–16 регистров. Обращение к внешней памяти в RISC–процессорах используется только в операциях за­грузки данных в РОН или пересылки результатов из РОН в память. За счет со­кращения аппаратных средств, необходимых для декодирования и выполне­ния сложных команд, достигается существенное упрощение интегральных схем RISC–процессоров и снижение их стоимости. Кроме того, значительно повышается производительность. Благодаря указанным достоинствам во многих современных
CI SC –процессорах (последние модели Pentium и К7) ис­пользуется RISC–ядро. При этом сложные CI SC–команды предварительно преобразуются в последовательность простых RISC–операций и быстро вы­полняются RISC–ядром;

● VLIW–архитектуру, которая относится к микропроцессорам с использованием очень длинных команд (Very Large Instruction Word— VLIW). Отдельные поля команды содержат коды, обеспечивающие выполнение различных операций. Одна VLIW –команда может выполнить сразу несколько операций одновремен­но в различных узлах микропроцессора. Формирование «длинных» VLIW – koманд производит соответствующий компилятор при трансляции программ, написанных на языке высокого уровня.

VLIW –архитектура реализована в неко­торых типах современных микропроцессоров и является весьма перспектив­ной для создания нового поколения сверхвысокопроизводительных процес­соров.

По способу организации выборки команд и данных различа­ют два вида архитектур:

● принстонская архитектура, или архитектура фон–Неймана, особенностью которой является (рис. 2.1.1) использование:

• общей основной (оперативной) памяти для хранения программ и данных, что позволяет оперативно и эффективно перераспределять ее объем в за­висимости от решаемых задач в каждом конкретном случае применении микропроцессора;

• общей шины, по которой в процессор поступают команды и данные, а в опе­ративную память записываются результаты, что значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность. Чтобы отделить команду от данных, первым из памяти всегда поступает код выполняемой операции, а затем следуют данные. По умолчанию код операции загружается в регистр команд, а дан­ные — в блок регистров (рис. 2.1.1). Из–за ограниченного числа внешних выводов общая шина обычно работает в режиме временного мультиплек­сирования, т. е. противоположные направления обмена данными между микропроцессором, памятью или другими внешними устройствами разде­лены во времени.

Недостаток принстонской архитектуры

Использование общей шины для пе­редачи команд и данных ограничивает производительность цифровой системы;

● гарвардская архитектура (создатель Говард Айкен), особенностью которой является физическое разделение памяти команд (программ) и памяти данных (рис. 2.1.2). Это обстоятельство вызвано постоянно возрастающими требова­ниями к производительности микропроцессорных систем. Память команд и память данных соединяются с процессором отдельными шинами. Благодаря разделению потоков команд и данных, а также совмещению операций их вы­борки (и записи результатов обработки) обеспечивается более высокая про­изводительность, чем при использовании принстонской архитектуры.

Недостатки гарвардской архитектуры

Усложнение конструкции из–за ис­пользования отдельных шин для команд и данных; фиксированный объем па­мяти для команд и данных; увеличение общего объема памяти из–за невоз­можности ее оптимального перераспределения между командами и данными. Гарвардская архитектура получила широкое применение в микроконтрол­лерах — специализированных микропроцессорах для управления различными объектами, а также во внутренней структуре современных высокопроизводи­тельных микропроцессоров в кэш–памяти с раздельным хранением команд и данных.

Читайте также  Как подключить компьютер к телевизору, Телевизоры, Блог, Клуб DNS

В то же время во внешней структуре большинства микропроцессор­ных систем реализуются принципы принстонской архитектуры.

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

Источник:
http://pue8.ru/protsessory/663-arkhitektura-mikroprotsessorov-osnovnye-vidy-arkhitektur.html

Как разрабатываются и создаются процессоры? Часть 1: Фундаментальные основы архитектуры процессоров

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

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

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

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

Программы представляют собой набор низкоуровневых инструкций. Их называют языком ассемблера (assembly language), и они являются одной из частей архитектуры набора команд (ISA). Процессоры запрограммированы на распознавание и выполнение этих инструкций. Самыми распространенными архитектурами набора команд являются x86, MIPS, ARM, RISC-V и PowerPC. Каждая из них отличается друг от друга написанием кода, по аналогии с языками программирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

Почти в каждом процессоре есть три уровня кэша — это называется иерархией памяти. Кэш 1 уровня (L1) самый быстрый и самый маленький, 3 уровня (L3), наоборот, крупнейший и медленный, а кэш 2 уровня (L2) — «золотая середина» между ними. Выше кэша в иерархии памяти стоят маленькие регистры, в которых сохраняется одиночное значение данных во время работы процессора. Эти регистры по скорости даже опережают кэш. Регистры используются, когда компилятор переводит высокоуровневые программы в язык ассемблера.

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

В большинстве процессоров каждое ядро оснащено двумя кэшами первого уровня: один предназначен для данных, а другой — для инструкций. Кэш первого уровнязачастуюоколо 100 КБ в размере, хотя это число может отличаться в зависимости от процессора. Обычно на каждое ядро приходится по кэшу второго уровня, хотя в некоторых архитектурах процессоров может кэш может быть разделен между двумя ядрами. Размер этого кэша составляет уже несколько сотен килобайт. Самым большим (несколько десятков мегабайт) является кэш 3 уровня, который делится сразу между всеми ядрами процессора.

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

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

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

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

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

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

Читайте также  8 лучших программ для клонирования жесткого диска

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

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

Источник:
http://i2hard.ru/publications/23285/

Не хотите RISCовать? Узнайте больше о процессорах архитектуры RISC

Что такое RISC-архитектура? Краткая история

Аббревиатура «RISC», от английского — reduced instruction set computer, переводится на русский как «сокращенное (ограниченное) число команд (инструкций)».

Очень часто в каталогах продукции различных производителей можно встретить название раздела или описание товара с указанием «на базе RISC». Данное заявление не относится к описанию каких-либо особых функций или характеристик оборудования. Оно связано только с одним из важнейших элементов любой ЭВМ, ее «вычислительным сердцем», без которого, не может функционировать ни один компьютер в мире. Указывая «RISC», производитель подразумевает только одно – процессор.

Свое начало «RISC» архитектура процессоров берет в середине 70-х – 80-х годов. Исследователями того времени, в частности представители IT-гиганта IBM, было выяснено, что большинство комбинаций команд и прямых методов адресации, не были задействованы использовавшимися в то время компиляторами («сборщики» исходного программного кода высокого уровня в программу на машинном языке, «понятную» компьютеру). Кроме того, было обнаружено, что программы, реализующие набор инструкций актуальных процессоров, зачастую обрабатывают сложные операции значительнее медленнее простых, выполняющие те же действия. Основная проблема заключалась в общей оптимизации микрокода процессора. Для решения простых задач процессоры того времени представляли из себя слишком сложные устройства, содержащие в себе большое количество инструкций, половина которых, могла даже быть не задействована. Соответственно, обработка всех инструкций сказывалась и на общей производительности процессора. Учтя все минусы современных процессоров того времени, было принято решение о разработке новой архитектуры. Основной фокус – сделать инструкции процессора настолько простыми, чтобы они легко и эффективно конвейеризировались (технология организации вычислений в процессорах и контроллерах). После нескольких лет исследований, в начале 80-х годов, было выпущено несколько видов процессоров, общее название которых и дало имя всей архитектуры – RISC. Своим созданием новая архитектура обязана американскому инженеру Дэвиду Паттерсону, руководителю проекта Berkeley RISC с 1980 по 1984 годы. В рамках данного проекта были разработаны дебютные процессоры новой архитектуры — RISC I и RISC II.

Профессора кафедры «Электротехника и компьютерные науки (EECS)» калифорнийского университета в Беркли, слева направо, Дэвид Паттерсон и Карло Секин. Участники проекта «Berkeley RISC». ( ссылка на источник )

CISC и RISC процессоры. Характерные отличия, преимущества и недостатки

Все процессоры в мире, условно можно поделить на два типа – RISC, о нем уже было ранее сказано, и CISC. Что же такое CISC-процессор? Аббревиатура «CISC», от английского complete instruction set computing, переводится как «полный набор команд (инструкций)».

Главные особенности, определяющие архитектуру CISC:

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

CISC-процессоры являются так называемыми «классическими» процессорами. Они содержат в сотни раз больше команд, чем RISC-архитектура, используют больше способов адресации и т.д. На рубеже 80—90-ых в мире разгорелся настоящий «жаркий» спор, о том, какой же процессор лучше? С одной стороны баррикад, поставщики процессоров RISC — Hewlett-Packard (PA-RISC), Sun Microsystems Computers (SPARC), Silicon Graphics (MIPS) (R210000), союз IBM и Motorola (PowerPC), с другой – Intel и AMD. И решение было найдено не в технических аргументах сторон, а в технологическом преимуществе Intel и AMD. Но, с начала 2000-х, с момента появления мобильных решений и стремительного скачка развития в этом сегменте технологий, архитектура RISC обрела новую жизнь. Кроме того, во многих современных процессорах CISC, отдельные блоки и модули инструкций, представляют из себя, не что иное как RISC-процессор.

Наглядное сравнение процессоров CISС и RISC архитектур. CISC – массивный, мощный Кадиллак с эффектными спойлерами. RISC – быстрый, маневренный, компактный Porsche. (Из выступления Дэвида Паттерсона в 1985 году, ссылка ).

В данной части мы не будем подробно рассматривать технические характеристики процессоров RISC, основные принципы построения архитектуры, алгоритмы логики и т.д. На данную тему, в просторах интернета, можно найти множество различных статей, как в англоязычном, так и в русскоязычном сегменте. Нас же, в первую очередь интересует вопрос – «Что получит обычный пользователь, приобретая оборудования на базе архитектуры RISС процессора?». Именно этот вопрос, послужит основным тезисом при разборе преимуществ и недостатков далее.

Преимущества

  1. Главное, и, пожалуй, основополагающее преимущество при выборе оборудование на базе процессора RISC — цена. Связано это в первую очередь с тем, что наборы инструкций RISC-процессоров просты и соответственно, для их выполнения, нужно меньшее количество логических элементов, что в конечном счете влияет на итоговую стоимость процессора. Кроме того, производство RISC-процессоров не требует сложных технологических процессоров, по сравнению с CISC, и занимает гораздо меньше времени.
  2. Общее быстродействие процессора. Связано это в первую очередь с небольшим числом команд, форматов, режимов и т.д., что ведет к упрощению схемы декодирования, и оно происходит быстрее.
  3. Использование семейства операционных систем Linux. Можно сказать, что оборудование на базе процессора RISC является идеальным для установки операционных систем Linux. Мощный рывок в развитии, особенно за последние несколько лет, RISC-подобные процессоры получили благодаря использованию открытого программного обеспечения, которое в дальнейшем раскрылось в использование различных дистрибутивов под разные задачи и от разных разработчиков. Любой производитель оборудования на RISC-процессоре, как правило может предоставить все необходимые драйвера, даже под несколько дистрибутивов. По запросу также есть возможность получить SDK (software development kit) набор.

К сожалению, недостатки RISC процессоров, тесно связаны с их преимуществами.

Недостатки

  1. Недостаточная производительность и функциональность. К сожалению, да, несмотря на свое быстродействие, процессоры RISC не предназначены для решения сложных и трудоемких задач. Для обработки больших массивов данных, сложной графической информации, развертывания виртуальных сред и т.д., оборудование на базе RISC-процессора не подходит.
  2. Большая часть программного обеспечения, сегодня написана под процессоры Intel и AMD, соответственно для работы с архитектурой RISC, оно должно быть перекомпилировано или переписано заново, что часто создает определенные сложности, а порой и просто невыполнимость задачи.
  3. Сокращенное число команд в архитектуре RISC, создает ситуации, когда на выполнение нескольких функций, приходится тратить несколько команд, в отличие от одной в архитектуре CISC. Это удлиняет не только код программы, но и увеличивает трафик команд между памятью и центральным процессором. Проводимые исследования показатели, что в среднем, длина кода программы в архитектуре RISC на 30% больше, чем аналогичной программы в CISC.

Простой пример сравнения СISC-кода и RISC-кода.

Основные RISC-процессоры. Что применяют в промышленности?

Как уже упоминалось выше, на сегодняшний день, RISС-подобные процессоры активно развиваются в своем сегменте рынка. Большую часть этого сегмента, 80%-90% занимают процессоры для товары широкого потребления. Конечно же, это различные смартфоны, планшетные компьютеры, игровые приставки и т.д. Любое мобильное устройство, где необходимо использование процессора, с вероятностью 90% построено на вычислительной мощности RISC-подобного процессора. Но, возможно Вы об этом не слышали и сам термин «RISC-подобный» вызывает дополнительные вопросы. Неоднократно в данной статье говорилось о RISC-подобных процессорах, что же это такое? RISC-подобные процессоры – это процессоры, в базисе архитектуры которых, были заложены основные идеи при разработке первых RISC процессоров, но в дальнейшем, приобретали свои уникальные свойства, особенности и развивались уже собственным путем. Инженеры-разработчики данных процессоров, черпали вдохновение именно из идей проекта «Berkeley RISC». Самые известные архитектуры RISC-подобных процессоров это ARM, MIPS, SPARK. Но конечно же есть и другие, менее распространённые, либо применяемые только в специализированных сферах, такие как – SuperH (SH), PowerPC, AVR и другие. Даже Intel и AMD разработали некогда свою собственную архитектуру на RISC-ядре – Intel P5/P6 и AMD K5/K6/K7. Но, стоит сказать об интересной особенности, данные компании занимаются лишь проектированием и лицензированием микропроцессорных устройств, но своих производственных мощностей не имеют. Например, лицензиатами архитектуры ARM, являются такие известные мировые производителя как AMD, Apple, Samsung, Qualcomm, Sony, HiSilicon и многие другие. Соответственно, такие современные процессоры как Snapdragon 865, Kirin 980, Samsung Exynos Octa 990 и Apple A12Z, разработаны на ARM-микропроцессоре. Самые известные производители, использующие в своих процессорах MIPS архитектуру, это Realtek, Broadcom, Atheros, ATI, Toshiba и российская компания «Т-Платформа», использующий процессорные ядра P5600 архитектуры MIPS32 Release 5 в процессоре Baikal-T1. Как мы можем увидеть, рынок RISC-подобных процессоров в массовом сегменте достаточно широкий, и можно найти решения отвечающее любым задач, но как обстоят дела в промышленном сегменте?

Особенности промышленных компьютеров RISC

Развитие RISC-подобных процессоров в промышленной отрасли отличается от массового рынка. В первую очередь это связано с не таким огромным спросом на устройства с данным типом процессора. Если у производителя есть возможности, он может реализовать в своем устройстве уже готовое процессорное ядро от стороннего разработчика и в дальнейшем просто оптимизировать под него программное обеспечение. Чаще всего так и происходит и самые распространённым для применения процессором в данном контексте является Cortex, являющийся процессором ARM архитектуры от разработчика ARM Holdings. Более сложный путь, иметь собственный процессор, развитие и разработка которого полностью зависят от самого производителя. Одним из таких производителей является компания DMP, которая выпускает процессоры собственной линейки под названием Vortex86. Процессоры серии Vortex86 являются процессорами так называемой «системой на кристалле» (от. System-on-a-Chip, SoC), т.е. один чип включающий в себя CPU, North Bridge и South Bridge.

Блок-диаграмма процессора Vortex86DX3.

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

Источник:
http://ipc2u.ru/articles/prostye-resheniya/ne-khotite-riscovat-uznayte-bolshe-o-protsessorakh-arkhitektury-risc/