Виды архитектур - Микропроцессор как важнейший компонент персонального компьютера

Конвейерная архитектура

Конвейерная архитектура (англ. pipelining) была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифровка команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Например, конвейер микропроцессора с архитектурой MIPS-I содержит четыре стадии:

    ? получение и декодирование инструкции, ? адресация и выборка операнда из ОЗУ, ? выполнение арифметических операций, ? сохранение результата операции.

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

Действительно, при отсутствии конвейера выполнение команды займет } n единиц времени (так как для выполнения команды по-прежнему необходимо выполнять выборку, дешифровку и т. д.), и для исполнения } m команд понадобится ncdot m единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения {displaystyle m} m команд понадобится всего лишь n+m единиц времени.

Факторы, снижающие эффективность конвейера:

    1. Простой конвейера, когда некоторые ступени не используются (например, адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами). 2. Ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд -- out-of-order execution). 3. Очистка конвейера при попадании в него команды перехода (эту проблему удается сгладить, используя предсказание переходов).

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

Суперскалярная архитектура.

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

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

Complex instruction set computer -- вычисления со сложным набором команд. Процессорная архитектура, основанная на усложненном наборе команд. Типичными представителями CISC являются микропроцессоры семейства x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд: в начале процесса исполнения сложные команды разбиваются на более простые микрооперации (МОП), исполняемые RISC-ядром).

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

Reduced instruction set computer -- вычисления с упрощенным набором команд (в литературе слово reduced нередко ошибочно переводят как "сокращенный"). Архитектура процессоров, построенная на основе упрощенного набора команд, характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).

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

Среди первых реализаций этой архитектуры были процессоры MIPS, PowerPC, SPARC, Alpha, PA-RISC. В мобильных устройствах широко используются ARM-процессоры.

MISC-процессоры.

Minimum instruction set computer -- вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC-процессоров, слишком быстро отошел на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и обогнал многие CISC-процессоры по сложности. Архитектура MISC строится на стековой вычислительной модели с ограниченным числом команд (примерно 20--30 команд).

VLIW-процессоры.

Very long instruction word -- сверхдлинное командное слово. Архитектура процессоров с явно выраженным параллелизмом вычислений, заложенным в систему команд процессора. Являются основой для архитектуры EPIC. Ключевым отличием от суперскалярных CISC-процессоров является то, что для них загрузкой исполнительных устройств занимается часть процессора (планировщик), на что отводится достаточно малое время, в то время как загрузкой вычислительных устройств для VLIW-процессора занимается компилятор, на что отводится существенно больше времени (качество загрузки и, соответственно, производительность теоретически должны быть выше).

Например, Intel Itanium, Transmeta Crusoe и Efficeon.

Многоядерные процессоры.

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

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

Первым многоядерным микропроцессором стал POWER4 от IBM, появившийся в 2001 году и имевший два ядра.

В октябре 2004 года Sun Microsystems выпустила двухъядерный процессор UltraSPARC IV, который состоял из двух модифицированных ядер UltraSPARC III. В начале 2005 был создан двухъядерный UltraSPARC IV+.

    14 ноября 2005 года Sun выпустила восьмиядерный UltraSPARC T1, каждое ядро которого выполняло 4 потока. 5 января 2006 года Intel представила первый двухъядерный процессор на одном кристалле Core Duo, для мобильной платформы.

В ноябре 2006 года вышел первый четырехъядерный процессор Intel Core 2 Quad на ядре Kentsfield, представляющий собой сборку из двух кристаллов Conroe в одном корпусе. Потомком этого процессора стал Intel Core 2 Quad на ядре Yorkfield (45 нм), архитектурно схожем с Kentsfield, но имеющем больший объем кэша и рабочие частоты.

В октябре 2007 года в продаже появились восьмиядерные UltraSPARC T2, каждое ядро выполняло 8 потоков.

