JP2019179410A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2019179410A
JP2019179410A JP2018068427A JP2018068427A JP2019179410A JP 2019179410 A JP2019179410 A JP 2019179410A JP 2018068427 A JP2018068427 A JP 2018068427A JP 2018068427 A JP2018068427 A JP 2018068427A JP 2019179410 A JP2019179410 A JP 2019179410A
Authority
JP
Japan
Prior art keywords
unit
arithmetic
processing
semiconductor device
dedicated
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2018068427A
Other languages
English (en)
Inventor
祐次郎 谷
Yujiro Tani
祐次郎 谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
NSI Texe Inc
Original Assignee
Denso Corp
NSI Texe Inc
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 Denso Corp, NSI Texe Inc filed Critical Denso Corp
Priority to JP2018068427A priority Critical patent/JP2019179410A/ja
Priority to PCT/JP2019/009625 priority patent/WO2019188173A1/ja
Publication of JP2019179410A publication Critical patent/JP2019179410A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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, look ahead

Abstract

【課題】複数且つ複数種類の演算器が設けられてなる半導体装置であって、回路規模を圧迫せずに冗長救済の可能性を高めることが可能な半導体装置を提供する。【解決手段】特定の演算処理に特化した専用演算器の不具合を検出する不具合検出部(701)と、不具合検出部(701)が専用演算器の不具合を検出した場合、汎用演算器で特定の演算処理が代替可能か否かを判断する代替判断部(702)と、代替判断部(702)の判断結果が代替可能というものである場合に、汎用演算器に特定の演算処理を実行させる代替モード実行部(703)と、を設ける。【選択図】図7

Description

