Меню

Архитектура процессора это: стоит ли все это своих денег? / Хабр

Содержание

Понятие процессора компьютера (CPU), архитектура, характеристики и принцип работы

Содержание:

Процессор для компьютера (CPU)

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

Процессор крепится на материнской плате и помещается в специальный разъем, который называется разъёмом центрального процессора (сокет, англ. — socket). Существует много видов сокетов, в каждый из них можно установить «камень» только своего определенного типа. Установка в сокет материнской платы должна производиться очень аккуратно, иначе можно повредить контакты и «проц» будет испорчен.

Защита от перегрева процессора

Система охлаждения

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

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

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

Основные производители CPU

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

Логотипы компаний Intel и AMD

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

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

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

Рассмотрим основные понятия из архитектуры процессора и принцип его работы

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

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

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

Процесс фотолитографии при производстве процессоров

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

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

3. Ни в коем случае нельзя судить о микропроцессоре только по такому показателю, как частота тактового сигнала, которая измеряется мега или гигагерцами. Иногда «проц», у которого тактовая частота меньше, может оказаться более продуктивным. Очень важными являются такие показатели как: количество тактов, которые необходимы для выполнения команды, количество команд, которые он может выполнять одновременно и др. 

Оценка возможностей процессора (характеристики)

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

  • количество ядер. Многоядерные CPU содержат на одном кристалле (в одном корпусе) 2, 4 и т.д. вычислительных ядра. Увеличение количества ядер – один из самых эффективных способов значительного повышения мощности процессоров. Но необходимо учитывать, что программы, которые не поддерживают многоядерность (как правило это старые программы), на многоядерных процессорах быстрее работать не будут, т.к. не умеют использовать более одного ядра;
  • размер кеша. Кеш — очень быстрая внутренняя память процессора, используемая им в качестве своеобразного буфера в случае необходимости компенсации «перебоев» во время работы с оперативной памятью. Логично, что, чем больше кеш, тем лучше.
  • количество потоков – пропускная способность системы. Количество потоков часто не совпадает с количеством ядер. Например, четырехядерный Intel Core i7 работает в 8 потоков и по своей производительности опережает многие шестиядерные процессоры;
  • тактовая частота – величина, которая показывает, сколько операций (тактов) в единицу времени может произвести процессор. Логично, что, чем больше частота, тем больше операций он может выполнить, т.е. тем производительнее получается.
  • скорость шины, при помощи которой CPU соединен с системным контроллером, находящимся на материнской плате. 
  • техпроцесс – чем он мельче, тем меньше энергии процессор потребляет и, значит, меньше греется.

Современные процессоры

Выводы

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

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

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

Еще больше интересной и полезной информации

  • В этой статье мы дадим некоторые советы, как выбрать процессор…

  • Одним из самых важных компонентов компьютера, безусловно, можно…

  • Блок питания компьютера (БП) – это электронное устройство, формирующее…

  • Как только пользователи не называют системный блок: и процессором,…

Комментарии (0)

Оставить комментарий

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

Продукция ICOP Technology.

Так какие же основные преимущества у промышленных компьютеров на базе процессоров RISC? Перечислим их по пунктам:

  • Цена. Стоимость промышленного вычислительного оборудования в основе которого лежит RISC-подобный процессор, всегда будет ниже по сравнению с аналогичным оборудованием, но на базе процессоров Intel или AMD. Основные доводы были проведены нами ранее. В этом случае нет зависимости массовый это сегмент или промышленный.
  • Долгий уровень поддержки. Это означает то, что производитель RISC-подобного процессора не зависит от решений мировых корпораций и тенденций на массовом рынке. Производитель смотрит только на промышленный сегмент и может даже руководствоваться необходимыми рамками производства той или иной модели процессора, в условиях применения исключительно только в одном проекте. Да, в таком случае, это должен быть довольно крупный проект, но решение принимается индивидуально в процессе общения с конечным пользователем. Срок такой поддержки может достигать 15-20 лет.
  • Поддержка работы в экстремально низких температурах. Это одно из главных преимуществ RISC-подобных процессоров в промышленности. За счет своей достаточной производительности, низкого тепловыделения и архитектуры, оборудование на базе RISС-подобных процессоров поддерживает и проще адаптируется к работе при низких минусовых температурах.
  • Свобода разработки программного обеспечения с поддержкой производителя процессора. Если планируется использовать ОС на базе любого дистрибутива Linux, то адаптировать программное обеспечение под RISC-подобный процессор намного проще из-за простых наборов инструкций, выполнение которых происходит достаточно быстро. Дополним это преимущество и возможностью писать программы для Linux почти на любом языке программирования, начиная от Java и Python и заканчивая С++.
  • Гибкая конфигурация и разработка решений под ключ. Можно сказать, это основный интерес производителей RISC-подобных процессоров, предлагать не стандартные решения, а уникальные и зачастую разработанные специально под какие-то специализированные нужды. Даже на базе, например какой-либо стандартной платы, в основе которой лежит процессор Vortex86, производитель готов создать устройство только с необходимыми заказчику функциями.

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

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

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

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

Определение

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

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

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

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

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

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

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

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

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

Подход RISC

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

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

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

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

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

CISC:

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

RISC:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как определить архитектуру Android (ARM, ARM64, x86, x86_64)

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

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

Многие разработчики делают универсальные приложения и игры, которые подходят под любые архитектуры процессоров. Но некоторые из них создают несколько версий программ специально «заточенных» под ту или иную архитектуру. При установке такого продукта из Google Play, сервис автоматически определяет все необходимые параметры установки и загружает на пользовательское устройство необходимые файлы. Пользователю не нужно думать над тем какой файл скачать.

Если же установка (по той или иной причине) из Google Play невозможна или нежелательна, пользователь может скачать файл APK на стороннем сайте. С его помощью можно установить приложение или игру «в ручном режиме». Вот тут-то, если на сайте есть несколько вариантов таких файлов, и появляются муки выбора.

На сегодняшний день, сайты предлагающие файлы для установки приложений и игр могут распространять APK-файлы следующих архитектур: armeabi-v7a, arm64-v8a, x86 и x86_64.

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

  • armeabi-v7a — файлы работающие на устройствах с архитектурой ARM и 32-разрядным процессором. Самые распространенный тип архитектуры.
  • arm64-v8a — файлы работающие на устройствах с архитектурой ARM и 64-разрядным процессором. Сейчас все больше девайсов используют такие процессоры.
  • x86 — файлы работающие на устройствах с архитектурой от компании Intel с 32-разрядным процессором. Довольно мощные, но плохо оптимизированные для работы с батареей чипы. В основном используются в планшетах.
  • x86_64 — файлы работающие на устройствах с архитектурой от компании Intel с 64-разрядным процессором. Такие процессоры используются в некоторых мощных планшетах. Также файлы этого типа можно запускать на эмуляторах Андроид для ПК.

Файлы начинающиеся на «x86» и «arm» не являются взаимно совместимыми — вы должны использовать версию, предназначенную для конкретной архитектуры устройства.

Также, если ваш девайс имеет 32-разрядный процессор, 64-разрядный файл на нем работать не будет. А вот 64-разрядные процессоры обратно совместимы, поэтому на него можно устанавливать 32-разрядный файл.

Исходя из вышесказанного, можно составить такие правила совместимости:

  • На устройства с архитектурой armeabi-v7a можно ставить только файлы armeabi-v7a.
  • На устройства с архитектурой arm64-v8a можно ставить файлы armeabi-v7a и arm64-v8a.
  • На устройства с архитектурой x86 можно ставить только файлы x86.
  • На устройства с архитектурой x86_64 можно ставить файлы x86 и x86_64.

В большинстве случаев телефоны используют архитектуру ARM. Более дешевые устройства используют версию armeabi-v7a, более мощные — версию arm64-v8a. Поэтому, если сомневаетесь в том, какую версию файла выбрать, выбирайте ту, которая имеет отметку «armeabi-v7a».

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

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

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

Самый простой способ!

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

Droid Hardware Info