10 сентября 2007 года были выпущены в продажу настоящие (в виде одного кристалла) четырехъядерные процессоры для серверов AMD Opteron, имевшие в процессе разработки кодовое название AMD Opteron Barcelona. 19 ноября 2007 года вышел в продажу четырехъядерный процессор для домашних компьютеров AMD Phenom. Эти процессоры реализуют новую микроархитектуру K8L (K10).

КомпанияAMD пошла по собственному пути, изготовляя четырехъядерные процессоры единым кристаллом (в отличие от Intel, первые четырехъядерные процессоры которой представляют собой фактически склейку двух двухъядерных кристаллов). Несмотря на всю прогрессивность подобного подхода, первый "четырехъядерник" фирмы, названный AMD Phenom X4, получился не слишком удачным. Его отставание от современных ему процессоров конкурента составляло от 5 до 30 и более процентов в зависимости от модели и конкретных задач.

К 1--2 кварталу 2009 года обе компании обновили свои линейки четырехъядерных процессоров. Intel представила семейство Core i7, состоящее из трех моделей, работающих на разных частотах. Основными изюминками данного процессора является использование трехканального контроллера памяти (типа DDR3) и технологии эмулирования восьми ядер (полезно для некоторых специфических задач). Кроме того, благодаря общей оптимизации архитектуры удалось значительно повысить производительность процессора во многих типах задач. Слабой стороной платформы, использующей Core i7, является ее чрезмерная стоимость, так как для установки данного процессора необходима дорогая материнская плата на чипсете Intel X58 и трехканальный набор памяти типа DDR3, также имеющий на данный момент высокую стоимость.

Компания AMD, в свою очередь, представила линейку процессоров Phenom II X4. При ее разработке компания учла свои ошибки: был увеличен объем кэша (по сравнению с первым поколением Phenom), процессоры стали изготавливаться по 45-нм техпроцессу (это, соответственно, позволило снизить тепловыделение и значительно повысить рабочие частоты). В целом, AMD Phenom II X4 по производительности стоит вровень с процессорами Intel предыдущего поколения (ядро Yorkfield) и весьма значительно отстает от Intel Core i7[5]. С выходом 6-ядерного процессора AMD Phenom II X6 Black Thuban 1090T ситуация немного изменилась в пользу AMD.

По состоянию на 2013 год массово доступны процессоры с двумя, тремя, четырьмя и шестью ядрами, а также двух-, трех - и четырех-модульные процессоры AMD поколения Bulldozer (количество логических ядер в 2 раза больше количества модулей). В серверном сегменте также доступны 8-ядерные процессоры Xeon и Nehalem (Intel) и 12-ядерные Opteron (AMD).

Кэширование.

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

Различают кэши 1-, 2- и 3-го уровней (обозначаются L1, L2 и L3 -- от Level 1, Level 2 и Level 3). Кэш 1-го уровня имеет наименьшую латентность (время доступа), но малый размер, кроме того, кэши первого уровня часто делаются многопортовыми. Так, процессоры AMD K8 умели производить одновременно 64-битные запись и чтение, либо два 64-битных чтения за такт, AMD K8L может производить два 128-битных чтения или записи в любой комбинации. Процессоры Intel Core 2 могут производить 128-битные запись и чтение за такт. Кэш 2-го уровня обычно имеет значительно большую латентность доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня -- самый большой по объему и довольно медленный, но все же он гораздо быстрее, чем оперативная память.

Гарвардская архитектура.

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

Параллельная архитектура.

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

Для преодоления этого недостатка предлагались и предлагаются архитектуры процессоров, которые называются параллельными. Параллельные процессоры используются в суперкомпьютерах.

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

SISD -- один поток команд, один поток данных;

SIMD -- один поток команд, много потоков данных;

MISD -- много потоков команд, один поток данных;

MIMD -- много потоков команд, много потоков данных.

Цифровые сигнальные процессоры.

Для цифровой обработки сигналов, особенно при ограниченном времени обработки, применяют специализированные высокопроизводительные сигнальные микропроцессоры (англ. digital signal processor, DSP) с параллельной архитектурой.

Похожие статьи




Виды архитектур - Микропроцессор как важнейший компонент персонального компьютера

Предыдущая | Следующая