本開示は、複数且つ複数種類の演算器が設けられてなる半導体装置に関する。
半導体装置のロジック領域に冗長救済を行うものとして、下記特許文献1に記載の発明が開示されている。下記特許文献1では、半導体装置に、ロジック領域内に設けられる同一の構成を有する複数の基本セルと、複数の基本セルと同一の構成を有する冗長セルと、複数の基本セル及び冗長セルのそれぞれに入力される信号を切り替える入力セレクタと、基本セル及び冗長セルのそれぞれから出力される信号を切り替える出力セレクタとを備えている。さらに、半導体装置は、入力セレクタ及び出力セレクタのうち少なくとも一方を切り替えて、冗長セルを機能させ複数の基本セルのうち故障したセルを救済する。
特開2010−41705号公報
特許文献1では、基本セルと同一の構成を有する冗長セルによって冗長救済を行っている。ところで、メインCPUの処理を高速化するためにアクセラレータを設ける場合、特定の演算処理に特化した専用演算器を設けることが考えられる。上記特許文献1によれば、この場合にも専用演算器と同一の構成を有する演算器を設ける必要があるが、専用演算器の回路規模が大きい場合、回路規模の圧迫に繋がる。
本開示は、複数且つ複数種類の演算器が設けられてなる半導体装置であって、回路規模を圧迫せずに冗長救済の可能性を高めることが可能な半導体装置を提供することを目的とする。
本開示は、複数且つ複数種類の演算器が設けられてなる半導体装置であって、特定の演算処理に特化した専用演算器の不具合を検出する不具合検出部(701)と、不具合検出部が専用演算器の不具合を検出した場合、汎用演算器で特定の演算処理が代替可能か否かを判断する代替判断部(702)と、代替判断部の判断結果が代替可能というものである場合に、汎用演算器に特定の演算処理を実行させる代替モード実行部(703)と、を備える。
本開示によれば、専用演算器に不具合が発生した場合に汎用演算器で代替処理が可能となるので、回路規模を圧迫せずに特定の演算処理を継続することができる。
尚、「課題を解決するための手段」及び「特許請求の範囲」に記載した括弧内の符号は、後述する「発明を実施するための形態」との対応関係を示すものであって、「課題を解決するための手段」及び「特許請求の範囲」が、後述する「発明を実施するための形態」に限定されることを示すものではない。
本開示によれば、複数且つ複数種類の演算器が設けられてなる半導体装置であって、回路規模を圧迫せずに冗長救済の可能性を高めることが可能な半導体装置を提供することができる。
図1は、本実施形態の前提となる並列処理について説明するための図である。 図2は、図1に示される並列処理を実行するためのシステム構成例を示す図である。 図3は、図2に用いられるDFPの構成例を示す図である。 図4は、実行コアを構成する演算器を説明するための図である。 図5は、本実施形態の冗長救済方法を説明するためのフローチャートである。 図6は、本実施形態のDFPにおいて図5に示すフローチャートの処理に関与する構成を説明するための図である。 図7は、本実施形態のDFPにおいて図5に示すフローチャートの処理に関与する機能的な構成ブロックについて説明するための図である。
以下、添付図面を参照しながら本実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
図1(A)は、グラフ構造のプログラムコードを示しており、図1(B)は、スレッドの状態を示しており、図1(C)は、並列処理の状況を示している。
図1(A)に示されるように、本実施形態が処理対象とするプログラムは、データと処理とが分割されているグラフ構造を有している。このグラフ構造は、プログラムのタスク並列性、グラフ並列性を保持している。
図1(A)に示されるプログラムコードに対して、コンパイラによる自動ベクトル化とグラフ構造の抽出を行うと、図1(B)に示されるような大量のスレッドを生成することができる。
図1(B)に示される多量のスレッドに対して、ハードウェアによる動的レジスタ配置とスレッド・スケジューリングにより、図1(C)に示されるような並列実行を行うことができる。実行中にレジスタ資源を動的配置することで、異なる命令ストリームに対しても複数のスレッドを並列実行することができる。
続いて図2を参照しながら、動的レジスタ配置及びスレッド・スケジューリングを行うアクセラレータとしてのDFP(Data Flow Processor)10を含むシステム構成例である、データ処理システム2を説明する。DFP10は、本開示の半導体装置に相当する。
データ処理システム2は、DFP10と、イベントハンドラ20と、ホストCPU21と、ROM22と、RAM23と、外部インターフェイス24と、システムバス25と、を備えている。ホストCPU21は、データ処理を主として行う演算装置である。ホストCPU21は、OSをサポートしている。イベントハンドラ20は、割り込み処理を生成する部分である。
ROM22は、読込専用のメモリである。RAM23は、読み書き用のメモリである。外部インターフェイス24は、データ処理システム2外と情報授受を行うためのインターフェイスである。システムバス25は、DFP10と、ホストCPU21と、ROM22と、RAM23と、外部インターフェイス24との間で情報の送受信を行うためのものである。
DFP10は、ホストCPU21の重い演算負荷に対処するために設けられている個別のマスタとして位置づけられている。DFP10は、イベントハンドラ20が生成した割り込みをサポートするように構成されている。
続いて図3を参照しながら、DFP10について説明する。図3に示されるように、DFP10は、コマンドユニット12と、スレッドスケジューラ14と、実行コア16と、メモリサブシステム18と、を備えている。
コマンドユニット12は、コンフィグ・インターフェイスとの間で情報通信可能なように構成されている。コマンドユニット12は、コマンドバッファとしても機能している。
スレッドスケジューラ14は、図1(B)に例示されるような多量のスレッドの処理をスケジューリングする部分である。スレッドスケジューラ14は、スレッドを跨いだスケジューリングを行うことが可能である。
実行コア16は、4つのプロセッシングエレメントである、PE#0と、PE#1と、PE#2と、PE#3と、を有している。実行コア16は、独立してスケジューリング可能な多数のパイプラインを有している。
メモリサブシステム18は、アービタ181と、L1キャッシュ18aと、L2キャッシュ18bと、を有している。メモリサブシステム18は、システム・バス・インターフェイス及びROMインターフェイスとの間で情報通信可能なように構成されている。
続いて、図4を参照しながら、実行コア16について説明を加える。実行コア16は、複数且つ複数種類の演算器が設けられている。実行コア16は、汎用演算器であるALU(Arithmetic and Logic Unit)161と、専用演算器である専用演算回路162と、他の演算器163と、を備えている。専用演算回路162の回路規模が大きい場合、専用演算回路162を冗長化させて複数持つことは回路規模の圧迫に繋がる。しかしながら、専用演算回路162が故障した場合に全ての処理が停止してしまうことは極力避けるべきであり、専用演算回路162の故障後もしばらくの間は正しく動作を続ける必要がある。そこで、本実施形態では、ALU161を活用することで、専用演算回路162が故障した場合の冗長救済を行うものである。
図5を参照しながら、本実施形態の冗長救済方法について説明する。ステップS001では、専用演算回路162の不具合をチェックする。ステップS001に続くステップS002では、専用演算回路162の不具合を検出したか否かを判断する。専用演算回路162の不具合を検出した場合(ステップS002においてYES)は、ステップS004の処理に進む。専用演算回路162の不具合を検出しない場合(ステップS002においてNO)は、ステップS003の処理に進む。
ステップS003では、次のチェックまで専用演算回路162を使用することを決定し、ステップS001の処理に戻る。
ステップS004では、ALU161を用いた代替モードに入れるか否かのチェックに移行する。ステップS004に続くステップS005では、専用演算回路162を使用している処理をALU161で代替した場合に、処理時間が間に合うか否かを判断する。処理時間が間に合えば(ステップS005においてYES)、ステップS006の処理に進む。処理時間が間に合わなければ(ステップS005においてNO)、ステップS009の処理に進む。ステップS009では、異常を通知して処理を終了する。
ステップS006では、ALU161を用いる代替モードに以降する。ステップS006に続くステップS007では、ALU161専用のプログラムを専用I$にロードする。ステップS007に続くステップS008では、ALU161で代替プログラムを用いて専用演算回路162の処理を代替する。ステップS008の処理が終了するとステップS006の処理に戻る。
図6を参照しながら、図5に示すフローチャートの処理に関与する構成を説明する。I$601は、メモリであって、専用演算回路162が故障した際に、ALU161で代替処理を実現するための小さなプログラムを格納する部分である。この場合、プログラムだけでなく、その処理時間も一緒に記録する。
I$601は、故障判定用プログラムも格納することができる。故障判定用プログラムは、ALU161において専用演算回路162と同等の演算を行うための等価なプログラムである。
命令デコーダ602は、専用演算回路162及びALU161に、プログラムを処理するための命令をデコードして出力する。データローダ603は、処理に必要なデータを専用演算回路162及びALU161にロードする。
比較部604は、ALU161で行った演算結果を期待値と比較する部分である。期待値と不一致であると、故障検出606を実行する。故障判定部605は、ALU161の等価プログラムの演算結果と、専用演算回路162の演算結果とを比較し、不一致の場合に故障判定を行う。故障判定の結果故障と判断されれば、結果出力607を実行する。
図7を参照しながら、DFP10の機能的な構成要素の中で、図5及び図6に関連する処理を実行する構成要素について説明する。DFP10は、不具合検出部701と、代替判断部702と、代替モード実行部703と、を備えている。
不具合検出部701は、特定の演算処理に特化した専用演算器である専用演算回路162の不具合を検出する部分である。不具合検出部701は、ALU161の等価プログラムの演算結果と、専用演算回路162の演算結果とを比較し、不一致の場合に不具合が発生していることを検出する。
代替判断部702は、不具合検出部701が専用演算器である専用演算回路162の不具合を検出した場合、汎用演算器であるALU161特定の演算処理が代替可能か否かを判断する部分である。
代替モード実行部703は、代替判断部702の判断結果が代替可能というものである場合に、汎用演算器であるALU161に特定の演算処理を実行させる部分である。
本実施形態によれば、専用演算回路162に不具合が発生した場合にALU161で代替処理が可能となるので、回路規模を圧迫せずに特定の演算処理を継続することができる。
本実施形態では、代替判断部702は、汎用演算器としてのALU161で特定の演算処理を行った場合の処理時間が予め定められている予定処理時間を超えない場合に、代替可能であると判断することができる(図5のステップS005)。
本実施形態では、代替判断部702は、汎用演算器としてのALU161で代替不可能と判断した場合、異常通知処理を実行する(図5のステップS009)。
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
701:不具合検出部
702:代替判断部
703:代替モード実行部

