1. Показать развитие и классификацию однопроцессорных архитектур
Архитектура - общая функциональная и структурная организация машины, определяющая методы кодирования данных, состав, назначение, принципы взаимодействия технических средств и программного обеспечения.
Исторически первыми появились однопроцессорные архитектуры. Классическим примером однопроцессорной архитектуры является архитектура фон Неймана со строго последовательным выполнением команд: процессор по очереди выбирает команды программы и также по очереди обрабатывает данные. По мере развития вычислительной техники архитектура фон Неймана обогатилась сначала конвейером команд, а затем многофункциональной обработкой и получила обобщенное название SISD (Single Instruction Single Data — один поток команд, один поток данных). Основная масса современных ЭВМ функционирует в соответствии с принципом фон Неймана и имеет архитектуру класса SISD.
Данная архитектура породила CISC, RISC и архитектуру с суперскалярной обработкой.
2. Конвейерная технология обработки команд
Процедура выполнения команд процессором включает несколько характерных этапов. В простейшем случае можно выделить как минимум четыре этапа обработки команд: выборка , декодирование, выполнение операции и запись результата .
Каждый этап в процессоре выполняется за один такт. При последовательной обработке команд , выполнение следующей команды начинается только после завершения предыдущей команды. Это приводит к низкой производительности и простоям аппаратуры процессора.
Для улучшения этих характеристик используется параллельное выполнение нескольких команд путем совмещения в каждом такте различных этапов их обработки. После выборки n команды во 2-ом такте идет ее декодирование и выборка n + 1 команды. В третьем такте выполняется n-ая команда, декодируется n + 2 и осуществляется выборка n + 3 команды и т. д. Такая организация работы процессора называется конвейерной обработкой.
Приостанов работы конвейера вызывает любая команда условного перехода в программе или взаимозависимость команд, т. е. использование следующей командой результатов предыдущей команды.
В реальных процессорах конвейер обработки команд сложнее и включает большее количество ступеней. Причина увеличения длины конвейера заключается в том, что многие команды являются довольно сложными и не могут быть выполнены за один такт процессора, особенно при высоких тактовых частотах. Поэтому каждая из четырех стадий обработки команд (выборка, декодирование, выполнение и запись) может состоять из нескольких ступеней конвейера. Собственно, длина конвейера – это одна из наиболее значимых характеристик любого процессора. Чем больше длина конвейера, тем большую частоту можно использовать в процессоре.
Для обеспечения непрерывности вычислительного процесса в структуре ЦП используется блок прогнозирования переходов и устройство выполнения переходов.
3. Основные черты суперскалярной обработки
В аппаратуру процессора закладываются средства, позволяющие одновременно выполнять две или более скалярные операции, т. е. команды обработки пары чисел. Суперскалярная архитектура базируется на многофункциональном параллелизме и позволяет увеличить производительность компьютера пропорционально числу одновременно выполняемых операций.
Реализация суперскалярной обработки заключается в чисто аппаратном механизме выборки из буфера инструкций несвязанных команд и параллельном запуске их на исполнение.
Суперскалярная аппаратура динамически строит план вычислений на основе последовательного кода программ. Хотя такой подход и увеличивает сложность физической реализации, скалярный процессор создает план, используя преимущества тех факторов, которые могут быть определены только во время выполнения.
Этот метод хорош тем, что он «прозрачен» для программиста, составление программ для подобных процессоров не требует никаких специальных усилий, ответственность за параллельное выполнение операций возлагается в основном на аппаратные средства.
Суперскалярная обработка широко используется в современных процессорах корпораций Intel, Advanced Micro Devices (AMD), International Business Machines (IBM), Sun Microsystems и др.
4. Классификация архитектуры SISD с краткой характеристикой классов
Архитектура SISD породила целый ряд архитектур: CISC, RISC, VLIW,архитектуру с суперскалярной обработкой и EPIC-концепцию.
5. Основные характерные черты CISC-архитектуры
Компьютеры с CISC (Complex Instruction Set Computer) архитектурой имеют комплексную (полную) систему команд, под управлением которой выполняются всевозможные операции типа «память – память», «память – регистр», «регистр – память», «регистр – регистр».
Данная архитектура характеризуется:
- большим числом команд (более 200);
- переменной длиной команд (от 1 до 11 байт);
- значительным числом способов адресации и форматов команд;
- сложностью команд и многотактностью их выполнения;
- наличием микропрограммного управления, что снижает быстродействие и усложняет процессор.
6. основные характерные черты RISC-архитектуры
Компьютеры с RISC (Reduced Instruction Set Computer) архитектурой содержат набор простых, часто употребляемых в программах команд. Основными являются операции типа «регистр — регистр».
Отличительными чертами архитектуры являются:
- сокращенное число команд;
- большинство команд выполняется за один машинный такт;
- постоянная длина команд;
- небольшое количество способов адресации и форматов команд;
- для простых команд нет необходимости в использовании микропрограммного управления;
- большое число регистров внутренней памяти процессора.
7. Основные характерные черты VLIW-архитектуры
VLIW-архитектура связана с кардинальной перестройкой всего процесса трансляции и исполнения программ. Уже на этапе подготовки программы компилятор группирует несвязанные операции в пакеты, содержимое которых строго соответствует структуре процессора.
Например, если процессор содержит 4 функционально независимых устройства , то максимум, что компилятор может «уложить» в один пакет — это четыре разнотипные операции. Сформированные пакеты операций преобразуются компилятором в командные слова, которые по сравнению с обычными инструкциями выглядят очень большими. Отсюда и название этих суперкоманд и соответствующей им архитектуры (Very Large Instruction Word — очень широкое командное слово). По идее, затраты на формирование суперкоманд должны окупаться скоростью их выполнения и простотой аппаратуры процессора, с которого снята вся «интеллектуальная» работа по поиску параллелизма несвязанных операций.
Компилятор VLIW производит статический анализ программы и создает точный план того, как процессор будет выполнять программу: указывается когда будет выполнена каждая операция, какие функциональные устройства будут работать и какие регистры будут содержать операнды.
Компилятор VLIW передает план вычисления аппаратному обеспечению, которое, в свою очередь, выполняет указанный план. Этот план позволяет VLIW использовать относительно простое аппаратное обеспечение, способное добиться высокого уровня параллелизма на уровне команд.
Однако даже при небольшом изменении начальных данных путь выполнения программы сколь угодно сильно изменяется.
8. Основные отличительные черты EPIC-концепции
Эта идеология направлена на то, чтобы упростить аппаратное обеспечение и, в то же время, извлечь как можно больше «скрытого параллелизма» на уровне команд, чем это можно сделать при реализации VLIW и суперскалярных стратегий, используя большую ширину «выдачи» команд и длинные (глубокие) конвейеры.
Одна из целей состояла в том, чтобы сохранить реализованный во VLIW принцип статического создания плана вычислений, но в то же время обогатить его возможностями, аналогичными возможностям суперскалярного процессора, позволяющими новой архитектуре лучше учитывать динамические факторы. EPIC предоставляет динамические механизмы на уровне аппаратуры так, что компилятор может управлять такими средствами, применяя их выборочно где это возможно. Столь широкие возможности помогают компилятору использовать правила управления этими механизмами более оптимально, чем это позволяет аппаратура.
9. Классификация способов организации SIMD-архитектуры
Архитектура SIMD связана с параллельной обработкой потоков данных. Возможны несколько способов построения компьютеров этого класса: матричная структура, векторно-конвейерная, технология ММХ и потоковые SIMD-расширения.
10. Суть матричного и векторно-конвеерного способов организации SIMD-архитектуры
Матричная структура
Имеется множество процессорных элементов, исполняющих одну и ту же команду над различными элементами матрицы, объединенных коммутатором. Основная проблема заключается в программировании обмена данными между процессорными элементами через коммутатор.
Векторно-конвейерная структура
Содержит конвейер операций, на котором обрабатываются параллельно элементы векторов и полученные результаты последовательно записываются в единую память. При этом отпадает необходимость в коммутаторе процессорных элементов.
11. Суть ММХ-технологии и потокового SIMD-расширения
Технология MMX
Разработана для ускорения выполнения мультимедийных и коммуникационных программ. Команды ММХ выполняют одну и ту же функцию с различными частями данных, например: 8 байт графических данных передаются в процессор как одно упакованное 64-х разрядное число и обрабатываются одной командой.
Потоковые SIMD-расширения
Реализуют новые SIMD-инструкции, оперирующие со специальными 128-битными регистрами. Каждый из этих регистров может хранить несколько упакованных целочисленных или вещественных данных. Таким образом, выполняя операцию над содержимым двух регистров под управлением команды SSE, процессор может обработать несколько пар операндов одновременно.
12. Почему появились многоядерные структуры процессоров и технологии многопоточности
Корпорация Intel, лидер в разработке микропроцессоров с х86 архитектурой, ежегодно на протяжении долгого времени увеличивала производительность своих процессоров преимущественно за счет увеличения тактовой частоты и использования гиперконвейерной технологии выполнения команд, что в свою очередь значительно увеличивало энергопотребление и, соответственно, количество выделяемой процессором тепловой энергии. Это привело к тому, что компания уперлась в энергетический предел, ограничивающий возможности наращивания производительности процессорных кристаллов традиционными способами. Перед компанией Intel остро встала проблема разрешения противоречия между производительностью процессора и энергопотреблением.
Использование многоядерных структур процессора является одним из путей решения этой проблемы. Совмещение в одном процессоре двух вычислительных ядер позволяет удерживать рассеиваемую им мощность в допустимых пределах за счет сравнительно незначительного понижения тактовой частоты ядер: при снижении рабочей частоты на 20 % производительность ядра падает примерно на 13 %, а энергопотребление – на 50 %. При этом двухъядерный процессор все равно существенно выигрывает в производительности (при тех же условиях до 70 %) за счет увеличения количества команд, выполняемых в процессоре за один такт, но для этого необходимо на программном уровне обеспечить загрузку обоих ядер, для чего требуется соответствующая оптимизация программного кода.
Многопотоковая обработка команд на одном процессоре (ядре) основывается на том, что в каждый момент времени только часть ресурсов процессора (ядра) используется при выполнении программного кода. Неиспользуемые ресурсы также можно загрузить работой, например, задействовать для параллельного выполнения еще одного приложения. В этом случае операционная система и приложения «видят» именно два логических процессора (ядра) и могут распределять работу между ними, как и в случае полноценной двухпроцессорной системы.
13. Виды производительности компьютера
Пиковая – производительность процессора без учета времени обращения к оперативной памяти. Определяется средним числом задач типа «регистр-регистр» в секунду без учета их статистического веса в выбранном классе задач.
Номинальная – производительность процессора с ОП. Определяется средним числом команд, выполняемых подсистемой «процессор-память» с учетом их статистического веса в выбранном классе задач. Она рассчитывается, как правило, по формулам и специальным методикам, предложенным для процессоров определенных архитектур, и измеряется с помощью разработанных для них измерительных программ, реализующих соответствующую эталонную нагрузку.
Системная производительность – производительность базовых технических и программных средств, входящих в комплект поставки. Измеряется с помощью синтезированных типовых оценочных программ, реализованных на унифицированных языках высокого уровня. Унифицированные тестовые программы используют типичные алгоритмические действия, характерные для реальных применений, и штатные компиляторы ЭВМ. Они рассчитаны на использование базовых технических средств и позволяют измерять производительность для расширенных конфигураций технических средств. Результаты оценки системной производительности ЭВМ конкретной архитектуры приводятся относительно базового образца, в качестве которого используются ЭВМ, являющиеся промышленными стандартами систем ЭВМ различной архитектуры.
Эксплуатационная - производительность на реальной рабочей нагрузке, формируемой пакетами прикладных программ общего назначения. Оценивается на основании использования данных о реальной рабочей нагрузке и функционировании ЭВМ при выполнении типовых производственных нагрузок в основных областях применения
14. Определение энергоэффективности процессора
Энергоэффективность - отношение производительности процессора к энергопотреблению. Производительность P = f*k, где f – тактовая частота процессора, k – количество инструкций, выполняемых за такт. Энергопотребление , где U – напряжение питания процессора, Cd – динамическая емкость. Отсюда энегроэффективность:
15. Функциональные возможности, области применения, основные производители мэйнфреймов.
Мэйнфрейм – это высокопроизводительная вычислительная система с большим объемом оперативной и внешней памяти, поддерживающая многопользовательский и многозадачный режимы работы.
Особенности и характеристики:
Высокая надежность (среднее время наработки на отказ оценивается в 12–15 лет); Повышенная устойчивость систем. Мэйнфреймы могут обнаруживать, исправлять и изолировать большинство аппаратных и программных ошибок. Целостность данных. В мэйнфреймах используется память с исправлением ошибок. Рабочая нагрузка мэйнфреймов может составлять 80–95 % от их пиковой производительности.
Высокая пропускная способность подсистемы ввода-вывода (канальная архитектура)
|