Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСиС_КонспектЛекций.pdf
Скачиваний:
741
Добавлен:
05.06.2015
Размер:
7.93 Mб
Скачать

Лекция 1.3. Организация цепей переноса в пределах секции АЛУ. Наращивание разрядности обрабатываемых слов. Примеры использования АЛУ

Организация цепей переноса в пределах секции АЛУ

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

Рассмотрим структуру секции АЛУ, представленную на рис. 1.3.1 и функционирующую согласно выражению

= −1,

где = 3 2 ; = 1 0 . На информационные входы секции АЛУ поступают разряды операндов , и бит переноса−1. На управляющие входы подаются коды 3 0 и выполняемой операции. Каждая секция формирует: подготовительные функции, , которые могут использоваться при параллельной организации арифметического переноса, биты арифметического переноса и результата .

Объединение нескольких подобных секций в операционном устройстве требует организации цепей переноса. Быстродействие расширенного по разрядности АЛУ в большой степени зависит от способа организации цепей переноса внутри секции и между секциями. Внутри секции могут быть предложены два способа переноса: последовательный (сквозной) и параллельный.

При последовательном (сквозном) переносе в каждой секции АЛУ формируется сигнал переноса на основании подготовительных

25

S0 S1 S2 S3

Di Fi

& Ri

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

Pi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bi

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

Pi–1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.3.1. Структура секции АЛУ

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

= −1.

Время распространения переноса по всей схеме равно , где— число разрядов в секции; — время распространения переноса через одну секцию (разряд). Таким образом, схема с последовательным переносом характеризуется относительной простотой (см. рис. 1.3.1). Использовать последовательный перенос целесообразно, когда нет необходимости в высоком быстродействии, но предъявляются жесткие требования к аппаратным затратам.

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

= −1 −2 −1 · · · 0 1 2 3 . . .

, (1.3.1)

где = 1 . . . — номер разряда.

26

Для 4-разрядной секции АЛУ имеем следующую систему выражений:

1 = 1 + 0 1;2 = 2 + 1 2 = 2 + 1 2 + 0 1 2;

3 = 3 + 2 3 = 3 + 2 3 + 1 2 3 + 0 1 2 3;4 = 4 + 3 4 =

= 4 + 3 4 + 2 3 4 + 1 2 3 4 + 0 1 2 3 4,

 

 

 

 

 

 

 

 

 

1

 

1

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

Наращивание разрядности обрабатываемых слов

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

Последовательный (сквозной) перенос между секциями применим при малом числе связанных секций (рис. 1.3.2). В этом случае внутри секций, как правило, реализуют параллельный перенос. Суммарная задержка появления старшего бита переноса результата с момента поступления операндов и управляющих сигналов определяется как Σ = АЛУ, где АЛУ — время формирования бита по переносу одной секцией АЛУ; — число секций в системе.

P0 P4 P8 P12 P16

Рис. 1.3.2. Организация последовательного (сквозного) переноса

Групповой перенос с помощью внешней схемы ускоренного переноса (СУП) целесообразно использовать при числе секций больше

27

четырех. В этом случае в каждой секции формируются подготовительные функции первого порядка, поступающие на вход СУП, как показано на рис. 1.3.3. На основании этих функций согласно выражению (1.3.1) в СУП формируются входные биты переноса для каждой секции. Суммарная задержка появления старшего бита переноса составляет Σ = АЛУ + СУП, где СУП — время формирования результата СУП.

P0

 

 

 

 

 

 

 

 

 

СУП

 

 

 

 

 

 

 

 

 

P16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F1

D1

P4

 

F1

D1

P8

 

F1

D1

P12

 

F1

D1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АЛУ

 

 

 

АЛУ

 

 

 

АЛУ

 

 

 

АЛУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.3.3. Организация группового переноса

Примеры использования АЛУ в качестве реконфигурируемого преобразователя информации

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

Рассмотрим несколько примеров использования АЛУ в качестве преобразователя прямых, обратных и дополнительных двоичных кодов, когда на устройство поступает 5-разрядное знаковое число:

5 4 3 2 1

 

 

 

знак мантисса

28

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

Из анализа выражений, описывающих функционирование АЛУ, разработанного в предыдущей лекции, известно, что синтезированная нами структура АЛУ способна выполнять операции передачи операнда на выход схемы как без изменений, так и в инвертированном виде. Это обеспечивается выполнением логических операций, задаваемых управляющими кодами 3 = 0, 2 = 1, 1 = 0, 0 = 1 и3 = 1, 2 = 0, 1 = 1, 0 = 0 соответственно. Результат -й секции определяется выражением:

∙ в первом случае:

( )

= 0 · 1 · · 0 · 1 · 0 · −1 =

=( ) = ( )( ) =

== ( 1) = ;

во втором случае:

( )

= 1 · 0 · · 1 · 0 · 0 · −1 =

=( ) = ( )( ) =

== ( 1) = .

Заметим, что в обоих случаях результат не зависит от значения операнда .

Составим таблицу, устанавливающую зависимость между знаком числа 5 и управляющими кодами АЛУ (табл. 1.3.1).

