Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3-й семестр / Организация ЭВМиС; Орлов С.А., Цилькер Б.Я

..pdf
Скачиваний:
422
Добавлен:
25.12.2020
Размер:
5.43 Mб
Скачать

Структуры операционных устройств

171

 

 

а третье — суммарную стоимость комбинационных схем, реализующих микрооперации K типов над N словами.

Затраты времени на выполнение операций типа «сложение» в ОПУ с жесткой струк­ турой равны:

TЖ = tВ + tС + tП,

где tВ — длительность микрооперации выдачи операндов из регистров; tС — продолжительность микрооперации «сложение»; tП — длительность микрооперации приема результата в регистр.

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

Операционные устройства с магистральной структурой

В ОПУ с магистральной структурой все внутренние регистры объединены в отдельный узел регистров общего назначения (РОН)1, а все комбинационные схемы — в операционный блок (ОПБ). Операционный блок и узел регистров сообщаются между собой с помощью магистралей — отсюда и название «магистральное ОПУ».

Рис. 5.3. Магистральное операционное устройство

Пример магистрального ОПУ представлен на рис. 5.3. В состав узла РОН здесь входят N регистров общего назначения, подключаемых к магистралям A и B через мультиплексоры MUX A и MUX B. Каждый из мультиплексоров является управляемым коммутатором, соединяющим выход одного из РОН с соответствующей магистралью. Номер подключаемого регистра определяется адресом a или b, подаваемым на адресные входы мультиплексора из устройства управления.

По магистралям A и B операнды поступают на входы операционного блока, к которым подключается комбинационная схема, реализующая требуемую микрооперацию (по сигналу управления из УУ). Таким образом, любая микрооперация ОПБ может быть

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

172

Глава 5. Операционные устройства

 

 

выполнена над содержимым любых регистров ОПУ. Результат микрооперации по магистрали C через демультиплексор DMX C заносится в конкретный регистр узла РОН. Демультиплексор представляет собой управляемый коммутатор, имеющий один информационный вход и N информационных выходов. Вход подключается к выходу с заданным адресом c. Адрес c поступает на адресные входы DMX C из УУ.

Моделью ОПУ с магистральной структурой является M-автомат. M-автоматом называется модель ОПУ, построенная на основе принципа объединения комбинационных схем и реализующая в каждом такте только одну микрооперацию. Синтез M-автоматов рассматривается в [17].

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

K

CÌ = nCT N + 3n(N + K) + nCj ,

j=1

где первое слагаемое определяет затраты на N регистров, второе — затраты на связи узла РОН и ОПБ, а третье — суммарную цену ОПБ.

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

N

K

K

3(N + K M ) < ∑∑Cj Kij Cj ,

i=1

j=1

j=1

N K

где M = ∑∑Kij — количество микроопераций, реализуемых ОПУ с жесткой струк- турой. i=1 j=1

С учетом последнего неравенства можно сформулировать следующее сильное условие экономичности магистральных структур:

M > N + K.

Затраты времени на сложение в магистральных ОПУ больше, чем в ОПУ с жесткой структурой:

TM = tВ + tC + tП + tMUX + tDMX = tЖ + tMUX + tDMX,

где tMUX — задержка на подключение операндов из РОН к ОПБ; tDMX — задержка на подключение результата к РОН.

Основным достоинством магистральных ОПУ является высокая универсальность и регулярность структуры, что облегчает их реализацию на кристаллах ИС. Вообще говоря, магистральная структура ОПУ в современных ВМ является превалирующей.

Классификация операционных устройств с магистральной структурой

Магистральные ОПУ классифицируют по виду и количеству магистралей, организации узла регистров общего назначения, типу операционного блока.

Структуры операционных устройств

173

 

 

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

По функциональному назначению выделяют:

магистрали внешних связей, соединяющих ОПУ с памятью и каналами ввода/ вывода ВМ;

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

Количество магистралей внешних связей зависит от архитектуры конкретной ВМ и обычно не превышает двух для внешних связей и трех — для внутренних.

