8.1 Арифметико-логическое устройство
АЛУ – одна из основных функциональных частей процессора, осуществляющая непосредственное преобразование информации.
Все операции, выполняемые в АЛУ, можно разделить на сле¬дующие группы:
• операции двоичной арифметики для чисел с фиксированной точкой;
• операции двоичной (шестнадцатеричной) арифметики для чи¬сел с плавающей точкой;
• операции десятичной арифметики над числами, представлен¬ными в двоично-десятичном коде;
• операции адресной арифметики (при модификации адресов ко¬манд);
• операции специальной арифметики (нормализация, сдвиг);
• логические операции;
• операции над алфавитно-цифровыми полями.
Для выполнения перечисленных операций в АЛУ включают следующие функциональные узлы:
• сумматор (для выполнения суммирования и других действий над кодами операндов);
• регистры (для хранения кодов операндов на время выполнения действия над ними);
• сдвигатели (для сдвига кода на один или несколько разрядов вправо или влево);
• преобразователи (для преобразования прямого кода числа в об¬ратный или дополнительный);
• комбинационные схемы (для реализации логических операций, мультиплексирования данных, управляемой передачи инфор¬мации, формирования признаков результата).
Регистры и в некоторых случаях сумматоры имеют цепи управления приемом, выдачей и сбросом кодов операндов. Логические операции, операции сдвига и преобразования кодов могут выпол¬няться не только специальными устройствами, но и с помощью допол¬нительных связей регистров и сумматора.
8.2 Структура АЛУ
Обобщенная структурная схема АЛУ (рис. 147) включает:

• блок регистров для приема и размещения операндов и результатов;
• операционный блок, в котором осуществляется преобразование операндов в соответствии с реализуе-мыми алгоритмами;
• схемы контроля, обеспечивающие непрерывный оперативный контроль и диагностирование ошибок;
• блок управления (БУ), в котором после приема кода операции (КОП) из центрального устройства управления формируются управляющие сигналы (УС), координирующие взаимодействие всех узлов АЛУ между собой и с другими блоками процессора.
Блок регистров (БР) связан с регистрами общего назначения (РОН) центрального процессора и кэш-памятью данных.
Иногда АЛУ не содержит своего блока регистров, в этом случае операционный блок (ОБ) непосредственно работает с регистрами общего назначения процессора. Для оперативного управления выполнением операции в оперативном блоке на разных этапах анализируется преобразуемая информация и формируются сигналы признаков (флаги), которые используются в блоке управления для выработки и посылки в процессор сигнала признака результата (ПРез).
Для оценки АЛУ используются следующие характеристики: множество выполняемых операций, разрядность, время выполнения операций, надежностные и энергетические характеристики.
8.3 Сумматоры
Сумматоры АЛУ (рис 148) делятся:
• по типу использования для суммирования базовых элементов (комбинационные и накапливающие);
• по способу осуществления операции суммирования (последовательные и параллельные).
Сумматоры последовательного действия выполняются, как правило, на комбинационных элементах; на сегодняшний день устройства такого типа почти не применяются. В АЛУ современных ЭВМ средней и высокой производительности применяются сумматоры параллельного действия, выполняемые на накапливающих или комбинационных элементах.

В качестве накап-ливающих элементов мо¬гут служить обычные T-триггеры. Перед суммиро¬ванием триггеры сумма¬тора устанавливаются в нулевое состояние сигна¬лом сброс. Затем на счет¬ные входы триггеров подается первое слагаемое и запоминается. В следующем такте на входы триггеров подается второе слагаемое.
Триггеры тех разрядов, в которых второе слагаемое равно 1, меняют свое состояние на противоположное. В тех разрядах, в кото¬рых триггеры перешли из единичного состояния в нулевое, возникают сигналы переносов, последовательно передаваемые в старшие разряды сумматора. Арифметические операции сумматора выполняются с уче¬том знаков операндов.
8.4 Классификация АЛУ
По способу представления чисел:
• для чисел с фиксированной точкой;
• для чисел с плавающей точкой;
• для десятичных чисел.
По способу действия над операндами:
• последовательные;
В параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
• параллельные.
В последовательных АЛУ операнды представляются в после¬довательном коде, а операции производятся последовательно во времени над их отдельными разрядами. Такие АЛУ, как правило, используют конвейерный метод обработки, при кото¬ром совмещаются во времени фазы выполнения операции для различных разрядов операндов.
По выполняемым функциям АЛУ подразделяются на:
• многофункциональные;
В многофункциональных АЛУ все возможные операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зави¬симости от требуемого режима работы.
• функциональные (блочные).
В блочном АЛУ операции над числами с фиксированной и плавающей точкой, десятичными и алфавитно-цифровыми по¬лями, операции умножения выполняются в отдельных блоках. Такой подход позволяет увеличить скорость работы АЛУ за счет использования быстродействующих блоков, а также за счет организации параллельной работы этих блоков. Однако в этом случае значительно увеличиваются затраты на оборудо¬вание.
По структурной организации АЛУ подразделяются на устройства, имеющие:
• регистровую структуру с непосредственными связями и закрепленной логикой;
• магистральную структуру с сосредоточенной памятью и логикой.

сумматора, а с КСМ, в свою очередь, связаны ПК2 и комбинаци¬онная схема КС для мультиплексирования входных данных. На реги¬стре Рг3 выполняются микрооперации сдвига вправо или влево и сброс. Регистр Рг4 выполняет микрооперации сдвига и непосред¬ственно связан с ПК3. Таким образом, в АЛУ с такой структурой функции хранения и преобразования информации выполняются одним и тем же операционным блоком.
В АЛУ с магистральной структурой регистры выделены в от¬дельный блок, а схемы для преобразования информации выделены также в отдельный операционный блок (ОБ), который связан с бло¬ками регистров по входам и выходам (см. рис. 150). Блок регистров (БР) осуществляет функции приема, хранения и выдачи операндов и результатов, а ОБ выполняет весь набор микроопераций над словами, хранимыми в блоке регистров. В АЛУ с такой структурой блок реги¬стров может быть реализован или как сверхоперативное запоминаю¬щее устройство (СОЗУ), или как совокупность отдельных регистров с индивидуальными схемами управления. Структура же ОБ имеет сле¬дующие модификации:
• последовательное соединение операционных узлов;
• параллельное соединение операционных узлов.

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

8.5 Методы повышения быстродействия АЛУ
Одним из таких методов является реализация принципа локаль¬ного параллелизма. Суть этого принципа – в распараллеливании во времени алгоритма выполняемой отдельно команды на ряд независи¬мых этапов и их реализации на различных операционных блоках АЛУ.
Второй хорошо известный метод – конвейерная обработка. Операционный блок разделяется на несколько частей – уровней кон¬вейера. На каждой ступени выполняется определенная стадия опера¬ции (например, считывание операндов, сравнение порядков чисел, сложение мантисс чисел и так далее). Совмещение стадий выполнения нескольких операций на различных ступенях конвейера приводит к тому, что реализация следующей операции начинается до окончания предыдущей. Это значительно увеличивает быстродействие операци¬онного блока.
Другой способ сокращения длительности выполнения много¬тактных операций – использование эффективных алгоритмов. При использовании таких алгоритмов сочетается использование быстро¬действующих блоков, одновременно анализа нескольких разрядов операндов и реализация конвейерного метода обработки.
Наиболее новый способ увеличения быстродействия всех бло¬ков процессора ЭВМ – введение векторных операций – операций над упорядоченными массивами данных (в суперЭВМ векторные опера¬ции появились давно, в связи с чем в составе процессоров появилась специализация устройств по типам операндов – скалярные и вектор¬ные). Например, в современных процессорах появились регистровая память и средства обработки двух типов: векторные и скалярные.
К векторным средствам обработки относятся:
• один или несколько арифметических конвейеров для обработки элементов векторов;
• векторные регистры для хранения векторной информации.
Векторные средства обработки данных позволяют увеличить производительность ЭВМ в несколько раз.
8.6 Память ЭВМ
Память – один из блоков ЭВМ, состоящий из ЗУ и предназна¬ченный для запоминания, хранения и выдачи информации (алгоритма обработки данных и самих данных).
Основными характеристиками отдельных устройств памяти (запоминающих устройств) являются емкость памяти, быстродействие и стоимость хранения единицы информации (бита).
Быстродействие (задержка) памяти определяется временем до¬ступа и длительностью цикла памяти. Время доступа представляет со¬бой промежуток времени между выдачей запроса на чтение и момен¬том поступления запрошенного слова из памяти. Длительность цикла памяти определяется минимальным временем между двумя последо¬вательными обращениями к памяти.
Требования к увеличению емкости и быстродействия памяти, а также к снижению ее стоимости являются противоречивыми. Чем больше быстродействие, тем технически труднее достигается и до¬роже обходится увеличение емкости памяти. Стоимость памяти со¬ставляет значительную часть общей стоимости ЭВМ.
Как и большинство устройств ЭВМ, память имеет иерархиче¬скую структуру. Обобщённая модель такой структуры, отражающая многообразие ЗУ и их взаимодействие, представлена на рисунке 152. Все запоминающие устройства обладают различным быстродействием и емкостью. Чем выше уровень иерархии, тем выше быстродействие соответствующей памяти, но меньше её емкость.
К самому высокому уровню — сверхоперативному — относятся регистры управляющих и операционных блоков процес¬сора, сверхоперативная память, управляющая память, буферная память (кэш-память).
На втором оперативном уровне, более низком, находится оперативная память (ОП), служащая для хранения активных про¬грамм и данных, то есть тех программ и данных, с которыми работает ЭВМ.
На следующем более низком внешнем уровне размещается внешняя память.
Местная память или регистровая память процессора. Входит в состав ЦП (регистры управляющих и операционных блоков процес¬сора) и предназначена для временного хранения информации. Она имеет малую ёмкость и наибольшее быстродействие. Построена на базе регистров общего назначения. РОН конструктивно совмещены с процессором ЭВМ. Этот тип ЗУ используется для хранения управля¬ющих и служебных кодов, а также информации, к которой наиболее часто обращается процессор при выполнении программы.
Сверхоперативная память (СОЗУ). Иногда в архитектуре ЭВМ регистровая память организуется в виде сверхоперативного ЗУ с прямой адресацией. Такая память имеет то же назначение как и РОН, служит для хранения операндов, данных и служебной информации, необходимой процессору.
Управляющая память предназначена для хранения управляю¬щих микропрограмм процессора. Выполнена в виде постоянного ЗУ (ПЗУ) или программируемого постоянного ЗУ (ППЗУ). В системах с микропрограммным способом обработки информации УП применя¬ется для хранения однажды записанных микропрограмм, управляю¬щих программ, констант и т.п.
Буферная память. В функциональном отношении кэш-память рассматривается как буферное ЗУ, размещённое между основной (оперативной) памятью и процессором. Основное назначение кэш-па¬мяти — кратковременное хранение и выдача активной информации процессору, что сокращает число обращений к основной памяти, ско¬рость работы которой меньше, чем кэш-памяти. Кэш – память от ан¬глийского cashe – тайник. Она не является программно доступной. По¬этому она оказывает влияние на производительность ЭВМ, но не вли¬яет на программирование прикладных задач. В современных ЭВМ различают кэш первого и второго уровней. Кэш первого уровня инте-грирована с блоком предварительной выборки команд и данных ЦП и служит, как правило, для хранения наиболее часто используемых ко¬манд. Кэш второго уровня служит буфером между ОП и процессором. В некоторых ЭВМ существует кэш память отдельно для команд и от¬дельно для данных.
ОП (ОЗУ) служит для хранения информации, непосредственно участвующей в вычислительном процессе (происходящем в операци¬онном устройстве — АЛУ). Из ОЗУ в процессор поступают коды и опе¬ранды, над которыми производятся предусмотренные программой операции, из процессора в ОЗУ направляются для хранения промежу¬точные и конечные результаты обработки информации. ОЗУ имеет сравнительно большую ёмкость и высокое быстродействие, однако меньшее, чем ЗУ сверхоперативного уровня.
Внешняя память (ВнП) используется для хранения больших массивов информации в течении продолжительного времени. Обычно ВнП не имеет непосредственной связи с процессором. Обмен инфор¬мацией носит групповой характер, что значительно сокращает время обмена. ВнП обладает сравнительно низким быстродействием (поиск информации). В качестве носителя используются магнитные диски (гибкие и жёсткие), лазерные диски(CD-room) и др.
Сравнительно небольшая емкость оперативной памяти (8 — 64 Мбайта) компенсируется практически неограниченной емкостью внешних запоминающих устройств. Однако эти устройства сравни¬тельно медленные — время обращения за данными для магнитных дис¬ков составляет десятки микросекунд. Для сравнения: цикл обращения к оперативной памяти (ОП) составляет 50 нс. Исходя из этого, вычис-лительный процесс должен протекать с возможно меньшим числом обращений к внешней памяти.
Рост производительности ЭВМ проявляется в первую очередь в увеличении скорости работы процессора. Быстродействие ОП также растет, но все время отстает от быстродействия аппаратных средств процессора потому, что одновременно происходит опережающий рост ее емкости, что делает более трудным уменьшение времени цикла ра-боты памяти. Вследствие этого быстродействие ОП оказывается недо¬статочным для обеспечения требуемой производительности ЭВМ. Проявляется это в несоответствии пропускных способностей процес¬сора и памяти. Для выравнивания их пропускных способностей и предназначена сверхоперативная буферная память небольшой емкости (как правило, не более 512 Кбайт) и повышенного быстродействия.
При обращении к блоку данных, находящемуся на оператив¬ном уровне, его копия пересылается в сверхоперативную буферную память. Последующие обращения к этому блоку данных производится к буферной памяти. Поскольку время выборки из сверхоперативной памяти (СОЗУ) tСОЗУ много меньше времени выборки из оперативной памяти tОП, введение в структуру ЭВМ СОЗУ приводит к уменьшению эквивалентного времени обращения tэ по сравнению с временем об¬ращения к оперативной памяти tОП:
tЭ = tСОЗУ + αtОП ,
где α = 1- q ,
а q – вероятность попадания, т. е. вероятность того, что блок данных, к которому производится обращение, находится в СОЗУ.
8.7 Организация внутренней памяти процессора.

Дешифратор адреса формирует управляющие сигналы 0,1,…,М, подключающие регистр с заданным адресом к шинам СОЗУ.
Адрес регистра, к которому производится обращение с целью записи или чтения (управляющий Сигнал ЗП/ЧТ) информации, посту¬пает по шине А. Дешифратор адреса (ДША) формирует управляющие сигналы 0,1,…М, подключающие регистр с заданным адресом к ши¬нам СОЗУ.
При использовании двухадресных команд типа «регистр — ре¬гистр» подобная организация СОЗУ становится неэффективной, т. к. за один такт может быть выбрано содержимое только одного регистра.
Для реализации таких команд за один такт СОЗУ строится в виде совокупности регистров, соединенных с одной входной и двумя выходными шинами (рис. 154). Адреса регистров, к которым произво¬дится обращение с целью чтения информации, поступают по шинам А и В. Адрес регистра для записи информации поступают по входу В.
Двухадресная ко-манда, в которой адресу¬ются два операнда, распо-ложенные в регистрах, и результат операции раз¬мещается по одному из этих адресов [0…M].
Дешифраторы ад¬ресов формируют управ¬ляющие сигналы, под¬ключающие два регистра к выходным шинам при чтении и один регистр при записи.
Стековая память. реализующая безадресное задание операндов, является эффективным элементом архитектуры ЭВМ. Стек представ¬ляет собой группу последовательно пронумерованных регистров (ап¬паратный стек) или ячеек памяти, снабженных указателем стека (обычно регистром), в котором автоматически при записи и считыва¬нии устанавливается номер (адрес) первой свободной ячейки стека (вершина стека). При операции записи заносимое в стек слово поме¬щается в свободную ячейку стека, а при считывании из стека извлека¬ется последнее поступившее в него слово. Таким образом, в стеке реа¬лизуется принцип LIFO «последний пришел — первый ушел».
Механизм стековой адресации поясняется на рис.155.
Предполагается, что область памяти для стека находится в сегменте стека, база которого определяется регистром SS — сегментным регистром стека. При до¬бавлении записи в стек вна¬чале проверяется, содержит ли указатель стека (ESP) значение, не меньше длины помещаемой в стек записи (2 байта для 16-разрядного и 4 байта для 32-разрядного процессора). Если это условие не удовлетворено, то ге¬нерируется особый случай нарушения стека. Если же ESP содержит значение не меньше требуемого, производится декремент указателя стека на 2(4) и операнд сохраняется по адресу SS:SP (SS:ESP) в теку-щем сегменте стека, на который указывает указатель стека.
(Число 4 – число байт в 32-х разрядном процессоре). При из¬влечении данных из стека содержимое ESP сравнивается с пределом SS. Если обращение оказывается вне предела, формируется особый случай нарушения стека. Когда обращение оказывается разрешенным, считываются данные по адресу SS:[ESP] и осуществляется инкремент ESP на 4. Извлечь данные из стека можно в регистр или в ЯП.
В современных архитектурах процессоров стек и стековая ад¬ресация широко используется при организации переходов к подпро¬граммам и возврата из них, а также в системах прерывания.
Прежде чем приступать к изучению принципов организации ОП, следует отметить следующее.
В последнее время емкость микросхем динамической памяти учетверялась каждые три года. Но скорость этих микросхем за тот же период возрастала гораздо меньшими темпами (примерно 7% в год). В то время, как производительность процессоров, начиная с 1987г, уве¬личивалась на 50% в год. Таким образом, согласование производи¬тельности современных процессоров со скоростью ОП вычислитель¬ных машин и систем остается одной из важнейших проблем. Методы повышения производительности за счет увеличения размеров КЭШ–памяти и введения многоуровневой организации КЭШ могут оказаться недостаточно эффективными с точки зрения стоимости системы. По¬этому важным направлением современных разработок являются ме¬тоды повышения пропускной способности памяти за счет ее организа¬ции, включая специальные методы организации динамических ЗУ.

Оставить комментарий