Организация арифметико-логических устройств ЭВМ [Электронный ресурс]: метод. указания к лабораторным работам по дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» направления 230100.62 «Информатика и вычислительная техника» / сост. О. А. Заякин, В. П. Павлов. – Самара: Изд-во Самар. гос. аэрокос. ун-та, 2014. – 90 с.: ил. – 1 электрон. опт. диск (CD ROM).
В методических указаниях изучается структурная организация основной составляющей процессора ЭВМ – его арифметико-логического устройства.
Для изучения использованы графический редактор и эмулятор из системы автоматизированного проектирования MAX+PLUS II фирмы «Altera», разработанной ею для программирования собственных ПЛИС.
Предназначены для студентов, обучающихся дисциплине Б3.Б.2 «ЭВМ и периферийные устройства» по направлению 230100.62 «Информатика и вычислительная техника», а также по специальности «Автоматизированные системы обработки данных и управления». Могут быть полезны студентам, обучающимся по другим специальностям, связанным с информационными технологиями.
Работа выполнена на кафедре информационных систем и технологий Самарского государственного аэрокосмического университета.
При построении ОА АЛУ можно использовать различные способы организации, отличающиеся по техническим характеристикам ‑ производительности, быстродействию и затратам оборудования [4].
Под производительностью ОА понимается количество МО, выполняемых за один такт. В одном такте (одновременно) могут выполняться только совместимые МО, которые указываются в одном операторе микропрограммы МПg. Их число может меняться от такта к такту (в зависимости от микропрограммы МПg и значений операндов). Следовательно, производительность ‑ это случайная величина, которую можно оценивать либо максимальным значением (равным максимальному числу МО за один такт) либо средним значением. Средняя производительность зависит от числа совместимых МО в операторах МПg, частоты использования операторов и структуры ОА, которая может накладывать ограничения на функциональную совместимость МО.
Быстродействие ОА характеризуется длительностью такта ОА ‑ ТОА. Такт ОА - это отрезок времени, необходимый для выполнения микроопераций и формирования значений логических условий, то есть промежуток времени от момента поступления управляющих сигналов на вход ОА до момента выработки значений осведомительных сигналов, соответствующих состоянию ОА. Такт ОА зависит от внутренней структуры комбинационных схем и характеристик логических и запоминающих элементов, используемых в комбинационных схемах и памяти (регистрах) ОА.
Затраты оборудования определяются суммарным числом элементов в памяти ОА, комбинационных схемах, реализующих МО и формирующих значения ЛУ, и зависят от сложности и количества КС и регистров.
Важные характеристики структуры - регулярность и универсальность. Регулярной называется структура, состоящая из однотипных частей, одинаковым образом связанных между собой. Регулярность структуры проявляется в использовании одинаковых элементов или схем для обработки значений в каждом разряде слова. Структура ОА является максимально регулярной, если все слова обрабатываются одинаковым образом (одним набором МО) и одновременно с этим все разряды слова обрабатываются одинаково. Чем более регулярна структура, тем проще процесс её производства, что в итоге приводит к уменьшению стоимости изделия.
Универсальность (многофункциональность) структуры - возможность выполнения этой структурой широкого класса функций. Если структура ОА универсальна, то реализация любого алгоритма сводится к перестройке структуры внешними средствами путём микропрограммирования. Определение степени универсальности вызывает трудности, однако несложно выполнить сравнительную оценку универсальности двух структур, то есть определить, какая структура из двух является более универсальной. Чем более универсальна структура, чем шире область её применения. Увеличение степени универсальности структур позволяет сохранить номенклатуру выпускаемых изделий и увеличить объём их выпуска, что приводит к снижению стоимости производства. Эти характеристики структур особенно важны для БИС, так как их проектирование требует значительных затрат, которые окупаются при большом объёме производства. Следовательно, увеличение универсальности структуры приводит к снижению стоимости даже в тех случаях, когда универсальность достигается за счёт введения дополнительного оборудования.
Опыт проектирования показывает, что регулярность и универсальность - взаимосвязанные свойства, поэтому увеличение степени универсальности можно достичь за счёт увеличения степени регулярности структуры.
В зависимости от производительности и затрат оборудования различают ОА с максимальными характеристиками (с максимальной производительностью и максимальными затратами оборудования) - это I-автоматы, ОА с минимальной производительностью (одна МО за один такт) - М-автоматы, ОА с промежуточными значениями характеристик - IM-автоматы.
Структура ОА предопределяется его функцией. Функция ОА задаётся в виде трёх множеств:
- множество (список) СМО=(МО1, …, МОМ) или Y=(y1,…,yМ),
- множество (список) ЛУ=СЛУ=(ЛУ1, …, ЛУL) или X=(x1,…,xL),
- множество слов S1, …, SК (операндов, результатов, внутренних слов).
Микрооперация описывается оператором присваивания:
Si:=φm(Sj,Sn), (2)
где φm ‑ некоторая вычислимая функция (например, сложение);
Sj, Sn ‑ её аргументы (слова-операнды);
Si ‑ значение функции φm, вычисленное при заданных значениях Sj=Sj*, Sn=Sn* и присвоенное слову Si (Si ‑ слово-результат).
Выполнение МОmСМО в ОА осуществляется под управлением сигнала ymY, поступающего из УА (рис. 1). Поэтому микрооперация МОm обычно отождествляется с управляющим сигналом ym, который возбуждает её выполнение в ОА ‑ ym:Si:=φm(Sj,Sn). Поэтому набор Y=(y1,…,yМ) рассматривается и как список микроопераций СМО, и как список сигналов Y.
Логическое условие описывается выражением:
xl:=l(Si), (3)
где l ‑ булева функция;
Si ‑ ее аргумент;
xl ‑ значение функции l, вычисленное при Si= Si*.
Например, сигнал xl=1, если значение слова Si*=0, или xl=0, если Si*≠0. Набор значений X=(x1,…,xL) отображает состояние ОА.
Для хранения значений слов S1, …, SК используются одноименные регистры ОА, количество которых равно К. В этом случае МО вида (1) будет выполняться за один такт. Однако, в целях экономии оборудования, в ОА используют всего один регистр–аккумулятор (как в ЭВМ с аккумуляторной архитектурой). В этом случае для хранения остальных слов используются ячейки памяти, поэтому в алгоритме операции fgF появляются дополнительные действия: загрузить (операнд в регистр), записать (результат в ячейку), увеличивающие время выполнения операции fgF(количество тактов).
Максимальная производительность ОА первого типа (I-автомата) обеспечивается тем, что его структура организуется в виде, который позволяет в одном такте выполнять все функционально совместимые МО. Для I–автомата характерно, что каждый из регистров S1, …, SК обслуживается своей комбинационной схемой Ф1, …, ФК, средствами которых реализуются МО!, …, МОК, вычисляющие значения соответствующих слов. Отсюда максимальная производительность, которая при наличии К регистров и К комбинационных схем Ф1, …, ФК в принципе может достигать К микроопераций за такт.
В структуре I-автомата могут содержаться эквивалентные по функциям КС, используемые для обслуживания различных регистров. Следовательно, затраты оборудования в комбинационной части ОА можно уменьшить, если использовать одну схему для выполнения всех эквивалентных МО. ОА, построенные на основе принципа обобщения комбинационных схем, используемых для выполнения МО, называются М–автоматами. В них для вычисления любого двоичного выражения m(S1, …, Sk) используется одна (универсальная) комбинационная схема Ф, равнодоступная по отношению к регистрам S1, …, SК ОА. Структура М-автомата представлена на рис. 2.

