Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_ЛЕКЦИЙ_АРХ_2012.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.17 Mб
Скачать

Прогнозирование ветвлений

В реальных программах до 15%-20% всех команд - это команды условных переходов

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

Статическое прогнозирование ветвлений

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

Если переход спрогнозирован правильно, то продолжается выполнение программы.

Если переход спрогнозирован неправильно, то нужно определить адрес команды для правильного перехода и перейти туда. Затем отменить уже выполнен­ные команды неправильного перехода.

Динамическое прогнозирование ветвлений

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

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

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

Многопроцессорные архитектуры

Многопроцессорные системы могут быть представлены двумя базовыми типами архитектур в зависимости от параллелизма данных:

MISD (Multiple Instruction Single Data - множественный поток команд, один поток данных), и

MIMD (Multiple Instruction Multiple Data - множественный поток команд, множество потоков данных).

Класс MISD может быть представлен ЛВС с файл-сервером, в которой рабочие станции обрабатывают данные из единой базы. Однако, как только все рабочие станции перешли на обработку собственных данных, эта же ЛВС может быть отнесена к классу MIMD.

Одновременное (параллельное) выполнение операций с одиночным или множественным потоком данных могут осуществлять, как многомашинные системы, как и многопроцессорные ЭВМ.

Многопроцессорная ВС представляет собой единую систему с множеством устройств обработки информации и обладает следующими основными характеристиками:

1)содержит два или более центральных процессора с примерно одинаковыми вычислительными характеристиками;

2)все процессоры системы разделяют доступ к общей оперативной памяти;

3)все процессоры разделяют доступ к каналам ввода/вывода, и УВВ ;

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

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

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

Известны три основные способа внутренней организации многопроцессорных систем

Способ 1. Система с общей шиной и разделяемым во времени доступом к ней.

Такая "дешевая" поддержка многопроцессорной организации получила широкое распространение и носит название SMP - архитектура (Shared-Memory multiProcessing).

Эта архитектура стала практически стандартом для всех современных микропроцессорных серверов (HP/9000 и DEC AlphaServer AXP).

Высокая пропускная способность системных шин обеспечивает эффективность такой архитектуры.

Существует множество разновидностей SMP-архитектуры. Три основных варианта структуры:

Вариант а). Самые простые мультипроцессоры имеют всего одну шину Два или более процессора и один или несколько модулей памяти используют эту шину для информационного взаимодействия.

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

Вариант б). Для уменьшения простоев к каждому процессору подключают кэш-­память. Кэш-память может находиться внутри мик­росхемы процессора или рядом с микросхемой процессора, на плате процессора.

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

Локальная память используется для хранения данных, используемых только одним процессором.

Глобальная память используется только для хранения переменных совместно используемых всеми процессорами. Такая структура позволяет существенно снизить простои процессоров из-за занятости глобальной памяти.

На практике используются различные комбинации этих вариантов с количеством процессоров как правило не более 32.

Способ 2. МПВС с равнодоступной модульной оперативной памятью и перекрестной коммутацией.

С амая простая схема соединения п процессоров с k блоками памяти это перекрестная коммутация

На каждом пересечении горизонтальной (входящей) и вертикальной (исхо­дящей) линии находится коммутационный узел, который может соединять или разъединять горизонтальную и вертикальную линии шин.

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

Недостатком является то, что число узлов растет как п2. Для средних по размеру систем перекрестная коммутация является хорошим решением. Однако для 1000 процессо­ров и 1000 модулей памяти понадобится миллион узлов. Для современного уровня развития электронных технологий это неприемлемо.

Недостатки мультипроцессоров:

1. Плохое масштабирование (спец. коммутатор).

2. Снижение производительности с ростом количества процессоров из-за конкуренция за доступ к памяти.