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

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

Сначала напоминание о принципе деления чисел в ЭВМ.

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

Первый шаг именуется иногда пробным делением. Смысл его предельно прост: надо, чтобы частное помещалось в разрядную сетку. Следовательно, если предположить, что в ЭВМ числа меньше 1 (так фиксирована запятая!), то делимое по модулю должно быть меньше делителя.

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

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

Идея алгоритма без восстановления остатка:

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

На каждом шаге достаточно выполнить две операции: вычитание (или сложение) и сдвиг.

Теперь рассмотрим структурную схему при следующих условиях:

  1. при делении в основном алгоритме используются модули чисел;

  2. знак частного формируется отдельно по известному со школы принципу;

  3. в алгоритме предусматривается пробное деление;

  4. применяется алгоритм без восстановления остатка.

А тогда удобнее будет, если участвующие в операции числа будут в дополнительном (в крайнем случае – в обратном) коде; частичные остатки сдвигаются влево; очередная цифра частного получается как инвертированное значение знакового разряда частичного остатка.

Рис. 2.2.6.1.

Рис. 2.2.6.2.

Обратите внимание, что результат деления в конце концов оказывается в SM (там он и округляется).

Деление оказывается наиболее длинной операцией

– это не максимум, а всегда.

Существуют способы ускорения деления. В частности, используются аппаратные способы, аналогичные соответствующим способам в умножении. Но есть важный момент, снижающий их роль: доля делений в алгоритмах не более 1-2%. Следовательно, большие аппаратные затраты не имеют смысла.

<99>

2.2.7. Организация алу при реализации логических операций и операций специальной арифметики.

<100>

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

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

,

где – мантисса (остальное в формуле – характеристика); – порядок; d – основание.

Обычно d=2, но может быть и 8, и 16 (было в ЕС ЭВМ, ныне изредка встречается).

В любом случае величина d в разрядной сетке не указывается (а подразумевается!), а и представляются двоичным кодом.

Рис. 2.3.0.1.

; .

Число должно быть нормализовано, т.е. при d=2: ; а при d=8: .

<101>

2.3.1. Принцип построения и работы алу при суммировании и вычитании чисел в нормальной форме.

Коротко об алгоритме в целом. В нем выделяются 4 этапа:

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

  2. Собственно сложение (вычитание) мантисс с фиксированной запятой.

  3. Проверка переполнения и присвоение порядка.

  4. Нормализация.

(Третий и четвёртый этапы можно переставить).

Наиболее сложной (длиной, «медленной») процедурой является выравнивание порядков.

В результате сравнения порядков возможны 5 исходов:

  1. , т.е. выравнивать не нужно и можно выполнять другие этапы;

  2. ; тогда за результат принимается число а;

  3. ; тогда за результат принимается число b, но с учетом знака операции;

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

  5. ; тогда мантисса первого операнда должна быть сдвинута на разрядов влево.

Рис. 2.3.1.1.

Рис. 2.3.1.2.

Некоторые пояснения к структурной схеме АЛУ:

Назначение СгЦ – выловить (2) и (3) случаи, либо придти к случаю (1) от (4) и (5);

Выходная шина данных получается конкатенацией двух шин: мантиссы и порядка;

Признаки и , формируемые ССП, соответствуют, например, и ;

Сдвиги арифметические;

РгССП и Сч по-видимому несложно объединить в единое устройство.

<102>

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