Если вышеописанный способ вас чем-то не устраивает или же вы хотите получить более расширенные данные о системе вашего устройства, воспользуйтесь приложением Droid Hardware Info.

Установите эту утилиту в Google Play или с помощью APK-файла (скачав его на сайте Biblprog). Для получения нужной нам информации запустите Droid Hardware Info,  перейдите на вкладку «Система» и обратите свое внимание на раздел «Процессор».


В самой первой строке с названием «Архитектура процессора» вы увидите одно из значений: ARMv7, AArch64 или x86, а в строке «Набор инструкций»: armeabi-v7a, arm64-v8a или x86abi. Этого вам должно хватить для того, чтобы решить какой APK-файл скачивать и устанавливать на свой смартфон или планшет.

Нужные данные можно получить и с помощью других приложений, доступных на Google Play, например Inware или My Device.

Как вам данная инструкция? Все ли понятно? Если у вас появились дополнительные вопросы или же возникли замечания к информации выложенной на данной странице — не стесняйтесь. Напишите в комментариях!

ARM как будущая архитектура для настольных ПК | Смартфоны | Блог

Большинство привыкло к полярному рынку в мире процессоров — поле битвы делят Intel и AMD. Однако вполне вероятно, что ситуация изменится в ближайшем будущем, ведь компания Nvidia покупает фирму ARM — разработчика процессорных архитектур. Что же такое ARM и чем все это может обернуться для IT-индустрии?

Желудь из Кембриджа

Для начала стоит объяснить, что ARM обозначает одновременно и архитектуру процессоров (в данном случае Advanced RISC Machine) и название компании (ARM Limited). История берет свое начало с сотрудничества бывшего сотрудника крупной британской компании Sinclair Research Криса Карри и инвестора Германа Хаузера. В 1978 они основали компанию Cambridge Processor Unit (CPU), которая уже в 1979 была переименована в Acorn (Желудь). Такое названия было выбрано по одной простой причине — находиться в телефонном справочнике перед Apple.

Первым продуктом был карманный компьютер за 80 фунтов Acorn System 1, который стоил дешевле своего аналога ZX80, чем и запомнился многим пользователям.

Через два года Acorn получила крупный тендер от британской BBC (та самая радиовещательная компания) на создание компьютера для школ. Так появился BBC Micro, тираж которого превысил 1,5 миллионов устройств. Поступало даже предложение от Билла Гейтса с портированием MS-DOS на BBC Micro, но в Acorn от этого отказались.

 

Команда разработчиков увеличивалась и постепенно появилась идея перейти к более сложным технологиям, а именно работать с 16-разрядными процессорами. Сначала решили «прощупать» почву и отправились на экскурсию в компанию National Semiconductor. Ситуация крайне разочаровала разработчиков Acorn: над процессорами трудились сотни человек, но многочисленных ошибок и «проволочек» в разработке избегать не удавалось.

Совсем другая история была в Western Design Center, которую также посетили учредители. Там процессоры разрабатывали буквально несколько человек в «домашней» обстановке. Ведущий разработчик Acorn Роджер Уилсон был настолько впечатлен, что сам загорелся идеей разработки собственных процессоров, а не покупки как это предполагалось ранее.

В 1985 году появился первый процессор ARM на тогда популярной RISC-архитектуре. Вот только он был всего-лишь подключаемым дополнением для BBC Master (продвинутой версии ранее упомянутой BBC Micro).

Своеобразным прорывом стал ARM 2: до 64 Мб оперативной памяти, тактовая частота 8 МГц — для тех времен весьма впечатляющие показатели. Конкурентом был небезызвестный Intel 80368 с частотой 16 МГц. Разница в частоте была двукратная, но не в производительности. ARM 2 выполнял 4 миллиона операций против 5 миллионов у Intel 80368!

Перенасыщение рынка компьютеров в 1984 привело к сложному экономическому положению, и Acorn была куплена итальянским брендом Olivetti. Однако последующее заполнение рынка IBM PC и аналогами привело к тому, что вкладывать средства в архитектуру на базе RISC итальянцы не стали.

Новые союзники

Герман Хаузер искал способы сохранить процессорный бизнес и нашел союзника — Apple. Они же в 1990 проектировали инновационный карманный компьютер Newton, для которого энергоэффективные ARM подходили просто идеально. Третьим союзником стала компания VLSI Technologies, которая имела непосредственное отношение к производству интегральных схем.

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

Несмотря на то, что на рынке ПК главенствовала архитектура x86, ARM по-прежнему обеспечивала рабочие станции IBM и Sun Microsystems, а также огромный рынок микроэлектроники.

В чем главная особенность ARM

Во многом именно благодаря Apple после появления первого iPhone и iPad стала понятна значимость RISC-архитектуры. Потребление энергии процессоров было столь низким, что позволяло использовать их практически в любых портативных устройствах. Как не старалась Intel, добиться таких же показателей на х86 не получалось.

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

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

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

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

ARM против x86/x64 — есть ли перспективы

Могут ли процессоры ARM тягаться с десктопными решениями от Intel или AMD. В одном из материалов был проведен крупный тест процессоров на архитектуре E2K (отечественные Эльбрусы), ARM (v6-v8) и x86 (i386) х86-64 (amd64). Использовались насколько тестов, в том числе LINPACK, который применяется для оценки производительности суперкомпьютеров.

Процессоры ARM были представлены следующими моделями: Amlogic S922X, Samsung Exynos 4412, Allwinner H5, Allwinner A64 и Broadcom BCM2837B0 (последний используется в миникомпьютере Raspberry PI 3).

Весь список результатов вы сможете изучить на этой странице, а мы приведем график для теста liNPACK:

Некоторые модели ARM-процессоров дотягиваются до уровня производительности Intel Atom. Аналогичную ситуацию можно видеть и на примере мобильного процессора Snapdragon 835. Исходя из тестов, он более чем в два раза проигрывает мобильным версиям Intel Core i5, не говоря уже про десктопные решения.

С другой стороны такие тесты нельзя назвать максимально объективными. Во-первых, большинство подборных программ ориентированы под x86/x64, поэтому для ARM часто приходится использовать эмуляторы, которые сказываются на результатах. Во-вторых, все рассматриваемые решения изначально ориентированы на мобильную электронику с минимальным тепловыделением и «жором» аккумулятора.

Однако можно ли использовать ARM для десктопных решений? Вполне вероятно, и первые звоночки уже есть. Каждые 6 месяцев выходит рейтинг ТОП-500 — список самых мощных суперкомпьютеров в мире. Ранее первые места занимали решения c Intel Xeon или Nvidia Volta, однако в рейтинге от сентября 2020 года самым мощным компьютером стал японский Fugaku. Беспрецедентный случай, ведь построен он именно на процессорах ARM (A64FX 48C). Замеры производительности показали 513,8 петафлопс. Много это или мало? Бывший лидер IBM Power Systems AC922 имеет всего 200,7 петафлопс — более чем в два раза меньше!

Конечно, в Fugaku целых 158 976 процессоров на 52 (48+4) ядра, но сам факт того, что на ARM можно строить столь производительные системы уже заслуживает внимания.

Второй звоночек — покупка ARM компанией Nvidia (подписание договора ожидается только к 2022 году), которая является крупнейшим игроком рынка с огромным опытом. Учитывая, что в сфере графических ускорителей они занимают главенствующие позиции, есть вероятность, что «зеленые» попробуют свои силы в сфере ЦП.

Возможно, Nvidia хочет выйти на мобильный игровой рынок. У компании уже существует платформа Tegra, которая объединяет в себе графическое ядро и ARM процессор. C новой покупкой Tegra вполне способна выйти за пределы смартфонов, смартбуков и КПК.

Также Apple объявила о переходе на процессоры ARM собственной разработки и отказ от продукции Intel. Это позволит сделать совместимыми приложения между MacOS и iOS. Как известно, линейка процессоров «A» всегда показывала выдающиеся результаты, благодаря чему iPhone находились в ТОПе самых производительных смартфонов. Однако достаточно ли таких наработок, чтобы заменить хотя бы Intel Core i5 — остается вопросом.

