Как процессоры работают по новой архитектуре

Ryzen пять, основанный на архитектуре Pinnacle Ridge, до сих пор остается народным процессором. Сфера применения – широчайшая. При средней стоимости десять тысяч рублей в розницу этот шестиядерный камень может стать основой в разных комплектациях. Например, все процессоры Intel при включении начинают работать в режиме первых 16-битных ЭВМ, а все мониторы при включении начинают сначала работать в текстовом режиме 25 строк по 80 символов в строке (так называемом VGA-режиме). Процессоры MIPS основаны на архитектуре RISС (reduced instruction set computing), кото-рая позволяет увеличить быстродей-ствие за счет простых коротких инструк-ций, причем одинакового размера, чтобы их выборка и декодирование про-исходили наиболее быстро.

Архитектура процессора 101 – сердце вашего ПК

Разумеется, скорость работы с регистрами во много раз превосходит как скорость работы с ячейками памяти, расположенными в основном ОЗУ тут вообще на порядки… , так и с кэшами любого уровня. Поэтому большинство команд архитектуры x86 предусматривают осуществление действий именно над содержимым регистров, а не над содержимым памяти. Однако общий объём регистров процессора, как правило, очень мал - он не сравним даже с объёмом кэшей первого уровня. Поэтому де-факто код программы не на языке высокого уровня , а именно бинарный, «машинный» часто содержит следующую последовательность операций: загрузить в один из регистров процессора информацию из ОЗУ, загрузить в другой регистр другую информацию тоже из ОЗУ , произвести некое действие над содержимым этих регистров, поместив результат в третий - а потом снова выгрузить результат из регистра в основную память. Процессор в подробностях Особенности кэшей Частота работы кэша и его шина Во всех современных x86 CPU все уровни кэша работают на той же частоте, что и процессорное ядро, но это вовсе не всегда было так данный вопрос уже поднимался выше. Однако скорость работы с кэшем зависит не только от частоты, но и от ширины шины, с помощью которой он соединён с процессорным ядром. Как вы надеемся помните из ранее прочитанного, скорость передачи данных является, по сути, произведением частоты работы шины количества тактов в секунду на количество байт, которые передаются по шине за один такт. Разумеется, минимально разумной шириной шины кэша является ширина внешней шины самого процессора, то есть, по состоянию на сегодняшний день - 64 бита. Именно так, в духе здорового минимализма, и поступает компания AMD: в её процессорах ширина шины L1 L2 равна 64 битам, но при этом она двунаправленная, то есть, способна работать одновременно на передачу и приём информации. В духе «здорового гигантизма» в очередной раз поступила компания Intel: в её процессорах, начиная с Pentium III «Coppermine», шина L1 L2 имеет ширину… 256 бит! По принципу «кашу маслом не испортишь», как говорится.

Правда, шина эта однонаправленная, то есть в один момент времени работает либо только на передачу, либо только на приём. Споры о том, какой из подходов лучше двунаправленная шина, но более узкая, или однонаправленная широкая - продолжаются до сих пор… впрочем, равно как и множество других споров относительно технических решений, применяемых двумя основными конкурентами на рынке x86 CPU. Эксклюзивный и не эксклюзивный кэш Концепции эксклюзивного и не эксклюзивного кэширования очень просты: в случае не эксклюзивного кэша, информация на всех уровнях кэширования может дублироваться. Эксклюзивный кэш, в отличие от не эксклюзивного, предусматривает чёткое разграничение: если информация содержится на каком-то уровне кэша - то на всех остальных она отсутствует. Плюс эксклюзивного кэша очевиден: общий размер кэшируемой информации в данном случае равен суммарному объёму кэшей всех уровней - в отличие от не эксклюзивного кэша, где размер кэшируемой информации в худшем случае равен объёму самого большого уровня кэша. Минус эксклюзивного кэша менее очевиден, но он есть: необходим специальный механизм, который следит за собственно «эксклюзивностью» так, например, при удалении информации из L1-кэша, перед этим автоматически инициируется процесс её копирования в L2. Не эксклюзивный кэш традиционно использует компания Intel, эксклюзивный с момента появления процессоров Athlon на ядре Thunderbird - компания AMD. Следует, наверное, заметить, что недостатки не эксклюзивного кэша компания Intel в последнее время компенсирует просто, тупо, но весомо: наращивая его объёмы. Кроме того, увеличивать общий объём кэшируемой информации за счёт введения эксклюзивной архитектуры кэша имеет смысл только в том случае, когда выигрыш в объёме получается достаточно больши м. А ещё есть такое распространённое заблуждение, что архитектура кэша у CPU компании Intel «инклюзивная».

На самом деле - нет. Именно НЕ эксклюзивная. Инклюзивная архитектура предусматривает, что на «нижнем» уровне кэша не может находиться ничего, чего нет на более «верхнем». Не эксклюзивная архитектура всего лишь допускает дублирование данных на разных уровнях. Trace cache Концепция Trace cache, состоит в том, чтобы сохранять в кэше инструкций первого уровня L1I не те команды, которые считаны из памяти, а уже декодированные последовательности см. Таким образом, если некая x86-команда исполняется повторно, и она всё ещё находится в L1I, декодеру процессора не нужно снова преобразовывать её в последовательность команд «внутреннего кода», так как L1I содержит данную последовательность в уже декодированном виде. Концепция Trace cache очень удачно вписывается в общую концепцию архитектуры Intel NetBurst, ориентированную на создание процессоров с очень высокой частотой работы ядра. Однако полезность Trace cache для [относительно] менее высокочастотных CPU до сих пор находится под вопросом, так как сложность организации Trace cache становится сопоставима с задачей конструирования обычного быстрого декодера. Поэтому, отдавая должное оригинальности идеи, мы всё же сказали бы, что универсальным решением «на все случаи жизни» Trace cache считать нельзя. Суперскалярность и внеочередное исполнение команд Основная черта всех современных процессоров состоит в том, что они способны запускать на исполнение не только ту команду, которую согласно коду программы следует исполнить в данный момент времени, но и другие, следующие после неё.

