- •Введение.
- •1. Основы построения эвм. Основные определения.
- •2. Принципы действия эвм. Принципы программного управления.
- •Страница–словарь.
- •4. История развития вычислительной техники. Поколения эвм.
- •«Компьютер... XVII века»
- •5. Основные параметры эвм.
- •1. Запоминающие устройства эвм.
- •1.1. Типы зу и их основные характеристики.
- •1.2. Оперативные запоминающие устройства.
- •1.2.1. Общие принципы организации озу.
- •1.2.2. Структурная организация блока памяти.
- •1.2.3. Полупроводниковые интегральные зу с произвольным обращением.
- •1.2.4. Модули памяти и элементы памяти (бис).
- •1.2.5. Система электрических параметров полупроводниковых бис зу.
- •1.2.6. Контроль функционирования бис зу.
- •1.2.7. Организация многоблочной оперативной памяти.
- •1.2.8. Организация озу с многоканальным доступом.
- •1.2.9. Ассоциативные зу.
- •1.3. Сверхоперативные зу.
- •1.3.1. Назначение и типы созу.
- •1.3.2. Организация созу с прямой адресацией.
- •1.3.3. Организация стекового и магазинного созу.
- •1.3.4. Организация ассоциативных созу.
- •1.3.5. Оценка эффективности использования созу в процессоре.
- •1.4. Постоянные зу.
- •1.5. Виртуальная память.
- •Логическое распределение оперативной памяти в персональных компьютерах (Intel/pc).
- •1.6.1. Стандартная оперативная память.
- •1.6.1.1.Таблица векторов прерываний.
- •1.6.1.2. Область данных bios.
- •1.6.1.3. Область для операционной системы.
- •1.6.1.4. Основная область памяти.
- •2. Арифметико-логические устройства эвм
- •2.1. Типы арифметических устройств и их структуры.
- •2.2. Организация алу параллельного действия при работе над числами в естественной форме.
- •2.2.1. Суммирование и вычитание чисел при использовании накапливающего сумматора.
- •2.2.2. Принципы построения алу для сложения и вычитания на комбинационных суммах.
- •2.2.3. Организация алу (параллельного действия) в режиме умножения чисел с фиксированной запятой.
- •2.2.4. Аппаратные способы ускорения умножения в организации алу.
- •2.2.5. Алгоритмические (логические) способы ускорения умножения в организации алу.
- •2.2.6. Организация алу параллельного действия в режиме деления чисел с фиксированной запятой.
- •2.2.7. Организация алу при реализации логических операций и операций специальной арифметики.
- •2.3. Организация алу параллельного действия при работе над числами в нормальной форме.
- •2.3.1. Принцип построения и работы алу при суммировании и вычитании чисел в нормальной форме.
- •2.3.2. Направления и методы ускорения операций над числами с плавающей запятой.
- •2.4. Организация алу, работающих в двоично-десятичных кодах.
- •2.5.Об экзотических формах представления чисел. Логарифмическая форма:
- •Трансформирующаяся запятая.
- •Инверсная запятая.
- •2.6. Итеративные методы деления.
- •3. Процессоры.
- •3.1. Система команд эвм.
- •3.1.1. Структура и форматы команд.
- •3.1.2. Список команд.
- •3.1.3. Способы адресации.
- •3.2. Устройства управления.
- •3.2.1. Организация цуу (на примере гипотетической одноадресной эвм).
- •3.2.2. Принципы формирования уфс.
- •3.2.3. Организация микропрограммных устройств управления.
- •3.3. Организация внутрипроцессорных систем ввода-вывода информации.
- •3.3.1. Основные понятия и определения.
- •3.3.2. Способы обмена данными между ядром малой эвм и периферийными устройствами.
- •3.3.3. Программно управляемые способы передачи данных.
- •3.3.3.1. Простые типы передачи.
- •3.3.3.2. Последовательность событий при прерываниях.
- •3.3.3.3. Идентификация прерывающего устройства.
- •3.3.4. Организация прямого доступа к памяти.
- •4. Основы вычислительных конвейеров.
- •4.1. Введение в архитектурные принципы конвейерных процессоров и эвм.
- •Конвейерные сумматоры
- •Конвейерный умножитель
- •5. Архитектура сигнальных процессоров.
- •5.1. Введение. Основные задачи обработки сигналов. Методы обработки сигналов.
- •5.2. Основные характеристики и базовая архитектура семейства adsp-21xx
- •5.2.1. Общие сведения о составе функциональных устройств
- •5.2.2. Базовая архитектура.
- •5.2.3. Средства разработчиков для процессоров семейства.
- •5.3. Интерфейс процессоров adsp-21xx с памятью.
- •5.3.1. Интерфейс с загрузочной памятью.
- •5.3.2. Интерфейс с памятью программ.
- •5.3.3. Интерфейс с памятью данных.
- •5.4. Архитектура операционных устройств.
- •5.4.1. Арифметико-логическое устройство.
- •5.4.2. Умножитель/накопитель mac.
- •5.4.3. Устройство сдвига shifter.
2.2.2. Принципы построения алу для сложения и вычитания на комбинационных суммах.
Изложение будем вести в следующих предположениях:
-
запятая располагается справа от младшего (правого) разряда чисел все числа полагаются целыми;
-
используется дополнительный модифицированный код как в АЛУ, так и в ОЗУ;
-
числа n+2 разрядные: n+1 и n+2-ой разряды отведены под знак, кодируемый 00 – «+»; 11 – «-».
Далее как правило не будут специально не оговариваться тип используемого сумматора, поскольку в конечном счете это не особо существенно ввиду включения ныне в процессор большого числа регистров. Пусть для определенности используется комбинационный сумматор на два многоразрядных входа.
Рис. 2.2.2.1.
Работа очень легко может быть пояснена с помощью структурной схемы алгоритма:
Рис. 2.2.2.2
На рисунке обозначен БФПР – блок формирования признаков результата. Он состоит из комбинационной схемы и регистра признаков (РгПр).
Помимо сигнала завершения операции БФПР формирует еще:
переполнение разрядной сетки - Q;
обнуление разрядной сетки - Z;
результат больше или меньше 0 – N;
число «1» в результате четно - Р - или нечетно и, возможно, другие признаки результата.
Просты и соответствующие выражения:
;
;
и т.д.
Все эти признаки потенциально будут использоваться УУ для формирования очередного адреса (следующая команда, условный переход, прерывание по переполнению и т.д.)
<91>
2.2.3. Организация алу (параллельного действия) в режиме умножения чисел с фиксированной запятой.
Сначала обзор-напоминание.
Умножение двоичных чисел с фиксированной запятой сводится к последовательности сложений и сдвигов: произведение суть сумма частичных произведений, каждое из которых получается умножением множимого на один разряд множителя.
Но умножение на разряд двоичного числа – это уже почти не умножение, ибо умножаем здесь мы на «0» или «1».
Произведение двух n-разрядных чисел составляет до 2n разрядов:
<92>
Известно, что в зависимости от порядка просмотра множителя и способа формирования суммы частичных произведений различают четыре способа организации умножения.
Рассмотрим их с точки зрения размещения в регистрах АЛУ.
Первый способ. Умножение младшими разрядами (множителя) вперед со сдвигом суммы частичных произведений вправо. Если мы сдвигаем сумму частичных произведений, то куда? Нужно увеличивать число разрядов сумматора? – Нет! Нет по двум причинам:
младшие (выдвигаемые) разряды далее не меняются;
поскольку множитель также сдвигается вправо, то в регистре, где он «сидит», старшие разряды освобождаются.
Итак, возможно размещение младших разрядов суммы вдвиганием их в регистр множителя. Заметим здесь, что такая схема удобна и при выполнении операции деления.
Регистр множителя и сумматор обязаны иметь цепи сдвига содержимого вправо. Для регистра множимого этого не нужно. Младший разряд сумматора (регистра) частичных произведений должен быть соединен по цепям со старшим разрядом регистра множителя.
Рис. 2.2.3.1.
На каждом шаге выполнения умножения определяется содержимое младшего разряда Рг множителя. Если в нем «1», то к сумме частичных произведений добавляется множимое. Затем производится одновременный сдвиг. При «0» в младшем разряде Рг множителя добавления нет, а сдвиг такой же. В конце умножения (заметим, что этот «конец» надо поймать) старшие разряды произведения «лежат» в См, а младшие в Рг множителя.
Поскольку метод значительно экономит оборудование (всего необходимы три одинаковых n-разрядных регистра), то он чаще всего в ЭВМ и применяется.
Второй способ. Умножение младшими разрядами множителя вперед при неподвижной сумме частичных произведений.
Это возможно, только если будет вдоль сумматора двигаться множимое, причем справа налево. Иными словами, в Рг множимого должны быть цепи сдвига влево.
Сумматор частичных произведений и Рг множимого должны иметь двойную длину (2n разрядов).
Рис. 2.2.3.2.
Порядок действий почти такой же, как в первом случае. Преимуществ у этого метода мало. Пожалуй, по сравнению с первым лишь одно: в См не нужны цепи сдвигов (не путать с переносами!).
Третий способ. Умножение старшими разрядами множителя вперед при неподвижном множимом.
Регистр множителя и сумматор обязаны иметь цепи сдвига влево. Последовательность действий на каждом шаге связана с содержимым старшего разряда Рг множителя. Рг множимого цепей сдвига не имеет.
См частичных произведений почти обречен иметь двойную длину. Если же попытаться, как в первом методе, использовать под старшие разряды суммы младшие (освободившиеся) разряды Рг множителя, то последний должен иметь цепь переносов, соединенную с выходом цепи переноса сумматора, а это схемотехнически сложно.
Рис. 2.2.3.3.
По оборудованию метод проигрывает первому. Тем не менее, он изредка применяется, так как позволяет без дополнительных цепей сдвига выполнить и деление. (Заметим, что первый метод соединения регистров для выполнения деления требует введения цепей сдвига влево в См формирования частичных разностей и в Рг множимого (частного)).
Четвертый способ. Умножение старшими разрядами множителя вперед при неподвижной сумме частичных произведений.
Конечно, «неподвижность» суммы здесь, как и во втором методе, весьма относительная, так как работают цепи переносов. Тем не менее, идея в использовании цепи сдвига вправо в Рг множимого. Последовательность действий ясна из сказанного ранее и из рисунка.
Рис. 2.2.3.4.
Как и во втором методе, См и Рг множимого должны иметь двойную длину.
А всегда ли нужна двойная длина произведения? Видимо, не всегда, ведь произведение можно округлить (простое отбрасывание «гробит» в итоге точность!). Особенно наглядно это представить себе, если числа имеют фиксированную запятую слева от значащих разрядов (числа < 1). Итак, если и увеличивать, то может быть не вдвое! А в этом случае рассматриваемый метод соединения регистров оказывается выгодным:
как и третий метод, он не требует дополнительных цепей для организации деления;
так как частичные произведения неподвижны, то легче совместить операции сложения и сдвига (при умножении и делении).
Итоги:
-
если необходимо организовать произведения двойной длины, то наиболее экономичен первый метод;
-
если можно обойтись одинарной длиной, то целесообразно использовать первый или четвертый методы (в четвертом нужно удлинять сумматор).
<93>
Теперь рассмотрим структурную схему АЛУ (пусть это сумматор накапливающего типа).
Рис. 2.2.3.5.
Будем полагать, что числа хранятся в ОЗУ в прямом коде. Тогда знак результата определяется по известному со школы правилу:
Сосредоточим внимание на умножении модулей чисел.
Иллюстрация к алгоритму:
Рис. 2.2.3.6.
11*13=143
Микропрограмму операции умножения представим структурной схемой:
Рис. 2.2.3.7.
,
где – время суммирования, – время сдвига. Если же считать, что вероятность (частота) появления «0» и «1» в разрядах равновероятна, то при
Умножений в программах может быть до 20-30%. Поэтому такое возрастание временных затрат нужно учитывать и, может быть, компенсировать.
Поэтому-то такое развитие и получили аппаратные и логические способы ускорения умножения. И те, и другие требуют дополнительных затрат оборудования, изменения в организации АЛУ.
<94>