3.4. Назначение, классификация и организация АЛУ

К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
34 35 36 37 38 39 40 41 42 43 44 45 

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

преобразование информации.

Все операции, выполняемые в АЛУ, можно разделить на следующие

группы:

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

 - операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей запятой;                                     

 -  операции десятичной арифметики (над числами, представленными в

двоично-десятичном коде);

- операции адресной арифметики (при модификации адресов команд);

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

- логические операции;

- операции над алфавитно-цифровыми полями.

Современные универсальные ЭВМ обычно реализуют операции всех приведенных выше групп, а специализированные ЭВМ часто не имеют аппа­ратуры для обработки чисел с плавающей запятой, десятичных чисел и операций над алфавитно-цифровыми полями. В этом случае эти операции вы­полняются специальными подпрограммами.

Основными являются арифметические и логические операции. К арифметическим операциям относятся сложение, вычитание, вычита­ние модулей ("короткие операции"), умножение и деление ("длинные опера­ции"). Группу логических операций составляют операции дизъюнкции (логи­ческое ИЛИ) и конъюнкции (логическое И) над многоразрядными двоичны­ми словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигают­ся только цифровые разряды, знаковый разряд остается на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). Обшир­на группа операций редактирования алфавитно-цифровой информации.

Для выполнения перечисленных операций в АЛУ включаются следую­щие функциональные узлы:

- сумматор для выполнения суммирования и других действий над ко­дами операндов;

- регистры для хранения кодов операндов на время выполнения дейст­вий над ними;

- сдвигатели для сдвига кода на один или несколько разрядов вправо или влево;

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

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

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

Классификация АЛУ

По способу представления чисел различают АЛУ:

- для чисел с фиксированной запятой;

- для чисел с плавающей запятой;

- для десятичных чисел.

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

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

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

По структурной организации АЛУ можно разделить на устройства,

имеющие:

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

логикой;

- магистральную структуру с сосредоточенной памятью и логикой. Арифметико-логические устройства первого типа базируются на прин­ципе закрепления логических схем, используемых для выполнения микро­операций, за каждым из регистров. Так, на рис. 3.15 регистры Р1 и Р2 выпол­няют функции приема, хранения и выдачи операндов, поступающих из реги­стров общего назначения (РОН) процессора или КЭШ-памяти данных. С ре­гистром Р1 непосредственно связан преобразователь кода ПК1. Комбинаци­онный сумматор КСМ объединен с регистром РЗ по схеме накапливающего сумматора, с которым непосредственно связаны ПК2 и комбинационная схе­ма КС для мультиплексирования входных данных. На регистре РЗ выполня­ются микрооперации сдвига вправо или влево и сброс. Регистр Р4 выполняет микрооперации сдвига и непосредственно связан с преобразователем кода ПКЗ.

Таким образом, в данной структуре функции хранения и преобразования

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

Магистральная структура АЛУ отличается тем, что в ней регистры и схемы для преобразования информации выделены в отдельные блоки, свя­занные между собой по входам и выходам. В этом случае блок регистров (БР) выполняет функции приема, хранения, выдачи операндов и результатов, а операционный блок (ОБ) выполняет весь необходимый набор микроопераций над словами, хранимыми в БР. В данной структуре блок регистров может быть реализован двумя способами: либо как совокупность отдельных регист­ров с индивидуальными схемами управления, либо как сверхоперативное ад­ресное запоминающее устройство.

 

Рис.3.15. Регистровая структура с закрепленной логикой

Структура операционного блока имеет следующие модификации:

- последовательное соединение операционных узлов;

- параллельное соединение операционных узлов.

В первом случае (рис. 3.16) преобразователь кода ПК, комбинационный сумматор КСМ и сдвигатель СДВ соединены последовательно, причем входы ПК и КСМ связаны с выходными шинами блока регистров, а выход СДВ - с входной шиной БР. Такая организация операционного блока дает возмож­ность выполнять с высокой скоростью последовательности микроопераций, обеспечивающей вычисление одного слова-

Во втором случае (рис. 3.17) операционные узлы (СМ, СДВ, ПК, КС) подсоединяются к входным и выходным шинам БР параллельно, что позво­ляет выполнять несколько микроопераций одновременно.

 

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

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

Обобщенная структурная схема АЛУ

Обобщенная структурная схема АЛУ (рис. 3.18) включает:

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

- операционный блок, в котором осуществляется преобразование опе­рандов в соответствии с реализуемыми алгоритмами;

- схемы контроля, обеспечивающие непрерывный оперативный кон­троль и диагностирование ошибок;

- блок управления (БУ), в котором после приема кода операции (КОП) из центрального устройства управления формируются управляющие сигналы (УС), координирующие взаимодействие всех узлов АЛУ между собой и с другими блоками процессора.

Рис.3.18. Обобщенная схема АЛУ

Блок регистров связан с ГОН центрального процессора и кэш-памятью данных.