Приведём простой канонический пример. Обратное также верно. На самом деле всё ещё сложнее. Так как команды 1 и 3 независимы друг от друга ни по исходным данным, ни по месту размещения результата , они могут быть выполнены параллельно - и будут выполнены параллельно. А вот команда 2 будет выполнена после них третьей - поскольку для того, чтобы результат вычислений был корректен, необходимо, чтобы перед этим была выполнена команда 1. Именно поэтому обсуждаемый в данном разделе механизм и называется «внеочередным исполнением команд» Out-of-Order Execution, или сокращённо «OoO» : в тех случаях, когда очерёдность выполнения никак не может сказаться на результате, команды отправляются на исполнение не в той последовательности, в которой они располагаются в коде программы, а в той, которая позволяет достичь максимального быстродействия. Теперь вам должно стать окончательно понятно, зачем современным CPU такое количество однотипных исполняющих блоков: они обеспечивают возможность параллельного выполнения нескольких команд, которые в случае с «классическим» подходом к проектированию процессора пришлось бы выполнять в той последовательности, в которой они содержатся в исходном коде, одну за другой. Процессоры, оснащённые механизмом параллельного исполнения нескольких подряд идущих команд, принято называть «суперскалярными». Однако не все суперскалярные процессоры поддерживают внеочередное исполнение. Так, в первом примере нам достаточно «простой суперскалярности» выполнения двух последовательных команд одновременно - а вот во втором примере без перестановки команд местами уже не обойтись, если мы хотим получить максимальное быстродействие.

Все современные x86 CPU обладают обоими качествами: являются суперскалярными, и поддерживают внеочередное исполнение команд. В то же время, были в истории x86 и «простые суперскаляры», OoO не поддерживающие. Например, классическим десктопным x86-суперскаляром без OoO был Intel Pentium. Справедливости ради, стоит заметить, что никаких заслуг в разработке концепций суперскалярности и OoO - нет ни у Intel, ни у AMD, ни у какого-либо иного в том числе из ныне почивших производителя x86 CPU. Комментарии, как говорится, излишни… Предварительное опережающее декодирование и кэширование Предсказание ветвлений В любой более-менее сложной программе присутствуют команды условного перехода: «Если некое условие истинно - перейти к исполнению одного участка кода, если нет - другого». С точки зрения скорости выполнения кода программы современным процессором, поддерживающим внеочередное исполнение, любая команда условного перехода - воистину бич божий. Ведь до тех пор, пока не станет известно, какой участок кода после условного перехода окажется «актуальным» - его невозможно начать декодировать и исполнять см. Для того чтобы как-то примирить концепцию внеочередного исполнения с командами условного перехода, предназначается специальный блок: блок предсказания ветвлений. Как понятно из его названия, занимается он, по сути, «пророчествами»: пытается предсказать, на какой участок кода укажет команда условного перехода, ещё до того, как она будет исполнена. В соответствии с указаниями «штатного внутриядерного пророка», процессором производятся вполне реальные действия: «напророченный» участок кода загружается в кэш если он там отсутствует , и даже начинается декодирование и выполнение его команд.

Причём среди выполняемых команд также могут содержаться инструкции условного перехода, и их результаты тоже предсказываются, что порождает целую цепочку из пока не проверенных предсказаний! Разумеется, если блок предсказания ветвлений ошибся, вся проделанная в соответствии с его предсказаниями работа просто аннулируется. На самом деле, алгоритмы, по которым работает блок предсказания ветвлений, вовсе не являются шедеврами искусственного интеллекта. Преимущественно они просты… и тупы. Ибо чаще всего команда условного перехода встречается в циклах: некий счётчик принимает значение X, и после каждого прохождения цикла значение счётчика уменьшается на единицу. Соответственно, до тех пор, пока значение счётчика больше нуля - осуществляется переход на начало цикла, а после того, как он становится равным нулю - исполнение продолжается дальше. Однако, несмотря на весь примитивизм, данная схема работает просто замечательно: например, в случае, если счётчик принимает значение 100, а «порог срабатывания» предсказателя ветвлений N равен двум переходам подряд на один и тот же адрес - легко заметить, что 97 переходов из 98 будут предсказаны правильно! Общий принцип действия такой же: если встроенная схема анализа доступа к данным в ОЗУ решает, что к некоему участку памяти, ещё не загруженному в кэш, скоро будет осуществлён доступ - она даёт команду на загрузку данного участка памяти в кэш ещё до того, как он понадобится исполняемой программе. К слову: грамотный Prefetch очень хорошо компенсирует высокую латентность подсистемы памяти, подгружая нужные данные в кэш, и тем самым, нивелируя задержки при доступе к ним, если бы они находились не в кэше, а в основном ОЗУ. Однако, разумеется, в случае ошибки блока предвыборки данных, неизбежны негативные последствия: загружая де-факто «ненужные» данные в кэш, Prefetch вытесняет из него другие быть может, как раз нужные.