Структура трехмагистрального ОПУ (3М) представлена на рис. 5.4, а, а соответствующая ему микропрограмма выполнения операции типа «сложение» — на рис. 5.4, б.

Рис. 5.4. Трехмагистральное ОПУ: а — структура; б — микропрограмма сложения

Данный вариант характеризуется наибольшим быстродействием: выборка операндов из РОН, выполнение микрооперации суммирования и запись результата в РОН производятся за один такт. Основной недостаток трехмагистральной организации — относительно большая площадь, занимаемая магистралями на кристалле интегральной микросхемы (ИМС).

Рис. 5.5. Двухмагистральное ОПУ: а — структура; б — микропрограмма сложения

174

Глава 5. Операционные устройства

 

 

Двухмагистральная организация (2М) при меньшей площади, покрываемой магистралями, требует введения как минимум одного буферного регистра (БР), предназначенного для временного хранения одного из операндов (рис. 5.5, а), при этом операция сложения будет выполняться уже за два такта (рис. 5.5, б):

Такт 1: загрузка БР одним из операндов.

Такт 2: выполнение микрооперации в ОПБ над содержимым БР и одного из РОН; запись результата в РОН.

Наконец, организация ОПУ на основе только одной магистрали минимизирует расходы площади ИМС (рис. 5.6, а).

Рис. 5.6. Одномагистральное ОПУ: а — структура; б — микропрограмма сложения

В одномагистральном ОПУ (1М), вместе с тем, возникает необходимость введения не менее двух буферных регистров БР1, БР2, и длительность операции возрастает до трех тактов (рис. 5.6, б):

Такт 1: загрузка БР1 одним из операндов.Такт 2: загрузка БР2 вторым операндом.

Такт 3: выполнение микрооперации в ОПБ над содержимым БР1 и БР2; запись результата в один из РОН.

Организация узла РОН магистрального операционного устройства

Количество регистров в узле РОН магистрального ОПУ обычно превышает тот минимум, который необходим для реализации универсальной системы операций. Избыток регистров используется:

для хранения составных частей адреса (индекса, базы);

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

Количество регистров колеблется в среднем от 8 до 16, иногда может достигать 32–64. В процессорах с сокращенным набором команд количество РОН доходит до нескольких сотен.

Структуры операционных устройств

175

 

 

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

Организация операционного блока магистрального операционного устройства

Тип операционного блока (ОПБ) определяется способом обработки данных. Различают ОПБ последовательного и параллельного типа.

В последовательном операционном блоке (рис. 5.7) операции выполняются разряд за разрядом.

Рис. 5.7. Последовательный операционный блок

Бит переноса, возникающий при обработке i-го разряда операндов, подается на вход ОПБ и учитывается при обработке (i + 1)-го разряда операндов. Результат поразрядно заносится в выходной регистр, предыдущее содержимое которого перед этим сдвигается на одну позицию. Таким образом, после n циклов в выходном регистре формируется слово результата, где каждый разряд занимает предназначенную для него позицию.

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

Рис. 5.8. Параллельный операционный блок

Реализация эффективной системы переносов в рамках «длинного» слова сопряжена с определенными аппаратурными издержками, поэтому на практике часто

176

Глава 5. Операционные устройства

 

 

используют параллельно-последовательную схему ОПБ. В ней слово разбивается на группы по 2, 4 или 8 разрядов, обработка всех разрядов внутри группы осуществляется параллельно, а сами группы обрабатываются последовательно.

Рис. 5.9. Обобщенная схема операционного блока

Обобщенная схема ОПБ приведена на рис. 5.9. В нее входят: дешифратор микрокоманды ДшМК, формирователи кодов ФК1 и ФК2, многофункциональный сумматор См, сдвигатель Сдв и формирователь признаков результата (ФПР). Набор микро­ операций, реализуемых ОПБ, выбран таким образом, чтобы обеспечить выполнение основных арифметических и логических операций, предусмотренных системой команд ВМ.

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

Формирователи кодов ФК1 и ФК2 служат для формирования прямых и инверсных кодов операндов, поступающих по магистралям А и В. Они реализуют следующий набор микроопераций:

В0ФК1: СмЛ := 0; В0ФК2: СмП := 0; В1А: СмЛ := А; В1В: СмП := В;

В1 A : СмЛ := A ; В1B : СмП := B.

Многофункциональный сумматор выполняет микрооперации арифметического сложения (с учетом переноса CIN), сложения по модулю два, логического сложения и логического умножения кодов на левом и правом входах:

Сл: См := СмЛ + СмП + СIN; М2: См := СмЛ СмП;

И: См := СмЛ СмП; ИЛИ: См := СмЛ СмП;

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

Вспомогательные системы счисления, используемые в операционных устройствах

177

 

 

в УУ машины. Осведомительными сигналами могут быть: признак знака S, признак переполнения V, признак нулевого значения результата Z и т. п.

Сдвигатель служит для выполнения микроопераций сдвига кода на выходе См:

П1: С := См;

R1: С := R1(SL • См), SR := См(n); L1: С := L1(См • SR), SL := См(0).

Микрооперация П1 обеспечивает передачу результата на магистраль C без сдвига. По ходу микрооперации R1 результат сдвигается на один разряд вправо, при этом в освобождающийся старший разряд заносится значение с внешнего контакта SL, а выдвигаемый (младший) разряд сумматора посылается на внешний контакт SR.

В микрооперации L1 результат сдвигается на один разряд влево. Здесь в освобождающийся младший разряд заносится значение с внешнего контакта SR, а выдвигаемый (старший) разряд См передается на внешний контакт SL.

Вспомогательные системы счисления, используемые в операционных устройствах

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

Избыточные системы счисления

В отличие от обычной позиционной системы, где цифра числа может принимать значения в диапазоне от 0 до q – 1 (q — основание системы счисления), в избыточных системах цифра может иметь более чем q значений, например иметь знак. Если в стандартной двоичной системе счисления значение цифры ограничено множеством {0, 1}, то в знакоцифровой системе с тем же основанием q = 2 возможное значение цифры определяется множеством {–1, 0, 1}. Использование в ВМ знакоцифровых систем было предложено в 1961 году А. Авизиенисом [49].

Число в избыточной системе может быть записано несколькими способами (по этой причине такие системы и называют избыточными). Например, пятиразрядное двоичное представление числа одиннадцать 01011 (8 + 2 + 1) в избыточной системе

с основанием 2 может иметь три представления: 01011 (8 + 2 + 1), 10101 (16 – 4 – 1) и 01101 (8 + 4 – 1)1.

1 Отрицательное значение цифры принято обозначать горизонтальной чертой над цифрой.

178

Глава 5. Операционные устройства

 

 

Промежуточный переход к избыточной системе счисления с последующим возвратом к стандартной двоичной системе позволяет создавать эффективные ОПУ, особенно для тех арифметических операций, реализация которых носит итеративный характер. Так, стандартное умножение на двоичное число 11111111 предполагает до 8 сложений (по числу разрядов множителя), в то время как при записи этого

числа в избыточной системе с q = 2 (10000000 1) можно обойтись лишь одним вычитанием и одним сложением.

Системы счисления с основанием, кратным целой степени 2

В основе операционных устройств умножения и деления лежит итеративное выполнение операций сложения и сдвига. Количество итераций в общем случае равно разрядности операндов. Сокращение числа итераций — наиболее очевидный путь ускорения работы соответствующих ОПУ. Такое сокращение возможно за счет перехода к системам счисления с большим основанием, причем наиболее удобны в этом смысле системы с основанием q, кратным целой степени числа 2, в частности: q = 4 (Radix-4), q = 8 (Radix-8), q = 16 (Radix-16). Одна цифра в таких системах эквивалентна 2, 3 и 4 двоичным цифрам соответственно. Это позволяет, например, при выполнении операции умножения за один раз анализировать не один разряд множителя, а сразу 2, 3 или 4 и, соответственно, сократить общее число итераций, требуемых для анализа всех разрядов множителя.

Избыточные системы счисления с основанием, кратным целой степени 2

