Главная страница
Навигация по странице:

  • Векторный процессор

  • Регистр длины

  • Регистр максимальной длины

  • Регистр маски

  • архитектура параллельных вычислений. АПВ УМКД+++. Учебнометодический комплекс дисциплины csse 43057 Паралелльные и облачные вычисления


    Скачать 1 Mb.
    НазваниеУчебнометодический комплекс дисциплины csse 43057 Паралелльные и облачные вычисления
    Анкорархитектура параллельных вычислений
    Дата31.01.2020
    Размер1 Mb.
    Формат файлаdocx
    Имя файлаАПВ УМКД+++.docx
    ТипУчебно-методический комплекс
    #106633
    страница5 из 9
    1   2   3   4   5   6   7   8   9

    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 команд).

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


    Информация в этой статье или некоторых её разделах устарела.

    Вы можете помочь проекту, обновив её и убрав после этого данный шаблон.

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

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

    Первым многоядерным микропроцессором стал 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.[2] 19 ноября 2007 года вышел в продажу четырёхъядерный процессор для домашних компьютеров AMD Phenom.[3] Эти процессоры реализуют новую микроархитектуру K8L (K10).

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

    К 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. В серверном сегменте также доступны 8-ядерные процессоры Xeon и Nehalem (Intel) и 12-ядерные Opteron (AMD).[6]

    Кэширование


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

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

    Понятие векторного процессора

    Типичное приложение для быстрой переработки больших объемов цифровых данных содержит множество повторяющихся операций вида:

    for (i = 0; i < n; i++) a[i] = b[i] + c[i], где a, b и с – это векторы (массивы чисел), обычно с плавающей точкой.

    Векторный процессор – это процессор, в котором операндами команд могут выступать упорядоченные массивы данных – векторы.

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

    V_LOAD V_R1, a; V_LOAD V_R2, b; V_ADD V_R1, V_R2, V_R3

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

    Архитектура средств векторной обработки представлена тремя группами:

    1) конвейерное АЛУ (рис. а);

    2) массив АЛУ (рис. б);

    3) массив процессорных элементов.



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

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

    1) сравнение порядков;

    2) сдвиг мантиссы меньшего из чисел;

    3) сложение мантисс;

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

     

    Если используется массив конвейерных АЛУ, то такая ВС называется векторно-конвейерной.

    Структура векторного процессора:

     

     

     

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

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

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

    Векторные регистры представляют собой набор скалярных регистров, объединенных в очередь типа FIFO, способную хранить 50-100 чисел с плавающей запятой.

    Обработка всех n компонентов векторов-операндов задается одной векторной командой. АЛУ процессора может быть реализовано в виде единого конвейерного устройства, способного выполнять все предусмотренные операции. Более распространенный вариант – АЛУ состоит из отдельных блоков (например: сложения, умножения, вычисления обратной величины и т.д.). Каждый такой блок также конвейеризирован.

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

    При объединении нескольких векторно-конвейерных процессоров получают параллельно-векторный процессор (PVP).

    Несколько таких процессоров (1-16) работают одновременно с общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько узлов могут быть объединены с помощью коммутатора (аналогично MPP). Системы PVP-архитектуры могут являться машинами общего назначения (general purpose systems). Однако, поскольку векторные процессоры весьма дорого стоят, эти машины не могут быть общедоступными.

    Примеры векторных ВС: первый векторно-конвейерный – Cray-1 (1976), CRAY EL, J90, T90, SV, Х; серия NEC SX 4-9 (10-планировалось на 13-14 гг.), серия Fujitsu VPP.
    1   2   3   4   5   6   7   8   9


    написать администратору сайта