Кроме того, за счёт «предвосхищения» операции считывания, создаётся дополнительная нагрузка на контроллер памяти де-факто, в случае ошибки - совершенно бесполезная. Алгоритмы Prefetch, как и алгоритмы блока предсказания ветвлений, тоже не блещут интеллектуальностью: как правило, данный блок стремится отследить, не считывается ли информация из памяти с определённым «шагом» по адресам , и на основании этого анализа пытается предсказать, с какого адреса будут считываться данные в процессе дальнейшей работы программы. Впрочем, как и в случае с блоком предсказания ветвлений, простота алгоритма вовсе не означает низкую эффективность: в среднем, блок предвыборки данных чаще «попадает», чем ошибается и это, как и в предыдущем случае, прежде всего связано с тем, что «массированное» чтение данных из памяти, как правило происходит в процессе исполнения различных циклов. Заключение Я - тот кролик, который не может начать жевать траву до тех пор, пока не поймёт во всех деталях, как происходит процесс фотосинтеза! Скажем даже больше и пусть с головы упадёт корона! Не можем. Для одних задач лучше один, для других - другой, а тут ещё цена разная, доступность, симпатии конкретного пользователя к определённым маркам… Не имеет задача однозначного решения. Если бы имела - наверняка кто-то бы его нашёл, и стал бы самым знаменитым обозревателем за всю историю независимых тестовых лабораторий. Хотелось бы подчеркнуть ещё раз: даже полностью усвоив и осмыслив всю информацию, изложенную в данном материале - вы по-прежнему не сможете предсказать, какой из двух процессоров будет быстрее в ваших задачах, глядя только на их характеристики. Во-первых - потому, что далеко не все характеристики процессоров здесь рассмотрены.

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

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

Первый уровень кэша, называемый уровнем L1, находится непосредственно на самом процессоре и разделен на две части: инструкционный кэш L1i и данных кэш L1d. Инструкционный кэш содержит инструкции, которые нужны для выполнения программ, а данных кэш хранит данные, с которыми работает процессор. Если процессору требуется доступ к данным, он сначала проверяет, находятся ли они в L1d.

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

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

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

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

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

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

Индивидуальные чипы отделяются и с этой точки зовутся матрицами. Плохие бракуются, а хорошие упаковываются в PGA Pin Grid Arrays корпус - керамический прямоугольник с рядами штырьков на дне, именно такой корпус большинство людей принимают за процессор. По сегодняшним стандартам это чудовищно. Если предположить, что Pentium Pro изготовлен по такой технологии он был бы размером 14x20 сантиметров, и был бы медленным - быстрые транзисторы малы. Большинство процессоров сегодня используют 0.

Программная совместимость На заре компьютерного века многие люди писали свои программы, а точный набор исполняемых инструкций процессора не был существенен. Сегодня, однако, люди ждут возможность использовать готовые программы, так что набор инструкций первостепенен. Хотя ничего нет магического с технической точки зрения в архитектуре Intel 80x86, она уже давно стала индустриальным стандартом. Когда сторонние производители делают процессор с другими инструкциями, он не будет работать с принятым стандартным программным обеспечением, и в результате не продается. В дни 386-х и 486-х компании, например AMD, клонировали интеловские процессоры, но это всегда было с отставанием на поколение.

K5 имел собственный набор инструкций и транслировал инструкции 80x86 во внутренние при загрузке, так что K5 не требовал при проектировании предварительного создания Pentium. Многое в действительности создавалось параллельно, сдерживала только схема трансляции. Когда K5 наконец появился, он перепрыгнул Pentium в отношении производительности при одинаковых частотах. Другой путь, по которому процессоры с разной архитектурой относительно единообразны к внешнему миру, - это стандартная шина. В этом отношении введенная в 1994 году шина PCI - один из наиболее важных стандартов.

PCI определяет набор сигналов, разрешающих процессору общаться с другими частями PC. Он включает шины адреса и данных, плюс набор управляющих сигналов. Процессор имеет свои собственные шины, так что чипсет используется для преобразования из этой "частной" шины в "публичную" PCI. Архетектура Pentium представляет шаг вперед от 486. Это был основанный на CISC чип с более 3.

Внутри процессор использовал 32-разрядную шину, но внешняя шина данных была 64-разрядна. Внешняя шина требовала других материнских плат, и для их поддержки Intel выпустил специальный чипсет для связи Pentium с 64-разрядным внешним кэшем и шиной PCI. Большинство Pentium 75MHz и выше работают на 3. У Pentium двойной потоковый суперскалярный дизайн, позволяющий ему выполнять больше инструкций за тик. Пять стадий загрузка, декодирование, генерация адреса, выполнение и выгрузка при исполнении целочисленных инструкций остаются, как в 486, но Pentium имеет два параллельных целочисленных потока, позволяющих ему читать, интерпретировать, выполнять, и записывать две операции одновременно.

Так проводятся только целочисленные операции - с дробными числами обращается отдельный модуль плавающей точки. Pentium также использует два 8-килобайтных ассоциативных буфера, более известных как первичный или первого уровня кэш - один для инструкций и другой для данных. Объем кэша удвоен по сравнению с предшественником, 486. Этот кэш добавляет к производительности, поскольку действует как временное хранилище информации для данных, доставляемых из медленной основной памяти. Буфер Ветвлений BTB обеспечивает динамическое предсказание ветвлений.

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

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

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

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

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

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

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

