Главная страница

Работа. Архитектура компьютеров. Однопроцессорные архитектуры эвм


Скачать 237.5 Kb.
НазваниеОднопроцессорные архитектуры эвм
АнкорРабота
Дата09.12.2021
Размер237.5 Kb.
Формат файлаdoc
Имя файлаАрхитектура компьютеров.doc
ТипДокументы
#298445

Однопроцессорные архитектуры ЭВМ

Исторически первыми появились однопроцессорные архитектуры. Классическим примером однопроцессорной архитектуры является архитектура фон Неймана со строго последовательным выполнением команд: процессор по очереди выбирает команды программы и также по очереди обрабатывает данные. По мере развития вычислительной техники архитектура фон Неймана обогатилась сначала конвейером команд, а затем многофункциональной обработкой и по классификации М.Флина получила обобщенное название SISD (Single Instruction Single Data — один поток команд, один поток данных). Основная масса современных ЭВМ функционирует в соответствии с принципом фон Неймана и имеет архитектуру класса SISD.

Данная архитектура породила CISC, MSC и архитектуру с суперскалярной
обработкой (рис. 3.1).

Компьютеры с CISC (Complex Instruction Set Computer) архитектурой
имеют комплексную (полную) систему команд, под управлением которой
выполняются всевозможные операции типа «память-память», «памятьрегистр», «регистр — память», «регистр — регистр».


Рис. 3.1. Классификация архитектуры SISD

Данная архитектура характеризуется:

- большим числом команд (более 200);

- переменной длиной команд (от 1 до 11 байт);

- значительным числом способов адресации и форматов команд;

- сложностью команд и многотактностыо их выполнения;

- наличием микропрограммного управления, что снижает быстродействие и усложняет процессор.

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

Большинство современных компьютеров типа IBM PC относятся к
CISC архитектуре, например, компьютеры с микропроцессорами (МП)
8080, 80486, 80586 (товарная марка Pentium).

Компьютеры с RISC (Reduced Instruction Set Computer) архитектурой
содержат набор простых, часто употребляемых в программах команд.
Основными являются операции типа «регистр — регистр».

Данная архитектура характеризуется:

- сокращенным числом команд;

- тем, что большинство команд выполняется за один машинный такт;

- постоянной длиной команд;

- небольшим количеством способов адресации и форматов команд;

- тем, что для простых команд нет необходимости в использовании
микропрограммного управления;

- большим числом регистров внутренней памяти процессора.

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

Еще одной разновидностью однопотоковой архитектуры является
суперскалярная обработка.

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

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

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

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

Например, если процессор содержит функционально независимые устройства (сложения, умножения, сдвига и деления), то максимум, что компилятор может «уложить» в один пакет - это четыре разнотипные операции:
(сложение, умножение, сдвиг и деление). Сформированные пакеты операций
преобразуются компилятором в командные слова, которые по сравнению с
обычными инструкциями выглядят очень большими. Отсюда и название этих
суперкоманд и соответствующей им архитектуры - VLIW (Very Large
Instruction Word - очень широкое командное слово). По идее, затраты на
формирование суперкоманд должны окупаться скоростью их выполнения и
простотой аппаратуры процессора, с которого снята вся «интеллектуальная»
работа по поиску параллелизма несвязанных операций. Однако практическое
внедрение VLIW-архитектуры затрудняется значительными проблемами эффективной компиляции.

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

Параллелизм циклов и итераций тесно связан с понятием множественности потоков данных и реализуется векторной обработкой. В классификации
компьютерных архитектур М. Флина выделена специальная группа однопроцессорных систем с параллельной обработкой потоков данных - SIMD
(Single Instruction Multiple Date, один поток команд - множество потоков
данных).

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

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

Примером векторных супер-ЭВМ с матричной структурой является знаменитая в свое время система ILLIAC-IV.

