RU2290686C2 - Цифровой процессор - Google Patents
Цифровой процессор Download PDFInfo
- Publication number
- RU2290686C2 RU2290686C2 RU2004126840/09A RU2004126840A RU2290686C2 RU 2290686 C2 RU2290686 C2 RU 2290686C2 RU 2004126840/09 A RU2004126840/09 A RU 2004126840/09A RU 2004126840 A RU2004126840 A RU 2004126840A RU 2290686 C2 RU2290686 C2 RU 2290686C2
- Authority
- RU
- Russia
- Prior art keywords
- memory
- registers
- processor
- data
- triggers
- Prior art date
Links
Images
Landscapes
- Microcomputers (AREA)
- Complex Calculations (AREA)
Abstract
Изобретение относится к цифровым процессорам, в частности к микропроцессорам с уменьшенным энергопотреблением. Технический результат заключается в снижении энергопотребления. Технический результат достигается за счет того, что в состав процессора введены регистры данных, память, арифметико-логическое устройство, шина данных, устройство управления, задатчик разрядности и коммутаторы. 2 ил.
Description
Изобретение относится к цифровым процессорам, таким как микропроцессоры, и особо к процессорам с уменьшенным энергопотреблением, в частности к процессорам мобильных устройств с автономным источником электропитания.
Известны средства, обеспечивающие снижение энергопотребления в цифровых процессорах путем использования соответствующей элементной базы. Такой элементной базой являются МОП- и КМОП-транзисторы [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.
Claims (1)
- Цифровой процессор, содержащий арифметико-логическое устройство, регистры данных и память, включающие регистры, выполненные на МОП- и(или) КМОП-триггерах, шину данных, а также устройство управления, выход которого соединен со входом управляющих сигналов арифметико-логического устройства, а вход - с выходом памяти, отличающийся тем, что в его состав введены коммутаторы и задатчик разрядности, преобразующий содержащиеся в памяти команды-коды, определяющие точность вычислений, в коды управления коммутаторами, причем команды-коды с выхода памяти поступают на вход задатчика разрядности через устройство управления, выводы шины данных процессора соединены с информационными входами триггеров, по меньшей мере, одного из регистров арифметико-логического устройства, памяти и регистров данных через соответствующие коммутаторы, управляющие входы которых соединены с выходом задатчика разрядности, при этом коммутаторы обеспечивают подачу данных в соответствии с кодом управления на определенную соответствующую заданной точности вычислений часть триггеров по меньшей мере одного из регистров арифметико-логического устройства, памяти и регистров данных.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2004126840/09A RU2290686C2 (ru) | 2004-09-06 | 2004-09-06 | Цифровой процессор |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2004126840/09A RU2290686C2 (ru) | 2004-09-06 | 2004-09-06 | Цифровой процессор |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2004126840A RU2004126840A (ru) | 2006-02-20 |
RU2290686C2 true RU2290686C2 (ru) | 2006-12-27 |
Family
ID=36050570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2004126840/09A RU2290686C2 (ru) | 2004-09-06 | 2004-09-06 | Цифровой процессор |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2290686C2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2559745C2 (ru) * | 2012-02-01 | 2015-08-10 | Кэнон Кабусики Кайся | Устройство обработки данных |
-
2004
- 2004-09-06 RU RU2004126840/09A patent/RU2290686C2/ru not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2559745C2 (ru) * | 2012-02-01 | 2015-08-10 | Кэнон Кабусики Кайся | Устройство обработки данных |
US9164569B2 (en) | 2012-02-01 | 2015-10-20 | Canon Kabushiki Kaisha | Data processing apparatus, information processing method, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
RU2004126840A (ru) | 2006-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9507396B2 (en) | Power control device for processor | |
US11467740B2 (en) | Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices | |
US20180129266A1 (en) | Performing Local Power Gating In A Processor | |
CN101694613B (zh) | 不对准存储器存取预测 | |
JP2016076268A (ja) | 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置 | |
US10592207B2 (en) | Dynamic variable precision computation | |
US20090235099A1 (en) | Protocol for Transitioning In and Out of Zero-Power State | |
US20100268968A1 (en) | Managing processor power-performance states | |
US8195973B2 (en) | Method to implement a monotonic counter with reduced flash part wear | |
KR20060131543A (ko) | 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법 | |
US9996127B2 (en) | Method and apparatus for proactive throttling for improved power transitions in a processor core | |
US5603037A (en) | Clock disable circuit for translation buffer | |
US20060156062A1 (en) | Method for effecting the controlled shutdown of data processing units | |
RU2290686C2 (ru) | Цифровой процессор | |
RU2290685C2 (ru) | Цифровой процессор | |
JPH10301659A (ja) | マイクロプロセッサ | |
US20110302391A1 (en) | Digital signal processor | |
Culbert | Low power hardware for a high performance PDA | |
JP4370109B2 (ja) | プロセッサの電力制御方法 | |
EP3770727A1 (en) | Technology for managing per-core performance states | |
US20160170466A1 (en) | Power saving multi-width processor core | |
Zhang et al. | Novel hybrid computing architecture with memristor-based processing-in-memory for data-intensive applications | |
EP4202664A1 (en) | System, apparatus and method for throttling fusion of micro-operations in a processor | |
KR100486252B1 (ko) | 캐쉬 장치 및 이에 적합한 캐쉬 제어 방법 | |
Di Paolo Emilio et al. | Microcontroller Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
QA4A | Patent open for licensing |
Effective date: 20131105 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20140907 |