Это как если бы Интернет, электронная почта и многие другие системы, которые мы сегодня активно используем, разрабатывались почти без учёта безопасности. Все существующие меры защиты «прикручивались» по мере случавшихся инцидентов, чтобы мы чувствовали себя защищёнными. Касательно процессоров, подобная практика больно ударила по производителям, и особенно по Intel. Уязвимости Spectre и Meltdown — это, вероятно, самые известные примеры того, как проектировщики добавляют функции, значительно ускоряющие процессор, не в полной мере осознавая связанные с этим угрозы.

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

Современные десктопные процессоры архитектуры x86

Современные процессорные архитектуры Они работают совершенно по-другому в отличие от полевых транзисторов: если для последних туннелирование электронов – это провал, транзистор не может закрыться и превращается в проводник, то вот TFETS-транзисторы именно на этом эффекте и работают.
Что такое архитектура процессора, какая бывает и используется в смартфонах AMD Ryzen 9000 на архитектуре Zen 5 будут представлены уже во второй половине 2024 года. Сообщается, что анонс новинок может состояться примерно в то же время, когда Intel покажет свежие настольные процессоры Arrow Lake-S на новом разъеме LGA 1851.
Проектирование процессорных ядер. Часть 3. Микроархитектуры ядра Они работают совершенно по-другому в отличие от полевых транзисторов: если для последних туннелирование электронов – это провал, транзистор не может закрыться и превращается в проводник, то вот TFETS-транзисторы именно на этом эффекте и работают.

Как устроен процессор. Почему за ARM будущее?

5.1. Архитектура и микроархитектура процессоров. Существует две основные архитектуры процессоров. Первая называется RISC (Reduced Instruction Set Computer) — компьютер с уменьшенным набором команд. В новой архитектуре процессоров Intel Эффективное ядро может обрабатывать лишь один поток за раз, в то время как Производительное ядро может работать в многопоточном режиме. Основные виды архитектур. По форматам используемых команд (инструкций) можно выделить: CISC–архитектуру, которая относится к процессорам (компьютерам) с полным набором команд (Complete Instruction Set Computer— CISC). О сервисе Прессе Авторские права Связаться с нами Авторам Рекламодателям Разработчикам Условия использования Конфиденциальность Правила и безопасность Как работает YouTube Тестирование новых функций.

Cisc и Risc процессоры: архитектура, иерархия, разновидности

Архитектура процессора 101 – сердце вашего ПК – Гейминаториум А это значит, если два процессора будут работать на одинаковой тактовой частоте, победит тот процессор, у которого выше IPC. В процессорах Ice Lake, Intel использует новую архитектуру впервые с 2015 года. Она называется Sunny Cove.
Чем отличаются архитектуры процессоров и можно ли их сравнивать? | Мир технологий процессор, но все операции сложения выполняются в одном блоке суммирования, который имеет конвейерную структуру. Оба типа процессоров работают с массивами данных.
Что такое архитектура процессора Стоит сразу уточнить, что эти новые процессорные ядра будут использоваться во всех флагманских системах на кристалле от Qualcomm, Samsung и MediaTek начиная с 2023 года — речь о процессорах Snapdragon 8 Gen 2, Exynos 2300 и Dimensity 9200 соответственно.
Как разрабатываются и создаются процессоры? Часть 4: Будущее компьютерных архитектур и разработок. Что касается изменений на уровне архитектуры, то в P54C был добавлен полуторный множитель — отныне процессоры работали на более высокой частоте, чем системная шина. Скорость работы процессоров составляла 75 МГц, 90 МГц или 100 МГц.

Эволюция процессоров. Часть 4: архитектура RISC и развитие индустрии в 1990-е годы

Чипы Core выросли из Pentium M, которые в свою очередь базируются на архитектуре P6, легшей в основу Pentium Pro и последующих разработок. AMD очень преуспела выпустив процессор Athlon, основанный на архитектуре K7. Они работают совершенно по-другому в отличие от полевых транзисторов: если для последних туннелирование электронов – это провал, транзистор не может закрыться и превращается в проводник, то вот TFETS-транзисторы именно на этом эффекте и работают. Первыми представителями архитектуры CMP (ядра на кристалле) ста-ли процессоры, предназначенные для использования в серверах, это был про-стой тандем, в таких приборах на одной подложке размещаются два, по сути, независимых ядра.

Cisc и Risc процессоры: архитектура, иерархия, разновидности

Повышение тактовой частоты возможно, если применить конвейеризующие регистры, очевидным расположением для которых являются точки OpA и OpB на входе АЛУ. Схема работы трехтактного конвейера «выборка — декодирование — исполнение» На рис. Такая схема потенциально достигает более высокой тактовой частоты, поскольку тракт данных конвейеризован и задержки чтения операндов из регистрового файла больше не прибавляются к задержке в АЛУ. На практике, тем не менее, необходимо оценить получаемый выигрыш, поскольку тактовая частота может быть ограничена и другими факторами.

Конвейер работает следующим образом: На стадии «выборка» по значению счетчика команд PC из памяти программ читается команда. На стадии «декодирование» прочитанная команда используется для выборки операндов и их записи во входные регистры АЛУ. На такте «исполнение» вычисленное значение записывается в регистровый файл.

При реализации такой схемы следует сразу обратить внимание, что прочитанная команда используется на двух различных стадиях. Поэтому следует создать конвейер и для команды, чтобы информация об операндах применялась на стадии «декодирование», а информация о выполняемой операции АЛУ — на стадии «исполнение», то есть была задержана на еще один такт. Действительно, при выполнении команды вида mov R0, [R1] будут выполнены следующие действия: Команда прочитана из памяти программ.

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

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

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

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

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

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

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

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

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

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

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

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