В ОПУ умножения и деления широкое распространение получили знакоцифровые системы счисления у которых основание кратно степени числа 2, а именно 2, 4, 8

и16. В соответствии со значением q их обычно принято обозначать как Radix-2 (q =

=2), Radix-4 (q = 4), Radix-8 (q = 8) и Radix-16 (q = 16). В таких системах счисления используются цифры в диапазоне от –(q–1) до +(q–1). Так, Radix-8 предполагает использования цифр из множества {–7, –6, –5, –4, –3, –2, –1, 0, 1, 2, 3, 4, 5, 6, 7}. Сочетание избыточности и большого основания системы счисления дает дополнительный эффект в сокращении числа итераций при выполнении операций умножения и деления, а значит, и в сокращении времени выполнения этих операций.

Естественно, что переход к вспомогательным системам счисления порождает определенное усложнение аппаратных средств ОПУ, но чаще всего это окупается вы­ игрышем в быстродействии.

Операционные устройства для чисел в форме с фиксированной запятой

Вформе с фиксированной запятой (ФЗ) могут быть представлены как числа без знака, когда все n позиций числа отводятся под значащие цифры, так и со знаком.

Впоследнем случае старший (n – 1)-й разряд числа занимает знак числа (0 — плюс, 1 — минус), а под значащие цифры отведены разряды с (n – 2)-го по 0-й.

Операционные устройства для чисел в форме с фиксированной запятой

179

 

 

В большинстве современных ВМ форма с ФЗ используется для представления целых чисел, когда запятая фиксируется справа от младшего 0-го разряда кода числа (рис. 5.10). Соответствующие операционные устройства называют целочисленными ОПУ.

При выполнении арифметических операций над числами в форме с плавающей запятой (ПЗ) мантиссы операндов также рассматриваются как числа в форме с ФЗ. В этом случае мантиссы — это не целые числа, а правильные дроби, и в них запятая располагается перед (n – 1)-м разрядом для чисел без знака, либо между (n – 1)-м и (n – 2)-м разрядами в случае чисел со знаком (рис. 5.11).

Рис. 5.10. Представление целых чисел в форме с фиксированной запятой

Рис. 5.11. Представление правильных дробей в форме с фиксированной запятой

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

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

Если исключить логические операции, которые рассматриваются отдельно, ОПУ для обработки чисел в форме с ФЗ должно обеспечивать сложение, вычитание, умножение и деление чисел без знака и со знаком.

Сложение и вычитание

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

На рис. 5.12 приводятся примеры сложения целых чисел.

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

180

Глава 5. Операционные устройства

 

 

Рис. 5.12. Примеры выполнения операции сложения в дополнительном коде: а, б, в, г — сложение без возникновения переполнения; д, е — сложение с переполнением

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

Рис. 5.13. Примеры выполнения операции вычитания в дополнительном коде: а, б, в, г — вычитание без возникновения переполнения; д, е — вычитание с переполнением

Как при сложении, так и при вычитании двоичных чисел со знаком возможен результат, старшая значащая цифра которого занимает позицию знака (см. рис. 5.12, д, е и 5.13, в, г). Ситуация известна как переполнение, а условие его возникновения можно сформулировать следующим образом: если суммируются два числа и они оба положительные или оба отрицательные, переполнение имеет место тогда и только тогда, когда знак результата противоположен знаку слагаемых. ОПУ должно выявлять факт переполнения и сигнализировать о нем. Обратим внимание, что переполнение не всегда сопровождается переносом из знакового разряда.

Чтобы упростить обнаружение ситуации переполнения, часто применяется так называемый модифицированный дополнительный код, когда для хранения знака отводятся два разряда, причем оба участвуют в арифметической операции наравне с цифровыми разрядами. В нормальной ситуации оба знаковых разряда содержат одинаковые значения. Различие в содержимом знаковых разрядов служит признаком возникшего переполнения (рис. 5.14).

Рис. 5.14. Примеры выполнения операции сложения в модифицированном дополнительном коде: а, б — переполнения нет; в, г — возникло переполнение