Процессоры

Автор: Пользователь скрыл имя, 09 Ноября 2011 в 22:35, доклад

Описание работы

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

Работа содержит 1 файл

Информатика..docx

— 63.80 Кб (Скачать)

(например, табличное), с которым связаны все регистры из блока РОН (рис. 4.3).

Регистры являются в данном случае равноправными, каждая пара регистров

может участвовать  в любой операции. АЛУ связано  с регистрами тремя магистралями

- магистрали A и B служат для подачи операндов  в АЛУ, а магистраль C - для записи  ре-

зультата в выбранный регистр из блока РОН.

Рис. 4.3

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

ся специальные операции, недоступные для других регистров. В ряде случаев этот ре-

гистр всегда является приемником результата (а иногда -обязательно и одним из

операндов). Тогда  такой регистр называют аккумулятором, а процессор называют

процессором на базе аккумулятора. В принципе, в  АЛУ такого процессора можно размес-

тить какое-то количество специализированных арифметических устройств жесткой

структуры, тогда  полученное ОУ будет чем-то промежуточным  между процедурным и

жестким.

4.3.2. Блочные  операционные устройства

Для повышения  производительности процессора при  выполнении операций его опера-

ционное устройство может строиться по блочному принципу. В таких блочных О У реали-

зуется несколько функционально независимых исполнительных устройств, выполняющих

различные операции (или различные группы операций, например, три блока целочислен-

49

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

умножения с  плавающей запятой и т.д.).

Эти устройства работают параллельно, обрабатывая  каждое свои операнды.

Управление  этими устройствами осуществляется с помощью так называемых длин-

ных командных слов (Very Long Instruction Word - VLIW) . Командные слова вклю-

чают инструкции для каждого их исполнительных устройств, а также операнды

или указатели  на них.

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

мая за счет распараллеливания  вычислений. В то же время, использование  таких

устройств не всегда эффективно, поскольку не всегда есть возможность загрузить все

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

Более эффективными часто оказываются конвейерные  операционные устройства, по-

скольку конвейеризовать вычисления в ряде случаев проще, чем распараллелить, что

связано с повторением  однотипных вычислений в алгоритмах.

4.3.3. Конвейерные  операционные устройства

Для конвейеризации вычислений необходимо:

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

этапов;

- реализовать  каждый этап аппаратно в виде ступени конвейера;

- обеспечить  фиксацию промежуточных результатов  вычислений на выходе

каждой ступени  в регистрах-защелках.

Напомним, что  эффективность конвейера будет  тем выше, чем больше задач будет

поступать на его  вход.

Типичным примером конвейерных операционных устройств  могут служить так назы-

ваемые матричные умножители. Свое название они получили, во-первых, потому,

что включают фактически матрицу операционных элементов (сумматоров), а во-вторых,

поскольку одной  из наиболее очевидных сфер их применения является умножение мат-

риц.

Рассмотрим  процесс умножения двух двоичных четырехразрядных положительных

чисел:

50

По косвенной  схеме умножения на устройстве с  одним сумматором и набором ре-

гистров для реализации этого умножения необходимо в общем случае выполнить 4 ша-

га, на каждом их которых выполняется умножение A на очередной разряд bi, сложе-

ние A bi с текущей суммой частичных произведений и сдвиг новой полученной суммы на

1 разряд вправо. Таким образом, время на выполнение  этого умножения можно прибли-

женно оценить как :

умн ( sm sh ) T = t + * t + t

& 4 4 ,

где t& -задержка на 1 логическом вентиле (при умножении A на bi), В формуле не при-

сутствуют затраты на сдвиги, так как они задаются жестко путем соединений линеек

сумматоров, кроме  того, считаем, что все частичные  произведения формируются за 1

логическое  умножение. Для нашего случая время  на умножение оказывается равным

13 t&. Таким образом, быстродействие умножителя по сравнению с обычной схемой

примерно в 3 раза выше. Кроме того, умножитель может работать в режиме конвейера. В