Как было показано выше, такая ситуация должна вызвать конфликт, поскольку в момент записи нового значения на вход АЛУ попадает старое содержимое регистра. При реализации подхода data bypass новое значение записывается не только в сам регистр, но и в регистр операнда, если номер регистра для записи результата совпадает с номером регистра операнда. Несмотря на то, что на рис.

Для этого необходимо убедиться, что данные из АЛУ подаются именно на последний мультиплексор в цепочке, то есть после мультиплексирования одного из регистров в регистры OpA, OpB записывается либо значение регистра, либо данные из АЛУ. Нестандартные микроархитектуры В [2] рассматривается ряд процессорных микроархитектур, которые не нашли должного развития в силу допущенных концептуальных ошибок или же, как подчеркивается авторами, из-за несоответствия текущему технологическому уровню, потребностям рынка и тенденциям в технике. Такие архитектуры скорее могут рассматриваться как примеры не ошибок, а реализации ультимативных подходов к достижению каких-либо характеристик.

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

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

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

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

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

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

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

Отличается расширенным набором инструкций и удлиненным конвейером. Применяется во флагманских чипах Snapdragon, например, 821. Еще одна микроархитектура, производная от архитектуры ARMv8. Используется Samsung в топовых процессорах семейства Exynos. В сравнении с базовой Cotrex A72 имеет небольшие отличия, касающиеся энергосбережения и производительности.

Возможно вам будет интересно: Архитектура современных процессоров стр. Одноядерные процессоры 3. Переход к двуядерным процессорам 4. Виртуализация 5. Кратко о некоторых других технологиях 6.

Будущие технологии Библиографический список Введение Процессор или центральный процессор, ЦП — это транзисторная микросхема, которая является главным вычислительным и управляющим элементом компьютера. Процессор представляет собой специально выращенный полупроводниковый кристалл, на котором располагаются транзисторы, соединенные напыленными алюминиевыми проводниками. Кристалл помещается в керамический корпус с контактами. В первом процессоре компании Intel — i4004, выпущенном в 1971 году, на одном кристалле было 2300 транзисторов, а в процессоре Intel Pentium 4, выпущенном 14 апреля 2003 года, их уже 55 миллионов. Современные процессоры изготавливаются по 0,13-микронной технологии, то есть толщина кристалла процессора, составляет 0,13 микрон.

Для сравнения — толщина кристалла первого процессора Intel была 10 микрон. Рисунок 1 — принципиальная схема процессора Управляющий блок — управляет работой всех блоков процессора. Арифметико-логический блок — выполняет арифметические и логические вычисления. Регистры — блок хранения данных и промежуточных результатов вычислений — внутренняя оперативная память процессора. Блок декодировки — преобразует данные в двоичную систему.

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

В процессорах Pentium 4 кэш 1-го уровня поделен на две части — кэш данных и кэш команд. Существует два типа тактовой частоты — внутренняя и внешняя. Внутренняя тактовая частота — это тактовая частота, с которой происходит работа внутри процессора. Внешняя тактовая частота или частота системной шины — это тактовая частота, с которой происходит обмен данными между процессором и оперативной памятью компьютера. До 1992 года в процессорах внутренняя и внешняя частоты совпадали, а в 1992 году компания Intel представила процессор 80486DX2, в котором внутренняя и внешняя частоты были различны — внутренняя частота была в 2 раза больше внешней.

В современных процессорах, например, при тактовой частоте процессора 3 ГГц, частота системной шины 800 МГц. Для чего предназначены дополнительные наборы команд? В первую очередь — для увеличения быстродействия при выполнении некоторых операций. Одна команда из дополнительного набора, как правило, выполняет действие, для которого понадобилась бы небольшая программа, состоящая из команд основного набора. Опять-таки, как правило, одна команда выполняется процессором быстрее, чем заменяющая ее последовательность.

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

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

Впрочем, частота процессоров и безо всякого разгона возрастала в геометрической прогрессии — в полном соответствии с так называемым «законом Мура» в свое время Гордон Мур предсказал, что каждые полтора года частота микропроцессоров будет удваиваться вместе с числом транзисторов на кристалле. Этот принцип успешно работал вплоть до 2004 г. Ведь размеры транзисторов «ужимать» до бесконечности нельзя. Уже сегодня процессоры производятся по 65-наномикронной технологии технология 65 нанометров , а толщина «подложки» транзисторов не превышает 1 нм всего 5 атомов. В ближайшие годы размеры транзисторов могут сократиться до 22 нм, что близко к физическому пределу.

Одновременно с уменьшением размеров транзисторов резко возрастает количество тепла, которое выделяет работающий процессор — например у последних моделей Pentiumтепловыделение составляет около 120 ватт что соответствует двум бытовым электролампам! Этот 16-битный процессор мог работать с 1 Мбайт памяти по внешней 20-битной адресной шине. Первые ПК использовали производную процессора 8088, которая имела всего 8-битную внешнюю шину данных. Что интересно, системы управления в американских шаттлах используют процессоры 8086, и NASA пришлось в 2002 году покупать процессоры через eBay, поскольку Intel их больше не производила. Таблица 2 Характеристики 8086 80286: 16 Мбайт памяти, но всё ещё 16 битов Выпущенный в 1982 году, процессор 80286 был в 3,6 раза быстрее 8086 на той же тактовой частоте.

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

