Развитие и классификация однопроцессорных архитектур компьютеров


Развитие и классификация однопроцессорных архитектур компьютеров.
Исторически первыми появились однопроцессорные архитектуры. Классическим примером однопроцессорной архитектуры является архитектура фон Неймана со строго последовательным выполнением команд: процессор по очереди выбирает команды программы и также по очереди обрабатывает данные. По мере развития вычислительной техники архитектура фон Неймана обогатилась сначала конвейером команд (рис. 1.2), а затем многофункциональной обработкой и по классификации М. Флина получила обобщенное название SISD (Single Instruction Single Data — один поток команд, один поток данных).
Многопотоковая обработка на нескольких внутренних ядрах
SISD
Векторная обработка
Однопроцессорные архитектуры
Архитектура фон Неймана
Конвейерная обработка команд
Многофункциональная обработка
Технология Hyper-Threading
SIMD
Рис..1.2. Развитие и классификация однопроцессорных архитектур
Архитектуры класса SISD охватывают те уровни программного параллелизма, которые связаны с одинарным потоком данных.
Параллелизм циклов и итераций тесно связан с понятием множественности потоков данных и реализуется векторной обработкой. В классификации компьютерных архитектур М. Флина выделена специальная группа однопроцессорных систем с параллельной обработкой потоков данных – SIMD (Single Instruction Multiple Data, один поток команд – множество потоков данных). Ведущие поставщики микропроцессоров ищут пути повышения их производительности за счет многопотоковой обработки информации на нескольких внутренних ядрах процессора. Ярким примером является технология Hyper-Threading (HT), разработанная фирмой Intel, и позволяющая на одном физическом процессоре создавать два логических процессора, на которых могут выполняться параллельно два программных потока (threads), использующих в один и тот же момент времени разные блоки процессора.
Конвейерная обработка команд.
В работе процессора можно выделить несколько основных стандартных фаз работы:
Выборка команды (ВК)
Вычисление адреса и выборка операнда (ВО)
Выполнение команды и запись результатов(АО)
Обработка прерываний
Изменение состояний процессора и системы в целом
1.ВК ( ) в этой фазе осуществляется передача содержимого счетчика команд в регистр адреса памяти, считывание команды из памяти в регистр команд, модификация содержимого счетчика команд для выборки следующей команды.
2.ВО ( ) выполняется вычисление адреса и обращение к памяти, считывание из памяти операндов и запись их в какие-то регистры.
3.АО ( ) инициализация кодом операции (дешифрация операции) цикла работы устройства управления. Этим управляющим сигналом выполняются операции в АЛУ. Результат операции записывается в регистр или ОП.
Эти операции выполняются последовательно (последовательная обработка команд) по Фон-Нейману.
n команды
n+1
1 2 3 4 5 6 такты
За 6 тактов выполняется две команды, неэффективно используется процессор, произв-сть и загрузка низкая.
Трудности реализации:
конвейер приостанавливает свою работу при выборке любой команды условного перехода
конвейер может совмещать работу нескольких команд, если эти команды не взаимозависимы между собой (результат одной команды не используется другой).
Ставят блоки прогнозирования ветвления предназначенные для того, чтобы выбрать с наибольшей вероятностью по какой ветви дальше пойдет программа.
Совмещение обработки (конвейер команд) объем оборудования и усложняет схему управления. Это увеличение и усложнение возрастает с увеличением числа уровней совмещений, поэтому в каждом конкретном случае необходимо выбирать число уровней совмещений, для получения заданных параметров. Основным параметром является отношение производительности к стоимости. Опыт показал, что технически и экономически целесообразна переработка 5-6 команд.
Cуперскалярная обработка команд.
Еще одной разновидностью однопотоковой архитектуры является суперскалярная обработка.
Смысл этого термина заключается в том, что в аппаратуру процессора закладываются средства, позволяющие одновременно выполнять две или бо-лее скалярные операции, то есть команды обработки пары чисел. Суперскалярная архитектура базируется на многофункциональном параллелизме и позволяет увеличить производительность компьютера пропорционально числу одновременно выполняемых операций. Способы реализации супер-скалярной обработки могут быть разными.
Первый способ применяется как в CISC, так и в RISC — процессорах и заключается в чисто аппаратном механизме выборки из буфера инструкций (или кэша инструкций) несвязанных команд и параллельном запуске их на исполнение.
Этот метод хорош тем, что он «прозрачен» для программиста — состав-ление программ для подобных процессоров не требует никаких специальных усилий, ответственность за параллельное выполнение операций возлагается в основном на аппаратные средства.
Второй способ реализации суперскалярной обработки заключается в кардинальной перестройке всего процесса трансляции и исполнения про-грамм. Уже на этапе подготовки программы компилятор группирует несвя-занные операции в пакеты, содержимое которых строго соответствует струк-туре процессора.
Например, если процессор содержит функционально независимые устройства (сложения, умножения, сдвига и деления), то максимум, что ком-пилятор может «уложить» в один пакет — это четыре разнотипные операции: (сложение, умножение, сдвига и деления). Сформированные пакеты операций преобразуются компилятором в командные слова, которые по сравнению с обычными инструкциями выглядят очень большими. Отсюда и название этих суперкоманд и соответствующей им архитектуры — VLIW (very large Instruction Word — очень широкое командное слово). По идее, затраты на формирование суперкоманд должны окупаться скоростью их выполнения и простотой аппаратуры процессора, с которого снята вся «интеллектуальная» работа по поиску параллелизма несвязанных операций. Однако практическое внедрение VLIW — архитектуры затрудняется значительными проблемами эффективной компиляции.
Классификация архитектуры SISD.
Архитектура SISD породила целый ряд архитектур: CISC, RISC, VLIW, архитектуру с суперскалярной обработкой и EPIC-концепцию (рис.1.3).
SISD
CISC
RISC
Суперскалярная обработка
VLIW
EPIC
CISC – система команд RISC – ядро
Рис. 1.3. Классификация архитектуры SISD
Суперскалярная обработка. Смысл этого термина заключается в том, что в аппаратуру процессора закладываются средства, позволяющие одновременно выполнять две или более скалярные операции, т. е. команды обработки пары чисел. Суперскалярная архитектура базируется на многофункциональном параллелизме и позволяет увеличить производительность компьютера пропорционально числу одновременно выполняемых операций.
Основные характерные черты суперскалярной обработки.
- базируется на многофункциональном параллелизме
- аппаратный механизм выборки команд из буфера инструкций
- динамический план вычислений
- относительная сложность аппаратной реализации
CISC и RISC-архитектуры микропроцессоров.
Компьютеры с CISC (Complex Instruction Set Computer) архитектурой имеют комплексную (полную) систему команд, под управлением которой выполняются всевозможные операции типа «память – память», «память – регистр», «регистр – память», «регистр – регистр».
Компьютеры с RISC (Reduced Instruction Set Computer) архитектурой содержат набор простых, часто употребляемых в программах команд. Основными являются операции типа «регистр — регистр».
Основные характерные черты CISC-архитектуры.
большое число команд (более 200);
переменная длина команд (от 1 до 13 байт);
значительное число способов адресации и форматов команд;
сложность команд и многотактность их выполнения;
наличие микропрограммного управления, что снижает быстродействие и усложняет процессор.
Основные характерные черты RISC-архитектуры.
сокращенное число команд;
большинство команд выполняется за один машинный такт;
постоянная длина команд;
небольшое количество способов адресации и форматов команд;
для простых команд нет необходимости в использовании микропрограммного управления;
большое число регистров внутренней памяти процессора.
VLIW-архитектура компьютера и EPIC-концепция.
VLIW-архитектура связана с кардинальной перестройкой всего процесса трансляции и исполнения программ. Уже на этапе подготовки программы компилятор группирует несвязанные операции в пакеты, содержимое которых строго соответствует структуре процессора. Сформированные пакеты операций преобразуются компилятором в командные слова, которые по сравнению с обычными инструкциями выглядят очень большими. Отсюда и название этих суперкоманд и соответствующей им архитектуры — VLIW.
Концепция EPIC (Explicity Parallel Instruction Computing – вычисления с явным параллелизмом команд, где «явным» означает явно указанным при трансляции) разработана совместно фирмами Intel и Hewlett Packard и имеет ту же значимость, что и CISC- и RISC-архитектуры.
Основные характерные черты VLIW-архитектуры.
- формирование пакетов операций
- высокий уровень параллелизма на уровне команд
- статический анализ программы и предварительное создание плана вычислений
- нет необходимости создания сложных аппаратных устройств
Основные отличительные черты EPIC-концепции.
большое количество регистров (128 64-разрядных регистров общего назначения);
использование простых инструкций, сгруппированных по три, одинаковой длины, образующих длинные командные слова LIW (long instruction words);
переупорядочиванием и оптимизацией команд, так же как и во VLIW, занимается компилятор, а не процессор;
команды из разных ветвей узлового ветвления снабжаются предикатными полями (полями условий) и запускаются параллельно;
загрузка по предположению (загрузка данных до того, как они потребуются, т. е. заранее);
масштабируемость архитектуры до большого количества функциональных устройств.
SIMD-архитектура. Способы её реализации.

