Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vychislitelnye-sistemy-praktiki-.docx
Скачиваний:
4
Добавлен:
02.09.2019
Размер:
13.53 Mб
Скачать

Повышение производительности процессоров

Конвейерная реализация команд.

Машинные команды выполняются с помощью рядов последовательных элементарных действий:

  1. Выборка команды.(IF)

  2. Декодирование команды.(D)

  3. Формирование адресов операндов. (OA)

  4. Выборка операндов(OF)

  5. Выполнение операции.(EX)

  6. Запоминание результата.(S)

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

  1. Когда для выполнения следующий команды требуется реализация предыдущей

  2. При ветвлении программы по результатам проверки условий команды условного перехода

  3. Когда в кэш памяти отсутствуют требуемые данные или команды

  4. Когда предшествующая команда изменяет содержание последующей команды

  5. В случае возникновения прерывания и перехода к программе его обработки.

  6. Когда операция реализуемая машинной командой имеет сложный характер

Супер скалярные процессоры

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

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

  1. На степени параллелизма

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

Процессоры с SIMD-архитектурой

Данная архитектура применяется в блоках MMX процессора Pentium и операционных блоках SSE.

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

С точки зрения классификации многопроцессорные системы подразделяются на два больших класса:

- многопроцессорные системы с общей памятью;

- многопроцессорные системы с распределяемой памятью.

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

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

2) простота программирования;

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

4) возможность использования аппаратно-управляемого кэширования.

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

1) аппаратура может быть более простой;

2) процедуры обмена понятны и принуждают программистов уделять ему большое внимание.

Системы с разделяемой или общей памятью часто называются SMP (Shared Memory Multi Processing) – системы.

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

Архитектура многопроцессорной системы с распределяемой (общей) памятью

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]