Сейчас у Apple есть только «демонстрационная технология» на базе процессора A12Z Bionic. Разработчики могут получить «девкит» за 779 долларов, но потом его придется вернуть (Apple во всей красе). Новинка A12Z будет установлена в iPad Pro 2020 и, судя по презентации, планшет прекрасно справляется с любыми пользовательскими задачами.

Более того, на процессоре получилось даже запустить Shadow of the Tomb Raider через эмулятор на средне-низких настройках, поэтому потенциал есть.

Если верить тестам за 2017–2018 гг., то iPad и iPhone уже практически дотягиваются до уровня i7 и даже i9, установленных в MacBook Pro.

Есть еще один игрок на рынке — фирма Ampere. Как заявляют представители, их 80-ядерный ARM-процесор превосходит AMD Epyc 7742 и Intel Xeon 8280, однако в тесте для AMD использовался понижающий коэффициент, который компенсировал недоработки пакета компиляторов.

Что ждет x86/x64

Стоит ли хоронить процессоры на x86/x64 — пока об этом рано говорить. Уже достаточно давно процессоры Intel и AMD разбивают входные инструкции на более мелкие микроинструкции (micro-ops), которые в дальнейшем, не удивляйтесь, исполняются RISC-ядром.

Те самые 4–8 ядер вашего процессора, это именно RISC-ядра. Проще говоря, ARM-технология является частью архитектуры x86/x64. Именно поэтому будущим может стать не тотальное вымирание, а именно более совершенная гибридная архитектура. С другой стороны, за счет уменьшения техпроцесса ARM может добиться производительности десктопных процессоров Intel и AMD, но с сохранением приемлемого энергопотребления.

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

Типы процессорных архитектур. (Лекция 2)

1. Типы процессорных архитектур

Основные типы процессорных
архитектур
Классическая фон-Неймановская архитектура.
Большинство микропроцессоров и микроконтроллеров малой и
средней производительности. Универсальные шины адреса и данных для
доступа к памяти программ, данных и устройствам ввода-вывода.
(Модифицированная) Гарвардская архитектура.
Изолированные шины для записи и чтения операндов в память
данных, считывания из и записи в память программ. Резкое
повышение производительности за счет использования многоуровневого
конвейера команд и совмещения операций доступа к данным.
Аппаратная поддержка умножения с накоплением для задач цифровой
фильтрации и управления.
Мультипроцессорные архитектуры современных процессоров и
микроконтроллеров с общей памятью и периферийными
устройствами.
Основные типы процессорных
архитектур
CISC – архитектура (Complex Instruction
Универсальный набор команд разной длины
Set
Computing) —
RISC – архитектура (Reduced Instruction Set Computing) архитектура. Поддержка сокращенного набора команд, каждая из
которых имеет фиксированный формат и выполняется за один
машинный цикл. Расширение вычислительных возможностей
возлагается на трансляторы и компиляторы с языков высокого уровня.
ARM
архитектура
(Advanced
усовершенствованная RISC-машина.
RISC
Machine)

Семейство процессоров ARMCortex
2000-е годы – Фирма ARM создала несколько
линеек процессоров, среди которых ARM11 и
семейство Cortex, ряд многоядерных процессоров, а
также
специализированных
высоконадежных
процессоров для ответственных применений.
Все
процессоры,
ориентированные
на
встраиваемые применения, делятся на три группы в
зависимости от требований конечных потребителей:
Cortex-A
Cortex-R
Cortex-M
Семейство процессоров ARMCortex
Семейство Cortex-A предназначено для встраивания в изделия,
требующие большой вычислительной мощности (тактовая частота до 3 –
4 ГГц), в том числе, в компьютеры и устройства связи.
Процессоры Cortex-R4/5/7 имеют архитектуру, предназначенную для
работы в очень ответственных устройствах, где надежность и
предсказуемость имеет первостепенное значение: авиация, транспорт,
энергетика и т.д. Это избыточные системы, реализованные на больше
чем одном ядре. В них имеется система контроля и предупреждения
программного сбоя.
Контроллер управления приводом подачи станка не требует
огромной вычислительной мощности и может быть реализован на более
дешевом процессоре из семейства Cortex-M. Именно это семейство
ориентировано на микроконтроллерные применения, связанные с
управлением оборудованием в реальном времени.

6. Упрощенная фон-Неймановская архитектура

Упрощенная фонНеймановская архитектура
ПРОЦЕССОР (ЦПУ)
Шина данных
ПАМЯТЬ
Регистр
команд
Коды команд и
данные
Блок декодирования команд
Шина
управления
Операционный блок
Устройство
управления и
синхронизации
Аккумулятор
Шина адреса
Регистры общего
назначения
Счетчик
команд PC
УВВ
(Периферийные
устройства)

7. Упрощенная фон-Неймановская архитектура

Упрощенная фонНеймановская архитектура
Программное управление. Все действия, которые должен выполнить
процессор описаны в программе, расположенной в памяти. Программа
представляет собой набор управляющих слов (кодов команд), которые
«понятны» данному процессору, то есть могут быть декодированы и
выполнены.
2) Последовательное выполнение команд. Команды считываются из памяти,
расшифровываются и выполняются последовательно. За порядком выполнения
команд следит специальный регистр процессора – счетчик команд PC,
содержимое которого автоматически модифицируется процессором в
зависимости от длины текущей команды. Он всегда содержит адрес очередной
команды, подлежащей выполнению. Последовательное выполнение команд
может нарушаться специальными командами условной или безусловной
передачи управления, суть которых сводится к загрузке в счетчик команд PC
нового адреса.
3) Память адресуется исключительно процессором. Каждая ячейка памяти
имеет свой персональный адрес, по которому процессор может обратиться к
ней по чтению или записи, выставляя адрес этой ячейки на шину адреса. В
памяти хранятся слова информации в двоичном коде, значения которых может
интерпретировать только процессор. Никакого признака типа хранимой
информации в памяти нет.

8. Упрощенная фон-Неймановская архитектура

Упрощенная фонНеймановская архитектура
4) Направление передачи данных от памяти к процессору (чтение)
или от процессора к памяти (запись) определяет только процессор,
выставляя на шину управления либо сигнал чтения, либо — записи
данных.
5) Память является однородной. «С точки зрения» процессора нет
возможности отличить, хранится ли в данной ячейке памяти код
команды (оптокод) или данные. Первый раз обращаясь к памяти
процессор «по умолчанию» считает, что расположенные там данные
– код операции. Код операции автоматически попадает в регистр
команд и подвергается расшифровке. Все последующие обращения
процессора к памяти зависят от типа текущей команды. Если эта
команда требует получения данных из памяти, то в процессе ее
выполнения следует дополнительный цикл обращения к памяти, но
уже за данными. Адрес этой ячейки памяти генерирует процессор и
выставляет на шину адреса. Считанные из памяти данные попадают
не в регистр команд, а в один из внутренних регистров процессора.

9. Недостатки фон-Неймановской архитектуры

Недостатки фонНеймановской архитектуры
1. Наличие общих шин для обращения к памяти программ и памяти данных
Наличие в процессорах с фон-Неймановской архитектурой общих шин для
обращения и к памяти программ, и к памяти данных делает одновременный,
параллельный доступ к этим областям памяти невозможным. Это означает, что
считывать очередной код команды из памяти и одновременно получать операнд из
памяти для уже считанной команды, находящейся на этапе выполнения,
невозможно.
2. Низкая пропускная способность канала связи между памятью и
процессором (интерфейса «Процессор» – «Память»)
3. Память является однородной.
Память программ, и память данных находятся в общем адресном
пространстве. Программа может располагаться в общем случае как в ПЗУ, так и в
ОЗУ. При этом архитектура процессора не предполагает никаких аппаратных
средств защиты области кодовой памяти с расположенной там программой от
преднамеренного или непреднамеренного доступа по записи.

10. Гарвардская архитектура процессоров

ПРОЦЕССОР (ЦПУ)
Интерфейс
кодовой
памяти
ПАМЯТЬ
ПРОГРАММ
Блок декодирования команд
Счетчик
команд PC
Операционный
блок
Устройство
управления и
синхронизации
Регистры общего
назначения
Интерфейс
памяти
данных
Интерфейс ПУ
ПАМЯТЬ
ДАННЫХ
УВВ
(Периферийные
устройства)

