Изобретение относится к цифровым процессорам, таким как микропроцессоры, и особо к процессорам с уменьшенным энергопотреблением, в частности к процессорам мобильных устройств с автономным источником электропитания.
Известны средства, обеспечивающие снижение энергопотребления в цифровых процессорах путем использования соответствующей элементной базы. Такой элементной базой являются МОП- и КМОП-транзисторы [1]. Эти структуры отличаются очень высоким сопротивлением для тока затвора, вследствие чего в статическом состоянии МОП-вентили практически не потребляют тока от управляющих ими схем. Поэтому потребляемая мощность в периоды, когда входные сигналы постоянны, незначительна. Однако во время переключения состояния с "0" на "1" или с "1" на "0" потребляется существенная мощность. Происходит это по двум причинам. Во-первых, между электродами МОП-транзистора имеются емкости. Эти емкости должны всякий раз при переключении вентиля перезаряжаться от управляющего вентиля. Во-вторых, в КМОП-структурах во время изменения входных сигналов и "понижающая" и "повышающая" части структуры в определенной степени открыты. В результате между линией положительного питающего напряжения и землей кратковременно возникает сквозной ток.
На МОП- и КМОП-структурах построены все процессоры фирмы Intel 1-5-го поколений. Упомянутые ограничения в части возможностей по снижению энергопотребления привели к тому, что в процессорах Intel 6-го поколения Р6, которые построены на тех же структурах, введены средства управления энергопотреблением, позволяющие уменьшить потребляемую мощность до 10 раз [2].
В процессорах Р6 уменьшение потребляемой мощности достигается прекращением тактирования большинства узлов процессора, т.е. прекращением работы этих узлов. В результате уменьшение потребляемой мощности приводит одновременно к существенному сокращению функциональных возможностей процессора. Так, в самом щадящем режиме Auto Halt Power Down, т.е. при минимальном снижении энергопотребления отслеживаются только кэш-попадания. В следующем в порядке снижения энергопотребления режиме Stop Grant прекращается исполнение инструкций и обслуживание прерываний.
В процессорах 6-го поколения фирмы Intel Pentium II/III Celeron имеются дополнительные режимы Sleep и Deep Sleep. В режиме Sleep, при котором потребляемый ток становится меньше 1А, не воспринимаются не только прерывания, но и любые циклы слежения. В состоянии "глубокого сна" Deep Sleep процессор не выполняет никаких функций. При этом потребляемый ток снижается до долей А.
В мобильных процессорах семейства Р6 введен новый режим Quick Start, при котором не отслеживаются транзакции других процессоров, а слежение ведется только за приоритетными агентами шины.
Таким образом, в микропроцессорах 6-го поколения остается нерешенным техническое противоречие, состоящее в том, что за снижение энергопотребления в цифровых процессорах приходится платить сокращением функциональных возможностей процессора, причем сокращение возможностей происходит на качественном уровне, а не на количественном, т.е. возможности не ухудшаются на какую-то величину, а просто исчезают. Это значит, что могут возникнуть ситуации, в которых процессор не сможет выполнить предложенную ему в данный момент задачу.
Этого недостатка лишено техническое решение согласно [3], в котором снижение энергопотребления достигается за счет предварительного определения и последующей активации только той страницы памяти, к которой относится адресуемая в данной момент ячейка. Однако это техническое решение обеспечивает снижение энергопотребления только в одной из четырех основных составных частей процессора, а именно в памяти, и не снижает энергопотребление в других частях арифметико-логического устройства, регистрах данных и устройстве управления.
В связи с этим в самое последнее время (2002-2003 гг.) фирмой Intel был создан процессор Pentium-M, использующий новую технологию Centrino [4]. Эта технология позволяет уменьшить энергопотребление без сокращения функциональных возможностей процессора. Технология Centrino предусматривает:
- возможность адаптированного к загрузке процессора выбора рабочей точки в координатах "тактовая частота-напряжение питания";
- осуществляемое автоматически включение усилителей считывания данных только непосредственно при приеме данных;
- параллельное декодирование микроопераций в блоке обработки арифметических команд и в блоке управления памятью;
- замену управления стеком на уровне команд аппаратным управлением.
- активацию только того квадранта кэш-памяти, с которым предстоит обмен данных;
- повышение скорости конвейерной работы блоков процессора благодаря более точному прогнозированию программного кода, подлежащего передаче из памяти в процессор.
Согласно результатам испытаний, представленным в [4], вычислительный запас, т.е. произведение производительности на время, в течение которого эта производительность демонстрировалась, у процессора Pentium-М примерно в 2 раза больше, чем у его ближайших предшественников. В то же время, как показывают упомянутые результаты по крайней мере в ряде режимов (например, решение целочисленных задач), энергопотребление остается слишком высоким, чтобы обеспечить желательное для пользователя время непрерывной работы мобильного процессора с автономным питанием (5-6 часов). Правда, некоторые из указанных выше технических решений (выбор рабочей точки, прогнозирование кода) имеют технически неограниченные возможности наращивания с тем, чтобы уменьшить энергопотребление в известных блоках процессора. Однако технические средства, реализующие эти решения, при своей работе сами потребляют определенную электрическую мощность. При этом с каждым наращиванием упомянутых возможностей приращение выигрыша в снижении энергопотребления известными способами уменьшается, а приращение собственного потребления в новых блоках остается постоянным. Это приводит к техническому противоречию, состоящему в том, что снижение энергопотребления в известных блоках по мере наращивания возможностей новых блоков в лучшем случае не превосходит, а в худшем становится меньше, чем увеличение энергопотребления в новых блоках.
Наиболее близким по технической сущности к предлагаемому устройству является цифровой процессор ЭВМ, построенный по общеизвестной схеме [5], т.е. содержащий выполненные на МОП- и (или) КМОП-триггерах арифметико-логическое устройство, регистры данных и память, а также шину данных и устройство управления, вход которого соединен с выходом памяти.
Техническим результатом изобретения является снижение энергопотребления в цифровых процессорах сверх предела, обусловленного ростом энергозатрат при аппаратном наращивании известных средств, используемых для снижения потребляемой мощности. Указанный технический результат достигается тем, что в цифровой процессор, построенный на МОП -и (или) КМОП-структурах, введены задатчик разрядности и коммутаторы. При этом шина данных соединяется с информационными входами триггеров регистров данных, регистров, образующих память и арифметико-логическое устройство, через коммутаторы, управляющие входы которых соединяются с выходом задатчика разрядности, а вход задатчика разрядности соединяется с выходом устройства управления.
Задатчик разрядности благодаря своей связи по входу с устройством управления позволяет преобразовывать команду-код программы, определяющую необходимую точность вычислений, в управляющие коды. Эти коды благодаря связи задатчика разрядности по выходу с коммутаторами позволяют установить такое состояние коммутаторов, что они, будучи по сигнальному входу соединены с шиной данных, обеспечивают подачу кодов данных либо на все триггеры в регистрах данных, регистрах арифметико-логического устройства и памяти либо (при требуемой точности вычислений меньшей, чем определенная разрядностью процессора) только на часть триггеров старших разрядов этих регистров. В результате изменение состояний и энергозатраты будут происходить только у той части триггеров, которые будут соединены коммутатором с шиной данных. При этом процессор выполняет все предъявленные ему задачи, так как при поступлении задачи с большей необходимой точностью вычислений к шине данных подключается большее число триггеров младших разрядов вплоть до максимального для данного процессора. Обработка команды-кода, задающей точность вычислений, и изменение состояний коммутаторов приводят к дополнительным энергозатратам. Но эти затраты имеют место один раз за все время выполнения программы данной задачи (если задача вообще допускает точность вычислений меньшую, чем определяемая разрядностью процессора, а иначе сама команда-код, задающая точность вычислений, и соответственно дополнительные энергозатраты отсутствуют). Количество же предотвращенных изменений состояний триггеров, определяемое количеством операндов в программе, намного больше, чем число изменений состояний триггеров новых узлов (коммутаторы, задатчик разрядности), которые приводят к дополнительным энергозатратам. Поэтому снижение энергопотребления при задействовании новых средств всегда больше, чем дополнительные энергозатраты на функционирование этих средств. Таким образом, предложение разрешает указанное выше техническое противоречие.
Сущность изобретения поясняется фиг.1, 2, где на фиг.1 приведена функциональная схема цифрового процессора, на фиг.2 - пример состояния коммутатора и одного из регистров памяти для случая 32-разрядного процессора при представлении чисел в формате с плавающей запятой с необходимой точностью, обеспечиваемой 16 разрядами.
Цифровой процессор содержит арифметико-логическое устройство 1, регистры данных 2 и память 3, выполненные на МОП- и (или) КМОП-триггерах, устройство управления 4, шину данных 5, коммутаторы 6, 7, 8 и задатчик разрядности 9. При этом выводы шины данных 5 на информационные входы триггеров регистров данных 2, регистров арифметико-логического устройства 1 и памяти 3 выполнены через коммутаторы 6, 7, 8, управляющие входы которых соединены с выходом задатчика разрядности 9, а устройство управления 4 соединено по входу с выходом памяти 3, а по выходу - со входом задатчика разрядности 9 и с входом управляющих сигналов арифметико-логического устройства 1.
Процессор работает следующим образом. При выполнении на N-разрядном процессоре программы, которая должна обеспечивать точность вычислений, соответствующую заданному отстоянию δ единицы от ближайшего дробного числа, предваряющая программу соответствующая значению 0 команда-код поступает из памяти 3 в устройство управления 4. Эта команда-код предписывает пересылку в дешифратор задатчика разрядности 9 одного из чисел в диапазоне от 1 до N, хранящихся в выделенных для задатчика разрядности 9 регистрах памяти 3. Например, если δ=2-10, а N=32, то таким число будет N′=16. Дешифратор задатчика разрядности 9, получив двоичный код этого числа, вырабатывает и посылает соответствующий единичный сигнал на управляющие входы коммутаторов 6, 7, 8, которые переходят в состояние, показанное на фиг.2 штриховыми линиями, т.е. прекращают передачу из шины данных в регистры данных 2, регистры арифметико-логического устройства 1 и памяти 3 содержимого разрядов с 0-го по (N-m-n-2)-й, т.е. в рассматриваемом примере с 0-го по 16-й. Здесь m - количество разрядов, отводимых для представления модуля мантиссы числа - операнда, n - количество разрядов, отводимых для представления модуля порядка этого числа (В рассматриваемом примере m=9; n=5). В результате триггеры этих разрядов до нового изменения состояния коммутаторов 6, 7, 8, т.е. до считывания в памяти 3 новой команды-кода, определяющей необходимость новой точности вычислений, остаются в неизменном состоянии, а именно в том, в каком они оказались после первого здесь рассмотренного изменения состояния коммутаторов 6, 7, 8. Поэтому вышеупомянутые триггеры не переключаются, и электрическая мощность в этих триггерах не потребляется.
В остальном процессор работает обычным образом. Требуемые для выполнения программы данные считываются из памяти 3 и поступают в регистры данных 2. Туда же могут поступать данные из арифметико-логического устройства 1. Арифметико-логическое устройство 1 выполняет с кодами данных, хранящихся в регистрах данных 2, операции, предусмотренные программой и представленные набором управляющих сигналов, передаваемых из устройства управления 4 в арифметико-логическое устройство 1. Коды результатов операций записываются в соответствии с программой в регистре-аккумуляторе из числа регистров данных 2, откуда передаются либо в другие регистры данных 2, либо в память 3.
Построение вновь введенных блоков процессора известно (см., например [6] - коммутаторы, [5] - дешифраторы (стр.27) и память (стр.42), образующие в совокупности задатчик разрядности). Прекращение работы части триггеров младших разрядов в блоках процессора, хранящих или обрабатывающих коды данных, приводит к снижению точности вычислений, но благодаря задатчику разрядности сохраняет точность в необходимых пределах и в то же время снижает среднюю потребляемую мощность процессора.
Источники информации
1. Д.Гивоне, Р.Россер "Микропроцессоры и микрокомпьютеры" М., 1983.
2. М.Гук, В.Юров "Процессоры Pentium 4, Athlon и Duron", СПБ. 2001.
3. Pat US 2003028749 от 2003-02-06, G-06 F 12/00.
4. Кайрат Ахметов Intel Centrino: детальный обзор технологии, подробные тесты производительности и энергосбережения на примере ноутбуков ASUS SIN и Roverbook Nautilius В 570, line/mobilis/24836.
5. Л.Н.Королев "Микропроцессоры, микро- и мини-ЭВМ." М., 1988.
6. С.Хвощ и др. "Микропроцессоры и микро-ЭВМ." Л., 1987 с.163.
название | год | авторы | номер документа |
---|---|---|---|
ЦИФРОВОЙ ПРОЦЕССОР | 2004 |
|
RU2290685C2 |
Устройство для имитации неисправностей | 1987 |
|
SU1444775A1 |
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА | 1991 |
|
RU2042193C1 |
ВЕКТОРНОЕ ВЫЧИСЛИТЕЛЬНОЕ ЯДРО | 2023 |
|
RU2819403C1 |
Ассоциативный матричный процессор | 1981 |
|
SU1005065A1 |
Вычислительный модуль и способ обработки с использованием такого модуля | 2018 |
|
RU2689433C1 |
Система для обмена данными между информационными процессорами | 1980 |
|
SU1001070A1 |
СИСТЕМА ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 1990 |
|
RU2006942C1 |
Реконфигурируемый вычислительный модуль | 2018 |
|
RU2686017C1 |
ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ ДЛЯ МНОГОСТАДИЙНОЙ МНОГОПОТОЧНОЙ ОБРАБОТКИ ЦИФРОВЫХ ДАННЫХ И СПОСОБ ОБРАБОТКИ С ИСПОЛЬЗОВАНИЕМ ДАННОГО МОДУЛЯ | 2018 |
|
RU2681365C1 |
Изобретение относится к цифровым процессорам, в частности к микропроцессорам с уменьшенным энергопотреблением. Технический результат заключается в снижении энергопотребления. Технический результат достигается за счет того, что в состав процессора введены регистры данных, память, арифметико-логическое устройство, шина данных, устройство управления, задатчик разрядности и коммутаторы. 2 ил.
Цифровой процессор, содержащий арифметико-логическое устройство, регистры данных и память, включающие регистры, выполненные на МОП- и(или) КМОП-триггерах, шину данных, а также устройство управления, выход которого соединен со входом управляющих сигналов арифметико-логического устройства, а вход - с выходом памяти, отличающийся тем, что в его состав введены коммутаторы и задатчик разрядности, преобразующий содержащиеся в памяти команды-коды, определяющие точность вычислений, в коды управления коммутаторами, причем команды-коды с выхода памяти поступают на вход задатчика разрядности через устройство управления, выводы шины данных процессора соединены с информационными входами триггеров, по меньшей мере, одного из регистров арифметико-логического устройства, памяти и регистров данных через соответствующие коммутаторы, управляющие входы которых соединены с выходом задатчика разрядности, при этом коммутаторы обеспечивают подачу данных в соответствии с кодом управления на определенную соответствующую заданной точности вычислений часть триггеров по меньшей мере одного из регистров арифметико-логического устройства, памяти и регистров данных.
СПЕЦИАЛИЗИРОВАННЫЙ ПРОЦЕССОР | 1995 |
|
RU2147378C1 |
Процессор аппроксимационной обработки информации | 1988 |
|
SU1501089A1 |
Процессор | 1984 |
|
SU1247884A1 |
US 2003028749 А1, 06.02.2003 | |||
GB 2062308 A, 20.05.1981. |
Авторы
Даты
2006-12-27—Публикация
2004-09-06—Подача