Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСС-всё(ЭКЗАМЕН).docx
Скачиваний:
42
Добавлен:
09.12.2018
Размер:
8.84 Mб
Скачать
  1. 2. Арифметико-логические устройства эвм

    1. 2.1. Типы арифметических устройств и их структуры.

Как известно, АЛУ совместно с УУ образуют центральное обрабатывающее устройство – основную часть процессора.

АЛУ служит непосредственно для преобразования кодов числовых величин в процессе решения задачи.

В состав операций, реализуемых АЛУ, обычно входят:

арифметические операции (сложение, вычитание, умножение, деление, вычитание модулей и т.п.);

логические (сравнение кодов на равенство, «И», «ИЛИ», «Сложение по модулю 2», именуемое также «Исключающее ИЛИ», и, реже, другие сходные операции над многоразрядными числовыми кодами (поразрядно)); исключительная редкость - использование полей;

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

операции над кодами как над текстами, строками, символьной информацией;

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

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

<86>

Условно-схематично введём классификацию АЛУ:

Рис. 2.1.1.

Чуть-чуть комментариев к рисунку:

при параллельном выполнении операций все разряды числа одновременно участвуют в формировании результата (операция может быть выполнена за 1 машинный такт);

существует последовательно-параллельный способ выполнения операций (параллельно над m разрядами из n);

в АЛУ последовательного действия малы затраты оборудования;

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

эмпирически установлено, что исключительное использование фиксированной запятой требует в 1,5 раза увеличить длину мантиссы.

Эта классификация может быть расширена и дополнена.

<87>

Обобщенную структуру АЛУ, как операционного устройства, и систему его связей с другими устройствами можно представить себе так:

Рис. 2.1.2

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

Управляющая часть определяет порядок работы отдельных узлов АЛУ в зависимости от кода операции (КО), поступающего из ЦУУ. Здесь мы его рассматривать не будем (см. раздел УУ). На рисунке:

{yi} – сигналы управления; далее будем их именовать управляющими функциональными сигналами (УФС);

{pj} – осведомительные сигналы;

w – сигнал окончания операции;

рпп – сигнал (признак) переполнения разрядной сетки.

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

<88>

    1. 2.2. Организация алу параллельного действия при работе над числами в естественной форме.

2.2.1. Суммирование и вычитание чисел при использовании накапливающего сумматора.

Будем полагать в этом разделе:

  1. хранение чисел в ОЗУ осуществляется в прямом коде;

  2. коды модифицированные;

  3. в АЛУ при суммировании используется модифицированный обратный код.

Выполняется операция S(A)=S(A)+B:

Рис. 2.2.1.1

Первоначально подается импульс, УФС сброс y0. Затем из регистра слагаемого подается первое число (по y2), т.е. считается, что первое число там всегда хранится заблаговременно. Не ранее чем через интервал времени вводится второе число.

«Единица» переноса возникает в триггере на выходе «0»: если он перешел из состояния «1» в состояние «0». Линии задержки обеспечивают задержку импульса переноса на время завершения переходных процессов в триггерах (разрядах) при суммировании, что существенно именно при применения накапливающих сумматоров.

Поскольку слагаемые представляются в модифицированных кодах, то знак записывается в два разряда знака (00 или 11). Операции над разрядами знака производятся так же, как и над разрядами значащими. Переполнение (появление комбинаций 01 или 10) проверяется по УФС y3. Цепь циклического переноса служит для организации вычитания за счет суммирования в обратном коде:

.

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

Если число положительное, то оно выдается непосредственно, а если отрицательное, то оно автоматически (по сигналу y4) инвертируется в прямой код.

Работу схемы легко уяснить по рисунку.

<89>

Несколько слов о времени выполнения операции:

,

где t – интервал подачи слагаемых, – задержка импульсного переноса, – переходные процессы в триггере сумматора. Если предположить, что , то при получаем: . Столь огромное время выполнения суммирования связано только с применением простейшей схемы последовательного переноса. Современные процессоры в своём составе используют совсем другие сумматоры.

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

В пояснение укажем логические формулы признаков переноса и гарантированного отсутствия переноса в i-ом разряде:

– сигнал «перенос из i-го разряда закончен»

– признак окончания переноса.

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

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

Средний «пробег» переноса можно оценить как разрядов. Так получается эмпирически и теоретически. Тогда, при n=32 имеем: – для синхронных сумматоров, – для асинхронных. Но асинхронные сложнее по оборудованию.

<90>

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