11. Гарвардская архитектура процессоров

Отличительная
архитектуры:
особенность
Гарвардской
Физически разная память для хранения
команд и данных (кодовая память и память
данных).
Физически разные интерфейсы «Процессор»
– «Кодовая память» и «Процессор» –
«Память данных».
Физически разные интерфейсы «Процессор»
– «Кодовая память» и «Процессор» –«УВВ».

12. Гарвардская архитектура процессоров

Отличительная особенность Гарвардской архитектуры:
Возможность параллельного выполнения нескольких
действий сразу: считывания кода очередной команды из
кодовой памяти; чтения значений операндов из памяти
данных или сохранения в ней результата предыдущей
операции.
Параллельно могут выполняться также операции
получения очередной команды из кодовой памяти и
чтения/записи в устройства ввода/вывода.
Если память данных является двух-портовой, то возможен
еще больший параллелизм: считывание очередного
операнда и одновременное сохранение результата
предыдущей операции (так и делается в сигнальных
процессорах)

13. Гарвардская архитектура процессоров

Недостатки Гарвардской архитектуры:
Значительное
процессора.
усложнение
аппаратной
реализации
Большое число шин означает также большое число выводов
процессора, если элементы памяти – внешние, а также наличие для
каждой из них своего собственного устройства управления и
синхронизации.
Именно усложнение аппаратуры задержало разработку
процессоров с Гарвардской архитектурой на десятилетия. Она
стала возможной только при резком повышении уровня интеграции
транзисторов на кристалле и удешевлении процессорных БИС.
3-уровневый конвейер команд
RISC-процессоров ARM-Cortex-M3/M4/M4F.
1-й такт
2-й такт
Загрузчик
Кодовая
память
Загрузчик
Кодовая
память
Дешифратор
3-й такт
Операци
-онный
блок
Загрузчик
Дешифратор
Кодовая
память
RISC-архитектура — Reduced Instruction Set
Computer – процессор с сокращенным набором
команд. Главной отличительной особенностью
таких
процессоров
является
выполнение
большинства команд за один такт процессора.
Это
возможно
только
в
конвейерных
архитектурах.
Практически все современные процессоры,
имеющие
Гарвардскую
архитектуру,
обрабатывают команды на так называемом
«конвейере
команд»
и
являются
RISCпроцессорами. Задача обработки команды
разбивается на несколько этапов, на каждом из
которых над командой выполняются строго
определенные действия. Эти действия зависят от
места расположения команды на конвейере.
Каждое место (каскад конвейера) имеет свой
собственный обработчик команды.

15. Конвейерная обработка команд

1-й такт
Загрузчик
Кодовая
память
1 такт – выбрать команду из памяти по
интерфейсу «Процессор» — «Кодовая
память».
Обработчик
этого
каскада
извлекает очередную команду из памяти и
размещает ее на конвейере – загружает
конвейер новой командой.

16. Конвейерная обработка команд

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

17. Конвейерная обработка команд

3-й такт
Операци
-онный
блок
Загрузчик
Кодовая
память
Дешифратор
3 такт – выполнить команду.
Обработчиком этого каскада конвейера
является операционный блок процессора
(включая АЛУ, умножитель, делитель,
сдвиговый регистр, сопроцессор).

Архитектура процессора компьютера — что такое и как узнать?!

На момент написания поста нет четкого определения — что такое «архитектура процессора». Если посмотреть с точки зрения разработчиков программного обеспечения, то под архитектурой процессора подразумевается его способность исполнять определенный набор машинных кодов.  Сегодня пока ещё большинство современных CPU для обычных компьютеров — дескотопов — относятся к семейству x86 или x32 — Intel-совместимых процессоров архитектуры IA32 (архитектура 32-битных процессоров Intel).
Основа её была заложена ещё в прошлом, 20 веке компанией Intel в процессоре i80386. Однако  затем, в последующих поколениях процессоров, она была дополнена и расширена компанией Intel — введены новые наборы команд MMX, SSE, SSE2 и SSE3. Но не только Интел занималась усовершенствованиями этой платформы. Сторонние производители тоже не отставали. Например, компания AMD разработала наборы команд EMMX, 3DNow! и Extended 3DNow! Но эти уже морально устаревшие процессоры потихоньку заменяют более быстрые и современных процессоры x64 (архитектура 64-битных процессоров), которые так же разрабатываются компаниями Intel и AMD. Соответственно тут добавились и новые наборы команд — EM64T, SSE 4.1 и 4.2, AES, AVX и т.д.


А вот с железячной точки зрения разработчов компьютерного оборудования — HardWare -понятие «архитектура процессора» или «микроархитектура» имеет немного другой смысл. Оно отражает основные принципы внутренней организации конкретных семейств процессоров. Так, к примеру, архитектура древних теперь уже процессоров Intel Pentium обозначалась как Р5, чуть более новых Pentium II и Pentium III — Р6, а относительно недавно устаревшие Pentium 4 относились к архитектуре NetBurst. В это же время компания AMD была вынуждена разработать собственную архитектуру — К7 для процессоров Athlon и Athlon XP, и К8 для Athlon 64.

Как узнать архитектуру своего процессора?

Архитектуру процессора Вы можете узнать либо по спецификациям и документации по процессору на сайте его производителя. Там, как правило, выложена вся полная информация по конкретной модели CPU. Второй путь — установка специальной программы. Например — CPU-Z.  Там, на вкладке CPU вы можете увидеть и поддерживаемые инструкции, и полные спецификации процессора своего ПК.

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

Рецензент: Ланфранко Лоприоре

Вместо того чтобы исследовать влияние различных параметров кэш-памяти, это моделирование трафика памяти команд при наличии кэш-памяти фокусируется на проблемах конструкции процессора. Как отмечают авторы, эта статья «представляет собой первое широкое исследование влияния процессорных архитектур на производительность кэша». В статье рассматриваются три семейства процессорных архитектур — стековые архитектуры, архитектуры набора регистров и архитектуры прямого соответствия (архитектуры с высокой степенью соответствия языку высокого уровня).Все архитектуры используют один и тот же словарь ALU, но имеют существенные различия в форматах инструкций и плотности кодирования инструкций. Авторы ограничивают анализ теми аспектами архитектуры кэша, которые, как известно, в первую очередь влияют на производительность, то есть размер кэша, размер строки и степень ассоциативности. Они сосредоточились на 24 различных конфигурациях кэша, выбрав шесть размеров кэша от 512 до 16 384 байт, строки размером 8 и 16 байт и ассоциативность степени 1 и 2.Тестовые программы были написаны на Паскале. Они представляют программы среднего размера на языке высокого уровня для приложений рабочих станций. Статические эталонные размеры для стековой архитектуры находятся в диапазоне от 8 948 до 73 980 байт, а динамические — от 2 538 512 до 35 113 324 байт. В документе указываются факторы проектирования кэш-памяти, которые следует учитывать при выборе архитектуры процессора. Он предлагает несколько интересных компромиссов пространства-времени между архитектурой процессора и архитектурой кэш-памяти со специальной ссылкой на реализацию микропроцессора.Статья тщательно мотивирована и хорошо организована, и специалист в данной области может ее прочитать, приложив разумные усилия. Презентация четко определяет наиболее важные результаты и их архитектурные последствия. С методологической точки зрения статья представляет собой важную попытку организовать различные результаты измерений и моделирования, касающиеся широкого спектра архитектур процессоров и кэш-памяти, в единую структуру. Это определенно будет полезно для компьютерных архитекторов, занимающихся проектированием новой архитектуры или реализацией существующей архитектуры с функциями кэширования памяти.Что касается использования в классе, статья может быть с пользой использована для анализа конкретных случаев проектирования процессоров и памяти.

Архитектура высокопроизводительного процессора

для крупномасштабных автомобильных интегрированных систем в рамках исследовательского проекта

