RU2006117642A - Способ и устройство для обработки операндов в процессоре - Google Patents

Способ и устройство для обработки операндов в процессоре Download PDF

Info

Publication number
RU2006117642A
RU2006117642A RU2006117642/09A RU2006117642A RU2006117642A RU 2006117642 A RU2006117642 A RU 2006117642A RU 2006117642/09 A RU2006117642/09 A RU 2006117642/09A RU 2006117642 A RU2006117642 A RU 2006117642A RU 2006117642 A RU2006117642 A RU 2006117642A
Authority
RU
Russia
Prior art keywords
operands
mode
units
processing
clock frequency
Prior art date
Application number
RU2006117642/09A
Other languages
English (en)
Other versions
RU2360280C2 (ru
Inventor
Райнхард ВАЙБЕРЛЕ (DE)
Райнхард ВАЙБЕРЛЕ
Томас КОТТКЕ (DE)
Томас КОТТКЕ
Андреас ШТАЙНИНГЕР (AT)
Андреас ШТАЙНИНГЕР
Original Assignee
Роберт Бош ГмбХ (DE)
Роберт Бош Гмбх
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Роберт Бош ГмбХ (DE), Роберт Бош Гмбх filed Critical Роберт Бош ГмбХ (DE)
Publication of RU2006117642A publication Critical patent/RU2006117642A/ru
Application granted granted Critical
Publication of RU2360280C2 publication Critical patent/RU2360280C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Hardware Redundancy (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Transfer Systems (AREA)

Claims (24)

1. Способ обработки операндов в процессоре, имеющем по меньшей мере два исполнительных блока, работающих на заданной тактовой частоте, причем управление исполнительными блоками при обработке операндов осуществляется посредством управляющих сигналов и предусмотрена возможность переключения между первым и вторым режимами работы, отличающийся тем, что при работе в первом режиме в два исполнительных блока подают одинаковые операнды, а при работе во втором режиме в эти два исполнительных блока подают разные операнды, причем управление исполнительными блоками при обработке операндов в первом режиме осуществляют посредством одинаковых управляющих сигналов, а во втором режиме - посредством разных управляющих сигналов.
2. Способ по п.1, отличающийся тем, что подачу операндов в исполнительные блоки осуществляют в зависимости от тактовой частоты, необходимой для обработки операндов исполнительными блоками и используемой в качестве номинальной тактовой частоты, а при работе во втором режиме подачу операндов на обработку осуществляют на второй тактовой частоте, более высокой по сравнению с номинальной.
3. Способ по п.2, отличающийся тем, что при работе в первом режиме подачу операндов осуществляют на тактовой частоте работы исполнительных блоков, используемой в качестве номинальной тактовой частоты.
4. Способ по п.2, отличающийся тем, что вторая, более высокая, тактовая частота вдвое превышает номинальную, выступая в качестве удвоенной тактовой частоты.
5. Способ по п.1, отличающийся тем, что в обоих режимах работы обработку операндов исполнительными блоками ведут синхронно.
6. Способ по п.1, отличающийся тем, что обработку операндов при работе в первом режиме ведут синхронно, а при работе во втором режиме - асинхронно.
7. Способ по п.1, отличающийся тем, что операнды или производные от них данные сравнивают между собой на предмет их соответствия друг другу и при несоответствии делают вывод о наличии ошибки.
8. Способ по п.1, отличающийся тем, что состояния, возникающие при обработке операндов, или результаты (результат А, результат Б) такой обработки сравнивают между собой на предмет их соответствия друг другу и при несоответствии делают вывод о наличии ошибки, причем указанное сравнение выполняют в зависимости от конкретного режима работы.
9. Способ по п.8, отличающийся тем, что дальнейшую обработку состояний, возникающих при обработке операндов, или результатов такой обработки разрешают посредством разрешающего сигнала в зависимости от режима работы и результатов сравнения.
10. Способ по п.9, отличающийся тем, что дальнейшую обработку состояний, возникающих при обработке операндов, или результатов такой обработки разрешают посредством разрешающего сигнала в зависимости от режима работы одновременно или последовательно.
11. Устройство для обработки операндов в процессоре, имеющем по меньшей мере два исполнительных блока, работающих на заданной тактовой частоте, содержащее блок управления, управляющий исполнительными блоками при обработке операндов посредством управляющих сигналов и переключающий процессор между первым и вторым режимами работы, отличающееся тем, что блок управления связан с исполнительными блоками, а также с дополнительными блоками подачи операндов и взаимодействует с блоками подачи операндов таким образом, чтобы при работе в первом режиме подавать в два исполнительных блока одинаковые операнды, а при работе во втором режиме подавать в эти два исполнительных блока разные операнды, причем блок управления выполнен с возможностью управления обоими исполнительными блоками при обработке операндов в первом режиме посредством одинаковых управляющих сигналов, а во втором режиме - посредством разных управляющих сигналов.
12. Устройство по п.11, отличающееся тем, что блок управления и блоки подачи операндов выполнены таким образом, чтобы при работе в первом режиме подавать операнды на обработку в исполнительные блоки в зависимости от тактовой частоты работы исполнительных блоков, используемой в качестве номинальной тактовой частоты, а при работе во втором режиме подавать операнды на обработку со второй тактовой частотой, более высокой по сравнению с номинальной.
13. Устройство по п.11, отличающееся тем, что по меньшей мере два исполнительных блока выполнены в виде арифметико-логических устройств (АЛУ А, АЛУ Б).
14. Устройство по п.11, отличающееся тем, что блоки подачи операндов и исполнительные блоки выполнены таким образом, чтобы в первом режиме работать синхронно с одинаковой тактовой частотой.
15. Устройство по п.11, отличающееся тем, что блоки подачи операндов выполнены в виде набора регистров таким образом, чтобы был предусмотрен по меньшей мере один регистр операнда, а между регистром операнда и каждым исполнительным блоком был предусмотрен по меньшей мере один промежуточный регистр.
16. Устройство по п.11, отличающееся тем, что блоки подачи операндов и исполнительные блоки выполнены таким образом, чтобы во втором режиме работать с разными тактовыми частотами.
17. Устройство по п.11, отличающееся тем, что блоки подачи операндов выполнены с возможностью их работы во втором режиме с тактовой частотой, удвоенной по сравнению с тактовой частотой работы исполнительных блоков.
18. Устройство по п.11, отличающееся тем, что оно имеет декодер, позволяющий распознавать условие переключения режимов и работающий с той же тактовой частотой, что и блок подачи операндов.
19. Устройство по п.11, отличающееся тем, что оно имеет средства сравнения, выполненные таким образом, чтобы сравнивать между собой операнды или производные от них данные на предмет их соответствия друг другу и при несоответствии делать вывод о наличии ошибки.
20. Устройство по п.11, отличающееся тем, что оно имеет средства сравнения, выполненные таким образом, чтобы сравнивать между собой состояния, возникающие при обработке операндов, или результаты (результат А, результат Б) такой обработки на предмет их соответствия друг другу и при несоответствии делать вывод о наличии ошибки.
21. Устройство по п.11, отличающееся тем, что оно имеет первые переключательные средства, выполненные с возможностью сквозной передачи операндов, поступающих от средств подачи операндов, в зависимости от первого или второго режима работы процессора.
22. Устройство по п.11, отличающееся тем, что оно имеет вторые переключательные средства, выполненные с возможностью управления исполнительными блоками в зависимости от первого или второго режима работы процессора.
23. Процессор с устройством для обработки операндов, имеющим по меньшей мере два исполнительных блока, работающих на заданной тактовой частоте, и содержащим блок управления, управляющий исполнительными блоками при обработке операндов посредством управляющих сигналов и переключающий процессор между первым и вторым режимами работы, отличающийся тем, что блок управления связан с исполнительными блоками, а также с дополнительными блоками подачи операндов и взаимодействует с блоками подачи операндов таким образом, чтобы при работе в первом режиме подавать в два исполнительных блока одинаковые операнды, а при работе во втором режиме подавать в эти два исполнительных блока разные операнды, причем блок управления выполнен с возможностью управления обоими исполнительными блоками при обработке операндов в первом режиме посредством одинаковых управляющих сигналов, а во втором режиме - посредством разных управляющих сигналов.
24. Процессор по п.23, имеющий устройство по одному из пп.12-22.
RU2006117642/09A 2003-10-24 2004-08-07 Способ и устройство для обработки операндов в процессоре RU2360280C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10349580.0 2003-10-24
DE10349580A DE10349580A1 (de) 2003-10-24 2003-10-24 Verfahren und Vorrichtung zur Operandenverarbeitung in einer Prozessoreinheit

Publications (2)

Publication Number Publication Date
RU2006117642A true RU2006117642A (ru) 2007-12-10
RU2360280C2 RU2360280C2 (ru) 2009-06-27

Family

ID=34484988

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006117642/09A RU2360280C2 (ru) 2003-10-24 2004-08-07 Способ и устройство для обработки операндов в процессоре

Country Status (9)

Country Link
US (1) US20080052494A1 (ru)
EP (2) EP1895405A1 (ru)
JP (1) JP4443569B2 (ru)
KR (1) KR20060098372A (ru)
CN (1) CN1871582A (ru)
AT (1) ATE384993T1 (ru)
DE (2) DE10349580A1 (ru)
RU (1) RU2360280C2 (ru)
WO (1) WO2005045665A1 (ru)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005037259A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch Umschalten von Registersätzen
DE102006050715A1 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Verfahren und System zum Erzeugen eines gültigen Signals
WO2008146091A1 (en) * 2007-05-25 2008-12-04 Freescale Semiconductor, Inc. Data processing system, data processing method, and apparatus
US8650440B2 (en) 2008-01-16 2014-02-11 Freescale Semiconductor, Inc. Processor based system having ECC based check and access validation information means
US9623817B2 (en) * 2010-02-12 2017-04-18 GM Global Technology Operations LLC Method and system for controlling electrical systems of vehicles
RU2558613C2 (ru) * 2013-06-19 2015-08-10 Федеральное государственное бюджетное образовательное учреждение высшего образования "Вятский государственный университет" (ВятГУ) Способ организации параллельно-конвейерных вычислений в однородной вычислительной среде с коммутационно-потоковым управлением
JP6326835B2 (ja) * 2014-01-31 2018-05-23 大日本印刷株式会社 情報処理装置、icカード、コマンド処理方法、及びコマンド処理プログラム
GB2537942B (en) 2015-05-01 2017-06-14 Imagination Tech Ltd Fault tolerant processor for real-time systems
US9680653B1 (en) * 2016-10-13 2017-06-13 International Business Machines Corporation Cipher message with authentication instruction
US10520928B2 (en) * 2017-05-15 2019-12-31 Rockwell Automation Technologies, Inc. Safety industrial controller providing diversity in single multicore processor
RU186547U1 (ru) * 2018-10-16 2019-01-23 Межрегиональное общественное учреждение "Институт инженерной физики" Процессор повышенной достоверности функционирования
CN113342528A (zh) * 2021-06-15 2021-09-03 鹏城实验室 指令处理方法及处理器
GB2620134A (en) * 2022-06-28 2024-01-03 Advanced Risc Mach Ltd Integrity checking
DE102022213178A1 (de) 2022-12-07 2024-06-13 Robert Bosch Gesellschaft mit beschränkter Haftung Fehler-tolerantes Datenverarbeitungssystem

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828868A (en) * 1996-11-13 1998-10-27 Intel Corporation Processor having execution core sections operating at different clock rates
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6665818B1 (en) * 2000-04-27 2003-12-16 Hewlett-Packard Development Company, L.P. Apparatus and method for detecting, diagnosing, and handling deadlock errors
US6772368B2 (en) * 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
DE10136335B4 (de) * 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken
US7055060B2 (en) * 2002-12-19 2006-05-30 Intel Corporation On-die mechanism for high-reliability processor
US7287185B2 (en) * 2004-04-06 2007-10-23 Hewlett-Packard Development Company, L.P. Architectural support for selective use of high-reliability mode in a computer system

Also Published As

Publication number Publication date
EP1895405A1 (de) 2008-03-05
EP1680737A1 (de) 2006-07-19
EP1680737B1 (de) 2008-01-23
KR20060098372A (ko) 2006-09-18
RU2360280C2 (ru) 2009-06-27
US20080052494A1 (en) 2008-02-28
DE10349580A1 (de) 2005-05-25
CN1871582A (zh) 2006-11-29
ATE384993T1 (de) 2008-02-15
JP4443569B2 (ja) 2010-03-31
JP2007509399A (ja) 2007-04-12
DE502004006070D1 (de) 2008-03-13
WO2005045665A1 (de) 2005-05-19

Similar Documents

Publication Publication Date Title
RU2006117642A (ru) Способ и устройство для обработки операндов в процессоре
US4789927A (en) Interleaved pipeline parallel processing architecture
US20090146690A1 (en) Runtime configurable arithmetic and logic cell
US20110161640A1 (en) Apparatus and method for configurable processing
WO2002027475A3 (en) Array processing operations
EP1293891A3 (en) Arithmetic processor
WO2004053684A3 (en) Processing activity masking in a data processing system
RU96123900A (ru) Специализированный процессор и способ его конструирования
ATE318032T1 (de) Verbessern des durchsatzes von des-hardware für kurze operationen
WO2002050666A3 (en) Method and apparatus for processing program loops in parallel
JPH02118701A (ja) Pcの入力信号制御方式
TW200512648A (en) Microprocessor apparatus and method for performing block cipher cryptographic functions
WO2002029554A3 (en) Register move operations
JPH0224721A (ja) プログラム制御装置
JPH10187481A (ja) マイクロコンピュータ用エミュレーション装置
JPS622363A (ja) 演算装置
JPS6376020A (ja) 仮想計算機システム
JPH043225A (ja) 演算制御方法および演算制御装置
JPS58134346A (ja) プログラム制御方式
JPS58169243A (ja) 命令処理装置
KR20060122520A (ko) 데이터 경로의 재구성이 가능한 디지털 신호 처리기
JP2777133B2 (ja) 中央演算処理装置
JPH01234965A (ja) リセット制御方式
JPS62166417A (ja) 情報処理装置
JPS60189058A (ja) マルチプロセツサシステム

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20170808