Из таблицы видно, что управление АЛУ сводится к прямому и инверсному подключению сигнала знака 5 к парам управляющих сигналов 3, 1 и 2, 0 соответственно. На неиспользованные входы АЛУ подадим код нуля.

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

29

Таблица 1.3.1

Зависимость между знаком числа и управляющими кодами АЛУ

5

 

Результат

3

2

1

0

 

0

0

{ 5, 4, 3, 2, 1}

0

1

0

1

0

X

1

 

 

 

 

 

 

 

 

 

1

0

1

0

0

X

{ 5, 4, 3, 2, 1}

Примечание: X — состояние сигналов, не влияющее на выполнение текущей операции.

«0» A АЛУ

{N4,N3,N2,N1} B

 

 

 

 

 

 

 

 

 

 

S3

 

 

R

 

 

 

 

 

 

 

 

 

 

 

 

N5

 

 

 

 

 

 

 

 

S2

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1

 

Знак

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

S0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.3.4. Схема преобразователя прямого кода в обратный

Пример 1.3.2. Разработка преобразователя прямого кода в дополнительный. Из определения дополнительного кода следует, что данный преобразователь должен инвертировать все разряды, кроме знакового, и прибавить единицу младшего разряда, если число отрицательное, и оставить число без изменений, если оно положительное. Заметим, что этот преобразователь отличается от предыдущего только тем, что в случае отрицательного числа к результату необходимо прибавить единицу. Это можно обеспечить, выполнив арифметическую операцию − при = 0.

Составим таблицу, определяющую зависимость между знаком числа 5 и управляющими кодами АЛУ (табл. 1.3.2).

30

Таблица 1.3.2

Зависимость между знаком числа и управляющими кодами АЛУ

5

 

 

 

Результат

3

2

1

0

 

0

0

 

{ 5, 4, 3, 2, 1}

0

1

0

1

0

X

1

 

 

 

 

 

 

 

 

 

 

 

0

1

1

0

1

1

{ 5, 4, 3, 2, 1} + 1

Из таблицы видно, что управление АЛУ сводится к прямому и инверсному подключению сигнала знака 5 к управляющим сигналам 1 и 0 соответственно, помимо этого для добавления единицы младшего разряда необходимо подавать сигнал знака 5 на входы и 0. Сигналы 3 и 2 задаются статически логическим «0» и «1» соответственно. На неиспользованные входы АЛУ подадим код нуля.

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

 

 

 

 

 

«0»

 

A

АЛУ

 

 

 

 

{N4,N3,N2,N1}

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

«0»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«1»

 

 

 

 

R

 

 

 

 

 

 

S2

 

 

 

N5

 

 

 

 

 

 

 

 

R

 

 

 

 

 

 

 

 

S1

 

 

Знак

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

S0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.3.5. Схема преобразователя прямого кода в дополнительный

Пример 1.3.3. Разработка преобразователя дополнительного кода в обратный. Данный преобразователь должен выполнять следующие действия: если число положительное, оставить его без изменений; если число отрицательное, вычесть единицу младшего разряда. Это можно реализовать двумя способами: 1) непосредственным

31

вычитанием − при = 1; 2) прибавлением единицы к каждому разряду исходного числа, что соответствует прибавлению дополнительного кода единицы, т. е. вычитанию единицы, но без использования операнда . Рассмотрим способ 2.

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

Операция вычитания единицы (декремента) обеспечивается выполнением арифметической операции, задаваемой управляющим кодом 3 = 1, 2 = 1, 1 = 1, 0 = 1 при 0 = 0:

= (1 · 1 · ) ( 1 · 1 · ) 1 · −1 = 1 −1.

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

3 = 0, 2 = 0, 1 = 0, 0 = 0:

= 0 · 0 · · ( 0 · 0 · ) 0 · −1 = .

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

Составим таблицу, определяющую зависимость между знаком числа 5 и управляющими кодами АЛУ (табл. 1.3.3).

Таблица 1.3.3

Зависимость между знаком числа и управляющими кодами АЛУ

5

Результат

3

2

1

0

 

0

0

{ 4, 3, 2, 1}

0

0

0

0

0

X

1

{ 4, 3, 2, 1} − 1

1

1

1

1

1

0

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

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

32

{N4,N3,N2,N1}

 

 

 

 

 

A

АЛУ

 

 

 

 

«0»

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S2

 

R

 

R

 

 

 

 

 

 

 

 

 

N5

 

 

S1

 

 

 

 

 

 

 

 

Знак

 

 

 

 

 

 

 

 

S0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.3.6. Схема преобразователя дополнительного кода в обратный

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

Контрольные вопросы

1.Каким образом организуется арифметический перенос в пределах одной секции АЛУ?

2.Каким образом организуется арифметический перенос между секциями АЛУ?

3.За счет чего происходит повышение быстродействия при использовании СУП?

Литература

1.Микропроцессоры. В 3-х кн. Кн. 1. Архитектура и проектирование микроЭВМ: учебник для втузов / Под ред. Л.Н. Преснухина. — М.: Высшая школа, 1986. — 495 с.

2.Угрюмов Е.П. Цифровая схемотехника: учеб. пособие для вузов. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2005. — 800 с.

33