Европейской инициативы по процессорам Образец цитирования: Рейнхардт Д., Даннебаум У., Шеффер М. и Трауб М., «Архитектура высокопроизводительного процессора для крупномасштабных автомобильных интегрированных систем в рамках исследовательского проекта European Processor Initiative», Технический документ SAE 2019- 01-0118, 2019, https://doi.орг/10.4271/2019-01-0118.
Скачать ссылку

Автор(ы): Доминик Рейнхардт, Удо Даннебаум, Михаэль Шеффер, Матиас Трауб

Филиал: БМВ АГ, Инфинеон Текнолоджиз АГ

Страниц: 8

Событие: Опыт Всемирного конгресса WCX SAE

ISSN: 0148-7191

Электронный ISSN: 2688-3627

Как определить архитектуру ЦП вашего ПК • MintGuide.Орг

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

Какая разрядность? Разрядность — возможность одновременной обработки определенного количества бит.
Все системы Linux выпускаются в двух версиях — 32-разрядная и 64-разрядная .
Архитектурные различия между 32 и 64-битными версиями Linux, конечно же, есть.
Наиболее важные особенности и отличия, непосредственно влияющие на пользователя и встречающиеся :

1. Максимальный объем памяти (ОЗУ).
2. Разрядность операционной системы (32- или 64-разрядная).
3. Разрядность процессора.

Максимальный объем оперативной памяти .

32-разрядная операционная система может использовать «видеть» не более 4 ГБ оперативной памяти. Это главное отличие, и самое существенное.Если объем оперативной памяти (ОЗУ) вашего компьютера – 2 ГБ, 32-битная операционная система работает с этим объемом нормально.

64-битная операционная система может работать с гораздо большими объемами памяти – до 192 ГБ.

Если у вас на компьютере с 4 Гб ОЗУ будет установлена ​​32-битная ОС, то он просто не увидит такого объема. Все, что она может использовать, это около 3,5 ГБ из 4 ГБ. Остальной объем она не может предоставить для запуска программ. Конечно, если установить в комп с 8 Гб ОЗУ, скажем, и при этом останется на 32-битной системе, то он тоже больше 3-х не увидит.5 ГБ от общего установленного объема, а оставшиеся 4,5 ГБ просто останутся неиспользованными.

Какими функциями обладает 64-битная система?

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

Первое, по сути, что 64-битная ОС «видит» большие объемы памяти и умеет с ними работать.

Второй — позволяет запускать 64-битные приложения (32-битные).

Разрядность процессора .

Соответственно, чтобы иметь возможность установить 64-битный линукс, ваш процессор должен поддерживать 64-битные инструкции (иначе вы даже не сможете начать установку 64-битного линукса). Называются эти операторы имеют разные варианты: Intel IA64, AMD — AMD64 .

Чтобы определить разрядность процессора (32 или 64 разряда) вашего компьютера, выполните в терминале следующую команду:

lscpu[/simterm]

Как определить архитектуру ЦП вашего ПК

картинка после выполнения команды, архитектура мой комп x86_64 , т.е.е. 64-бит. Но процессор поддерживает как 32-битную, так и 64-битную архитектуру установленных систем.
Если после выполнения команды вы видите цифры x86, i686 или i386, то процессор вашего компьютера 32-битный и вы можете устанавливать только 32-битные системы.

Чтобы проверить архитектуру установленной на компьютере ОС Linux, запустите в терминале одну из следующих команд:

uname -m[/simterm]

или
arch[/simterm]

Как определить ЦП архитектура вашего ПК

Удачи!!!

Как проверить, является ли ваш процессор 32-разрядным или 64-разрядным

Пользователи часто задают вопрос, какая у них 32-разрядная или 64-разрядная версия Windows.Это довольно легко выяснить, если в вашей системе уже установлена ​​Windows. Это только вопрос поиска информации. Однако стоит спросить, что определяет, какую Windows устанавливать? Установка 32-разрядной или 64-разрядной версии Windows зависит от архитектуры вашего процессора. Проще говоря, вам нужно проверить, является ли ваш процессор 32-битным или 64-битным, чтобы определить, какую Windows вам нужно установить. Вот как проверить архитектуру вашего процессора, а также как проверить, установлена ​​ли в вашей системе 32-разрядная или 64-разрядная версия Windows.

Процессор

— 32-битный или 64-битный

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

 эхо %PROCESSOR_ARCHITECTURE% 

Если командная строка возвращает AMD64, это означает, что архитектура вашего процессора 64-разрядная.

Командная строка без установленной Windows

Для этого вам понадобится загрузочный USB-накопитель с Windows 10.Вставьте USB и убедитесь, что это первое загрузочное устройство. Порядок загрузочных устройств можно изменить в BIOS. Установка Windows будет загружена. Выберите язык, метод ввода и часовой пояс, чтобы продолжить. Когда вы увидите экран «Установить сейчас», не нажимайте кнопку «Установить сейчас». Вместо этого посмотрите в нижний левый угол, где вы увидите опцию «Восстановить компьютер». Выберите его.

Затем выберите параметр «Устранение неполадок». В разделе «Дополнительные параметры» выберите «Командная строка». Запустите команду, чтобы узнать, является ли ваш процессор 32-разрядным или 64-разрядным.

Windows — 32-разрядная или 64-разрядная версия

Узнать, какая у вас Windows, 32-разрядная или 64-разрядная, несложно.

Windows 10

Откройте приложение «Настройки» в Windows 10. Перейдите в группу настроек «Система» и выберите вкладку «О программе». Прокрутите вниз, и он сообщит вам, установлена ​​ли у вас 32-разрядная или 64-разрядная версия Windows.

Windows 7, Windows 8/8.1, Windows 10

Это работает во всех версиях Windows от Windows 7 до Windows 10. Откройте панель управления.Перейдите в раздел «Система и безопасность». Нажмите «Просмотреть объем оперативной памяти и скорость процессора».

Это покажет вам полную информацию о вашей системе, включая установленную архитектуру Windows.

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

Гибридные инновации для изучения архитектуры процессоров

20 июля 2021 г.

История

Исследование архитектуры было святым Граалем продуктового дизайна. У него есть потенциал, чтобы полностью преобразовать разработку продукта. Исследования и оценки вариантов использования показали, что 80 % оптимизации системы и почти 100 % компромиссов между производительностью и энергопотреблением могут быть достигнуты во время изучения архитектуры.

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

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

Модели архитектуры

, как правило, имеют низкий приоритет для поставщиков IP и поставщиков EDA, поскольку они должны предоставлять RTL и программные инструменты, такие как компилятор, отладчики и IP-проверка.Кроме того, создание архитектурных моделей для крупномасштабного распространения требует специального набора навыков, поскольку процесс начинается заново для каждого типа ядра. Сборка занимает много времени, требует нескольких ресурсов и работает очень медленно. Каждое из новых процессорных ядер имеет множество вариаций: ширина чтения/записи в кэш, многопоточность, версии ISA, переменные этапы конвейера, логика расписания для отправки инструкций исполнительным модулям и буфер инструкций.

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

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

 

Рис. 1. Изучение архитектуры процессоров с использованием VisualSim на базе RISC-V и ARM

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

Этот подход имеет множество преимуществ, в том числе:

  1. Один библиотечный блок может моделировать от микроконтроллера до высокопроизводительного процессора.
  2. Библиотека процессоров имеет производительность моделирования для исследования одного кластера, группы многоядерных кластеров, системы на кристалле и всей системы, такой как ECU, радар или суперкомпьютеры.
  3. Этот подход предоставляет большую библиотеку ядер поставщиков.
  4. Гибридное ядро ​​отличается от стохастических ядер возможностью запуска программных трассировок.
  5. Расширенная библиотека имеет все возможности подключения и методы, позволяющие полностью интегрировать сгенерированные ядра с кэшами, динамическим системным кэшем, TileLink, AMBA AXI, NoC, DDR, LPDDR, GDDR, DMA и мостами.

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

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

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

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

