Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реферат АВС.doc
Скачиваний:
22
Добавлен:
05.09.2014
Размер:
333.82 Кб
Скачать

Федеральное агентство по образованию

Line 2

Санкт-Петербургский государственный

электротехнический университет «ЛЭТИ»

Line 3

Кафедра ВТ

Контрольная работа № 1, 2, 3

по дисциплине "Архитектура ВС"

Выполнил:

Группа:

Санкт-Петербург

2013 Оглавление

Оглавление 1

Принцип конвейерной обработки данных 2

Отложенный переход. Его идея. 7

UltraSPARC III 10

I8086 14

Принцип конвейерной обработки данных

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

Ступени (блоки) классического конвейера:

  • IF (Instruction Fetch) – считывание команды из памяти в процессор;

  • ID (Instruction Decoding) – декодирование команды (определение типа);

  • OR (Operand Reading) – считывание операндов;

  • EX (Executing) – выполнение команды;

  • WB (Write Back) – запись результата в регистр.

IF

ID

OR

EX

WB

Хороший пример конвейерной обработки – транспортер на производстве, где изделие, а нашем случае команда, проходит все стадии сборки/обработки.

Формулу работы можно описать так – когда n-й операционный блок выполняет n-ю часть i-ой операции, (n-1)-й операционный блок выполняет (n-1)-ю часть (i+1)-ой операции, а (n+1)-й операционный блок выполняет (n+1)-ю часть (i-1)-ой операции.

Способы увеличения скорости работы – использование нескольких конвейеров (1) и использование нескольких блоков (2) в одном конвейере.

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

IF

ID

OR

EX

WB

ID

OR

EX

WB

В частности процессор Pentium I содержал два конвейера. Внутри был компилятор, который производил объединение совместимых команд в пары. Это увеличивало скорость операций с целыми числами в 2 раза, если сравнивать с 486 процессором.

  1. Имеют несколько блоков на месте EX – это позволяет одновременно выполнять несколько команд и сразу. Работоспособность данного варианта зависит от скорости выполнения команд до 3 блока – возможен простой 4 блоков.

EX

ID

OR

WB

IF

EX

EX

Пример такого процессора – Pentium II.

Различают 2 вида конвейеров – последовательная и векторная обработка.

Последовательная обработка – подразумевает возможность конвейера выполнять более одной базовой операции в любой момент времени. Этот метод включает 2 понятия - параллелизм и конвейеризацию:

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

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

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

Эффективность обработки зависит от нагрузки конвейера – скорость подачи команд и операндов соответствует производительности конвейера. При появлении задержки происходит приостановка выполнения команды на стадиях - это снижает производительность системы в целом.

Конфликтные ситуации:

  • Структурные конфликты – возникают из-за конфликтов по ресурсам, в этом случае аппаратные средства не могут поддерживать все возможные комбинации команд.

  • Конфликты по данным - возникают, когда выполнение одной команды зависит от результата выполнения предыдущей команды. 

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

Параллельные ВС– обладают двумя процессорами, АЛУ и другими блоками конвейера.

Что дает :

  • повышает надежность

  • повышает производительность

Классификация систем (М.Дж.Флинн):

1 уровень – по числу одновременно выполняемых программ. Чем меньше программ, тем ниже живучесть

2 уровень – деление по типу потока команд: одиночный или множественный

3 уровень – деление по типу потока данных между процессором и ОП.

4 уровень – деление по способу организации связи процессора с ОП (общая, локальная и локальная как основная + общая как вспомогательная основная память (ОП)).

SISD

Однопроцессорные машины

ОП

УУ ЦП

АЛУ

SIMD

Матричные (векторные) системы. Выполняют одну команду.

Общая память команд

ЦУУ ВС

ПЭ1ВС

ПЭn

ПЭ2ВС

Разделяемая оперативная память

MISD

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

Общая память команд

ЦУУ ВС

ПЭ1ВС

ПЭn

ПЭ2

Разделяемая оперативная память

МIMD

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

Общая память команд

ЦУУ ВС

ПЭ1ВС

ПЭn

ПЭ2ВС

Разделяемая оперативная память

SISD

Однопроцессорные системы (ЭВМ).

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