Иногда АЛУ не содержит своего БР, в этом случае операционный блок непосредственно работает с регистрами общего назначения процессора. Для оперативного управления выполнением операции в ОБ на разных этапах ана­лизируется преобразуемая информация и формируются сигналы признаков (флаги), которые используются в БУ для выработки и посылки в процессор сигнала признака результата (ПРез).

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

Методы повышения быстродействия АЛУ

Одним из эффективных и широко используемых методов повышения быстродействия АЛУ является реализация принципа локального паралле­лизма. Суть этого принципа заключается в распараллеливании во времени алгоритма выполнения отдельной команды на ряд независимых этапов и их реализации на различных операционных узлах (СМ, СДВ, ПК и т.д.) АЛУ.

Другой хорошо известный метод увеличения быстродействия - конвей­ерная обработка. Операционный блок разбивается на несколько частей -ступеней (уровней) конвейера. На каждой ступени выполняется определен­ная стадия операции. Совмещение стадий выполнения нескольких операций на различных ступенях конвейера приводит к тому, что реализация следую­щей операции начинается в нём до окончания предыдущей. Это значительно увеличивает быстродействие операционного блока. Такую организацию ОБ стали называть арифметическим конвейером.

На рис. 3.19 показана схема конвейерного сумматора с плавающей запя­той. Конвейер содержит четыре ступени. Результат выполнения каждой ста­дии операции фиксируется на регистрах. Когда конвейер полностью запол­нен, то стадия 4 (нормирование) выполняется, например, для первой пары операндов, стадия 3 (предварительной обработки) - для второй пары операн­дов, стадия 2 (сложение мантисс) - для третьей пары, стадия 1 (сравнение порядков) - для четвертой пары операндов. В каждый последующий такт времени на выходе конвейера будет формироваться результат выполнения операции для каждой пары операндов.

Еще один способ сокращения длительности выполнения многотактных операций типа умножения является разработка и использование эффектив­ных алгоритмов. Ускорение выполнения операции умножения достигается одновременным анализом нескольких разрядов множителя, использованием быстрых сумматоров с сохранением переносов и реализацией конвейерного метода обработки. Такой подход широко используется при создании функ­ционально независимых блоков ускоренного умножения (умножителей).

Развитием системы команд универсальных ЭВМ, в том числе и персо­нальных компьютеров, стало введение векторных операций — операций над упорядоченными массивами данных (у супер ЭВМ векторные операции поя­вились давно).                                            

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

К векторным средствам обработки относятся:

- один или несколько арифметических'конвейеров для обработки эле­ментов векторов;

- векторные регистры для хранения векторной информации. Векторные средства обработки информации позволяют увеличить про­изводительность ЭВМ в несколько раз.

 

 

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

преобразование информации.

Все операции, выполняемые в АЛУ, можно разделить на следующие

группы:

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

 - операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей запятой;                                     

 -  операции десятичной арифметики (над числами, представленными в

двоично-десятичном коде);

- операции адресной арифметики (при модификации адресов команд);

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

- логические операции;

- операции над алфавитно-цифровыми полями.

Современные универсальные ЭВМ обычно реализуют операции всех приведенных выше групп, а специализированные ЭВМ часто не имеют аппа­ратуры для обработки чисел с плавающей запятой, десятичных чисел и операций над алфавитно-цифровыми полями. В этом случае эти операции вы­полняются специальными подпрограммами.

Основными являются арифметические и логические операции. К арифметическим операциям относятся сложение, вычитание, вычита­ние модулей ("короткие операции"), умножение и деление ("длинные опера­ции"). Группу логических операций составляют операции дизъюнкции (логи­ческое ИЛИ) и конъюнкции (логическое И) над многоразрядными двоичны­ми словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигают­ся только цифровые разряды, знаковый разряд остается на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). Обшир­на группа операций редактирования алфавитно-цифровой информации.

Для выполнения перечисленных операций в АЛУ включаются следую­щие функциональные узлы:

- сумматор для выполнения суммирования и других действий над ко­дами операндов;

- регистры для хранения кодов операндов на время выполнения дейст­вий над ними;

- сдвигатели для сдвига кода на один или несколько разрядов вправо или влево;

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

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

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

Классификация АЛУ

По способу представления чисел различают АЛУ:

- для чисел с фиксированной запятой;

- для чисел с плавающей запятой;

- для десятичных чисел.

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

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

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

По структурной организации АЛУ можно разделить на устройства,

имеющие:

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

логикой;

- магистральную структуру с сосредоточенной памятью и логикой. Арифметико-логические устройства первого типа базируются на прин­ципе закрепления логических схем, используемых для выполнения микро­операций, за каждым из регистров. Так, на рис. 3.15 регистры Р1 и Р2 выпол­няют функции приема, хранения и выдачи операндов, поступающих из реги­стров общего назначения (РОН) процессора или КЭШ-памяти данных. С ре­гистром Р1 непосредственно связан преобразователь кода ПК1. Комбинаци­онный сумматор КСМ объединен с регистром РЗ по схеме накапливающего сумматора, с которым непосредственно связаны ПК2 и комбинационная схе­ма КС для мультиплексирования входных данных. На регистре РЗ выполня­ются микрооперации сдвига вправо или влево и сброс. Регистр Р4 выполняет микрооперации сдвига и непосредственно связан с преобразователем кода ПКЗ.