данном случае число его ступеней равно 6 (так  как в сумматоре с последовательным пе-

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

конвейера при  полной загрузке - 1 результат за 2t&, то есть в 20 раз выше, чем в обычной

схеме. Такой  выигрыш достигается за счет дополнительных аппаратных затрат, ко-

торые выше, чем в первом случае примерно в 4-5 раз.

В умножителе Брауна используются несколько основных способов повышения

производительности:

- распараллеливание  вычислений (одновременное вычисление  всех Abi);

- конвейеризация  вычислений (цикл умножения разворачивается  в

последовательность  ступеней, межразрядные переносы сохраняются и

передаются  на следующую ступень);

- аппаратная  реализация и специализация вычислений  позволяет избежать

расходов на сдвиг, который задается жестко, сохранение переноса__

расходов на сдвиг, который задается жестко, сохранение переноса

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

51

Как уже упоминалось, основным элементом матричного умножителя является

сумматор с  сохранением переноса (ССП или  Carry Save Adder - CSA). Его используют

не только в  умножителях, но и везде, где необходимо ускорить сложение N чисел. Так,

на рис. 4.4. показан  сумматор для сложения 3 чисел на базе ССП. Остановимся на прин-

ципе построения подобных устройств. Полный сумматор (ПС) позволяет складывать 3

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

ступающий либо с предыдущего сумматора, либо со схемы передачи переноса. Но ес-

ли в качестве третьего слагаемого использовать соответствующий  разряд третьего n-

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

выходе сумматора сформируется сумма в данном разряде и перенос.

На выходе линейки  таких сумматоров формируются два  числа - собственно сумма

разрядов трех n-разрядных слагаемых и сумма  переносов при сложении этих слагае-

мых. Сумма этих двух чисел и представляет собой значение суммы трех слагаемых:

S = X + Y + Z = Sxyz+ Cxyz.

Линейка полных сумматоров, обведенная на рис. 4.5 пунктиром - это и есть сумматор

с сохранением  переноса (ССП). Данная схема имеет 3 входа и два выхода (имеются в

виду n-разрядные  входы и выходы), поэтому в литературе можно встретить для нее обо-

значение ССП3-2.

Если подать два полученных числа на обычный  параллельный сумматор, то на выходе

мы получим  сумму 3 чисел. Если использовать не один ССП3-2, а дерево таких суммато-

ров, как показано на рис.4.5 (ССП8-2), то выполняется сложение 8 чисел, и так далее - для

N чисел мы  используем схему ССПN-2. Фактически  мы имеем схему, похожую на пира-

мидальную, но с одной общей

схемой передачи и ускорения переноса.

Ускорение схемы  на базе ССП по сравнению с пирамидальным  включением суммато-

ров зависит  от времени задержки параллельного  сумматора со схемой ускоренного  пере-

носа (СУП):

t t N

t N

К

сум эс

сум

уск

3 / 2

2

log

log

+

=

где tсум - время задержки параллельного

сумматора с  СУП,

tзс - задержка полного одноразрядного

сумматора. При  этом необходимо отметить, что для

большинства вариантов  СУП ускорение схемы с

ССП по сравнению  с пирамидальной возрастает при

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

соответственно  растет tсум, а tзсне меняется. На

базе быстродействующего сумматора на N чисел,

аналогичного представленному на рис. 4.5, можно

построить древовидный  умножитель Уоллеса.

В таком устройстве умножение выполняется в

2 этапа - на  первом формируются все частичные

произведения  вида A • bi • 2i , на втором -

полученные N частичных  произведений (где N –

количество  разрядов множителя без учета

знаковых) складываются на сумматоре с ССПN-2 , как показано нарос. 4.6 на примере ум-

ножения на 8-и разрядный множитель. По

сравнению с  умножителем Брауна мы имеем

выигрыш в быстродействии за счет

использования большего количества ССП, что

позволяет в  большей степени распараллелить

процесс сложения частичных произведений.

Конвейерные ОУ могут использоваться

самостоятельно, но чаще являются составной

частью ОУ процедурного типа, либо - блочных

ОУ как аппаратные ускорители выполнения

4.4 Архитектура  системы команд. RISC и CISC процессоры

Под архитектурой системы команд (ISA - Instruction Set Architecture) понимают

состав и  возможности системы команд, общий  взгляд на систему команд (СК) и свя-

занную с ней микроархитектуру процессора с точки зрения программиста. Во многом

именно архитектура  СК определяет трактовку архитектуры  компьютера вообще как

«…абстрактного  представления о вычислительной машине с точки зрения программи-

Информация о работе Процессоры