Вышло несколько версий этого процессора. Две наиболее известные: 386 SX Single-word eXternal , который использовал 16-битную шину данных, и 386 DX Double-word eXternal с 32-битной шиной данных. Можно отметить ещё две версии: SL, первый процессор x86 с поддержкой кэша внешнего и 386EX, который использовался в космической программе например, телескоп «Хаббл» использует этот процессор. Архитектура компьютера — Википедия Материал из Википедии — свободной энциклопедии Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 5 января 2019; проверки требуют 5 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 5 января 2019; проверки требуют 5 правок.

Архитектура связана с программными аспектами. Аспекты реализации например, технология, применяемая при реализации памяти не являются частью архитектуры[1]. Выделяют несколько уровней организации компьютера компьютерной архитектуры , от двух и более:[1] Схема, иллюстрирующая многоуровневую структуру компьютера Уровень 0 Цифровой логический уровень, это аппаратное обеспечение машины, состоящий из вентилей. Электронные схемы исполняют машинно-зависимые программы. Совокупность регистров процессора формирует локальную память.

Уровень 2 Уровень архитектуры системы команд, трансляция ассемблер. Уровень 3 Уровень операционной системы, трансляция ассемблер. Это гибридный уровень: одна часть команд интерпретируется операционной системой, а другая — микропрограммой. Уровень 4 Уровень языка ассемблера, трансляция компилятор. Четвертый уровень и выше используется для написания прикладных программ, с первого по третий — системных программ.

Программы в удобном для человека виде транслируются на язык уровней 1-3. Уровень 5 Язык высокого уровня. Программы на языках высокого уровня транслируются обычно на уровни 3 и 4. Первая документально оформленная компьютерная архитектура находилась в переписке между Чарльзом Бэббиджем и Адой Лавлейс, описывающим механизм анализа.

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

Разработчики обеспечены работой на многие годы вперед, ведь каждая модель нуждается в своей версии — тогда работа программы будет происходить без сбоев. Какие основные разновидности процессоров известны? Соответственно скачивать его не советуют. Впрочем, часть программ, созданных для 32-битных систем, подходят к 64-разрядным и отлично работают. Какие бывают операционные системы и в чём разница между этими процессорами? ARM — востребованная архитектура, созданная для Android.

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

Процессоры MIPS основаны на архитектуре RISС (reduced instruction set computing), кото-рая позволяет увеличить быстродей-ствие за счет простых коротких инструк-ций, причем одинакового размера, чтобы их выборка и декодирование про-исходили наиболее быстро. В этой статье мы расскажем о новых процессорах, которые появятся в 2024 году, их технологических особенностях и преимуществах, а также о том, какие компании являются лидерами рынка и какие процессоры подойдут для разных сфер применения. Для решения этой проблемы было предложено ввести 64-разрядное расширение к уже существующей 32-разрядной архитектуре x86. Новая версия архитектуры получила название EM64T, или чаще x86-64, хотя по старинке нередко называют просто x86. Своим созданием новая архитектура обязана американскому инженеру Дэвиду Паттерсону, руководителю проекта Berkeley RISC с 1980 по 1984 годы. В рамках данного проекта были разработаны дебютные процессоры новой архитектуры — RISC I и RISC II. Судя по всему этот чиплет не особо поменялся, про него не было сказано ни единого слова. А вот чиплеты с ядрами — изменились. Ещё со времён первых процессоров на архитектуре Zen процессоры состояли из пары 4-х ядерных модулей, соединенных шиной Infinity Fabric. Как пишет 3DNews, ранее эта технология применялась в энергоэффективных мобильных чипах Lakefield, а также в серверных Sapphire Rapids и GPU серии Ponte Vecchio. Архитектура чипов, пообещали в Intel, также будет полностью новой.

Эволюция процессоров. Часть 4: архитектура RISC и развитие индустрии в 1990-е годы

RISC-V: архитектура, перспективы, Java-порт Шаблон:Lowercase Шаблон:Архитектура CPU x86 (Шаблон:Lang-en) — архитектура процессора c одноимённым набором команд, впервые реализованная в процессорах компании Intel. Название образовано от двух цифр, которыми заканчивались названия процессоров Intel.
x86 – всё. Взлет и падение ключевой процессорной архитектуры двадцатилетия Тактовая частота указывает скорость работы процессора в герцах – количество рабочих операций в секунду. Тактовая частота процессора подразделяется на внутреннюю и внешнюю.

Научная работа: Архитектура современных процессоров

В этой статье вы узнаете, как устроены процессоры по новой архитектуре, которая обещает революцию в вычислениях. Кто разрабатывает и производит эти процессоры, какие области применения они имеют и какие вызовы ждут их в будущем. Так вот, архитектура — это общий принцип устройства и работы процессора, а микроархитектура — всего лишь один из вариантов ее реализации, имеющий свои особенности, но сохранающий совместимость с базовой архитектурой. По первым тестам процессоры с ядрами Intel Arc работают в играх до двух раз быстрее, чем ускорители Intel прошлого поколения при аналогичном энергопотреблении. Новая архитектура помогает Intel обойти и главного конкурента — AMD. По подобной схеме работает множество высокопроизводительных процессоров, где показательным примером является первый вариант процессора Intel Pentium, имевшего два конвейера (так называемые U‑ и V‑конвейеры).

Почему процессоры Apple M1 такие быстрые