Claims (3)

  1. 複数且つ複数種類の演算器が設けられてなる半導体装置であって、
    特定の演算処理に特化した専用演算器の不具合を検出する不具合検出部(701)と、
    前記不具合検出部が前記専用演算器の不具合を検出した場合、汎用演算器で前記特定の演算処理が代替可能か否かを判断する代替判断部(702)と、
    前記代替判断部の判断結果が代替可能というものである場合に、前記汎用演算器に前記特定の演算処理を実行させる代替モード実行部(703)と、を備える半導体装置。
  2. 請求項1に記載の半導体装置であって、
    前記代替判断部は、前記汎用演算器で前記特定の演算処理を行った場合の処理時間が予め定められている予定処理時間を超えない場合に、代替可能であると判断する、半導体装置。
  3. 請求項2に記載の半導体装置であって、
    前記代替判断部は、前記汎用演算器で代替不可能と判断した場合、異常通知処理を実行する、半導体装置。
JP2018068427A 2018-03-30 2018-03-30 半導体装置 Pending JP2019179410A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018068427A JP2019179410A (ja) 2018-03-30 2018-03-30 半導体装置
PCT/JP2019/009625 WO2019188173A1 (ja) 2018-03-30 2019-03-11 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018068427A JP2019179410A (ja) 2018-03-30 2018-03-30 半導体装置