Векторно-конвейерную структуру имеют однопроцессорные супер-ЭВМ
серии VP фирмы Fujitsu; серии S компании Hitachi; C90, М90, Т90 фирмы
Cray Research; Cray-3, Cray-4 фирмы Cray Computer и т.д. Общим для всех
векторных суперкомпьютеров является наличие в системе команд векторных
операций, допускающих работу с векторами определенной длины, допустим,
64 элемента по 8 байт. В таких компьютерах операции с векторами обычно
выполняются над векторными регистрами.

Еще одним примером SIMD-архитектуры является технология ММХ,
которая существенно улучшила архитектуру микропроцессоров фирмы Intel.
Она разработана для ускорения выполнения мультимедийных и коммуникационных программ. В ММХ используются 4 новых типа данных и 57 новых инструкций. Команды ММХ выполняют одну и ту же функцию с различными частями данных, например, 8 байт графических данных передаются в процессор как одно упакованное 64-х разрядное число и обрабатываются одной командой. ММХ - команды используют восемь 64-разрядных регистров, «физически» размещенных в мантиссах регистров с плавающей запятой, и используются в том же режиме процессора, что и команды с плавающей запятой.

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

2. Архитектура многопроцессорных систем

2.1 Классификация многопроцессорных систем

Многопроцессорные системы по классификации Флинна относятся к
архитектурам типа MIMD(Multiple Instruction Multipl Data) с
множественным потоком команд при множественном потоке данных
(МКМД). В многопроцессорной системе каждый процессор выполняет
свою программу достаточно независимо от других процессоров.
Процессоры в ходе решения общей задачи должны связываться друг с
другом в соответствии с графом взаимодействия её параллельных ветвей.
Это вызывает необходимость более подробно производить классификацию
систем типа MIMD.

В многопроцессорных системах с общей памятью (сильносвязанных)
имеется память данных и команд, доступная всем процессорам. С общей
памятью процессоры связываются с помощью коммуникационной среды,
основой которой может быть либо общая шина (ОШ), либо множество
шин (МШ), либо перекрёстный коммутатор (ПК).

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

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

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

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

В качестве топологической модели коммуникационной среды
применяют линейные или кольцевые моноканалы, звездообразную
конфигурацию, плоскую решётку, n- мерный тор, либо n- кубическую
(гиперкубическую) сеть.

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

В настоящее время всё большее внимание разработчики проявляют к
архитектурам типа MIMD. Это находит объяснение главным образом
существованием двух факторов:

1) в архитектурах MIMD используются высокотехнологичные,

дешёвые, выпускаемые массово   микропроцессоры, что позволяет оптимизировать соотношение стоимость/производительность;   

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

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

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

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

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

Каждый из этих механизмов обмена имеет свои преимущества. Для
обмена в общей памяти это включает:

· совместимость с хорошо понятными и используемыми в
однопроцессорных системах механизмами взаимодействия процессора с
основной памятью;

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

· более низкая задержка обмена и лучшее использование полосы
пропускания при обмене малыми порциями данных;

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

Основные преимущества обмена с помощью передачи сообщений
являются:

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

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

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

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

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

К первому классу относятся системы с разделяемой (общей)
основной памятью (Shared Memory multiProcessing, SMP), объединяющие
до нескольких (2-16) процессоров, число которых зависит от типа
применяемой коммуникационной среды. Сравнительно небольшое
количество процессоров в таких системах позволяет иметь одну
централизованную общую память и зачастую объединить процессоры и
память с помощью лишь одной шины. При наличии у процессоров кэшпамяти достаточного объема высокопроизводительная шина и общая
память могут удовлетворить обращения к памяти, поступающие от
нескольких процессоров.

Поскольку имеется единственная память с одним и тем же временем
доступа, эти системы называют симметричными, а иногда - UMA (Uniform
Memory Access). Симметричная архитектура предполагает однородность
процессоров и единообразную схему их включения в многопроцессорную
систему. Такой способ организации со сравнительно небольшой
разделяемой памятью в настоящее время является наиболее популярным.

 

 

 


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