Так вот, архитектура — это общий принцип устройства и работы процессора, а микроархитектура — всего лишь один из вариантов ее реализации, имеющий свои особенности, но сохранающий совместимость с базовой архитектурой. p), а часть – энергоэффективное (efficient - e). Их же называют «большими» и «малыми» соответственно. Унаследованные программы, разработанные для старых процессоров, не поддерживающих новые расширения, должны работать без перекомпиляции на новых процессорах аналогичной архитектуры и с той же системой команд, но с множеством расширений. В новой архитектуре процессоров Intel Эффективное ядро может обрабатывать лишь один поток за раз, в то время как Производительное ядро может работать в многопоточном режиме. На архитектуре RISC основано большинство современных процессоров. Это, во-первых, уже упоминавшиеся процессоры ARM, а также PowerPC, SPARC и многие другие. Популярнейшие процессоры Intel уже много лет основаны на RISC-ядре, начиная с 1990-х годов.

Современные десктопные процессоры архитектуры x86

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

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

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

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

Разместив вычисления ближе к памяти, мы можем получить огромную экономию энергии и времени, ведь теперь нет нужды гонять данные столь много и долго. Вычислительные модули имеют прямой доступ к нужным им данным, поскольку находятся непосредственно в памяти. Эта идея всё ещё находится в зачаточном состоянии, но результаты выглядят многообещающе. Одно из препятствий, стоящих на пути реализации near-memory computing — это ограничения, накладываемые процессом изготовления чипа. Как говорилось в третьей части, процесс кремниевого производства очень сложен и состоит из десятков этапов. Эти процессы обычно специализированы для изготовления либо быстрых логических элементов, либо элементов памяти. Если попытаться создать чип памяти с помощью процесса, оптимизированного для вычислительных элементов, то получится чип с чрезвычайно низкой плотностью элементов.

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

До недавнего времени о безопасности процессоров думали чуть ли не в последнюю очередь. Это как если бы Интернет, электронная почта и многие другие системы, которые мы сегодня активно используем, разрабатывались почти без учёта безопасности. Все существующие меры защиты «прикручивались» по мере случавшихся инцидентов, чтобы мы чувствовали себя защищёнными. Касательно процессоров, подобная практика больно ударила по производителям, и особенно по Intel. Уязвимости Spectre и Meltdown — это, вероятно, самые известные примеры того, как проектировщики добавляют функции, значительно ускоряющие процессор, не в полной мере осознавая связанные с этим угрозы. При разработке же современных процессоров гораздо большее внимание уделяется безопасности как ключевой части архитектуры. При её повышении часто страдает производительность, но учитывая ущерб, который компании могут понести из-за появления серьёзных уязвимостей, очевидно, что безопасностью пренебрегать не стоит в той же мере, как производительностью. В предыдущих частях нашей серии мы коснулись таких техник, как высокоуровневый синтез, позволяющий проектировщикам сначала описать структуру на языке высокого уровня, а затем позволить сложным алгоритмам определить оптимальную для выполнения функции аппаратную конфигурацию. С каждым поколением этапы проектирования становятся всё более дорогостоящими, поэтому инженеры ищут способы ускорения разработки.

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

Встроенное графическое ядро Процессор может быть оснащен графическим ядром, отвечающим за вывод изображения на монитор. В последние годы, встроенные видеокарты такого рода хорошо оптимизированы и без проблем тянут основной пакет программ и большинство игр на средних или минимальных настройках. Для работы в офисных приложениях и серфинга в интернете, просмотра Full HD видео и игры такой видеокарты вполне достаточно. Количество ядер потоков Многоядерность одна из важнейших характеристик центрального процессора, но в последнее время ей уделяют слишком много внимания. На замену одноядерным пришли процессоры с 2, 4 и 8 ядрами. Если 2 и 4-ядерные вошли в обиход очень быстро, процессоры с 8 ядрами пока не так востребованы.

Для использования офисных приложений и серфинга в интернете достаточно 2 ядер, 4 ядра требуются для САПР и графических приложений, которым просто необходимо работать в несколько потоков. Что касается 8 ядер, очень мало программ поддерживают так много потоков, а значит, такой процессор для большинства приложений просто бесполезен. Обычно, чем меньше потоков, тем больше тактовая частота. Из этого следует, что если программа, адаптированная под 4 ядра, а не под 8, на 8-ядерном процессе она будет работать медленнее. Но этот процессор отличное решение для тех, кому необходимо работать сразу в большом количестве требовательных программ одновременно. Равномерно распределив нагрузку по ядрам процессора можно наслаждаться отличной производительностью во всех необходимых программ. В большинстве процессоров количество физических ядер соответствует количеству потоков: 8 ядер — 8 потоков. Но есть процессоры, где благодаря Hyper-Threading, к примеру, 4-ядерный процессор может обрабатывать 8 потоков одновременно.

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

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

В предыдущих версиях процессорной микроархитектуры каждая инструкция в формате x86 декодировалась независимо от остальных. При использовании технологии MacroFusion некоторые пары инструкций например, инструкция сравнения и условного перехода при декодировании могут быть слиты в одну микроинструкцию micro-op , которая в дальнейшем будет выполняться именно как одна микроинструкция. Отметим, что для эффективного поддержания технологии MacroFusion в архитектуре Intel Core применялись расширенные блоки ALU Arithmetical Logic Unit , способные поддержать выполнение слитых микроинструкций. Отметим также, что без технологии MacroFusion за каждый такт процессора могло декодироваться только четыре инструкции в четырехканальном декодере , при наличии технологии MacroFusion в каждом такте могло считываться пять инструкций, которые за счет слияния преобразуются в четыре и подвергаются декодированию. Кроме того, на стадии декодирования в микроархитектуре Intel Core также реализована технология слияния микроопераций micro-ops fusion, которая заключается в том, что в ряде случаев две микрооперации сливаются в одну, содержащую два элементарных действия. В дальнейшем две такие слитые микрооперации обрабатываются как одна, что в результате позволяет снизить количество обрабатываемых микроопераций и тем самым увеличить общее число исполняемых процессором инструкций за один такт.

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

