JP2015169988A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2015169988A
JP2015169988A JP2014042499A JP2014042499A JP2015169988A JP 2015169988 A JP2015169988 A JP 2015169988A JP 2014042499 A JP2014042499 A JP 2014042499A JP 2014042499 A JP2014042499 A JP 2014042499A JP 2015169988 A JP2015169988 A JP 2015169988A
Authority
JP
Japan
Prior art keywords
memory
bus
data
accelerator
data processing
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.)
Granted
Application number
JP2014042499A
Other languages
English (en)
Other versions
JP6385077B2 (ja
Inventor
由和 佐藤
Yoshikazu Sato
由和 佐藤
治彦 松見
Haruhiko Matsumi
治彦 松見
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2014042499A priority Critical patent/JP6385077B2/ja
Priority to US14/625,940 priority patent/US9684466B2/en
Publication of JP2015169988A publication Critical patent/JP2015169988A/ja
Priority to US15/604,020 priority patent/US9990154B2/en
Priority to US15/977,291 priority patent/US10558379B2/en
Application granted granted Critical
Publication of JP6385077B2 publication Critical patent/JP6385077B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1052Bypassing or disabling error detection or correction
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • G06F11/2017Error 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 where memory access, memory control or I/O control functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device

Abstract

【課題】信頼性を要する二次データの不所望な変化を抑制でき、且つ、記憶装置の著しい容量拡大を抑制する。記憶装置に対する非対称アクセスによってデータ処理を効率化する。
【解決手段】誤り訂正機能を有していない第1メモリ部55と誤り訂正機能を有する第2メモリ部56とを備え、各メモリ部に対して複数個のアクセスノードAND2〜AND4を有する記憶装置を採用し、前記記憶装置の複数個のアクセスノードに複数個のバスを接続し、前記複数個のバスを介して複数個のデータ処理部により前記記憶装置を非対称アクセス可能にする。前記第1メモリ部55には前記データ処理部によるデータ処理前の一次データを格納し、前記第2メモリ部56には前記データ処理部によるデータ処理後の二次データを格納する。
【選択図】図1

Description

本発明は、誤り訂正機能を備えたメモリが搭載されたデータ処理用の半導体装置に関し、例えば画像処理を行うマルチプロセッサシステムに適用して有効な技術に関する。
宇宙線などによる記憶データの不所望な変化を防止するには誤り訂正符号を用いた誤り訂正機能をメモリに適用すればよい。メモリの誤り訂正機能について例えば特許文献1に記載がある。64ビットデータについて1ビットの誤り訂正機能を実現するには8ビットの誤り訂正符号を付加しなければならない。したがって、誤り訂正符号を用いる場合は誤り訂正符号の分だけメモリの記憶容量を増やさなければならない。例えば画像認識や音声処理などのように大量のデータを入力して逐次データ処理を繰返していく場合を想定すると、全てのデータ格納領域に誤り訂正機能を適用すると、メモリの記憶容量が増大し過ぎ、また、アクセス速度も遅くなる。逆に全く適用しなければデータ処理の信頼性低下を招く。この点からすれば、特許文献1のようにメモリの一部を誤り訂正機能付き領域、残りを誤り訂正機能無し領域とすればよい。
特開2008−139908号公報
本発明者はメモリの一部を誤り訂正機能付き領域、残りを誤り訂正機能無し領域とする場合に、データ処理効率を向上させるように如何に双方の領域を用いるかについて検討した。例えば画像認識や音声処理などのように大量のデータを入力して逐次データ処理を繰返していく場合の利用形態について検討した。これによれば、データ処理効率の点より、逐次供給されるデータの入力から最終演算結果の取得までをマルチプロセッサを用いてパイプライン的に処理することを前提とするとき、そのパイプライン的な処理においてデータの性質に応じて誤り訂正機能付き領域と誤り訂正機能無し領域を使い分けることの有用性を見出した。
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、誤り訂正機能を有していない第1メモリ部と誤り訂正機能を有する第2メモリ部とを備え、各メモリ部に対して複数個のアクセスノードを有する記憶装置を採用し、前記記憶装置の複数個のアクセスノードに複数個のバスを接続し、前記複数個のバスを介して複数個のデータ処理部により前記記憶装置を非対称アクセス可能にする。前記第1メモリ部には前記データ処理部によるデータ処理前の一次データを格納し、前記第2メモリ部には前記データ処理部によるデータ処理後の二次データを格納する。
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、信頼性を要する二次データの不所望な変化を抑制でき、且つ、記憶装置の著しい容量拡大を抑制することができる。記憶装置に対する非対称アクセスによってデータ処理を効率化することができる。
図1は一実施の形態に係る半導体装置の一例であるマイクロコンピュータを提示するブロック図である。 図2は第1メモリ部と第2メモリ部を使い分けたデータ処理形態の一例を示す動作説明図である。 図3は画像処理を一例とした場合の一次データと二次データに対する具体的な処理を例示する説明図である。 図4は画像認識による衝突などの車載予防安全処理に着目した場合におけるプロセッサとアクセラレータの処理分担の一例を示す説明図である。 図5はプロセッサ及びアクセラレータによるIDRAMを用いた処理例を示すフローチャートである。 図6は図5のStep1に対応するIDRAMのアクセス形態を例示する動作説明図である。 図7は図5のStep1とStep2を並列化した場合のIDRAM50のアクセス形態を例示する動作説明図である。 図8は図5のStep1とStep3を並列化した場合のIDRAM50のアクセス形態を例示する動作説明図である。 図9は図5のStep1、Step2,Step4を並列化した場合のIDRAM50のアクセス形態を例示する動作説明図である。 図10は図5のStep1、Step3,Step5を並列化した場合のIDRAM50のアクセス形態を例示する動作説明図である。 図11は図5のStep1、Step2,Step4を並列化した場合のIDRAM50のアクセス形態を例示する動作説明図である。 図12は図5のStep1、Step3,Step5を並列化した場合のIDRAM50のアクセス形態を例示する動作説明図である。
1.実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕<非対称アクセス可能な記憶装置の一部が誤り訂正機能を有する>
半導体装置(1)は記憶装置(50)、複数個のバス(20〜24)、及び複数個のデータ処理部(2〜4)を有する。前記記憶装置は、誤り訂正機能を有していない第1メモリ部(55)と誤り訂正機能を有する第2メモリ部(56)とを備え、前記第1メモリ部及び第2メモリ部に対して複数個のアクセスノード(AND1〜AND4)を有する。前記複数個のバスは、前記複数個のアクセスノードに接続される。前記複数個のデータ処理部は、夫々がプログラム処理を行い、前記複数個のバスを介して前記記憶装置を非対称アクセス可能である。前記第1メモリ部は前記データ処理部によるデータ処理前の一次データが格納される領域とされ、前記第2メモリ部は前記データ処理部によるデータ処理後の二次データが格納される領域とされる。
これによれば、非対称アクセス可能な記憶装置の誤り訂正機能を有しない領域に一次データを格納し、格納した一次データをデータ処理部で処理した中間データや中間データを用いて処理した最終処理結果データなどの二次データを、誤り訂正機能を有する領域に格納するから、信頼性を要する二次データの不所望な変化を抑制できる。且つ、一部の不所望なデータ変化によってもたらされる影響が少ない一次データの格納には誤り訂正機能を有しない領域が割り当てられるから、記憶装置の著しい容量拡大を抑制することができる。複数個のアクセスノードを介して複数個のデータ処理部が上記記憶装置を非対称アクセスすることができるので、逐次供給されるデータの入力から最終演算結果の取得までを所謂マルチプロセッサを用いたパイプライン的な処理を適用することによってデータ処理の効率化に資することができる。
〔2〕<アクセスノード毎のローカルバス>
項1において、前記記憶装置はアクセスノード毎に個別化された複数のメモリローカルバス(51〜54)を有し、夫々のメモリローカルバスに前記第1メモリ部及び第2メモリ部が接続される。
これによれば、メモリローカルバス毎に前記第1メモリ部及び第2メモリ部の並列アクセスが可能になる。
〔3〕<DRI>
項2において、前記半導体装置の外部から供給されたデータを、前記複数のメモリローカルバスの内の第1メモリローカルバス(51)を介して前記第1メモリ部に書き込む制御を行うダイレクトメモリ入力回路(60)を有する。
これによれば、ビデオデータや音声データなどを外部機器から直接第1メモリ部に取り込んで蓄積することが可能になる。
〔4〕<アクセラレータ専用バス>
項3において、前記複数個のデータ処理部の内の一つは特定のデータ処理に特化したアクセラレータ(4)である。前記複数個のバスの内の一つは前記アクセラレータを前記複数のメモリローカルバスの内の第2メモリローカルバス(23)に接続するアクセラレータバスである。
これによれば、第2メモリ部に格納した一次データをアクセラレータがアクセラレータバスから取り込んで効率的にデータ処理を行うことが可能になる。
〔5〕<汎用バス>
項4において、前記複数個のバスの内の一つは汎用バス(20〜22)である。前記複数個のデータ処理部の内の一つは第1データ処理部(2)であり、他の一つは第2データ処理部(3)である。前記汎用バスは、一つのバスマスタとして前記第1データ処理部に接続する第1シングルマスタバス(21)と、一つのバスマスタとして前記第2データ処理部に接続する第2シングルマスタバス(22)と、複数個のバスマスタとして前記アクセラレータ及びその他のバスマスタに接続するマルチマスタバス(20)とを含む。前記マルチマスタバス、前記第1シングルマスタバス、及び前記第2シングルマスタバスの夫々は、前記複数のメモリローカルバスの内の前記第1メモリローカルバス及び前記第2メモリローカルバス以外の第3メモリローカルバス及び第4メモリローカルバスに接続される。
これによれば、前記記憶装置に対して、ダイレクトメモリ入力回路による第1メモリローカルバスを介するアクセスと、アクセラレータによる第1メモリローカルバスを介するアクセスと、第1データ処理部及び第2データ処理部による第3メモリローカルバス及び第4メモリローカルバスを介するアクセスの並列化を容易に実現することができる。
〔6〕<アクセラレータ用のバス幅を拡張>
項5において、前記アクセラレータバス及び前記第2メモリローカルバスの夫々は、前記マルチマスタバス、前記第1シングルマスタバス、前記第2シングルマスタバス、前記第1メモリローカルバス、前記第3メモリローカルバス及び前記第4メモリローカルバスの夫々に対して整数倍の並列ビット数を有する。
これによれば、大量の一次データに対するデータ転送の効率化に資することができる。
〔7〕<DRI入力>
項4において、前記ダイレクトメモリ入力回路は、外部から供給された第1データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第1ブロックに格納する処理を行う。
これによれば、ダイレクトメモリ入力回路を用いて効率的に一次データを取り込み可能になる。
〔8〕<DRI入力とアクセラレータへの出力>
項7において、前記ダイレクトメモリ入力回路は更に、外部から供給された第2データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を行い、これに並行して、前記アクセラレータが、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第1メモリ部の前記第1ブロックから前記第1データを読込んで第1データ処理可能にされる。
これによれば、項7の処理の後、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータに供給することができる。
〔9〕<DRI入力とアクセラレータからの入力>
項8において、前記ダイレクトメモリ入力回路は更に、外部から供給された第2データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に前記第1データ処理の処理結果である第1中間結果データを、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第2メモリ部の第3ブロックに格納する処理を行う、半導体装置。
これによれば、項8の処理に続けて、一次データの取り込みを継続しながら、アクセラレータで演算処理された中間結果データをアクセラレータから第2メモリブロックに格納することができる。
〔10〕<DRI入力とアクセラレータへの出力と汎用プロセッサへの出力>
項9において、前記ダイレクトメモリ入力回路は更に、外部から供給された第3データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第1ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第1メモリ部の前記第2ブロックから前記第2データを読込んで第2データ処理可能にされると共に、前記第1データ処理部が、前記第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第3ブロックから前記第1中間結果データを読込んで第3データ処理可能にされる。
これによれば、項9の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータに供給することができると共に、既に演算された中間結果データを第2メモリ部からデータ処理部に供給することができる。
〔11〕<DRI入力とアクセラレータからの入力と汎用プロセッサからの入力>
項10において、前記ダイレクトメモリ入力回路は更に、外部から供給された第3データを前記第1メモリローカルバスを経由して前記第1メモリ部の第1ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第2データ処理の処理結果である第2中間結果データを、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第2メモリ部の第3ブロックに格納する処理を行うと共に、前記第1データ処理部が更に、前記第3データ処理の処理結果である第1最終結果データを第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第4ブロックに格納する処理を行う。
これによれば、項10の処理に続けて、一次データの取り込みを継続しながら、アクセラレータで演算処理された中間結果データをアクセラレータから第2メモリ部に格納することができると共に、データ処理部で演算された最終結果データを第2メモリ部に格納することができる。
〔12〕<DRI入力とアクセラレータへの出力と汎用プロセッサへの出力>
項11において、前記ダイレクトメモリ入力回路は更に、外部から供給された第4データを前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第1メモリ部の前記第1ブロックから前記第3データを読込んで第4データ処理可能にされると共に、前記第1データ処理部が、前記第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第3ブロックから前記第2中間結果データを読込んで第5データ処理可能にされる。
これによれば、項11の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータに供給することができると共に、既に演算された中間結果データを第2メモリ部からデータ処理部に供給することができる。
〔13〕<DRI入力とアクセラレータからの入力と汎用プロセッサからの入力>
項12において、前記ダイレクトメモリ入力回路は更に、外部から供給される第4データを前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第4データ処理の処理結果である第3中間結果データを、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第2メモリ部の第4ブロックに格納する処理を行うと共に、前記第1データ処理部が更に、前記第5データ処理の処理結果である第2最終結果データを第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第4ブロックに格納する処理を行う。
これによれば、項12の処理に続けて、一次データの取り込みを継続しながら、アクセラレータで演算処理された中間結果データをアクセラレータから第2メモリブロックに格納することができると共に、データ処理部で演算された最終結果データを第2メモリ部に格納することができる。これ以降、項10及び項13の処理を繰返すことによって順次新たな一次データに対して対応する最終結果データを順次取得することができる。
〔14〕<車載カメラから供給される前方の画像データ>
項13において、前記第1乃至第4データは車載カメラから供給される前方の画像データである。
これによれば、時系列に順次入力される前方画像データに対して衝突回避などの予防安全のために逐次必要な処理を継続していくことができる。
〔15〕<車載ネットワーク端末>
項14において、前記汎用バスに接続する車載ネットワーク端末インタフェースを更に有し、前記第1データ処理部又は第2データ処理部は前記第2メモリ部の前記第4ブロックに順次格納された第1最終結果データ及び第2最終結果データを前記車載ネットワーク端末インタフェースから順次送出する。
これによれば、時系列に順次入力される前方画像データに対して衝突警報などのために逐次行われた処理結果を、車載ネットワークを介して衝突回避の処理を担当する電子制御装置に与えることができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
図1には一実施の形態に係る半導体装置の一例であるマイクロコンピュータ(MCU)1が示される。マイクロコンピュータ1は、特に制限されないが、単結晶シリコンのような1個の半導体基板にCMOS集積回路製造技術によって形成される。特に制限されないが、このマイクロコンピュータ1は画像認識などによる予防安全のための画像処理に特化した機能を備え、車載ネットワークに接続される予防安全用の一つのECU(電子制御装置)に搭載されて利用される。
マイクロコンピュータ1は、データ処理部として2個のプロセッサ(PE1、PE2)2,3と1個のアクセラレータ(PE3)4を有し、記憶装置としてマルチポートの内部データランダムアクセスメモリ(IDRAM)50を備え、IDRAM50に接続する複数個のバス20〜24を有する。マイクロコンピュータ1は、特に制限されないが、その他に、ダイレクトメモリアクセスコントローラ(DMAC)5、スタティックランダムアクセスメモリ(SRAM)から成る汎用メモリ(GRAM)8、及び周辺回路42などを備える。
IDRAM50は、誤り訂正機能を有していない第1メモリ部55と誤り訂正機能を有する第2メモリ部56とを備え、前記第1メモリ部55及び第2メモリ部56に対して複数個のアクセスノードAND1,AND2,AND3,AND4を有する。
IDRAM50はアクセスノードAND1〜AND4毎に個別化された複数のメモリローカルバスとして第1メモリローカルバス51乃至第4メモリローカルバス54を有し、夫々のメモリローカルバス51〜54には夫々第1メモリ部55及び第2メモリ部56が接続される。特に制限されないが、第1メモリ部55は、夫々並列アクセス可能にされる第1ブロック(BLK1)BLK1a、BLK1bと第2ブロック(BLK2)BLK2a,BLK2bから成る。同様に、第2メモリ部56は夫々並列アクセス可能にされる第3ブロック(BLK3)BLK3a、BLK3bと第4ブロック(BLK4)BLK4a,BLK4bにから成る。尚、図1において一つのブロックはサフィックスのaとbに2分された状態で図示されているが、これはデータの上位と下位側を便宜的に分けて図示したものであり、特別な意味はない。
プロセッサ2,3は、特に制限されないが、命令をフェッチして実行する中央処理装置、浮動小数点演算ユニット、データキャッシュ、命令キャッシュ、及びローカルRAMなどを有し、SIMD(single instruction multiple data)型の命令実行形態を有する。したがって、プロセッサ2,3それ自体で画像等のデータ処理に適した複数のCPUを有するアーキテクチャが採用されている。アクセラレータ4は中央処理装置、データキャッシュ、命令キャッシュ、及びローカルRAMなどを有し、例えばプロセッサ2,3の負担を軽減するために特定の演算処理を効率的に行う。プロセッサ2,3の中央処理装置はマスタポート31,32を介して外部アクセスを行い、ローカルメモリなどはスレーブポート34,37を介して外部からアクセス可能にされる。アクセラレータ4の中央処理装置はマスタポート33を介して外部アクセスを行う。
プロセッサ2,3及びアクセラレータ4は、動作プログラムに従ったプログラム処理を行い、その一環として、複数個のバス20〜23を介してIDRAM50を非対称アクセス可能にされる。非対象アクセスとは、アクセス時間(若しくはアクセス速度)が、アクセス元のバスマスタ(プロセッサ2,3、アクセラレータ4、DMAC5)とアクセス先のアクセスノードAND1〜AND4の相対関係に依存するメモリアクセスアーキテクチャを意味する。
特に制限されないが、ここでは、アクセラレータ4をアクセスノードAND2に接続するバス(アクセラレータバス)23は転送速度が80MHzで並列ビット数を128ビットとする。アクセラレータ4は特定のデータ処理に特化して、それを高速に演算する演算処理機能を有し、アクセラレータバス23はアクセラレータ4に専用化されたバスである。
一方、バス20〜23はプロセッサ2,3及びDMAC5などに利用される汎用バスであり、転送速度80がMHzで並列ビット数を64ビットとする。バス20は複数のバスマスタとしてアクセラレータ4及びDMAC5にマスタポート33,30を介して接続されるマルチマスタバスとされる。バス21は一つのバスマスタとしてプロセッサ2にマスタポート31を介して接続する第1シングルマスタバスとされる。バス22は一つのバスマスタとしてプロセッサ3にマスタポート32を介して接続する第2シングルマスタバスとされる。
バススレーブに関しては、マルチマスタバス20、第1シングルマスタバス21及び第2シングルマスタバス22の夫々は、スレーブポート34を介してプロセッサ2に接続し、スレーブポート34を介してGRAM8に接続し、スレーブポート37を介してプロセッサ3に接続し、スレーブポート38を介して第4メモリローカルバス54に接続し、スレーブポート39を介して第3メモリローカルバス53に接続する。
第2メモリローカルバス51は、アクセスノードAND2を介してアクセラレータバス23に接続する。
第1メモリローカルバス51には入力バス24を介してダイレクトメモリ入力回路(DRI)60に接続する。ダイレクトメモリ入力回路60は、マイクロコンピュータ1の外部から供給されたデータを、第1メモリローカルバス51を介して第1メモリ部に書き込む制御を行う。特に制限されないが、入力バス24は、転送速度80がMHzで並列ビット数を64ビットとする。尚、第1メモリローカルバス51、第3メモリローカルバス53及び第4メモリローカルバス54は転送速度80がMHzで並列ビット数を64ビットとされる。第2メモリローカルバス52はアクセラレータバス23と同様に、転送速度80がMHzで並列ビット数を128ビットとする。
上記プロセッサ2,3及びアクセラレータ4が実行するプログラム(ソフトウェア)は例えば電気的に書き換え可能なコードフラッシュメモリ(CDFLSH)6,7に格納されている。プロセッサ2,3及びアクセラレータ4は夫々のプログラム実行シーケンスに従ってコードフラッシュメモリ6,7から命令をフェッチする。その際のアクセス競合に対するアービタ(ARBT)9,10が行う。アービタ9,10で調停され、コードフラッシュメモリ6,7からリードされた命令は選択スイッチ11,12,13を介して、命令フェッチの要求元に返される。
上記周辺回路42は、特に制限されないが、マイクロコンピュータ1の外部にインタフェースされる入出力ポート(IOPRT)43、マイクロコンピュータ1の動作基準クロックなどのクロック信号を生成するクロックパルスジェネレータ(CPG)44、車載ネットワーク端末インタフェースとしてのコントローラーエリアネットワークインタフェース(CAN)45、及び割込みコントローラ(INTC)46などを有する。特に制限されないが、周辺回路42は周辺バス41に接続され、周辺バス41は、プロセッサ2、プロセッサ3、又はマルチマスタバス20に接続するスレーブポート36からアクセス可能にされ、そのアクセス経路は選択スイッチ40で選択される。周辺バス41は転送速度80がMHzで並列ビット数を128ビットとし、選択スイッチ40はバスブリッジとしての機能も備える。
GRAM8はプロセッサ2,3のワーク領域若しくは汎用レジスタ領域などに利用される。特に制限されないが、データ処理の信頼性という点からGRAM8は誤り訂正機能を有している。GRAM8の記憶容量はその用途の性質上、256kB(キロバイト)のように比較的小さくチップ面積に対する面積インパクトは小さい。
これに対してIDRAM50はプロセッサ2,3及びアクセラレータ4のデータ処理対象になるデータや中間データを格納するデータメモリとしての利用を想定するので、その記憶容量はGRAM8に比べて格段に大きく、例えば数メガビット以上に及ぶ。この点を考慮して、IDRAM50の全記憶領域を誤り訂正機能付きとはせず、一部の第1メモリ部55には誤り訂正機能を設けず、残りの第2メモリ部56に誤り訂正機能を設けた。このとき、第1メモリ部55はプロセッサ2,3やアクセラレータ4によるデータ処理前の一次データを格納する領域とし、前記第2メモリ部はプロセッサ2,3やアクセラレータ4によるデータ処理後の二次データを格納する領域として用いる。
誤り訂正機能として例えばECC(Error Checking and Correcting)を用いる。この場合、誤り訂正には、記録するデータ長に応じたハミング符号を用いた誤り訂正符号を用いる。例えば、64ビットのデータについて8ビットの誤り訂正符号を用いることで、1ビットの誤りを訂正することができる。特に制限されないが、書き込みデータに対する誤り訂正符号の生成論理、及び読出しデータに対する誤り訂正符号を用いた誤り判別と必要な誤り生成の論理は第2メモリ部56の第3ブロックBLK3a,BLK3bと第4ブロックBLK4a,BLK4bに夫々備えられている。
アクセスノードAND1〜AND4からブロックBLK1〜BLK4に対するアクセス競合の調停は、特に制限されないが、ローカルバス51〜54に接続された図示を省略するバスアービタ若しくはルータが行う。アクセス競合の調停に際しては優先順位の高いバスマスタに対してはウェイト無しでアクセスを許可し、優先順位の低いバスマスタに対してはアクセス許可までに必要なウェイトサイクルを挿入する。
図2には第1メモリ部55と第2メモリ部56を使い分けたデータ処理形態の一例が示される。DRI60は入力された一次データDrwを第1メモリ部55の第1ブロックBLK1(BLK1a,BLK1b)と第2ブロックBLK2(BLK2a,BLK2b)に順次格納していく。
格納されたデータが所定の処理単位になると、DRI60は割込み要求IRQ1を発行し、これに応答してアクセラレータ4が第1メモリ部55の第1ブロックBLK1に格納されている一次データDrwをリードして所定の演算処理を行う。アクセラレータ4で演算された二次データDmd1は第2メモリ部56の第4ブロックBLK4に供給され、二次データDmd1とこれに基づいて生成された誤り訂正符号が当該第4ブロックBLK4に格納される。また、アクセラレータ4で演算された二次データDmd2は第2メモリ部56の第3ブロックBLK4に供給され、当該二次データDmd2とこれに基づいて生成された誤り訂正符号が当該第3ブロックBLK4に格納される。
この後、アクセラレータ4は、プロセッサ2に割込み要求IRQ3を発行すると共に、プロセッサ3に割込み要求IRQ4を発行する。割込み要求IRQ3に応答してプロセッサ2は第4ブロックBLK4をリードアクセスし、そこに格納されている二次データDmd1に誤り訂正符号を用いた必要な誤り訂正を行って、二次データDmd1を再生し、取得した二次データDmd1に対して所定の演算処理を行って演算結果データDrt1を得る。
また、割込み要求IRQ4に応答してプロセッサ3は第3ブロックBLK3をリードアクセスし、そこに格納されている二次データDmd2に誤り訂正符号を用いた必要な誤り訂正を行って、二次データDmd2を取得し、取得した二次データDmd2に対して所定の演算処理を行って、更新した二次データDmd2Mを取得する。更新した二次データDmd2Mは再び第3ブロックBLK3に供給され、対応する誤り訂正符号と共に格納され、再びプロセッサ3が第3ブロックBLK3をリードアクセスし、そこに格納されている二次データDmd2Mに誤り訂正符号を用いた必要な誤り訂正を行って、二次データDmd2Mを取得し、取得した二次データDmd2Mに対して別の所定の演算処理を行って、演算結果データDrt2を得る。
一方、第2ブロックBLK2に格納された一次データDrwが所定の処理単位になると、DRI60は割込み要求IRQ2を発行し、これに応答してプロセッサ2が第1メモリ部55の第2ブロックBLK2に格納されている一次データDrwをリードして所定の演算処理を行い、演算結果データDrt3を得る。
マイクロコンピュータ1によれば、非対称アクセス可能なIDRAM50の誤り訂正機能を有しない第1メモリ部55に一次データを格納し、格納した一次データをプロセッサ2,3やアクセラレータ4で処理した中間データDmd1,Dmd2及び中間データをDmd1,Dmd2用いて処理した最終処理結果データDrt1,Drt2,Drt3などの二次データを、誤り訂正機能を有する第2メモリ部56に格納するから、信頼性を要する二次データの不所望な変化を抑制できる。且つ、一部の不所望なデータ変化によってもたらされる影響が少ない一次データDrwの格納には誤り訂正機能を有しない第1メモリ部55が割り当てられるから、IDRAM50の著しい容量拡大を抑制することができる。複数個のアクセスノードAND1〜AND4を介して複数個のプロセッサ2,3及びアクセラレータ4がIDRAM50を非対称アクセスすることができる。すなわち、IDRAM50に対しては4個のアクセスノードAND1〜AND4を介して4系統のバスから並列アクセス可能であり、更にアクセスノードAND1〜AND4からは異なる分路億BLK1〜BLK4に対して同時アクセス可能にされる。したがって、逐次供給されるデータDrwの入力から最終演算結果の取得までを所謂マルチプロセッサを用いたパイプライン的な処理を適用することによってデータ処理の効率化に資することができる。
図3には画像処理を一例とした場合の一次データと二次データに対する具体的な処理が例示される。ECC機能無しの第1メモリ部55に格納された画像データに対しては画像前処理S1が行われ、その処理結果はECC機能有りの第2メモリ部56に格納される。第2メモリ部56に格納された前処理済みデータは、識別・特徴量計算、奥行き計算S2の対象にされる。この計算によって得られた中間データは第2メモリ部56に一時的に格納され、処理単位のデータが揃ったところで今度は画像認識や意味理解の演算処理S3が行われる。画像認識などの演算結果は、情報統合判断や表示制御、その他アクチェータの制御などに用いられる(S4)。
図4には画像認識による衝突などの車載予防安全処理に着目した場合におけるプロセッサ2,3とアクセラレータ4の処理分担の一例が示される。
ここで着目する車載予防安全処理は、自動ハイビーム制御(AHB)、標識認識(TSR)、車線逸脱警報(LDWS)、前方衝突警報(FCW)の各処理とされる。その他に、ECUの通信処理、ECUの機能安全処理、及びECUの車載OS処理、及びアクセラレータ(PE3)4に対す演算設定処理などが行われる。それら処理の割り当ては図4に例示される。特にステレオカメラからの画像データに対するFCWの処理は負荷が大きいのでプロセッサ3とアクセラレータ4の双方に処理を負担させる。図4の処理の分担は一例であり、FCWの処理を行わない期間では他の処理を分担させ、また、”空き”で示されるようにデータ処理能力に余裕がある場合には、そこで他の処理を行ってもよい。プロセッサ2,3とアクセラレータ4にどのような処理を分担させるかは、処理の内容や処理に許容される時間に応じて決定され、その制御はそれらの動作プログラムによって規定される。
図5にはプロセッサ及びアクセラレータによるIDRAM50を用いた処理例が示される。ここでは図4とは異なる処理分担によってLDWSの処理を行う場合について説明する。
DRI60は車輌の前方に設けられたカメラで撮影されたビデオデータを入力して、IDRAM50の第1メモリ部に形成された第1ブロックBLK1又は第2BLKに順次格納する(Step1)。格納するデータはビデオデータの全てであることを要せず、画像フレームの内の車線認識の対象となる下半分だけにしてもよい。この制御はDRI60が入力データを間引いて実現可能である。
第1ブロックBLK1又は第2BLKに処理単位の画像データ(例えば単数又は複数フレームの画像データ)が蓄積されると、アクセラレータ4がその画像データを読込んでフィルタ処理や白線検知処理を行い(Step2)、最終的に得られた白線情報をIDRAM50の第2メモリ部56に形成された第3ブロックBLK3に格納する(Step3)。
プロセッサ2は第3ブロックBLK3から白線情報を読込んで白線からのカーブ情報に基づいてハンドルの適正な切角を算出し(Step4)、算出した切角をIDRAM50の第2メモリ部56に形成された第4ブロックBLK4に格納する(Step5)。プロセッサ2又はプロセッサ3はCAN45を制御して第4ブロックBLK4に格納されている切角をハンドルに対する制御用のECUに伝達する。
上述のように、プロセッサ2,3及びアクセラレータ4はIDRAM50に対して並列アクセス可能であるから、Step2,Step3,Step4,Step5において後続の画像データを第1ブロックBLK1と第2BLKを交互に切替えながら蓄積する処理を並列化することができる。同様に、Step4においてStep2を並列化し、Step5においてStep3を並列化することが可能である。すなわちStep1〜Step5の処理をパイプライン的に実行することができる。
図6乃至図12には図5で説明したStep1〜Step5の処理をパイプライン的に実行する場合におけるIDRAM50に対する非対称アクセス形態が例示される。
図6には図5のStep1に対応するIDRAM50のアクセス形態が例示される。DRI60は、外部から供給されたビデオデータのようなイメージデータ(第1データDrw1)を、第1メモリローカルバス51を経由して前記第1メモリ部55の第1ブロックBLK1a,BLK1bに格納する。これによれば、DRI60を用いて効率的に一次データを取り込み可能になる。
図7には図5のStep1とStep2を並列化した場合のIDRAM50のアクセス形態が例示される。
DRI60は更に、外部から供給されたビデオデータのようなイメージデータ(第2データDrw2)を、前記第1メモリローカルバス51を経由して前記第1メモリ部55の第2ブロックBLK2a,BLK2bに格納する処理を行う。これに並行して、前記アクセラレータ4が、前記アクセラレータバス23及び前記第2メモリローカルバス52を介して前記第1メモリ部55の前記第1ブロックBLK1a,BLK1bから前記第1データDrw1を読込んでフィルタ処理及び白線検知処理のような第1データ処理可能にされる。これによれば、図6の処理の後、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータ4に供給することができる。
図8には図5のStep1とStep3を並列化した場合のIDRAM50のアクセス形態が例示される。
DRI60は更に、外部から供給された第2データDrw2を、前記第1メモリローカルバス51を経由して前記第1メモリ部55の第2ブロックBLK2a,BLK2bに格納する処理を継続しながら、アクセラレータ4が更に前記第1データ処理の処理結果である白線情報等の第1中間結果データDmd1を、前記アクセラレータバス23及び前記第2メモリローカルバス52を介して前記第2メモリ部56の第3ブロックBLK3a,BLK3bに格納する処理を行う。これによれば、図7の処理に続けて、一次データを取り込みを継続しながら、アクセラレータ4で演算処理された中間結果データをアクセラレータ4から第2メモリブロックBLK2a,BLK2bに格納することができる。
図9には図5のStep1、Step2,Step4を並列化した場合のIDRAM50のアクセス形態が例示される。
DRI60は更に、外部から供給された第3データDrw3を、第1メモリローカルバス51を経由して前記第1メモリ部55の第1ブロックBLK1a,BLK1bに格納する処理を行い、これに並行して、アクセラレータ4が更に、アクセラレータバス23及び前記第2メモリローカルバス52を介して前記第1メモリ部55の前記第2ブロックBLK2a,BLK2bから前記第2データDrw2を読込んでフィルタ処理及び白線検知処理のような第2データ処理可能にされる。これと共に、プロセッサ2が、第3メモリローカルバス53及び前記汎用バスの内の第1シングルマスタバス21を介して第2メモリ部56の前記第3ブロックBLK3a,BLK3bから前記第1中間結果データDmd1を読込んでハンドルの切角を算出するような第3データ処理可能にされる。これによれば、図8の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータ4に供給することができると共に、既に演算された中間結果データDmd1を第2メモリ部56からプロセッサ2に供給することができる。
図10には図5のStep1、Step3,Step5を並列化した場合のIDRAM50のアクセス形態が例示される。
DRI60は更に、外部から供給される第3データDrw3を第1メモリローカルバス51を経由して第1メモリ部55の第2ブロックBLK2a,BLK2bに格納する処理を継続しながら、アクセラレータ4が更に前記第2データ処理の処理結果である第2中間結果データDmd2を、前記アクセラレータバス23及び前記第2メモリローカルバス52を介して第2メモリ部56の第3ブロックBLK3a,BLK3bに格納する処理を行う。更にこれに並行して、プロセッサ2が、前記第3データ処理の処理結果である切角のような第1最終結果データDrt1をシングルマスタバス21及び第3メモリローカルバス53を介して前記第2メモリ部56の第4ブロックBLK4aに格納する処理を行う。これによれば、図9の処理に続けて、一次データDrw3の取り込みを継続しながら、アクセラレータ4で演算処理された中間結果データをアクセラレータ4から第2メモリ部56に格納することができると共に、プロセッサ2で演算された最終結果データDrt1を第2メモリ部56に格納することができる。
図11には図5のStep1、Step2,Step4を並列化した場合のIDRAM50のアクセス形態が例示される。
DRI60は更に、外部から供給された第4データDrw4を、第1メモリローカルバス51を経由して前記第1メモリ部55の第2ブロックBLK2a,BLK2bに格納する処理を行い、これに並行して、アクセラレータ4が更に、アクセラレータバス23及び前記第2メモリローカルバス52を介して前記第1メモリ部55の前記第1ブロックBLK1a,BLK1bから前記第3データDrw3を読込んでフィルタ処理及び白線検知処理のような第4データ処理可能にされる。これと共に、プロセッサ2が、第3メモリローカルバス53及び前記汎用バスの内の第1シングルマスタバス21を介して第2メモリ部56の前記第3ブロックBLK3a,BLK3bから前記第2中間結果データDmd2を読込んでハンドルの切角を算出するような第5データ処理可能にされる。これによれば、図10の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータ4に供給することができると共に、既に演算された中間結果データDmd2を第2メモリ部56からプロセッサ2に供給することができる。
図12には図5のStep1、Step3,Step5を並列化した場合のIDRAM50のアクセス形態が例示される。
DRI60は更に、外部から供給される第4データDrw4を、第1メモリローカルバス51を経由して第1メモリ部55の第2ブロックBLK2a,BLK2bに格納する処理を継続しながら、アクセラレータ4が更に前記第4データ処理の処理結果である第3中間結果データDmd3を、前記アクセラレータバス23及び前記第2メモリローカルバス52を介して第2メモリ部56の第3ブロックBLK3a,BLK3bに格納する処理を行う。更にこれに並行して、プロセッサ2が、前記第5データ処理の処理結果である切角のような第2最終結果データDrt2をシングルマスタバス21及び第3メモリローカルバス53を介して前記第2メモリ部56の第4ブロックBLK4aに格納する処理を行う。これによれば、図11の処理に続けて、一次データDrw4の取り込みを継続しながら、アクセラレータ4で演算処理された中間結果データをアクセラレータ4から第2メモリ部56に格納することができると共に、プロセッサ2で演算された最終結果データDrt2を第2メモリ部56に格納することができる。
これ以降、図9乃至図12の処理を繰返すことによって順次新たな一次データに対して対応する最終結果データを順次取得することができる。
図10及び図11の処理で取得されて第4ブロックBLK4に格納された切角のような最終結果データDrt1、Drt2は、その都度、あるいは定期的に、プロセッサ2又はプロセッサ3がCAN45を制御してハンドル制御用のECUなどに伝達する。
図6乃至図12の処理により、車載カメラから時系列に順次入力される前方画像データに対して衝突回避などの予防安全のために逐次必要な処理を効率的に継続していくことができる。時系列に順次入力される前方画像データに対して衝突警報などのために逐次行われた処理結果を、車載ネットワークを介して衝突回避の処理などを担当するECUに与えることができる。
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、本発明は車輌の衝突回避などのための予防安全のデータ処理に適用することに限定されない。他用途のための画像認識、特徴抽出であってもよいし、画像データの圧縮伸張処理にも適用可能であり、更に処理対象データは画像データに限定されず、音声データやその他種々のデータに対する処理に適用することができる。データ処理部は2個のプロセッサと1個のアクセラレータに限定されず、その数や構成は適宜変更可能である。
記憶装置において非対称アクセスを可能にするためのローカルバスの数、アクセスポートの数、及びブロックの分割数は上記実施の形態に限定されず、適宜変更可能である。
1 マイクロコンピュータ(MCU)
2,3 プロセッサ
4 アクセラレータ
5 ダイレクトメモリアクセスコントローラ(DMAC)
8 汎用メモリ(GRAM)
20 マルチマスタバス
21 第1シングルマスタバス
22 第2シングルマスタバス
31〜33 マスタポート
34〜39 スレーブポート
42 周辺回路
43 入出力ポート(IOPRT)
44 クロックパルスジェネレータ(CPG)
45 コントローラーエリアネットワークインタフェース(CAN)
46 割込みコントローラ(INTC)
50 内部データランダムアクセスメモリ(IDRAM)
51 第1メモリローカルバス
52 第2メモリローカルバス
53 第3メモリローカルバス
54 第4メモリローカルバス
55 第1メモリ部
56 第2メモリ部
60 ダイレクトメモリ入力回路(DRI)
AND1,AND2,AND3,AND4 アクセスノード
BLK1a、BLK1b 第1ブロック
BLK2a,BLK2b 第2ブロック
BLK3a、BLK3b 第3ブロック
BLK4a,BLK4b 第4ブロック

Claims (15)

  1. 誤り訂正機能を有していない第1メモリ部と誤り訂正機能を有する第2メモリ部とを備え、前記第1メモリ部及び第2メモリ部に対して複数個のアクセスノードを有する記憶装置と、
    前記複数個のアクセスノードに接続される複数個のバスと、
    夫々がプログラム処理を行い、前記複数個のバスを介して前記記憶装置を非対称アクセス可能な複数個のデータ処理部と、を有し、
    前記第1メモリ部は前記データ処理部によるデータ処理前の一次データが格納される領域とされ、
    前記第2メモリ部は前記データ処理部によるデータ処理後の二次データが格納される領域とされる、半導体装置。
  2. 請求項1において、前記記憶装置はアクセスノード毎に個別化された複数のメモリローカルバスを有し、夫々のメモリローカルバスに前記第1メモリ部及び第2メモリ部が接続される、半導体装置。
  3. 請求項2において、前記半導体装置の外部から供給されたデータを、前記複数のメモリローカルバスの内の第1メモリローカルバスを介して前記第1メモリ部に書き込む制御を行うダイレクトメモリ入力回路を有する、半導体装置。
  4. 請求項3において、前記複数個のデータ処理部の内の一つは特定のデータ処理に特化したアクセラレータであり、
    前記複数個のバスの内の一つは前記アクセラレータを前記複数のメモリローカルバスの内の第2メモリローカルバスに接続するアクセラレータバスである、半導体装置。
  5. 請求項4において、前記複数個のバスの内の一つは汎用バスであり、
    前記複数個のデータ処理部の内の一つは第1データ処理部であり、他の一つは第2データ処理部であり、
    前記汎用バスは、一つのバスマスタとして前記第1データ処理部に接続する第1シングルマスタバスと、一つのバスマスタとして前記第2データ処理部に接続する第2シングルマスタバスと、複数個のバスマスタとして前記アクセラレータ及びその他のバスマスタに接続するマルチマスタバスとを含み、
    前記マルチマスタバス、前記第1シングルマスタバス、及び前記第2シングルマスタバスの夫々は、前記複数のメモリローカルバスの内の前記第1メモリローカルバス及び前記第2メモリローカルバス以外の第3メモリローカルバス及び第4メモリローカルバスに接続される、半導体装置。
  6. 請求項5において、前記アクセラレータバス及び前記第2メモリローカルバスの夫々は、前記マルチマスタバス、前記第1シングルマスタバス、前記第2シングルマスタバス、前記第1メモリローカルバス、前記第3メモリローカルバス及び前記第4メモリローカルバスの夫々に対して整数倍の並列ビット数を有する、半導体装置。
  7. 請求項4において、前記ダイレクトメモリ入力回路は、外部から供給された第1データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第1ブロックに格納する処理を行う、半導体装置。
  8. 請求項7において、前記ダイレクトメモリ入力回路は更に、外部から供給された第2データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を行い、これに並行して、前記アクセラレータが、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第1メモリ部の前記第1ブロックから前記第1データを読込んで第1データ処理可能にされる、半導体装置。
  9. 請求項8において、前記ダイレクトメモリ入力回路は更に、外部から供給された第2データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に前記第1データ処理の処理結果である第1中間結果データを、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第2メモリ部の第3ブロックに格納する処理を行う、半導体装置。
  10. 請求項9において、前記ダイレクトメモリ入力回路は更に、外部から供給された第3データを、前記第1メモリローカルバスを経由して前記第1メモリ部の第1ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第1メモリ部の前記第2ブロックから前記第2データを読込んで第2データ処理可能にされると共に、前記第1データ処理部が、前記第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第3ブロックから前記第1中間結果データを読込んで第3データ処理可能にされる、半導体装置。
  11. 請求項10において、前記ダイレクトメモリ入力回路は更に、外部から供給された第3データを前記第1メモリローカルバスを経由して前記第1メモリ部の第1ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第2データ処理の処理結果である第2中間結果データを、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第2メモリ部の第3ブロックに格納する処理を行うと共に、前記第1データ処理部が更に、前記第3データ処理の処理結果である第1最終結果データを第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第4ブロックに格納する処理を行う、半導体装置。
  12. 請求項11において、前記ダイレクトメモリ入力回路は更に、外部から供給された第4データを前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第1メモリ部の前記第1ブロックから前記第3データを読込んで第4データ処理可能にされると共に、前記第1データ処理部が、前記第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第3ブロックから前記第2中間結果データを読込んで第5データ処理可能にされる、半導体装置。
  13. 請求項12において、前記ダイレクトメモリ入力回路は更に、外部から供給される第4データを前記第1メモリローカルバスを経由して前記第1メモリ部の第2ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第4データ処理の処理結果である第3中間結果データを、前記アクセラレータバス及び前記第2メモリローカルバスを介して前記第2メモリ部の第4ブロックに格納する処理を行うと共に、前記第1データ処理部が更に、前記第5データ処理の処理結果である第2最終結果データを第3メモリローカルバス及び前記汎用バスを介して前記第2メモリ部の前記第4ブロックに格納する処理を行う、半導体装置。
  14. 請求項13において、前記第1乃至第4データは車載カメラから供給される前方の画像データである、半導体装置。
  15. 請求項14において、前記汎用バスに接続する車載ネットワーク端末インタフェースを更に有し、
    前記第1データ処理部又は第2データ処理部は前記第2メモリ部の前記第4ブロックに順次格納された第1最終結果データ及び第2最終結果データを前記車載ネットワーク端末インタフェースから順次送出する、半導体装置。
JP2014042499A 2014-03-05 2014-03-05 半導体装置 Active JP6385077B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014042499A JP6385077B2 (ja) 2014-03-05 2014-03-05 半導体装置
US14/625,940 US9684466B2 (en) 2014-03-05 2015-02-19 Semiconductor device
US15/604,020 US9990154B2 (en) 2014-03-05 2017-05-24 Semiconductor device
US15/977,291 US10558379B2 (en) 2014-03-05 2018-05-11 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014042499A JP6385077B2 (ja) 2014-03-05 2014-03-05 半導体装置

Publications (2)

Publication Number Publication Date
JP2015169988A true JP2015169988A (ja) 2015-09-28
JP6385077B2 JP6385077B2 (ja) 2018-09-05

Family

ID=54017488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014042499A Active JP6385077B2 (ja) 2014-03-05 2014-03-05 半導体装置

Country Status (2)

Country Link
US (3) US9684466B2 (ja)
JP (1) JP6385077B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129386A (ja) * 2014-07-30 2020-08-27 リニア アルジェブラ テクノロジーズ リミテッド 低電力コンピュータイメージング

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048583B1 (en) * 2015-09-11 2021-06-29 Green Mountain Semiconductor Inc. Flexible, low-latency error correction architecture for semiconductor memory products

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63156291A (ja) * 1986-12-20 1988-06-29 Fujitsu Ltd 画像メモリ
JPH0283674A (ja) * 1988-09-20 1990-03-23 Sony Corp メモリ装置
JPH06149735A (ja) * 1992-11-12 1994-05-31 Casio Electron Mfg Co Ltd データ受信制御装置
JPH10143429A (ja) * 1996-11-13 1998-05-29 Nec Corp マルチポートメモリ
JP2004246862A (ja) * 2002-09-30 2004-09-02 Matsushita Electric Ind Co Ltd リソース管理装置
US20130311849A1 (en) * 2012-05-21 2013-11-21 Renesas Mobile Corporation Semiconductor device, electronic device, electronic system, and method of controlling electronic device

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149735A (ja) 1984-08-15 1986-03-11 Ryoda Sato 金属パイプに凸部を形成する方法
US5146461A (en) * 1989-11-13 1992-09-08 Solbourne Computer, Inc. Memory error correction system distributed on a high performance multiprocessor bus and method therefor
JP3409859B2 (ja) * 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
US5613075A (en) * 1993-11-12 1997-03-18 Intel Corporation Method and apparatus for providing deterministic read access to main memory in a computer system
US5663721A (en) * 1995-03-20 1997-09-02 Compaq Computer Corporation Method and apparatus using code values and length fields for compressing computer data
US5758050A (en) * 1996-03-12 1998-05-26 International Business Machines Corporation Reconfigurable data storage system
US6070262A (en) * 1997-04-04 2000-05-30 International Business Machines Corporation Reconfigurable I/O DRAM
JP3189727B2 (ja) * 1997-04-15 2001-07-16 日本電気株式会社 コプロセッサ内蔵パケット型メモリlsi、それを用いたメモリシステム及びそれらの制御方法
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
US6058461A (en) * 1997-12-02 2000-05-02 Advanced Micro Devices, Inc. Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation
US6243827B1 (en) * 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems
US6240506B1 (en) * 1998-10-02 2001-05-29 Advanced Micro Devices, Inc. Expanding instructions with variable-length operands to a fixed length
US6240503B1 (en) * 1998-11-12 2001-05-29 Advanced Micro Devices, Inc. Cumulative lookahead to eliminate chained dependencies
US6212631B1 (en) * 1999-01-15 2001-04-03 Dell Usa, L.P. Method and apparatus for automatic L2 cache ECC configuration in a computer system
US6317813B1 (en) * 1999-05-18 2001-11-13 Silicon Integrated Systems Corp. Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
US6526477B1 (en) * 1999-09-03 2003-02-25 Adaptec, Inc. Host-memory based raid system, device, and method
US6636959B1 (en) * 1999-10-14 2003-10-21 Advanced Micro Devices, Inc. Predictor miss decoder updating line predictor storing instruction fetch address and alignment information upon instruction decode termination condition
US6867780B1 (en) * 1999-12-06 2005-03-15 Nvidia Corporation System, method and article of manufacture for allowing direct memory access to graphics vertex data while bypassing a processor
US6463510B1 (en) * 2000-12-29 2002-10-08 Compaq Information Technologies Group, L.P. Apparatus for identifying memory requests originating on remote I/O devices as noncacheable
AU2003248865A1 (en) * 2002-07-08 2004-01-23 Globespanvirata Incorporated Method and system for allocating bandwidth
US6944744B2 (en) * 2002-08-27 2005-09-13 Advanced Micro Devices, Inc. Apparatus and method for independently schedulable functional units with issue lock mechanism in a processor
TW200415476A (en) 2002-09-30 2004-08-16 Matsushita Electric Ind Co Ltd Resource management device
US7302603B2 (en) * 2003-11-20 2007-11-27 International Business Machines Corporation Host-initiated data reconstruction for improved RAID read operations
TWI254848B (en) * 2004-11-16 2006-05-11 Via Tech Inc Method and related apparatus for performing error checking-correcting
US7464241B2 (en) * 2004-11-22 2008-12-09 Intel Corporation Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding
US20060137903A1 (en) * 2004-12-23 2006-06-29 Sprietsma John T Memory module circuit board layer routing
US20060139983A1 (en) * 2004-12-23 2006-06-29 Sprietsma John T Memory module routing
US20070079068A1 (en) * 2005-09-30 2007-04-05 Intel Corporation Storing data with different specified levels of data redundancy
US7620875B1 (en) * 2006-03-07 2009-11-17 Xilinx, Inc. Error correction code memory system with a small footprint and byte write operation
JP2008059191A (ja) * 2006-08-30 2008-03-13 Oki Electric Ind Co Ltd マイクロコントローラとそのデバッグ方法
US7624329B2 (en) * 2006-08-30 2009-11-24 Freescale Semiconductor, Inc. Programming a memory device having error correction logic
JP2008139908A (ja) 2006-11-29 2008-06-19 Matsushita Electric Ind Co Ltd メモリ制御装置、コンピュータシステム及びデータ再生記録装置
US7958433B1 (en) * 2006-11-30 2011-06-07 Marvell International Ltd. Methods and systems for storing data in memory using zoning
JP4633134B2 (ja) * 2008-03-27 2011-02-16 ルネサスエレクトロニクス株式会社 マイクロコントローラ、制御システム及びマイクロコントローラの設計方法
KR101732030B1 (ko) * 2010-12-22 2017-05-04 삼성전자주식회사 데이터 저장 장치 및 그것의 동작 방법
JP5691928B2 (ja) * 2011-08-05 2015-04-01 富士通株式会社 プラグインカード収容装置
US9424128B2 (en) * 2011-08-12 2016-08-23 Futurewei Technologies, Inc. Method and apparatus for flexible RAID in SSD
JP2013089082A (ja) * 2011-10-19 2013-05-13 Toshiba Corp メモリコントローラ、半導体記憶システムおよびメモリ制御方法
JP5768654B2 (ja) * 2011-10-25 2015-08-26 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
US9612901B2 (en) * 2012-03-30 2017-04-04 Intel Corporation Memories utilizing hybrid error correcting code techniques
US20140157043A1 (en) * 2012-03-30 2014-06-05 Joshua D. Ruggiero Memories utilizing hybrid error correcting code techniques
US9690650B2 (en) * 2013-03-11 2017-06-27 Macronix International Co., Ltd. Storage scheme for built-in ECC operations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63156291A (ja) * 1986-12-20 1988-06-29 Fujitsu Ltd 画像メモリ
JPH0283674A (ja) * 1988-09-20 1990-03-23 Sony Corp メモリ装置
JPH06149735A (ja) * 1992-11-12 1994-05-31 Casio Electron Mfg Co Ltd データ受信制御装置
JPH10143429A (ja) * 1996-11-13 1998-05-29 Nec Corp マルチポートメモリ
JP2004246862A (ja) * 2002-09-30 2004-09-02 Matsushita Electric Ind Co Ltd リソース管理装置
US20130311849A1 (en) * 2012-05-21 2013-11-21 Renesas Mobile Corporation Semiconductor device, electronic device, electronic system, and method of controlling electronic device
JP2013242694A (ja) * 2012-05-21 2013-12-05 Renesas Mobile Corp 半導体装置、電子装置、電子システム及び電子装置の制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129386A (ja) * 2014-07-30 2020-08-27 リニア アルジェブラ テクノロジーズ リミテッド 低電力コンピュータイメージング
JP7053713B2 (ja) 2014-07-30 2022-04-12 リニア アルジェブラ テクノロジーズ リミテッド 低電力コンピュータイメージング

Also Published As

Publication number Publication date
US10558379B2 (en) 2020-02-11
US20170262210A1 (en) 2017-09-14
US20150254148A1 (en) 2015-09-10
US9990154B2 (en) 2018-06-05
US20180267729A1 (en) 2018-09-20
JP6385077B2 (ja) 2018-09-05
US9684466B2 (en) 2017-06-20

Similar Documents

Publication Publication Date Title
US9092429B2 (en) DMA vector buffer
US11669370B2 (en) Bandwidth controlled data synchronization for image and vision processor
CN109690499B (zh) 使用模式适配器的用于图像和视觉处理块的数据同步
US7581054B2 (en) Data processing system
US20160026494A1 (en) Mid-thread pre-emption with software assisted context switch
EP3844610B1 (en) Method and system for performing parallel computation
JP5564187B2 (ja) マイクロコントローラおよび自動車電子制御装置
US10558379B2 (en) Semiconductor device
US20070208887A1 (en) Method, apparatus, and medium for controlling direct memory access
US7185133B2 (en) Data processor
TW202013204A (zh) 多核心系統的內連線結構
JPH076122A (ja) データ要求方法とその装置
TW201636846A (zh) 記憶體存取單元
JP2020191012A (ja) 画像処理装置、撮像装置、画像処理方法
JP2015194918A (ja) データ転送制御装置及びメモリ内蔵装置
JP2008102599A (ja) プロセッサ
CN112257859A (zh) 特征数据处理方法及装置、设备、存储介质
US20110055446A1 (en) Semiconductor integrated circuit device
JPH0496165A (ja) システムバス調停装置
JP5549179B2 (ja) データアクセス装置、データアクセス制御方式、及び、データアクセス制御プログラム
JPS61233869A (ja) 画像処理装置
JP2011113513A (ja) 情報処理装置
JP2006185253A (ja) 半導体装置
JPH03220659A (ja) マルチプロセッサシステム
JPH11143816A (ja) データ転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161118

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180704

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180807

R150 Certificate of patent or registration of utility model

Ref document number: 6385077

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150