Параллелизм циклов и итераций тесно связан с понятием множественности потоков данных и реализуется векторной обработкой. В классификации компьютерных архитектур М.Флина выделена специальная группа однопроцессорных систем с параллельной обработкой потоков данных — SIMD (Single Instruction Multiple Date, один поток команд — множество потоков данных).
Возможны два способа построения компьютеров этого класса. Это матричная структура и векторно-конвейерная обработка. Суть матричной структуры заключается в том, что имеется множество процессорных элементов, исполняющих одну и туже команду над различными элементами вектора, объединенных коммутатором. Основная проблема заключается в программировании обмена данными между процессорными элементами через коммутатор.
В отличие от матричной, векторно-конвейерная структура компьютера содержит конвейер операций, на котором обрабатываются параллельно элементы векторов и полученные результаты последовательно записываются в единую память. При этом отпадает необходимость в коммутаторе процессорных элементов, служащим камнем преткновения в матричных компьютерах.
Общим для всех векторных суперкомпьютеров является наличие в системе команд векторных операций, допускающих работу с векторами определенной длины, допустим, 64 элемента по 8 байт. В таких компьютерах операции с векторами обычно выполняются над векторными регистрами.
Еще одним примером SIMD архитектуры является технология MMX, которая существенно улучшила архитектуру микропроцессоров фирмы Intel. Она разработана для ускорения выполнения мультимедийных и коммуникационных программ. В ММХ используются 4 новых типа данных и 57 новых инструкций. Команды ММХ выполняют одну и ту же функцию с различными частями данных, например, 8 байт графических данных передаются в процессор как одно упакованное 64-х разрядное число и обрабатываются одной командой. ММХ-команды используют восемь 64-разрядных регистров, «физически» размещенных в мантиссах регистров с плавающей запятой, и используются в том же режиме процессора, что и команды с плавающей запятой.
Все программное обеспечение, созданное для ранее выпущенных процессоров, без всяких изменений может выполняться на процессорах с технологией ММХ.
Многоядерные структуры процессора и многопотоковая обработка команд.
Корпорация Intel, лидер в разработке микропроцессоров с х86 архитектурой, ежегодно на протяжении долгого времени увеличивала производительность своих процессоров преимущественно за счет увеличения тактовой частоты и использования гиперконвейерной технологии выполнения команд, что в свою очередь значительно увеличивало энергопотребление и, соответственно, количество выделяемой процессором тепловой энергии. Это привело к тому, что компания уперлась в энергетический предел, ограничивающий возможности наращивания производительности процессорных кристаллов традиционными способами. Перед компанией Intel остро встала проблема разрешения противоречия между производительностью процессора и энергопотреблением.
Использование многоядерных структур процессора является одним из путей решения этой проблемы. Совмещение в одном процессоре двух вычислительных ядер позволяет удерживать рассеиваемую им мощность в допустимых пределах за счет сравнительно незначительного понижения тактовой частоты ядер: при снижении рабочей частоты на 20 % производительность ядра падает примерно на 13 %, а энергопотребление – на 50 %. При этом двухъядерный процессор все равно существенно выигрывает в производительности (при тех же условиях до 70 %) за счет увеличения количества команд, выполняемых в процессоре за один такт, но для этого необходимо на программном уровне обеспечить загрузку обоих ядер, для чего требуется соответствующая оптимизация программного кода.
Первыми стали использовать двухъядерные структуры разработчики RISC-процессоров:
• компания IBM ( процессоры Power 4, 5, Power PC G5);
• Sun Microsystems (процессор Ultra Spare IV).
Многопотоковая обработка команд на одном процессоре (ядре) основывается на том, что в каждый момент времени только часть ресурсов процессора (ядра) используется при выполнении программного кода. Неиспользуемые ресурсы также можно загрузить работой, например, задействовать для параллельного выполнения еще одного приложения. В этом случае операционная система (ОС) и приложения «видят» именно два логических процессора (ядра) и могут распределять работу между ними, как и в случае полноценной двухпроцессорной системы
Для того, чтобы использовать технологии многопоточности, необходимы эффективные компиляторы, которые разработаны и поставляются вместе с микропроцессорами.
Технические и эксплуатационные характеристики ЭВМ.
Производительность компьютера - Этот показатель определяется архитектурой процессора, иерархией внутренней и внешней памяти, пропускной способностью системного интерфейса, системой прерывания, набором периферийных устройств в конкретной конфигурации, совершенством ОС и т. д. Основные единицы оценки производительности:
• абсолютная, определяемая количеством элементарных работ, выполняемых в единицу времени;
• относительная, определяемая для оцениваемой ЭВМ относительно базовой в виде индекса производительности.
Для каждого вида производительности применяются следующие традиционные методы их определения. Пиковая производительность (быстродействие) определяется средним числом команд типа «регистр-регистр», выполняемых в одну секунду без учета их статистического веса в выбранном классе задач.
Номинальная производительность (быстродействие) определяется средним числом команд, выполняемых подсистемой «процессор-память» с учетом их статистического веса в выбранном классе задач. Она рассчитывается, как правило, по формулам и специальным методикам, предложенным для процессоров определенных архитектур, и измеряется с помощью разработанных для них измерительных программ, реализующих соответствующую эталонную нагрузку.
Для данных типов производительностей используются следующие единицы измерения:
• MIPS (Mega Instruction Per Second) – миллион команд в секунду;
• MFLOPS (Mega Floating Operations Per Second) – миллион операций над числами с плавающей запятой в секунду;
• GFLOPS (Giga Floating Operations Per Second) – миллиард операций над числами с плавающей запятой в секунду и т. д. Системная производительность измеряется с помощью синтезированных типовых (тестовых) оценочных программ, реализованных на унифицированных языках высокого уровня. Унифицированные тестовые программы используют типичные алгоритмические действия, характерные для реальных применений, и штатные компиляторы ЭВМ. Они рассчитаны на использование базовых технических средств и позволяют измерять производительность для расширенных конфигураций технических средств. Результаты оценки системной производительности ЭВМ конкретной архитектуры приводятся относительно базового образца, в качестве которого используются ЭВМ, являющиеся промышленными стандартами систем ЭВМ различной архитектуры. Результаты оформляются в виде сравнительных таблиц, двумерных графиков и трехмерных изображений. Эксплуатационная производительность оценивается на основании использования данных о реальной рабочей нагрузке и функционировании ЭВМ при выполнении типовых производственных нагрузок в основных областях применения. Расчеты делаются главным образом на уровне типовых пакетов прикладных программ текстообработки, систем управления базами данных, пакетов автоматизации проектирования, графических пакетов и т. д.
Энергоэффективность процессора.
Энергоэффективностью процессора отношение производительности к энергопотреблению. Разработчики процессоров предложили оценивать производительность (Р) как произведение тактовой (рабочей) частоты процессора (f) на величину k, определяющую количество инструкций, исполняемых процессором за один такт: P = f · k
Получается, что увеличить производительность можно, поднимая частоту и/или увеличивая количество инструкций, выполняемых за один такт. Первый подход ведет к увеличению энергопотребления, а второй требует использования определенной микроархитектуры процессора (многоядерной), в которой заложены различные технологии, направленные на повышение количества инструкций, выполняемых процессором за один такт. Что касается энергопотребления (W): W = fU2Cd
f- тактовая частота, U- напряжение, Cd- динамическая ёмкость (зависит от количества транзисторов в кристалле и их активности во время работы процессора)
Из приведенных формул вытекает следующее соотношение, определяющее энергоэффективность процессора: P/W = k / (U2 · Cd)
Для получения наилучшего показателя разработчикам необходимо работать над оптимизацией микроархитектуры с целью улучшения функциональности исполнительных блоков, при этом не допуская чрезмерного увеличения динамической емкости. Что касается тактовой частоты, то, как показывают приведенные выкладки, на рассматриваемое соотношение она вообще не влияет. Напряжение питания ядра зависит от технологических особенностей изготовления процессора.
Любой кристалл процессора состоит из огромного количества транзисторов, исчисляемого миллионами, необходимого для достижения высокой производительности процессора. Уменьшение размеров транзистора ведет к уменьшению напряжения питания, что в свою очередь снижает энергопотребление, к увеличению скорости работы и плотности размещения транзисторов на кристалле. Развитие микроэлектроники идет по направлению уменьшения размеров транзисторов и одновременного увеличения плотности их размещения на кристалле. Для оценки этих параметров была введена специальная характеристика «Норма технологического процесса производства полупроводниковых кристаллов», измеряемая в нанометрах (нм). Спроектированный в Intel по 45-нм нормам транзистор примерно на 20 % опережает своего 65-нм собрата по скоростным характеристикам и оказывается примерно на 30 % экономичнее с точки зрения затрат энергии на переключение. Современные ЭВМ около30 нм.
Часто вместо характеристики «энергопотребление» используют характеристику «рассеиваемая тепловая мощность» процессора. Для этого используется специальный термин TDP – это величина, показывающая, на отвод какой тепловой мощности должна быть рассчитана система охлаждения процессора.
Как правило, TDP показывает не максимальное теоретическое тепловыделение процессора, а типичное тепловыделение в реальных приложениях. Иногда, при длительных нагрузках на процессор (например, при кодировании видео) температура процессора может превысить заданный TDP. В этих случаях современные процессоры или дают сигнал выключения компьютера или переходят в так называемый режим троттлинга (trottling), когда процессор пропускает часть циклов.
страница 1страница 2 ... страница 4страница 5
скачать
Другие похожие работы: