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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 22.08.2020
Размер файла 48,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

Орловский государственный технический университет, г. Орел

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

Марушенков А.А. Студент факультета электроники и приборостроения,

Захарова О.В. Студентка факультета электроники и приборостроения

Annotatіon

In work the factors essentially limiting speed of the processor are allocated

Повышение производительности вычислительных средств проводят по-разному. Отчасти повышение производительности микропроцессоров достигается посредством микроминиатюризации и увеличения частоты задающего генератора, но при этом возникают препятствия роста быстродействию из-за пределов рассеиваемой на чипе мощности и ограничения применимости гиперконвейеризации [1]. Повышению производительности способствует создание специализированных (системных) элементов с использованием программируемых логических матриц (ПЛМ) [2]. Быстродействие может быть увеличено использованием однокристальных мультипроцессоров с многоядерными структурами, основанными на идее симметричной мультипроцессорной обработки [3]. Можно также существенно повысить производительность посредством реконфигурируемых процессоров на основе ПЛМ [4] и перепрограммируемых логических интегральных схем (ПЛИС) [5], структура которых может адаптироваться к структуре решаемой задачи или её отдельному фрагменту. Считается особенно перспективным для повышения производительности внедрение концепции суперкомпьютеров с программируемой архитектурой и структурно-процедурной организацией вычислений [6], а также переход на десятичную систему счисления при реализации ЭВМ на нанотехнологических компонентах [7].

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

Как бы ни определялись параметры производительности, в том числе и с применением обобщенных показателей [например, 8,9], можно говорить о том, что скорость вычислений обуславливает, прежде всего, методики осуществления основных элементарных операций в границах конечной арифметики и их микропрограммные реализации [10-12] в арифметико-логической части (АЛУ) процессора.

СЛОЖЕНИЕ И ВЫЧИТАНИЕ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ

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

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

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

Результат операции выдается из АЛУ по выходной информационной шине .

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

Результат операции

Признак результата

0

00

<0

01

>0

10

переполнение

11

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

Условия выработки признаков положительного и отрицательного результатов имеют соответственно вид:

;

При выполнении алгебраического сложения поступившие в АЛУ коды операндов находятся на входных регистрах и сумматора. Код суммы формируется на выходах схемы и фиксируется в регистре .

Операция алгебраического вычитания

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

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

На выходе предусматривается операция выдачи в управляющий блок кода признака с последующим формированием запроса прерывания при переполнении разрядной сетки.

АЛУ ДЛЯ УМНОЖЕНИЯ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ

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

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

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

Количество циклов операции умножения зависит от количества цифровых разрядов множителя. Так, при умножении n-разрядных чисел без знака в формате с фиксированной запятой потребуется циклов, а при умножении -разрядных чисел со знаком в формате с фиксированной запятой - цикл.

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

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

а) умножение, начиная с младших разрядов множителя, со сдвигом суммы частичных произведений вправо и при неподвижном множимом;

б) умножение, начиная с младших разрядов множителя, при сдвиге множимого влево и неподвижной сумме частичных произведений;

в) умножение, начиная со старших разрядов множителя, при сдвиге суммы частичных произведений влево и неподвижном множимом;

г) умножения, начиная со старших разрядов множителя, при сдвиге вправо множимого и неподвижной сумме частичных произведений.

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

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

можно представить в виде скобочной записи, наглядно отображающей алгоритм умножения:

где - значение -го разряда множителя , - частичная сумма для -го разряда, - сдвиг вправо суммы частичных произведений.

Для получения результата производятся вычисления по приведенной формуле. При этом:

а умножение на осуществляется путем сдвига числа на один разряд вправо.

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

Регистр множителя и сумматор частичных произведений в АЛУ для умножении чисел, представленных в прямом коде, начиная с младших разрядов, со сдвигом суммы частичных произведений вправо, должны иметь цепи сдвига вправо. Регистр множимого может не иметь цепей сдвига.

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

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

После выполнения умножения старшие разряды произведения находятся в регистре сумматора, младшие - в регистре множителя.

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

- начальная установка;

- вычисление сумм частичных произведений;

- коррекция результата в формате двойной длины.

Начальная установка. На этом этапе происходит прием операндов с шины входа: в первом такте на поступает множимое, одновременно с приемом множимого обнуляется , хранящий сумму частичных произведений, а в счетчик циклов заносится число обрабатываемых цифровых разрядов множителя; во втором такте на поступает множитель.

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

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

АЛУ ДЛЯ ДЕЛЕНИЯ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ

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

Реализовать деление можно двумя основными способами:

- деление с неподвижным делимым и сдвигаемым вправо делителем. Этот способ деления основан на прямом копировании действий при ручном делении. Недостатком такого способа является двойная длина сумматора и его регистров в АЛУ. Данный способ не нашёл широкого распространения и поэтому рассматриваться не будет;

- деление с неподвижным делителем и сдвигаемым влево делимым. Этот способ позволяет строить АЛУ с сумматором одинарной длины. Здесь неподвижный делитель хранится в , а делимое , сдвигаемое влево относительно делителя, находится в двух регистрах: старшие разряды делимого - в , а младшие - в . Арифметико-логические устройства рассмотренного типа широко используются для деления.

Данный способ имеет две разновидности:

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

- алгоритм деления с неподвижным делителем без восстановления остатка.

Алгоритм деления с неподвижным делителем с восстановлением остатка можно разделить на следующие этапы: 1) Берутся модули от делимого и делителя (то есть знаковые разряды делимого и делителя обнуляются). Необходимо отметить, что, как в алгоритме деления с восстановлением остатка, так и в алгоритме деления без восстановления остатка, знак частного фиксируется равным нулю (т.е. знак частного - положительный). В счётчик циклов устанавливается значение разрядности регистров. 2) Исходное значение частичного остатка полагается равным старшим разрядам делимого. В данном алгоритме делимое имеет двойную длину, так как младшая и старшая часть делимого содержится в разных регистрах. Чтобы делимое, как и делитель, имело одинарную длину, в данном случае можно условно принять, что делимое имеет двойную длину с нулями в разрядах старшей половины делимого. Для этого все разряды обнуляются, в разряды заносятся разряды делимого. Поэтому исходное значение частичного остатка равно нулю. 3) Частичный остаток удваивается путём сдвига на разряд влево. При этом в освобождающийся при сдвиге младший разряд частичного остатка заносится очередная цифра делимого из разрядов младшей половины делимого (из нулевого разряда ). 4) Из сдвинутого частичного остатка вычитается делитель и анализируется знак результата вычитания. 5) Если результат вычитания положителен, то очередная цифра модуля частного равна . Если же результат вычитания отрицателен, то очередная цифра модуля частного равна 0. В последнем случае остаток восстанавливается таким, каким он был до вычитания. 6) Этапы 3, 4 и 5 последовательно выполняются для получения всех цифр модуля частного. 7) Знак частного положителен, если знаки делимого и делителя одинаковы, в противном случае - отрицательный.

Можно пояснить процесс восстановления остатка. Если вычитание даёт отрицательный результат, то предыдущий частичный остаток, хранящийся в , передаётся в , для чего предварительно обнуляется . В приём осуществляется со сдвигом влево на 1 разряд. Это обеспечивает восстановление прежнего остатка и смещение его относительно делителя перед очередным вычитанием.

Рассмотренный метод носит название деления с восстановлением остатка. Недостатком этого метода является необходимость дополнительного времени на восстановление остатка.

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

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

Алгоритм деления с неподвижным делителем без восстановления остатка можно разделить на следующие этапы:

1 - 3. Этапы 1, 2 и 3 совпадают с соответствующими этапами предыдущего алгоритма.

4. Если остаток положителен, то из сдвинутого частичного остатка вычитается делитель.

Если же остаток отрицателен, то к сдвинутому частичному остатку прибавляется делитель.

5. Если результат вычитания положителен, то очередная цифра модуля частного равна . Если же результат вычитания отрицателен , то очередная цифра модуля частного равна .

6. Этапы 3, 4 и 5 последовательно выполняются для получения всех цифр модуля частного.

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

Можно отметить, что, пока не определены все цифры частного, в зависимости от знака частичного остатка либо подсуммируется делитель, либо вычитается делитель. У полученного нового частичного остатка анализируется знак и по нему определяется цифра частного. По завершении всех циклов деления выдаётся результат. При этом, если остаток отрицателен, он восстанавливается путём подсуммирования делителя

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

производительность чип микроминиатюризация алгоритм

Вывод

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

2. При любой реализации операций методическая задержка, обусловленная технологией поразрядного проведения операций, обеспечивается использованием идеи проектирования на основе «полусумматора».

3. Наибольшее быстродействие АЛУ возможно достигнуть, лишь отказавшись от поразрядных вычислений и реализации принципа полусумматора.

Литература

1. Hofstee H. Peter. Future microprocessors and off-chip SOP interconnect / IEEE Trans. Adv. Packag., 2004.- 27. - №2. - P. 301-302.

2. Мишин Г.Т., Феоктистов С.И. Современная программируемая логика фирм Xilinx и Altera/ Электромагнитная совместимость и проектирование электронных средств: Сб. науч. тр. МИЭМ. - М.: Изд. МИЭМ, 2004. - С. 164-169.

3. Kaneko Satoshi, Kondo Hiroyuki, Masui Norio etс. A 600-MHz single-chip multiprocessor with 4.8-GB/s internal shared pipelined bus and 512-kB internal memory /IEEE J.Solid-State Circuits, 2004. - 39. - №1. - P.184-193.

4. Dong Pei-liang, Yu Cheng-fang. Проектирование реконфигурируемого процессора / J. Fudan Univ. Natur. Sci., 2004. - 43. - №1. - P.45-49.

5. Коновальчик П.М. Реконфигурируемая высокопроизводительная вычислительная система/ Наукоем. технол., 2004. - 5. - №10. - С. 30-35.

6. Каляев И.А., Левин И.И. Многопроцессорные вычислительные системы (суперкомпьютеры): состояние и перспективы/ Вестн. компьютер. и инф. технол.,2004.-№5.-С.2-11.

7. Гладштейн М.А. О выборе фундаментальных информационных принципов построения универсального цифрового нанокомпьютера / Автомат. и вычисл. техн., 2005. - №1. - С.3-14.

8. Ананян М.А., Раков В.И. К вопросу о производительности средств вычислительной техники. - Москва. - 33 с.- Деп. ВИМИ 19 апреля 1974, N ВМ ДР00475.

9. Борзенков Д.П. Подход к оценке производительности вычислительных систем. - Омск. - 10 с. - Деп. ВИНИТИ 3 мая 2005, № 644- В2005

10. Папернов А.А. Логические основы цифровых машин и программирования. М.:Наука, 1965. 560 с.

11. Каган Б.М., Каневский М.М. Цифровые вычислительные машины и системы. М.:Энергия, 1974. 680 с.

12. Форсайт Дж., Малькольм М., Моулер К. Машинные методы математических вычислений. - М.: Мир, 1980. - 280 с.

Размещено на Allbest.ru

...

Подобные документы

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

    шпаргалка [688,3 K], добавлен 24.06.2009

  • Выполнение операции деления в ЭВМ. Умножение чисел, представленных в форме с плавающей запятой. Методы ускорения операции умножения. Матричный метод умножения. Деление чисел в машинах с плавающей запятой. Деление чисел с восстановлением остатков.

    реферат [49,4 K], добавлен 18.01.2011

  • Понятие двоично-десятичного кода (ДДК), его получение и использование. Изучение арифметико-логических устройств, использующихся для обработки ДДК. Алгоритмы сложения, вычитания, умножения и деления ДДК при помощи арифметико-логических устройств.

    контрольная работа [145,5 K], добавлен 05.09.2010

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

    контрольная работа [180,2 K], добавлен 01.10.2014

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

    контрольная работа [56,5 K], добавлен 05.09.2010

  • Тестирование арифметико-логического блока процессора на уровне двоичных форм представления данных типовыми программными средствами ЭВМ. Рассмотрение основ сложения и вычитания чисел с плавающей запятой. Описание логического и текстового типа данных.

    курсовая работа [1,4 M], добавлен 13.12.2014

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

    курсовая работа [719,3 K], добавлен 12.09.2015

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

    лабораторная работа [11,3 K], добавлен 13.02.2009

  • Проектирование цифрового автомата для выполнения арифметической операции деления двоичных чисел, алгоритм работы. Числа с плавающей запятой. Типы элементов памяти управляющего автомата JK-триггер, не имеющего запрещенных состояний на основных входах.

    курсовая работа [747,4 K], добавлен 25.03.2012

  • Определение функций выходных сигналов и сигналов возбуждения. Построение функциональной схемы управляющего автомата. Способы выполнения операции умножения с фиксированной и с плавающей запятой. Получение функциональной ГСА. Кодирование состояния автомата.

    курсовая работа [60,9 K], добавлен 15.02.2011

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

    курсовая работа [459,5 K], добавлен 25.03.2012

  • Расчет статического модуля оперативной памяти и накопителя. Построение принципиальной схемы и временной диаграммы модуля оперативного запоминающего устройства. Проектирование арифметико-логического устройства для деления чисел с фиксированной точкой.

    курсовая работа [3,2 M], добавлен 13.06.2015

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

    курсовая работа [1,2 M], добавлен 24.01.2014

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

    реферат [415,8 K], добавлен 29.11.2010

  • Анализ технического задания. Разработка программы по вычислению функции на языке ассемблер для микропроцессора Кр580ВМ80. Алгоритмы программного умножения, деления, сложения, вычитания и сдвига влево многобайтных чисел. Расчет времени работы программы.

    курсовая работа [88,2 K], добавлен 19.09.2012

  • Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.

    курсовая работа [169,3 K], добавлен 25.12.2012

  • Разработка 16-ти разрядного последовательного сумматора двоичных чисел с фиксированной запятой с низкой потребляемой мощностью. Обеспечение преобразования результата в код Грея и индикации в десятичном коде. Проектирование средства встроенного контроля.

    курсовая работа [245,4 K], добавлен 16.06.2009

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

    дипломная работа [2,5 M], добавлен 06.05.2018

  • Разработка программно управляющего задающего генератора пачек прямоугольных импульсов на микропроцессоре. Составление алгоритма и написание программы генерирования импульсов определённой длительности. Расчет временных соотношений и анализ погрешностей.

    дипломная работа [3,2 M], добавлен 26.12.2011

  • Проверка работоспособности, оценка качества, надежности функционирования и определение статистических параметров вычислительных устройств. Особенности построения программной модели системы обработки информации, содержащей мультиплексный канал и ЭВМ.

    курсовая работа [1,1 M], добавлен 30.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.