Publications (1)

Publication Number Publication Date
JP2019179410A true JP2019179410A (ja) 2019-10-17

Family

ID=68061608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018068427A Pending JP2019179410A (ja) 2018-03-30 2018-03-30 半導体装置

Country Status (2)

Country Link
JP (1) JP2019179410A (ja)
WO (1) WO2019188173A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS534442A (en) * 1976-07-02 1978-01-17 Hitachi Ltd Information processing unit
JP2003309175A (ja) * 2002-04-16 2003-10-31 Matsushita Electric Ind Co Ltd 半導体集積回路の救済方法
JP2010285001A (ja) * 2009-06-09 2010-12-24 Toyota Motor Corp 電子制御システム、機能代行方法
JP2017081290A (ja) * 2015-10-26 2017-05-18 日立オートモティブシステムズ株式会社 車両制御装置、車両制御システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179823A (ja) * 1995-12-26 1997-07-11 Mitsubishi Electric Corp メッセージ管理装置及び方法
US20120317442A1 (en) * 2010-01-15 2012-12-13 Hitachi, Ltd. Embedded device and embedded system
DE112010005400T5 (de) * 2010-03-18 2013-04-18 Toyota Jidosha Kabushiki Kaisha System für gegenseitige Überwachung von Mikrocomputern und ein Verfahren für gegenseitige Überwachung von Mikrocomputern

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS534442A (en) * 1976-07-02 1978-01-17 Hitachi Ltd Information processing unit
JP2003309175A (ja) * 2002-04-16 2003-10-31 Matsushita Electric Ind Co Ltd 半導体集積回路の救済方法
JP2010285001A (ja) * 2009-06-09 2010-12-24 Toyota Motor Corp 電子制御システム、機能代行方法
JP2017081290A (ja) * 2015-10-26 2017-05-18 日立オートモティブシステムズ株式会社 車両制御装置、車両制御システム

Also Published As

Publication number Publication date
WO2019188173A1 (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
JP4795025B2 (ja) ダイナミックリコンフィギャラブルデバイス、制御方法、及びプログラム
US7386646B2 (en) System and method for interrupt distribution in a multithread processor
US9632860B2 (en) Multicore processor fault detection for safety critical software applications
CN110083494B (zh) 在多核心环境中管理硬件错误的方法和装置
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
US8656217B2 (en) Method for error detection during execution of a real-time operating system
KR20120025492A (ko) Smt 기계에서 비교 및 전달 명령어를 사용한 안정적 실행
US20120210172A1 (en) Multiprocessor switch with selective pairing
US9348681B2 (en) Apparatus and method for detecting fault of processor
JP2009505186A (ja) コンピュータシステムの機能監視方法および機能監視装置
JP4653838B2 (ja) 演算処理装置、演算処理装置の制御方法及び制御プログラム
JP2012103772A (ja) プロセッサおよびそれを用いた画像処理システム
WO2019188173A1 (ja) 半導体装置
US8516303B2 (en) Arithmetic device for concurrently processing a plurality of threads
WO2019188177A1 (ja) 情報処理装置
US10289332B2 (en) Apparatus and method for increasing resilience to faults
US10540222B2 (en) Data access device and access error notification method
US20080222336A1 (en) Data processing system
JP5018140B2 (ja) マルチプロセッサシステム、タスクスケジューリング方法およびタスクスケジューリングプログラム
JP7169081B2 (ja) 情報処理装置
WO2019188171A1 (ja) コード生成方法、コード生成装置
JP2017111662A (ja) 電子制御装置
JPH0462641A (ja) マルチプロセッサシステム
WO2019188182A1 (ja) プリフェッチコントローラ
JP6645467B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20190326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220726