Архитекторы могут выбрать из списка поставщиков или создать новый за несколько дней. После создания экземпляра ядра процессора пользователь может подключить другой полупроводниковый IP-адрес, чтобы сформировать полноценную SoC.За короткий промежуток времени пользователь может получить многоядерную многокластерную SoC на основе NoC с графическими процессорами, ускорителями TPU/AI, памятью, контроллерами дисплеев, Ethernet и другими интерфейсами. Чтобы имитировать эту модель, IO запускается потоками данных, сгенерированными с распределением Пуассона и диапазонами данных, а процессор выполняет программные трассировки для выполнения моделирования. Несколько SoC можно объединить через согласованный PCIe или CXL или подключить к высокоскоростной сети Ethernet или надежной объединительной плате OpenVPX.

Рис. 2. Модель конвейера процессора с нарушением порядка на уровне системы с иерархией кэш-памяти; Источник: VisualSim Architect

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

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

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

 

Рис. 3. Многокластерный многоядерный процессор с Aaa65AE для критически важных автомобильных приложений; Источник модели: VisualSim Architect

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

Точно так же каждое ядро ​​обеспечивает различные варианты организации иерархии кэша и связи с такими элементами, как обратная запись, ширина, размер блока, условие предварительной выборки, банки, ассоциативность, частный и системный и т. д. Затем есть память из DDR, LPDDR, GDDR, HBM и различных типов планировщиков в коммерческих контроллерах памяти.Наконец, различные варианты межсоединений: сеть на кристалле конкретного поставщика, чрезвычайно малый NoC, варианты AMBA и Tilelink. К этому добавьте DMA, мосты, прерывания, блок динамического общего кэша, ввод-вывод, Ethernet, CAN/CAN-FD и PCIe, чтобы получить полное требование.

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


Дипак Шанкар является основателем Mirabilis Design. Г-н Шанкар имеет более чем двадцатилетний опыт управления и маркетинга инструментов проектирования системного уровня. До создания Mirabilis Design он был вице-президентом по развитию бизнеса в MemCall, компании по производству полупроводников, не имеющей производственных мощностей, и SpinCircuit, совместном предприятии лидеров отрасли Hewlett Packard, Flextronics и Cadence.Он начал свою карьеру с разработки сетевых симуляторов для федеральных агентств США и управлял симуляторами дискретных событий для Cadence. Его обширный опыт в разработке продуктов и маркетинге связан с его связью с индустрией EDA в различных ролях. Выпускник Калифорнийского университета в Беркли со степенью MBA, он имеет степень магистра электроники Университета Клемсона и степень бакалавра электроники и коммуникаций Технологического института Коимбатура, Индия.

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

Другие работы Дипака

Архитектура параллельного встроенного процессора для обработки изображений на основе FPGA с использованием параллельных программных каркасов | Журнал EURASIP о достижениях в области обработки сигналов

3.1 Мотивация

Из-за растущей сложности встроенных систем MPSoC и приложений обработки изображений производительность многоядерных систем сильно ограничена стеной памяти, коммуникационной стеной и стеной сложности приложений. Несмотря на эффективность гетерогенных систем, перед проектировщиками и системными архитекторами стоят совершенно новые задачи по быстрому и эффективному проектированию параллельных архитектур, адаптированных к сложным приложениям для достижения целей по производительности, мощности и стоимости.Двумя основными проблемами являются (1) знание аппаратного языка, необходимое для разработки гетерогенных систем (глобальные коммуникационные соединения, интерфейсы межсоединений, сложные иерархии памяти и т. д.) и (2) сложность программирования приложений для использования различных вычислительных ядер. Поскольку многие инженеры знакомятся с C до того, как программируют свои приложения, мы предлагаем использовать однородные процессоры для быстрого прототипирования программного приложения, написанного на языке высокого уровня (C или C++).Следовательно, в нашем подходе задача состоит в том, чтобы адаптировать эти алгоритмы к однородной системе. Общая производительность системы может быть улучшена за счет совместной работы однородных ядер над различными последовательными частями приложения и увеличения количества процессоров для достижения высоких вычислительных требований для таких приложений. На самом деле эти приложения можно разбить на ряд подзадач, которые необходимо выполнять последовательно, причем каждая подзадача выполняется в выделенной аппаратной архитектуре, которая будет работать одновременно со всеми другими подзадачами.Благодаря управлению параллелизмом в этих приложениях пользователь может дополнительно различать алгоритмы по типу параллелизма (задача или/и данные), который учитывает его структуру, чтобы предлагать эффективные решения с параллельными задачами или/и данными параллельными вычислениями. в однородной архитектуре. Способ раскрыть и использовать повышенный параллелизм, чтобы, в свою очередь, добиться более высокой масштабируемости и производительности, заключается в написании параллельных приложений, которые используют параллелизм как задач, так и данных. Перед лицом требований реального времени мы разработали конвейерную архитектуру, которая предлагает возможность параллельной обработки для более эффективного выполнения сложных алгоритмов, используемых для ресурсоемких задач.Действительно, разработанные однородные многоступенчатые архитектуры хорошо подходят для вычислительных потребностей и производительности многозадачных приложений реального времени, требующих большого параллелизма. Использование конвейерной обработки повышает производительность по сравнению с традиционным последовательным выполнением задач. Благодаря эффективному использованию вычислительной мощности выполнение алгоритмов будет сбалансировано между этапами параллельных вычислений, что значительно улучшит общую производительность. Кроме того, предлагаемая архитектура состоит из набора параллельных вычислительных стадий, соединенных последовательно, где каждая стадия содержит гиперкуб процессоров.Каждый этап содержит несколько вычислительных узлов, соединенных через каналы связи и работающих параллельно, каждая из которых обрабатывает часть приложения (одна задача). Кроме того, два последовательных каскада соединены через однонаправленные FIFO, отвечающие за управление и синхронизацию. Действительно, разработка системы обработки изображений и видео может быть сложной и трудоемкой задачей; в результате процесс проектирования может занять месяцы в зависимости от сложности системы. Принятый метод, разработанный для устранения этого узкого места, заключается в создании графического инструмента под названием «CubeGen», который автоматически генерирует оборудование для данного приложения.На практике с этой структурой система полностью скрывает ненужные аппаратные сложности, и вы можете сосредоточиться только на оптимизации последовательного кода и изучении улучшений параллельного кода. Пользователю не нужно ничего знать об аппаратном языке; его приложение может быть разработано на языке C и автоматически внедрено в нашу аппаратную архитектуру. Для быстрого прототипирования сложных последовательных приложений мы решаем эти проблемы, предоставляя:

  •  Аппаратные архитектуры, поддерживающие одновременное использование параллелизма данных и параллелизма задач.Связь на каждом этапе конвейера в основном зависит от типа параллелизма (например, для статических данных или параллелизма задач требуются каналы связи точка-точка).

  •  Библиотеки параллельного программирования позволяют разработчикам ускорять работу приложений. В зависимости от структуры приложения (т. е. при заданном последовательном коде каждой подзадачи) пользователь может сгенерировать код параллельного приложения, решив, какой из набора параллельных каркасов является подходящим каркасом, составляющим основу нашей среды программирования (разделить, скелет вычислений и слияния (SCM), FARM для параллельной обработки данных/задач и PIPE для параллельного параллелизма задач, разделения, вычислений, связи всех со всеми и слияния (SCComCM) и т. д.).

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

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

3.2 Конвейерная однородная конструкция