Операнды, участвующие в МОm, подаются на входы А и В универсальной КС Ф по шинам А, В с помощью мультиплексоров MSA, MSB. Для выборки слов на шину А (для управления схемой MSA) используются сигналы a1, …, aK, а для выборки слов на шину В (для управления MSB) – b1, …, bK. Сигнал ai инициирует микрооперацию передачи A:=Si, a сигнал bj – микрооперацию B:=Sj. Cхема Ф на выполнение микрооперации C:=m(A,B) настраивается сигналом уm, m=1, … , M, управляющим мультиплексором MSC. Результат МОm с выхода C схемы Ф заносится в регистр Sn сигналом cn, управляющим демультиплексором DMC.
Чтобы выполнить микрооперацию Sn:=m(Si,Sj) необходимо подать набор управляющих сигналов (ai, bj, уm, cn), под воздействием которых на входы KC m подаются слова Si, Sj. Над ними выполняется преобразование m и результат загружается в регистр Sn. Для выполнения унарной МО (например, микрооперации счета Sn:=Sn+1) ни один из сигналов bj не вырабатывается (операнд В=0) и схема Ф реализует МО счета (увеличение операнда Sn на 1).
Загрузка операндов в регистры ОА извне (с шины D) осуществляется путем их подачи на вход B схемы Ф под управлением сигнала bD B:=D. Одновременно на вход A подается константа ноль (по сигналу а0), а в схеме Ф возбуждается МО «ИЛИ» C:=AvB (0vD), результат которой по сигналу cn записывается в регистр Sn. Выдача результата операции fgF на выходную шину R осуществляется по сигналу сR.
Как видно из рис. 2, в каждом такте М-автомат может выполнить только одну МО вида Sn:=m(Si,Sj), т.е. производительность М-автомата минимальная. По быстродействию М-автомат и I-автомата отличаются незначительно, так как длительность такта М-автомата увеличивается не более чем на 2τ за счет введения в схему мультиплексоров MSA, MSB. Затраты оборудования в М-автомате минимальны, поскольку каждая схема iФ используется для выполнения всех эквивалентных МО.
Для обеспечения устойчивости (устранения «гонок») в М-автомате регистры S1, … , SK выполняют на основе двойных триггеров типа MS (Master Slave). Количество оборудования в каждом регистре при этом удваивается. Более экономична схема, в которой в выходную шину С (на входе демультиплексора DMС) устанавливается вспомогательный регистр Sс (одинарный, типа D). Запись в него осуществляется в середине такта (по инверсному сигналу ТИ). Регистры S1,…, SК при этом также организуются на более простых одинарных триггерах типа D. Запись информации (обновление) в них осуществляется в начале такта (по прямому сигналу ТИ).
Итак, структурная организация I-автоматов базируется на принципе закрепления комбинационных схем, используемых для выполнения МО, за каждым из регистров S1,…, SК. За счёт этого все функционально совместимые МО могут выполняться параллельно в одном такте и их результаты записываются в разные регистры. Структурная организация М-автоматов базируется на обобщении КС по отношению ко всем регистрам, за счёт чего уменьшаются затраты оборудования.
Эти два класса автоматов обладают противоположными свойствами. Для I-автоматов характерны максимальная производительность и наибольшие затраты оборудования, а для М-автоматов - наоборот. Между этими двумя классами структур ОА лежат варианты структур ОА (IM-автоматы), обладающие промежуточными свойствами. ОА, структурная организация которых вносит ограничения на совместимость МО и, одновременно с этим, обеспечивает выполнение более чем одной МО за такт, называют IM-автоматами. Организация IM-автоматов также базируется на принципе обобщения эквивалентных КС, однако степень обобщения не столь высока, как в М-автоматах, и позволяет в одном такте выполнять более сложные действия, чем Si := m(Sj), Si := m(Sj,Sn), типичные для М-автоматов.
Структурная организация IM-автоматов базируется на использовании (для выполнения МО) последовательного и параллельного соединения многофункциональных КС Ф1, Ф2, … . Первое приводит к структурам IM-автоматов с последовательной комбинационной частью (рис. 3), а второе – к IM-автоматам с параллельной комбинационной частью (рис. 4).
Рис. 3. Структура IM-автомата с последовательной комбинационной частью
Принцип последовательной организации приводит к структурам, в которых комбинационная часть состоит из обычно из трёх схем Ф1, Ф2, Ф3, реализующих микрооперации из трёх множеств {fk}, {gl}, {hm} соответственно (рис. 3). Схема Ф1 обычно служит для формирования констант, полей, инверсий кодов, возбуждаемых одним из сигналов множества {fk} и называется формирователем кодов (для схемы Ф2). Схема Ф2 обычно служит для выполнения бинарных операций (например, сложение), возбуждаемых одним из сигналов множества {gl}. Схема Ф3 используется для выполнения унарных МО сдвига, возбуждаемых одним из сигналов множества {hm}, и называется сдвигателем. В одном такте такой ОА может выполнить преобразование Sn:=hm(gl(Si,fk(Sj))), эквивалентное трем последовательно выполняемым МО fk, gl, hm. Выбор операндов из регистров Si, Sj и запись результата в регистр Sn обеспечивается мультиплексорами MSA, MSB и демультиплексором DMC под управлением сигналов их наборов {yA}, {yB}, {yC}. В результате производительность IM-автомата в три раза превышает производительность M-автомата. Однако продолжительность такта больше вследствие последовательного соединения схем Ф1, Ф2, Ф3.
Принцип параллельной организации приводит к структурам, в которых комбинационная часть состоит из нескольких (например, двух) схем Ф1, Ф2, реализующих микрооперации из {fn}, {gh} (рис. 4). Схема Ф1 обычно служит для выполнения бинарных операций, возбуждаемых одним из сигналов множества {fn}. Схема Ф2 используется для выполнения унарных МО, возбуждаемых одним из сигналов множества {gh}. В одном такте такой ОА может выполнить две МО - Sn:=fn(Si,Sj), Sr:=gh(Sk). Выбор операндов из регистров Si, Sj и запись результата в регистр Sn обеспечивается мультиплексорами MSA, MSB, MSC и демультиплексорами DM1, DM2, управляемых сигналами из наборов {yA}, {yB}, {yC}, {yD1}, {yD2}. В результате производительность такого IM-автомата в два раза превышает производительность M-автомата. IM-автомат с параллельной организацией можно считать композицией из нескольких (двух и более) М-автоматов, имеющих общую память S1, … , SК.
Рис. 4. Структура IM-автомата с параллельной комбинационной частью