Таким образом, в данной структуре функции хранения и преобразования

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

Магистральная структура АЛУ отличается тем, что в ней регистры и схемы для преобразования информации выделены в отдельные блоки, свя­занные между собой по входам и выходам. В этом случае блок регистров (БР) выполняет функции приема, хранения, выдачи операндов и результатов, а операционный блок (ОБ) выполняет весь необходимый набор микроопераций над словами, хранимыми в БР. В данной структуре блок регистров может быть реализован двумя способами: либо как совокупность отдельных регист­ров с индивидуальными схемами управления, либо как сверхоперативное ад­ресное запоминающее устройство.

 

Рис.3.15. Регистровая структура с закрепленной логикой

Структура операционного блока имеет следующие модификации:

- последовательное соединение операционных узлов;

- параллельное соединение операционных узлов.

В первом случае (рис. 3.16) преобразователь кода ПК, комбинационный сумматор КСМ и сдвигатель СДВ соединены последовательно, причем входы ПК и КСМ связаны с выходными шинами блока регистров, а выход СДВ - с входной шиной БР. Такая организация операционного блока дает возмож­ность выполнять с высокой скоростью последовательности микроопераций, обеспечивающей вычисление одного слова-

Во втором случае (рис. 3.17) операционные узлы (СМ, СДВ, ПК, КС) подсоединяются к входным и выходным шинам БР параллельно, что позво­ляет выполнять несколько микроопераций одновременно.

 

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

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

Обобщенная структурная схема АЛУ

Обобщенная структурная схема АЛУ (рис. 3.18) включает:

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

- операционный блок, в котором осуществляется преобразование опе­рандов в соответствии с реализуемыми алгоритмами;

- схемы контроля, обеспечивающие непрерывный оперативный кон­троль и диагностирование ошибок;

- блок управления (БУ), в котором после приема кода операции (КОП) из центрального устройства управления формируются управляющие сигналы (УС), координирующие взаимодействие всех узлов АЛУ между собой и с другими блоками процессора.

Рис.3.18. Обобщенная схема АЛУ

Блок регистров связан с ГОН центрального процессора и кэш-памятью данных.

Иногда АЛУ не содержит своего БР, в этом случае операционный блок непосредственно работает с регистрами общего назначения процессора. Для оперативного управления выполнением операции в ОБ на разных этапах ана­лизируется преобразуемая информация и формируются сигналы признаков (флаги), которые используются в БУ для выработки и посылки в процессор сигнала признака результата (ПРез).

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

Методы повышения быстродействия АЛУ

Одним из эффективных и широко используемых методов повышения быстродействия АЛУ является реализация принципа локального паралле­лизма. Суть этого принципа заключается в распараллеливании во времени алгоритма выполнения отдельной команды на ряд независимых этапов и их реализации на различных операционных узлах (СМ, СДВ, ПК и т.д.) АЛУ.

Другой хорошо известный метод увеличения быстродействия - конвей­ерная обработка. Операционный блок разбивается на несколько частей -ступеней (уровней) конвейера. На каждой ступени выполняется определен­ная стадия операции. Совмещение стадий выполнения нескольких операций на различных ступенях конвейера приводит к тому, что реализация следую­щей операции начинается в нём до окончания предыдущей. Это значительно увеличивает быстродействие операционного блока. Такую организацию ОБ стали называть арифметическим конвейером.

На рис. 3.19 показана схема конвейерного сумматора с плавающей запя­той. Конвейер содержит четыре ступени. Результат выполнения каждой ста­дии операции фиксируется на регистрах. Когда конвейер полностью запол­нен, то стадия 4 (нормирование) выполняется, например, для первой пары операндов, стадия 3 (предварительной обработки) - для второй пары операн­дов, стадия 2 (сложение мантисс) - для третьей пары, стадия 1 (сравнение порядков) - для четвертой пары операндов. В каждый последующий такт времени на выходе конвейера будет формироваться результат выполнения операции для каждой пары операндов.

Еще один способ сокращения длительности выполнения многотактных операций типа умножения является разработка и использование эффектив­ных алгоритмов. Ускорение выполнения операции умножения достигается одновременным анализом нескольких разрядов множителя, использованием быстрых сумматоров с сохранением переносов и реализацией конвейерного метода обработки. Такой подход широко используется при создании функ­ционально независимых блоков ускоренного умножения (умножителей).

Развитием системы команд универсальных ЭВМ, в том числе и персо­нальных компьютеров, стало введение векторных операций — операций над упорядоченными массивами данных (у супер ЭВМ векторные операции поя­вились давно).                                            

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

К векторным средствам обработки относятся:

- один или несколько арифметических'конвейеров для обработки эле­ментов векторов;

- векторные регистры для хранения векторной информации. Векторные средства обработки информации позволяют увеличить про­изводительность ЭВМ в несколько раз.