На рисунке 1 показана концепция конвейерной архитектуры. Каждый этап конвейера состоит из 2 узлов D , каждый из которых содержит программный процессор Pi_j с собственной памятью (Mem) для прикладного программного обеспечения и хранения данных, а также устройство связи (Comm) (простой FIFO точка-точка (линия FSL) или более сложная связь, такая как пакет маршрутизатора с прямым доступом к памяти (DMA). Расположение различных узлов элементов на каждом этапе представляет собой статическую сеть с регулярной топологией гиперкуба.

Рисунок 1

Однородная параллельная архитектура процессора.

Мы определили набор правил для построения многоступенчатой ​​однородной архитектуры, из которой аппаратный код генерируется автоматически с помощью фреймворка CubeGen. Теперь предположим, что у нас есть конвейерная архитектура с K конвейерными стадиями, которые работают параллельно, каждая стадия содержит Ni=2Di узлов ( i  ∈ [1, K ]).Здесь мы определяем два разных типа многоэтапной архитектуры, как показано на рисунках 2 и 3. Взять два последовательных этапа конвейера ( i и i  + 1), если узлы куба на каждом этапе соединены двунаправленными каналами связи. (двухточечное соединение), каждый процессор Pi_j на этапе и будет обмениваться данными с процессором Pi+1_j на следующем этапе через двухточечное быстрое симплексное соединение (FSL), которое является однонаправленным (для j ∈ [0, N  - 1], где N  = min( N и , Н i +1 ) и N и и N i +1 — количество процессоров в стадии i и i  + 1 соответственно).Следовательно, каждый процессор на данном этапе может посылать свои выходные данные процессорам на следующем этапе, но не может получать от этих процессоров. На рис. 2 показана эта точка, многоэтапная архитектура, которая содержит три последовательных этапа на основе двунаправленного FSL типа «точка-точка» с 16 процессорами на первом этапе, 8 процессорами на втором этапе и только 4 процессорами на последнем этапе. Принимая во внимание, что если у нас есть два последовательных этапа, первый из которых основан на каналах точка-точка (FSL), а второй основан на аппаратном маршрутизаторе, только процессор Pi_0 на этапе и будет взаимодействовать с процессором Pi+1_0 на этапе этап i +1 (только процессоры с индексом 0 подключены по однонаправленному каналу (рис. 3)).

Рисунок 2

Аппаратная архитектура с тремя этапами конвейера (соединены через соединения точка-точка).

Рисунок 3

Трехступенчатая конвейерная архитектура (подключение через двухточечные соединения и IP-адреса аппаратного маршрутизатора).

Задержка обработки параллельных приложений в такой конвейерной архитектуре зависит от времени выполнения самого медленного этапа конвейера.Следовательно, время обработки для предлагаемой конвейерной архитектуры равно времени выполнения первого этапа tstage1 или времени выполнения второго этапа tstage2, в зависимости от того, какое из значений равно max(tstage1, tstage2). Чтобы повысить производительность приложения, среда CubeGen может генерировать несколько этапов конвейера с различными размерами сети, коммуникационными каналами, скелетами программного обеспечения и т. д. Конечно, это влияет на производительность каждого отдельного этапа; кроме того, это может значительно улучшить общую производительность всей конструкции.

3.3 Программно-аппаратные модули потокового видео

На практике приложения для обработки изображений и видео требуют передачи большого объема данных между входом и выходом системы. Например, цветное изображение 256 × 256 имеет размер 196 608 байт. Падение производительности для этих приложений связано с высокой задержкой связи между различными процессорами. Блоки захвата изображения играют жизненно важную роль в захвате входящего видео и, таким образом, определяют общую производительность системы.Фактически, системы на основе MPSoC в большинстве случаев не подходят для работы в режиме реального времени. Они не могут достичь требуемой высокой производительности, которая ожидается при работе с частотой кадров видео. Поэтому необходимо разрабатывать специализированные встроенные архитектуры. В нашем подходе видеоданные захватываются с ПК через входной порт Ethernet с разрешением кадров до 256 × 256 с частотой, установленной пользователем. Затем эти видеоданные необходимо сохранить в памяти, передать на узлы обработки и после обработки отобразить на мониторе через выходной порт VGA.Благодаря специальной конструкции устройства ввода видео, обеспечивающей возможность параллельной обработки для видеоприложений, мы создали гибкую архитектуру, которая позволяет пользователю выполнять обработку в реальном времени одного или нескольких кадров.

3.3.1 Видеомодуль Ethernet

Предлагаемый модуль IP Ethernet получает данные, поступающие от Ethernet-порта FPGA. Поэтому в разработанном IP используется аппаратный блок TriMode Ethernet MAC, доступный в используемой FPGA. В нашей системе мы использовали уменьшенный гигабитный независимый от среды интерфейс (RGMII) для реализации связи между Ethernet MAC и PHY (блок PHY (физический) реализует физический уровень Ethernet сетевой модели OSI).Для ввода/вывода данных управления (MDIO) порты Virtex-6 Embedded Tri-Mode Ethernet MAC (V6EMAC) используются для доступа к регистрам на внутреннем и внешнем физическом уровне. Предлагаемый модуль настраивается через набор регистров, доступных через Ethernet. Надежность и оперативность обеспечиваются проверкой полноты данных и механизмом повторной передачи. Предполагается, что этот проект можно будет быстро адаптировать и загрузить на FPGA, чтобы обеспечить среду тестирования оборудования.

3.3.2 Видеомодуль шины

Для отправки источника видео на большое количество вычислительных узлов мы предложили устройство видеоввода, состоящее из генератора кадров с несколькими захватчиками кадров (рис. 4).Фактически, мы используем этот дизайн, когда только часть (окно) входного изображения должна быть захвачена узлами обработки для обработки. На практике разработанный модуль генератора кадров получает выходные сигналы от ранее рассмотренного модуля IP Ethernet через соединения «точка-точка» (линии FSL) и передает входное изображение на один или несколько модулей захвата кадров. Полученные пиксели (каждый пиксель кодируется 8-битным уровнем серого) собираются в локальной памяти размером 64 КБ блочной ОЗУ (оперативной памяти) (BRAM), связанной с программными процессорами.Каждая локальная память хранит как минимум один полный кадр и используется, если пропускная способность шины не мала, для передачи оцифрованного потока видеоданных без потерь. Максимальный размер каждого полученного кадра составляет 256 × 256 пикселей, а время между двумя последовательными изображениями фиксируется пользователем при отправке кадра через порт Ethernet. После этого можно собирать оцифрованный поток видеоданных непосредственно в оперативной памяти (например, во входном буфере) каждого модуля захвата кадров, связанного с узлами обработки.К счастью, эти грабберы использовали сигналы синхронизации для управления импульсами синхронизации между входом (входящие данные с видеошины) и выходным буфером (исходящие данные на узлы обработки). Перестановка по вертикали (V-Swap) указывает на начало нового кадра; горизонтальная синхронизация (H-Sync) указывает последнюю строку кадра пикселя, тогда как вертикальная синхронизация (V-Sync) указывает последний пиксель каждого кадра.

Рисунок 4

Устройство захвата кадров на основе архитектуры ввода-вывода .

3.4 Алгоритмические скелеты

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

3.4.1 Каркас SCM

Этот каркас основан на статической геометрической декомпозиции (на основе строк, столбцов или прямоугольных фрагментов) данных, где данные разделены на несколько частей одинакового размера, и каждая часть обрабатывается другим работником (рис. 5).В базовом случае функция разделения является просто барьером синхронизации (все узлы обработки имеют свои подмножества данных), но также может содержать функцию предварительной обработки и/или функцию отправки каждого подмножества данных. Более того, процессы распределения входных данных и сбора выходных данных должны быть включены в определение скелета, выполняемое одним и тем же узлом обработки. Некоторые другие каркасы являются производными от этого каркаса, такие как SCComCM (разделение, вычисления, связь всех со всеми, вычисления, слияние) и SCComMC (разделение, вычисления, связь все со всеми, слияние, вычисления), которые представлены в параллельная реализация многослойной нейронной сети [13] и динамического нейронного поля (DNF) соответственно.Тем не менее, некоторые приложения для обработки изображений требуют обработки нерегулярного набора данных, например произвольного списка различных размеров окон, изменяющихся на каждой итерации (изображение). В этом случае статическое распределение вычислительных процессов не всегда подходит из-за неравномерной нагрузки между процессорами.

Рисунок 5
3.4.2 Скелет FARM

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

Рисунок 6
3.4.3 Скелет PIPE

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

Рисунок 7

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

3.5 Автоматическое создание предлагаемой архитектуры MPSoC

3.5.1 Обзор процесса проектирования

Процесс проектирования, применяемый для создания многопроцессорных реализаций на основе FPGA, идеально подходящих для платформы Xilinx или Altera FPGA, состоит из семи этапов, как показано на рисунке 8, которые Это (1) конфигурации проекта, (2) генерация проекта, (3) распараллеливание последовательного приложения, (4) компиляция параллельного алгоритма, (5) синтез проекта, (6) проверка проекта и (7) реализация проекта.

Рисунок 8

Предлагаемый дизайн потока.

Во время конфигураций проекта разработчик должен указать с помощью графического интерфейса CubeGen некоторые архитектурные параметры, включая размер сети, параметризацию MicroBlaze, объем памяти, выделенный каждому процессору, тип канала связи, а также использование или неиспользование специальных IP для ввода-вывода (блок VHDL, предназначенный для управления вводом-выводом непосредственно из видеопотока).На основе этих вариантов конфигурации среда CubeGen автоматически создает полную систему. Он включает в себя однородную сеть взаимодействующих процессоров (HNCP), компоненты памяти, которые должны быть настроены в соответствии с требованиями к памяти приложения (из-за программного кода и данных изображения) программного приложения; поэтому коммуникационные устройства, которые обеспечивают связь с очень малой задержкой (одно с использованием прямых каналов точка-точка, а другое с использованием аппаратного маршрутизатора), отладочные устройства, которые можно настроить для тестирования нашей конструкции MPSoC (UART, JTAG, MDM и т. д.) и IP-адреса ввода-вывода (из нашей библиотеки IP-адресов), которые необходимы для обработки видеоданных, поступающих с ПК.

Распараллеливание многозадачных приложений основано на основной идее о том, что большинство параллельных приложений были построены на ограниченном числе повторяющихся схем распараллеливания (параллельных скелетов), таких как SCM для параллелизма данных или статических задач, FARM для динамического обмена данными (или динамическое совместное использование задач) и PIPE для параллельного параллелизма задач и т. д. В качестве входных данных приложение, запрограммированное с использованием императивных языков, таких как C, C++, среда CubeGen, также генерирует специальные облегченные коммуникационные функции, которые настроены на конфигурацию сети (количество процессоров, каналы связи, схема распараллеливания…). Благодаря этим коммуникационным функциям разработчик может легко преобразовать последовательный алгоритм в параллельный код C. При компиляции параллельная программа компилируется на архитектуре HNCP с использованием компилятора GCC или G++.

Во время синтеза проекта вся система создается на платформе SoPC Xilinx (или Altera) с использованием высокоуровневых инструментов проектирования, таких как встроенный комплект разработки (EDK) от Xilinx или программное обеспечение для проектирования Quartus II от Altera. После этого код HDL можно проверить.Здесь, если проект не соответствует ограничениям по площади, первый цикл позволяет реконфигурировать и повторно генерировать HNCP для эффективного использования ресурсов.

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

В соответствии с предполагаемой производительностью разработчик может изменить конфигурацию архитектуры и/или модифицировать сходятся к подходящему решению. Разработчик несет ответственность за установку этих параметров с соответствующими значениями в соответствии со своим опытом и технологией. Полученные результаты производительности тесно связаны с выбранными параметрами для создания архитектуры HNCP.Наконец, полный код проекта реализован на плате Xilinx Virtex FPGA (или плате Altera Stratix FPGA) с использованием инструмента EDK (Quartus) для создания потока битов, который настраивает FPGA и даже загружает его.

3.5.2 Платформа CubeGen для среды Altera/Xilinx

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

Во-первых, разработчик начинает с указания своей собственной рабочей среды (среда Xilinx или Altera) и целевой платформы FPGA (рис. 9a). Во-вторых, разработчик может выбрать размер сети и количество этапов желаемой архитектуры (рис. 9b). Наконец, разработчик должен указать различные параметры, выбранные для сети (для каждого этапа), включая параметризацию программного процессора (MicroBlaze, NIOSII), объем памяти, выделяемой каждому процессору, тип канала связи и использование или неиспользование специальных IP для ввода-вывода (блок VHDL, предназначенный для управления вводом-выводом непосредственно из видеопотока) (рис. 10).Фактическая аппаратная архитектура создается путем выбора и параметризации легкодоступных реконфигурируемых аппаратных модулей и настраиваемых коммерчески доступных IP-адресов. Чтобы предложить больше вариантов, наша библиотека находится в стадии разработки и в настоящее время содержит, например, два программных процессора: NIOSII (Altera) и MicroBlaze (Xilinx), а также несколько выделенных аппаратных IP-адресов и т. д. Ранее разработчики стремились включить SecretBlaze (программный процессор), универсальный IP Ethernet. и т. д.

Рисунок 9

Графический интерфейс инструмента CubeGen. Целевая платформа, топология сети (a) , количество этапов и размерность сети (b) .

Рисунок 10

Параметризация архитектуры.

Фактически, CubeGen автоматизирует высокоуровневое описание HNCP за несколько секунд. В результате разработанная структура создает файл конфигурации, предназначенный для встроенного комплекта разработки (EDK) компании Xilinx или программного обеспечения для проектирования Quartus II компании Altera.Этот сгенерированный файл содержит описание системы с подключением между различными IP-адресами. Затем произвольно выбранные конструкции моделируются для определения подходящих значений параметров, чтобы сбалансировать производительность и стоимость желаемой реализации.

Наконец, разработчик запускает синтез системы с определенной целью, чтобы проверить, может ли быть реализована эта конфигурация HNCP. Эта методология идеально соответствует концепции быстрого прототипирования на SoPC.Разработчик быстро получает архитектуру, адаптированную для целевого приложения. Кроме того, CubeGen предоставляет удобную библиотеку (с точки зрения выбора конфигурации архитектуры) специальных облегченных коммуникационных функций, которые упрощают преобразование последовательного алгоритма в параллельный код C.

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

%PDF-1.3 % 488 0 объект > эндообъект внешняя ссылка 488 85 0000000016 00000 н 0000002051 00000 н 0000002546 00000 н 0000002836 00000 н 0000003347 00000 н 0000003370 00000 н 0000005340 00000 н 0000005610 00000 н 0000006714 00000 н 0000006737 00000 н 0000008719 00000 н 0000008742 00000 н 0000010642 00000 н 0000010665 00000 н 0000012594 00000 н 0000012617 00000 н 0000014338 00000 н 0000014361 00000 н 0000016092 00000 н 0000016115 00000 н 0000017877 00000 н 0000018160 00000 н 0000018183 00000 н 0000019964 00000 н 0000019985 00000 н 0000020007 00000 н 0000020683 00000 н 0000020705 00000 н 0000021698 00000 н 0000021721 00000 н 0000023535 00000 н 0000023558 00000 н 0000025818 00000 н 0000025840 00000 н 0000026819 00000 н 0000026842 00000 н 0000031917 00000 н 0000031940 00000 н 0000037804 00000 н 0000037827 00000 н 0000042973 00000 н 0000042996 00000 н 0000049465 00000 н 0000049488 00000 н 0000053925 00000 н 0000053948 00000 н 0000056835 00000 н 0000056858 00000 н 0000061868 00000 н 0000061891 00000 н 0000067868 00000 н 0000067891 00000 н 0000073428 00000 н 0000073451 00000 н 0000077900 00000 н 0000077923 00000 н 0000080799 00000 н 0000080822 00000 н 0000085843 00000 н 0000085866 00000 н 0000091990 00000 н 0000092013 00000 н 0000097019 00000 н 0000097042 00000 н 0000103315 00000 н 0000103338 00000 н 0000108735 00000 н 0000108758 00000 н 0000114820 00000 н 0000114843 00000 н 0000119398 00000 н 0000119421 00000 н 0000123675 00000 н 0000123698 00000 н 0000129071 00000 н 0000129094 00000 н 0000132825 00000 н 0000132847 00000 н 0000134083 00000 н 0000134106 00000 н 0000135398 00000 н 0000135419 00000 н 0000135691 00000 н 0000002108 00000 н 0000002524 00000 н трейлер ] >> startxref 0 %%EOF 489 0 объект > эндообъект 571 0 объект > поток Hb«b`a`a`[ Ȁ

.

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

Ваш адрес email не будет опубликован.