Для этого временно переименовывается «ждущий» регистр и отслеживается история переименования. А «готовому к работе» регистру присваивается стандартное имя, чтобы снабженную операндами команду исполнить прямо сейчас. Когда придут данные из памяти, обращаются к истории переименования и возвращают изначальному регистру его законное имя. Иными словами, техника переименования регистров позволяет сократить простои, а ведение истории переименования применяется для нивелирования конфликтов. На следующем этапе буфер переупорядочения ReOrder Buffer происходит переупорядочение микроопераций не в порядке их поступления Out-of-Order с тем, чтобы впоследствии можно было реализовать их более эффективное выполнение на исполнительных блоках. Отметим, что буфер переупорядочения ReOrder Buffer и блок отставки Retirement Unit совмещены в едином блоке процессора, но первоначально производится переупорядочение инструкций, а блок Retirement Unit включается в работу позже, когда надо выдать исполненные инструкции в заданном программой порядке.

Далее происходит распределение микроопераций по исполнительным блокам. В блоке процессора Reservation Station формирует очереди микроопераций, в результате чего микрооперации попадают на один из портов функциональных устройств dispatch ports. Этот процесс называется диспетчеризацией Dispatch , а сами порты выполняют функцию шлюза к функциональным устройствам. После того как микрооперации пройдут порты диспетчеризации, они направляются в соответствующие функциональные блоки для дальнейшего выполнения. Отличия микроархитектуры Nehalem от Intel Core Напомним, что одной из особенностей архитектуры Intel Core была совокупность технологий, получивших общее название Intel Wide Dynamic Execution. К наиболее важными технологиям из набора Intel Wide Dynamic Execution относятся следующие: механизм декодирования до четырех инструкций за такт; технология слияния макроопераций MacroFusion; технология слияния микроопераций micro-ops fusion.

Intel Wide Dynamic Execution используется и в архитектуре Nehalem, но в данном случае речь идет уже об усовершенствованной технологии. Итак, рассмотрим нововведения, реализованные в микроархитектуре Nehalem. Первое из них заключается в реализации технологии слияния макроопераций MacroFusion. Во-первых, расширен набор команд, для которых возможно слияние макроопераций. Во-вторых, в микроархитектуре Intel Core слияние макроопераций не поддерживалось для 64-битного режима работы процессора, то есть технология MacroFusion была реализована только в 32-битном режиме. В архитектуре Nehalem это узкое место устранено и операции слияния работают как в 32-, так и 64-битном режиме процессора.

Следующее усовершенствование микроархитектуры Nehalem касается технологии обнаружения программных циклов Loop Stream Detector. Кроме того, поскольку Loop Stream Detector хранит декодированные инструкции так как размещается после декодера , инструкции будут «пропускать» не только фазу предсказания ветвлений и выборки, как раньше, но и фазу декодирования. Таким образом, в Nehalem инструкции в цикле будут проходить через конвейер быстрее и чаще. Расположение модуля Loop Stream Detector в процессоре с микроархитектурой Nehalem Еще одно важное нововведение в архитектуре Nehalem — это использование двухуровневой иерархии буфера ассоциативной трансляции Translation Lookaside Buffer, TLB или буфера трансляции виртуальных адресов страниц памяти в физические. То есть если в архитектуре Intel Core традиционно использовалось два отдельных TLB буфера для инструкции ITLB и данных DTLB , которые можно рассматривать как буферы первого уровня, то теперь дополнительно введен унифицированный TLB-буфер для данных и команд, который является буфером второго уровня. TLB-буфер второго уровня рассчитан на 512 записей, причем поддерживаются записи только для страниц памяти размером 4K Small Page.

Естественно, что описанными изменениями в архитектуре Nehalem в сравнении с архитектурой Intel Core дело не ограничивается. Так, увеличен размер буфера переупорядочения ReOrder Buffer, ROB — если ранее он был рассчитан на 98 микроинструкций, то теперь в нем можно размещать 128 микроинструкций. Кроме того, существенно улучшен механизм предсказания ветвлений. Подверглись переработке и исполнительные блоки ядра процессора. Процессор на базе микроархитектуры Nehalem способен выполнять до шести операций за один такт. При этом возможно выполнение одновременно трех вычислительных операций и трех операций с памятью рис.

Исполнительные блоки ядра процессора Nehalem Еще одно существенное нововведение — это новый набор расширений инструкций SSE4. Он включает поддержку всех 47 команд SSE4, а также семь новых программно-ориентированных ускорителей Application Targeted Accelerator, ATA обработки строк и текстовой информации. По утверждению разработчиков, дополнительные ускорители будут полезны, например, в задачах лексического и синтаксического анализа, при работе с регулярными выражениями и поиске вирусов. Говоря об особенностях новой микроархитектуры Nehalem, остается добавить, что длина конвейера в процессоре Nehalem составляет 16 ступеней. Напомним, что в процессоре c микроархитектурой Intel Core конвейер включал 14 ступеней, а в процессоре Northwood — 31 ступень. Технология Hyper-Тhreading в микроархитектуре Nehalem Как известно, технология Hyper-Тhreading используется для того, чтобы наиболее эффективно загрузить все имеющиеся исполнительные блоки процессора и тем самым избежать появления пустых циклов.

Похожие новости:

Оцените статью
Добавить комментарий