JP2017037505A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2017037505A
JP2017037505A JP2015158722A JP2015158722A JP2017037505A JP 2017037505 A JP2017037505 A JP 2017037505A JP 2015158722 A JP2015158722 A JP 2015158722A JP 2015158722 A JP2015158722 A JP 2015158722A JP 2017037505 A JP2017037505 A JP 2017037505A
Authority
JP
Japan
Prior art keywords
memory
register setting
list
processing unit
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.)
Pending
Application number
JP2015158722A
Other languages
English (en)
Other versions
JP2017037505A5 (ja
Inventor
哲治 津田
Tetsuji Tsuda
哲治 津田
昌 長谷
Akira Hase
昌 長谷
由紀 井上
Yuki Inoue
由紀 井上
西川 直宏
Naohiro Nishikawa
直宏 西川
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 JP2015158722A priority Critical patent/JP2017037505A/ja
Priority to US15/173,634 priority patent/US10067806B2/en
Priority to CN201610532199.1A priority patent/CN106447599B/zh
Publication of JP2017037505A publication Critical patent/JP2017037505A/ja
Publication of JP2017037505A5 publication Critical patent/JP2017037505A5/ja
Priority to US16/100,260 priority patent/US10198301B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microcomputers (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】CPUによるH/W_IPの制御タイミングの制約を低減する半導体装置を提供することにある。
【解決手段】半導体装置は中央処理装置と処理装置とを1つの半導体基板に備える。処理装置はレジスタ設定リストを格納するバッファを備え、レジスタ設定リストの読み込みの終了を示すアクセス終了信号を中央処理装置に通知する。中央処理装置はアクセス終了信号に基づいてメモリ内のレジスタ設定リストを変更し、更新要求信号を処理装置に通知する。処理装置は、中央処理装置によって変更されたレジスタ設定リストを前記更新要求情報に基づいてバッファに読み込む。
【選択図】図9

Description

本開示は半導体装置に関し、例えばレジスタ設定リストに基づいて動作するハードウェアIP(intellectual Property)を備える半導体装置に適用可能である。
半導体分野ではCPU(Central Processing Unit)やメモリ、信号処理回路などLSI(Large-Scale Integration)を構成する機能ブロックを「IP」(設計資産)と呼ぶ。IPにはその機能ブロックのハードウェア(論理回路図、LSIレイアウト図など)およびソフトウェア(ドライバソフトウェア、ファームウェア、ミドルウェアなど)がある。また、SoC(System-on-a-Chip)は、ある装置やシステムの動作に必要な機能のすべてを、一つの半導体チップに実装する方式であり、CPUを核に各種のコントローラ回路やメモリなどのハードウェアIP(以下、H/W_IPという。)を備える。
本開示に関連する先行技術文献には、例えば米国特許出願公開第2010/0309511号明細書がある。
米国特許出願公開第2010/0309511号明細書
SoCに搭載されるH/W_IP数の増加、各H/W_IPからの割り込み頻度増加により、CPUの割り込み処理時間は増加傾向にある。また、CPUによるH/W_IPの制御タイミングの制約は、高レート化に伴い、厳しくなってきている。
その他の課題と新規な特徴は、本発明書の記述および添付図面か明らかになるであろう。
本開示のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、CPUとH/W_IPが、時分割でレジスタ設定リストを共有し、H/W_IPがレジスタ設定リストを参照していない間に、CPUがレジスタ設定リストを書き換え可能とする。
上記によれば、CPUによるH/W_IPの制御タイミングの制約を低減することができる。
SoCを説明するためのブロック図。 比較例1に係るSoCの構成を説明するためのブロック図。 図2のSoCの制御タイミングを説明するための図。 図2の係るSoCの制御タイミングの遅延による問題を説明するための図。 比較例2に係るSoCの構成を説明するためのブロック図。 図5のSoCのレジスタ設定リストのアクセス情報を説明するための図。 図5のSoCの制御タイミングを説明するための図。 図5のSoCのレジスタ設定リストを変更する制御タイミングを説明するための図。 実施例1に係るシステムの構成を説明するためのブロック図。 図9のSoCの制御タイミングを説明するための図。 実施例2に係るシステムの構成を説明するためのブロック図。 図11のSoCの制御タイミングを説明するための図。 図11のSoCのバッファ管理機能を説明するための図。 実施例3に係るシステムの構成を説明するためのブロック図。 図14のSoCの制御タイミングを説明するための図。 図14のSoCのバッファ管理機能を説明するための図。
以下、実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
まず、本開示に先立って本願発明者らが検討した技術(以下、比較例という。)について説明する。
図1はSoCを説明するためのブロック図である。SoCは、CPU(中央処理装置)の他に、H/W_IPを搭載しているため、CPUは、ソフト処理だけでなく、H/W_IPのためのH/W_IP制御も実施する必要がある。ソフト処理には、通常処理と優先処理とがある。通常処理としては、OS(Operating System)におけるプロセスやスレッド処理が該当する。これに対して、優先処理は割り込み処理である。例えば、映像や音声を処理するSoCでは、通常処理時間は、高画質化、高音質化に伴い、増加傾向にある。優先処理時間は、SoCに搭載されるH/W_IP数の増加、各H/W_IPからの割り込み頻度増加により、増加傾向にある。また、H/W_IPの制御タイミングの制約は、高レート化に伴い、厳しくなってきている。例えば、60fps(frame per second)の映像の場合、1フレームは16.6ms(=1sec/60frame)となる。
<比較例1>
図2は比較例1に係るSoCの構成を示すブロック図である。比較例1に係るSoC10RはCPU11RとH/W_IP12Rとメモリ(MEMORY)14Rとバス15Rとを備える。H/W_IP12RはCPUインタフェース(CPU_I/F)121Rと制御回路122Rと処理回路123Rとメモリインタフェース(MEMORY_I/F)124Rとを備える。破線矢印RR、WRに示すように、CPU11Rはメモリ14からバス15Rを介してレジスタ設定リストを読出し、H/W_IP12Rの制御回路122R内のバッファ1221Rにレジスタ設定リストを書き込む。これがH/W_IP制御122Rである。処理回路123Rはバッファ1221R内のレジスタ設定リストに従ってデータを処理し、メモリインタフェース124Rおよびバス15Rを介してメモリ14Rとデータを授受する。
図3は比較例1に係るSoCの制御タイミングを示す図である。1フレームの間に、CPU11Rはソフトウェアによる処理(ソフト処理)111Rを1フレームの始めからt1の間に行い、H/W_IP12Rを制御するための処理(H/W_IP制御)112Rをt1からt2の間に行い、H/W_IP12RはH/W_IP制御に基づく処理(H/W_IP処理)223Rをt2から1フレームの終わりの間に行う。
図4は比較例1に係るSoCの制御タイミングの遅延による問題を示す図である。ソフト処理111Rの処理時間が増加し、H/W_IP制御112Rの開始タイミング(t3)が遅延する(t3>t1)と、H/W_IP処理の開始タイミング(t4)が遅延し(t4>t2)、H/W_IP処理223Rが1フレームの終了までに終わらず、問題が発生する。例えば、映像や音声を処理するSoCにおいてH/W_IP制御112Rの開始タイミング(t3)が遅延すると、映像や音声が乱れる。
上記問題の解決方法として、ソフト処理の時間の削減をすることが考えられるが、ソフトウェア規模が拡大し、OSやSocのユーザである顧客開発部分等の半導体デバイスメーカの開発以外のソフトウェア規模が大きなっている。このため、それらの処理時間の増加制約をかけるのは困難であり、実現できる解決方法とはならない。したがって、ソフト処理の時間の削減以外で、問題の解決方法を検討した結果を以下に説明する。
<比較例2>
図5は比較例2に係るSoCの構成を示すブロック図である。図6は比較例2に係るSoCのレジスタ設定リストのアクセス情報を示す図である。比較例2に係るSoCのH/W_IPは、CPUによって制御されるのでなく、自分自身を制御するものである。
比較例2に係るSoC10SはCPU11SとH/W_IP12SとSRAM(Static Random Access Memory)等のメモリ(MEMORY)14Sとバス15Sとを備える。H/W_IP12SはCPUインタフェース(CPU_I/F)121Sと制御回路122Sと処理回路123Sとメモリインタフェース(MEMORY_I/F)124Sとを備える。破線矢印W1Sに示すように、CPU11Sはバス15Sを介してメモリ14Sにレジスタ設定リストを書き込む。破線矢印W2Sに示すように、CPU11Sはバス15Sを介してH/W_IP12Sのバッファ1221Sにメモリ14S内のレジスタ設定リストのアクセス情報を書き込む。図6に示すように、アクセス情報はH/W_IP制御対象バッファ(レジスタ設定リスト)の先頭アドレスおよびH/W_IP制御対象バッファ(レジスタ設定リスト)のサイズである。破線矢印RSに示すように、H/W_IP12Sはメモリインタフェース124Sおよびバス15Sを介してメモリ14Sからレジスタ設定リストをバッファ1221S内に読む。これがH/W_IP制御222Sである。制御回路122Sはバッファ1221S内のレジスタ設定リストに従ってH/W_IP12Sを制御する。処理回路123Sはバッファ1221S内のレジスタ設定リストに従ってデータを処理し、例えばメモリインタフェース124Sがバス15Sを介して読み込んだメモリ14S内のデータを演算処理する。メモリインタフェース124Sはバス15Sを介してメモリ14Sにその演算したデータを書き込む。レジスタ設定リストの内容は処理に依存するが、例えば画像処理における画像拡大を行う場合のレジスタ設定リストの内容は
入力画像のアドレス、サイズ
出力画像のアドレス、サイズ
拡大率
拡大時の補間方法
等である。
図7は比較例2に係るSoCの制御タイミングを示す図である。比較例2では、H/W_IP12Sが自分自身を制御するために、予めCPU11Sでメモリ14Sに作成されたレジスタ設定リスト141Sを参照する。これにより、CPU11SによるH/W_IP制御を必要とせず、H/W_IP制御222SがCPU11Sのソフト処理111Sのタイミング、処理時間増加に依存せず、決まったタイミングで開始することができる。しかし、予めレジスタ設定リストをCPU11Sで作成する必要あるため、H/W_IP12Sは決まった処理を繰り返すことが前提となる。
図8は比較例2に係るSoCのレジスタ設定リストを変更する制御タイミングを示す図である。H/W_IP12Sは、1フレーム期間中、レジスタ設定リストをメモリ14Sから読み込み、それに対応する処理を実行する。H/W_IP12Sのレジスタ設定リストのアクセスが終了する前に書き換えられないようにするため、その処理完了を知らせる処理完了信号(PC)を受けた後、CPU11Sはレジスタ設定リストを変更してメモリ14Sに書き込む。そのため、レジスタ設定リストの変更は1フレーム期間内に変更することができず、H/W_IP12Sの処理は連続して実行することができない。したがって、処理途中でH/W_IP12Sのレジスタ設定リスト変更する際には、H/W_IP12Sの処理を一旦停止しなければならない。これにより、例えば、映像や音声の再生内容(映像サイズ、音声周波数)の変更時において、映像乱れや音切れが発生する。
<実施形態>
CPUとH/W_IPが、時分割でレジスタ設定リストを共有できるようにする。H/W_IPがレジスタ設定リストを参照していない間に、CPUがレジスタ設定リストを書き換え可能とする。これにより、H/W_IPは、処理を継続したまま、CPUは、H/W_IP処理内容を変更可能となり、CPUによるH/W_IPの制御タイミングの制約を低減することができる。例えば、映像処理のH/W_IPや音声処理のH/W_IPの再生内容変更時において、映像乱れや音切れを発生させず、CPUは、H/W_IP処理内容を変更可能となる。
図9は実施例1に係るシステムの構成を示すブロック図である。システム1AはSoC10AとSDRAM(Synchronous Dynamic Random Access Memory)等のメモリ(MEMORY)20Aとを備える。SoC10Aは1つの半導体基板上に形成される半導体装置である。メモリ20Aは1つの半導体基板上に形成される半導体装置である。メモリ20Aは複数の半導体チップで構成してもよい。システム1AはSoC10Aとメモリ20Aとを1つのパッケージに封止して構成されるSiP(System in Package)であってもよいし、別々のパッケージに封止して1つの基板上に実装したものであってもよい。システム1Aも半導体装置という。メモリ20Aは比較例2と同様にSoC10A内に内蔵されるSRAM等のメモリであっていてもよい。
SoC10AはCPU11AとH/W_IP12Aとメモリコントローラ(MEMC)16Aとバス15Aとを備える。H/W_IP12Aは所定期間(例えば、1フレーム期間で、16.6ms)内に所定の処理(例えば、映像処理や音声処理)を行い、所定の処理は周期的に連続して実行される。H/W_IP12AはCPUインタフェース(CPU_I/F)121Aと制御回路122Aと処理回路123Aとメモリインタフェース(MEMORY_I/F)124Aとを備える。破線矢印W1Aに示すように、CPU11Aはバス15Aおよびメモリコントローラ16Aを介してメモリ20Aにレジスタ設定リストを書き込む。破線矢印W2Aに示すように、CPU11Aはバス15Aおよびメモリコントローラ16Aを介してH/W_IP12Aの制御回路122Aに比較例2(図6)と同様なメモリ14A内のレジスタ設定リストのアクセス情報を書き込む。H/W_IP12Aはメモリインタフェース124A、バス15Aおよびメモリコントローラ16Aを介してメモリ20Aからレジスタ設定リストを制御回路122A内のバッファ1221Aに読む。これがH/W_IP制御112Aである。なお、バッファ1221Aは制御回路122A内になくてもよく、例えばCPUインタフェース121Aと制御回路122Aの間にあってもよい。制御回路122Aはバッファ1221A内のレジスタ設定リストに従ってH/W_IP12Aを制御する。処理回路123Aはバッファ1221A内のレジスタ設定リストに従って、メモリインタフェース124Aがバス15Aおよびメモリコントローラ16Aを介して読み込んだメモリ14A内のデータ(例えば、映像データ、音声データ)を演算処理する。メモリインタフェース124Aはバス15Aおよびメモリコントローラ16Aを介してメモリ14Aにその演算したデータを書き込む。制御回路122Aはメモリ20A内のレジスタ設定リストへのアクセス開始(Read開始)およびアクセス終了(Read終了)を知らせる情報を生成し、CPUインタフェース121Aはそれらの情報の全部または一部に基づいた信号、例えばアクセス終了信号(AC)を生成し、CPU11Aに伝えることが可能とされる。アクセス終了信号等の専用信号ではなく、割り込み要求信号であってもよい。レジスタ設定リストの内容は処理に依存するが、画像処理における画像拡大の場合のレジスタ設定リストは、比較例2と同様である。
図10は実施例1に係るSoCのレジスタ設定リストを変更する制御タイミングを示す図である。H/W_IP12Aは、1フレームの前半に、リストRead開始情報をCPU11Aに知らせて、レジスタ設定リストをメモリ20Aから読み込み(リストRead中)、読み込み終了の際にリストRead終了情報をCPU11Aに知らせ、1フレームの後半にそれに対応する処理を実行する(リスト処理中)。CPU11Aは、アクセス終了信号(AC)を受けた後、メモリ20A内のレジスタ設定リストを変更し、図9の破線矢印W3Aに示すように、H/W_IP12Aに更新要求を知らせる。破線100Aの部分は比較例2に対し追加したCPU機能(S/W_IP機能)であり、破線200Aの部分は比較例2に対し追加したH/W_IP機能である。
実施例1によれば、H/W_IP12Aの処理を継続したまま、CPU11AによるH/W_IP12Aの処理リスト変更を可能にする。これにより、例えば、映像や音声の再生内容の変更時において、映像乱れや音切れの発生を低減することができる。しかし、CPU11Aは、H/W_IP12Aのリスト未使用期間(リストRead終了)まで待つ必要がある。この結果、アプリケーションのCPU使用期間が減る。また、リスト更新毎にCPU11Aはリスト更新要求をH/W_IP12Aへ発行する必要がある。このため、リストが更新されていても、高負荷時にCPU11Aの更新要求発行が遅れると、H/W_IP12Aのリスト更新タイミングは遅れる。この結果、例えば、高負荷時に映像乱れや音切れが発生することがある。
図11は実施例2に係るシステムの構成を示すブロック図である。システム1BはSoC10BとSDRAM等のメモリ(MEMORY)20Bとを備える。SoC10Bは1つの半導体基板上に形成される半導体装置である。メモリ20Bは1つの半導体基板上に形成される半導体装置である。メモリ20Bは複数の半導体チップで構成してもよい。システム1BはSoC10Bとメモリ20Bとを1つのパッケージに封止して構成されるSiPであってもよいし、別々のパッケージに封止して1つの基板上に実装したものであってもよい。システム1Bは半導体装置ともいう。メモリ20Bは比較例2と同様にSoC10B内に内蔵されるSRAM等のメモリであってもよい。
SoC10BはCPU11BとH/W_IP12Bとメモリコントローラ(MEMC)16Bとバス15Bとを備える。H/W_IP12BはH/W_IP12Aと同様に所定期間(例えば、16.6ms)内に所定の処理(例えば、映像処理や音声処理)を行い、所定の処理は周期的に連続して実行される。H/W_IP12BはCPUインタフェース(CPU_I/F)121Bと制御回路122Bと処理回路123Bとメモリインタフェース(MEMORY_I/F)124Bとを備える。破線矢印W1Bに示すように、CPU11Bはバス15Bおよびメモリコントローラ16Bを介してメモリ20Bにレジスタ設定リストを書き込む。破線矢印W2Bに示すように、CPU11Bはバス15Bおよびメモリコントローラ16Bを介してH/W_IP12Bの制御回路12Bに比較例2(図6)と同様なメモリ14B内のレジスタ設定リストのアクセス情報を書き込む。破線矢印RBに示すように、H/W_IP12Bはメモリインタフェース124B、バス15Bおよびメモリコントローラ16Bを介してメモリ20Bからレジスタ設定リストを制御回路122B内のバッファ1221B、1222Bに読む。これがH/W_IP制御112Bである。なお、バッファ1221B、1222Bは制御回路122B内になくてもよく、例えばCPUインタフェース121Bと制御回路122Bの間にあってもよい。制御回路122Bはバッファ1221B、1222B内のレジスタ設定リストに従ってH/W_IP12Bを制御する。処理回路123Bはバッファ1221B、1222B内のレジスタ設定リストに従って、メモリインタフェース124Bがバス15Bおよびメモリコントローラ16Bを介して読み込んだメモリ14B内のデータ(例えば、映像データ、音声データ)を演算処理する。メモリインタフェース124Bはバス15Bおよびメモリコントローラ16Bを介してメモリ14Bにその演算したデータを書き込む。制御回路122Bはメモリ20B内のレジスタ設定リストへのアクセス開始(Read開始)およびアクセス終了(Read終了)を知らせる情報を生成し、CPUインタフェース121Bはそれらの情報の全部または一部に基づいた信号、例えばアクセス終了信号(AC)を生成してCPU11Bに伝えることが可能とされる。アクセス終了信号等の専用信号ではなく、割り込み要求信号であってもよい。レジスタ設定リストの内容は処理に依存するが、画像処理における画像拡大の場合のレジスタ設定リストは、比較例2と同様である。H/W_IP12Bは複数種類のレジスタ設定リストを使用可能とするため、例えば、リストAを格納するバッファ1221BおよびリストBを格納するバッファ1222Bを備える。
図12は実施例2に係るSoCのレジスタ設定リストを変更する制御タイミングを示す図である。H/W_IP12Bは、1フレームの前半にレジスタ設定リストをメモリ20Bから読み込み(リストARead中)、1フレームの後半にそれに対応する処理を実行する(リストA処理中)。CPU11Bは、アクセス終了信号(AC)を受けた後、レジスタ設定リストを変更する。破線100Bの部分は比較例2に対し追加したCPU機能(S/W_IP機能)である。破線200Bの部分は比較例2に対し追加したH/W_IP機能であり実施例1の破線200Aと同様である。破線300Bの部分は実施例1に対し追加したバッファ管理機能である。破線100Bの部分は実施例1で追加したリスト変更に加えて、バッファ管理機能(空きリスト割り当て機能)への変更要求発行が追加される。
図13は実施例2に係るSoCのバッファ管理機能を説明するための図である。空きリスト割り当て機能(バッファ管理機能)とは、H/W_IP12B内のRead開始またはRead終了を知らせる情報、CPU11Bからの変更要求に基づき、リストを管理する機能である。例えば、リストAのRead終了が通知されると、リストBのRead終了が通知されるまで、リストBを使用中と判断する。H/W_IP12Bは、リストAのRead終了の通知からリストBのRead終了の通知までの間に、図11の破線矢印W3Bに示すように、CPU11Bから変更要求があった場合、CPU11Bがメモリ20B内のレジスタ設定リストを変更した内容をバッファ1221B内のリストAに書込み、リストBのRead終了の通知後、制御部122Bの制御に用いるレジスタ設定リストをリストAからリストBに切り替える。また、リストBのRead終了が通知されると、リストAのRead終了が通知されるまで、リストAを使用中と判断する。H/W_IP12Bは、リストBのRead終了の通知からリストAのRead終了の通知までの間に、CPU11Bから変更要求があった場合、CPU11Bがメモリ20B内のレジスタ設定リストを変更した内容をバッファ1221B内のリストBに書込み、リストAのRead終了の通知後、制御部122Bの制御に用いるレジスタ設定リストをリストBからリストAに切り替える。
複数のバッファを設けて、リスト数を1面から複数面(リストA、B)に拡張することにより、H/W_IP12Bがあるリストを参照中に、CPU11Bが別のリストを変更することが可能となる。これにより、H/W_IP12Bの処理を継続したまま、H/W_IP12Bの処理内容を変更可能となる。これにより、例えば、映像や音声の再生内容の変更時において、映像乱れや音切れの発生を抑制することができる。さらに、空きリスト割り当て機能により、CPU11Bは、H/W_IP12Bのリスト未使用期間を待つ必要がなくなる。この結果、実施例1のCPU11Aによるアプリケーション使用期間減少を改善できる。しかし、リスト変更毎に、リス変更要求をH/W_IP12Bへ発行しなければならない点は改善しない。
図14は実施例3に係るシステムの構成を示すブロック図である。システム1CはSoC10CとSDRAM等のメモリ(MEMORY)20Cとを備える。SoC10Cは1つの半導体基板上に形成される半導体装置である。メモリ20Cは1つの半導体基板上に形成される半導体装置である。メモリ20Cは複数の半導体チップで構成してもよい。システム1CはSoC10Cとメモリ20Cとを1つのパッケージに封止して構成されるSiPであってもよいし、別々のパッケージに封止して1つの基板上に実装したものであってもよい。システム1Cは半導体装置ともいう。メモリ20Cは比較例2と同様にSoC10C内に内蔵されるSRAM等のメモリであってもよい。
SoC10CはCPU11CとH/W_IP12Cとメモリコントローラ(MEMC)16Cとバス15Cとを備える。H/W_IP12CはH/W_IP12Aと同様に所定期間(例えば、16.6ms)内に所定の処理(例えば、映像処理や音声処理)を行い、所定の処理は周期的に連続して実行される。H/W_IP12CはCPUインタフェース(CPU_I/F)121Cと制御回路122Cと処理回路123Cとメモリインタフェース(MEMORY_I/F)124Cとを備える。破線矢印W1Cに示すように、CPU11Cはバス15Cおよびメモリコントローラ16Cを介してメモリ20Cにレジスタ設定リストを書き込む。破線矢印W2Cに示すように、CPU11Cはバス15Cを介してH/W_IP12Cの制御回路122Cに比較例2(図6)と同様なメモリ20C内のレジスタ設定リストのアクセス情報を書き込んで初期設定する。破線矢印RCに示すように、H/W_IP12Cはメモリインタフェース124C、バス15Cおよびメモリコントローラ16Cを介してメモリ20Cからレジスタ設定リストを制御回路122C内のバッファ1221C、1222Cに読む。これがH/W_IP制御112Cである。なお、バッファ1221C、1222Cは制御回路122C内になくてもよく、例えばCPUインタフェース121Cと制御回路122Cの間にあってもよい。制御回路122Cはバッファ1221C、1222C内のレジスタ設定リストに従ってH/W_IP12Cを制御する。処理回路123Cはバッファ1221C、1222C内のレジスタ設定リストに従って、メモリインタフェース124Cがバス15Cおよびメモリコントローラ16Cを介して読み込んだメモリ14C内のデータ(例えば、映像データ、音声データ)を演算処理する。メモリインタフェース124Cはバス15Cおよびメモリコントローラ16Cを介してメモリ14Cにその演算したデータを書き込む。制御回路122Cはメモリ20C内のレジスタ設定リストへのアクセス開始(Read開始)およびアクセス終了(Read終了)を知らせる情報を生成するが、実施例1、2と異なりCPUインタフェース121Cはアクセス終了信号を生成せずCPU11Cに伝えることはない。H/W_IP12Cは複数種類のレジスタ設定リストを使用可能とするため、例えば、リストAを格納するバッファ1221CおよびリストBを格納するバッファ1222Cを備える。レジスタ設定リストの内容は処理に依存するが、画像処理における画像拡大の場合のレジスタ設定リストは、比較例2と同様であるが、さらに、次のリストを実行するため、
リスト処理完了後の継続有無
継続方法(同じリストリピート、または別リスト使用)
別リストの場合、別リストの格納場所のアドレス
等を追加している。
図15は実施例3に係るSoCのレジスタ設定リストを変更する制御タイミングを示す図である。H/W_IP12Cは、1フレームの前半にレジスタ設定リストをメモリ20Cから読み込み(リストARead中)、1フレームの後半にそれに対応する処理を実行する(リストA処理中)。破線100Cの部分は比較例2に対し追加したCPU機能(S/W_IP機能)である。破線200Cの部分は比較例2に対し追加したH/W_IP機能であり実施例1の破線200Aと同様である。破線300Cの部分は実施例1に対し追加したバッファ管理機能である。破線100Cの部分は実施例1で追加したリスト変更に加えて、バッファ管理機能(空きリスト割り当て機能)への変更要求発行が追加されている。CPU11Cは、H/W_IP12Cとは非同期に、レジスタ設定リストを変更する。
図16は実施例3に係るSoCのバッファ管理機能を説明するための図である。実施例3に係る空きリスト割り当て機能(バッファ管理機能)とは、H/W_IP12C内のRead開始またはRead終了を知らせる情報、レジスタ設定リストのアクセス情報に基づき、リストを管理する機能である。例えば、リストAのRead終了が通知されると、リストBのRead終了が通知されるまで、リストBを使用中と判断する。H/W_IP12Cは、リストAのRead終了の通知からリストBのRead終了の通知までの間に、レジスタ設定リストからアクセス要求があった場合、CPU11Cがメモリ20C内のレジスタ設定リストを変更した内容をバッファ1221C内のリストAに書込み、リストBのRead終了の通知後、制御部122Cの制御に用いるレジスタ設定リストをリストAからリストBに切り替える。また、リストBのRead終了が通知されると、リストAのRead終了が通知されるまで、リストAを使用中と判断する。H/W_IP12Cは、リストBのRead終了の通知からリストAのRead終了の通知までの間に、レジスタ設定リストからアクセス要求があった場合、CPU11Cがメモリ20C内のレジスタ設定リストを変更した内容をバッファ1222C内のリストBに書込み、リストAのRead終了の通知後、制御部122Cの制御に用いるレジスタ設定リストをリストBからリストAに切り替える。
実施例2では、CPU11Bが、H/W_IP12Bに対してリスト更新要求を発行する必要があり、H/W_IP12Bのバッファ管理機能が処理中は、CPU12BはH/W_IP12Bの処理を待つ必要がある。しかし、実施例3は、H/W_IP12CがCPU11Cからの要求でなく、リスト記載内容でリストを更新することにより、リスト更新タイミングは、CPU11CとH/W_IP12Cで完全に非同期となる。これにより、CPU11Cは待つ必要なく、H/W_IP12Cも遅れなくリストを更新できる。また、H/W_IP12Cに追加した空きリスト割り当て機能により、CPU11Cは、H/W_IP12Cのリスト未使用期間を待つ必要がなくなる。これにより、実施例2同様に、アプリケーションの使用時間削減は改善する。さらに、CPU11Cは、リスト更新毎に、リスト更新要求をH/W_IP12Cに発行する必要がなくなる。これにより、リスト要求がH/W_IPで受け付けされるまで、CPUは、要求処理完了を待たなければならない点も改善することができる。
以上、本発明者らによってなされた発明を実施例に基づき具体的に説明したが、本発明は、実施例に限定されるものではなく、種々変更可能であることはいうまでもない。
1A・・・システム
10A・・・SoC
11A・・・CPU
12A・・・H/W_IP
121A・・・CPUインタフェース
122A・・・制御部
1221A・・・バッファ
123A・・・処理部
124A・・・メモリインタフェース
15A・・・バス
16A・・・メモリコントローラ
20A・・・メモリ

Claims (18)

  1. 半導体装置は中央処理装置と処理装置とを1つの半導体基板に備え、
    前記処理装置はレジスタ設定リストを格納するバッファを備え、前記レジスタ設定リストの読み込みの終了を示すアクセス終了信号を前記中央処理装置に通知し、
    前記中央処理装置は前記アクセス終了信号に基づいてメモリ内のレジスタ設定リストを変更し、更新要求信号を前記処理装置に通知し、
    前記処理装置は、前記中央処理装置によって変更されたレジスタ設定リストを前記更新要求情報に基づいて前記バッファに読み込む。
  2. 請求項1の半導体装置において、
    前記処理装置は所定時間内の処理を周期的に連続して行う。
  3. 請求項1の半導体装置において
    前記メモリからレジスタ設定リストを読み込むメモリインタフェースと、
    前記レジスタ設定リストに基づいてデータの処理を行う処理部と、
    前記開始信号および前記終了信号を生成する制御部と、
    を備える。
  4. 請求項1の半導体装置において、
    前記処理装置は映像データを前記メモリから読み出して処理し、処理した映像データをメモリに書き込む。
  5. 請求項1の半導体装置において、
    前記処理装置は音声データを前記メモリから読み出して処理し、処理した音声データをメモリに書き込む。
  6. 請求項1の半導体装置において、
    前記メモリは前記半導体基板とは異なる半導体基板に形成される。
  7. 半導体装置は中央処理装置と処理装置とを1つの半導体基板に備え、
    前記処理装置は複数のレジスタ設定リストのそれぞれを格納する複数のバッファを備え、前記複数のレジスタ設定リストのそれぞれの読み込みの開始信号および終了信号を生成し、前記開始信号または終了信号に基づいたアクセス終了信号を前記中央処理装置に通知し、
    前記中央処理装置は前記アクセス終了信号に基づいて前記メモリ内のレジスタ設定リストを変更し、変更要求信号を前記処理装置に通知し、
    前記処理装置は、前記中央処理装置によって変更されたレジスタ設定リストを前記変更要求情報に基づいて読み込み、該レジスタ設定リストを前記終了信号に基づいて前記複数のバッファのいずれに格納するかを決定する。
  8. 請求項7の半導体装置において、
    前記処理装置は所定時間内の処理を周期的に連続して行う。
  9. 請求項7の半導体装置において
    前記メモリからレジスタ設定リストを読み込むメモリインタフェースと、
    前記レジスタ設定リストに基づいてデータの処理を行う処理部と、
    前記開始信号および前記終了信号を生成する制御部と、
    を備える。
  10. 請求項7の半導体装置において、
    前記処理装置は映像データを前記メモリから読み出して処理し、処理した映像データをメモリに書き込む。
  11. 請求項7の半導体装置において、
    前記処理装置は音声データを前記メモリから読み出して処理し、処理した音声データをメモリに書き込む。
  12. 請求項7の半導体装置において、
    前記メモリは前記半導体基板とは異なる半導体基板に形成される。
  13. 半導体装置は中央処理装置と処理装置とを1つの半導体基板に備え、
    前記処理装置は複数のレジスタ設定リストのそれぞれを格納する複数のバッファを備え、前記複数のレジスタ設定リストのそれぞれの読み込みの開始信号および終了信号を生成し、
    前記複数のレジスタ設定リストのそれぞれは次に実行するリストが格納されるメモリのアドレス情報を含み、
    前記中央処理装置は前記メモリ内のレジスタ設定リストを変更し、
    前記処理装置は、前記中央処理装置によって変更されたレジスタ設定リストを前記アドレス情報に基づいて読み込み、当該レジスタ設定リストを前記終了信号に基づいて前記複数のバッファのいずれに格納するかを決定する。
  14. 請求項13の半導体装置において、
    前記処理装置は所定時間内の処理を周期的に連続して行う。
  15. 請求項13の半導体装置において
    前記メモリからレジスタ設定リストを読み込むメモリインタフェースと、
    前記レジスタ設定リストに基づいてデータの処理を行う処理部と、
    前記開始信号および前記終了信号を生成する制御部と、
    を備える。
  16. 請求項13の半導体装置において、
    前記処理装置は映像データを前記メモリから読み出して処理し、処理した映像データをメモリに書き込む。
  17. 請求項13の半導体装置において、
    前記処理装置は音声データを前記メモリから読み出して処理し、処理した音声データをメモリに書き込む。
  18. 請求項13の半導体装置において、
    前記メモリは前記半導体基板とは異なる半導体基板に形成される。
JP2015158722A 2015-08-11 2015-08-11 半導体装置 Pending JP2017037505A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015158722A JP2017037505A (ja) 2015-08-11 2015-08-11 半導体装置
US15/173,634 US10067806B2 (en) 2015-08-11 2016-06-04 Semiconductor device
CN201610532199.1A CN106447599B (zh) 2015-08-11 2016-07-07 半导体装置
US16/100,260 US10198301B2 (en) 2015-08-11 2018-08-10 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015158722A JP2017037505A (ja) 2015-08-11 2015-08-11 半導体装置

Publications (2)

Publication Number Publication Date
JP2017037505A true JP2017037505A (ja) 2017-02-16
JP2017037505A5 JP2017037505A5 (ja) 2018-07-05

Family

ID=57995421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015158722A Pending JP2017037505A (ja) 2015-08-11 2015-08-11 半導体装置

Country Status (3)

Country Link
US (2) US10067806B2 (ja)
JP (1) JP2017037505A (ja)
CN (1) CN106447599B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235803B1 (ko) * 2017-03-31 2021-04-06 삼성전자주식회사 반도체 장치
WO2020047337A1 (en) * 2018-08-29 2020-03-05 Qualcomm Incorporated Method, apparatus, and system for an architecture for machine learning acceleration

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297585A (ja) * 1995-04-25 1996-11-12 Hitachi Ltd オペレーティングシステムによるデータ転送方法
JP2002245448A (ja) * 1997-04-07 2002-08-30 Matsushita Electric Ind Co Ltd 演算装置
JP2010282429A (ja) * 2009-06-04 2010-12-16 Canon Inc 画像処理装置及びその制御方法
JP2014068845A (ja) * 2012-09-28 2014-04-21 Sankyo Co Ltd 遊技機

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555395A (en) * 1993-05-28 1996-09-10 Dell U.S.A. L.P. System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
JPH10134008A (ja) * 1996-11-05 1998-05-22 Mitsubishi Electric Corp 半導体装置およびコンピュータシステム
US6807624B1 (en) * 1998-12-17 2004-10-19 Fujitsu Limited Instruction control device and method therefor
GB0214670D0 (en) * 2002-06-26 2002-08-07 Ibm Arrangement and method for update of configuration cache data
JP2006190389A (ja) * 2005-01-06 2006-07-20 Sanyo Electric Co Ltd データ処理用集積回路
US7613886B2 (en) * 2005-02-08 2009-11-03 Sony Computer Entertainment Inc. Methods and apparatus for synchronizing data access to a local memory in a multi-processor system
JP4828947B2 (ja) * 2006-01-26 2011-11-30 日立オートモティブシステムズ株式会社 車両制御装置の入出力装置
US8060723B2 (en) * 2007-01-10 2011-11-15 Kernelon Silicon Inc. Memory management device
JP5105922B2 (ja) * 2007-03-22 2012-12-26 日本電気株式会社 情報更新システム、情報記憶サーバ、情報更新方法、及び、プログラム
US9183145B2 (en) * 2009-04-27 2015-11-10 Intel Corporation Data caching in a network communications processor architecture
JP2010267716A (ja) 2009-05-13 2010-11-25 Elpida Memory Inc 低誘電率絶縁膜の作製方法、半導体装置およびその製造方法
JP5047231B2 (ja) * 2009-06-25 2012-10-10 株式会社日立製作所 無線通信装置および無線通信方法
JP2011150653A (ja) * 2010-01-25 2011-08-04 Renesas Electronics Corp マルチプロセッサシステム
US8286027B2 (en) * 2010-05-25 2012-10-09 Oracle International Corporation Input/output device including a mechanism for accelerated error handling in multiple processor and multi-function systems
JP5578713B2 (ja) * 2010-06-28 2014-08-27 ルネサスエレクトロニクス株式会社 情報処理装置
JP5679763B2 (ja) * 2010-10-27 2015-03-04 ルネサスエレクトロニクス株式会社 半導体集積回路及び全周囲映像システム
JP5623259B2 (ja) * 2010-12-08 2014-11-12 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
WO2013035235A1 (ja) * 2011-09-08 2013-03-14 パナソニック株式会社 計算機システム、計算機システム制御方法、計算機システム制御プログラム、及び集積回路
JP2014010759A (ja) * 2012-07-02 2014-01-20 Toshiba Corp ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
US9330017B2 (en) * 2012-11-02 2016-05-03 International Business Machines Corporation Suppressing virtual address translation utilizing bits and instruction tagging
CN103885908B (zh) * 2014-03-04 2017-01-25 中国科学院计算技术研究所 一种基于外部设备可访问寄存器的数据传输系统及其方法
CN204465758U (zh) * 2015-04-14 2015-07-08 王延玉 一种视频解码器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297585A (ja) * 1995-04-25 1996-11-12 Hitachi Ltd オペレーティングシステムによるデータ転送方法
JP2002245448A (ja) * 1997-04-07 2002-08-30 Matsushita Electric Ind Co Ltd 演算装置
JP2010282429A (ja) * 2009-06-04 2010-12-16 Canon Inc 画像処理装置及びその制御方法
JP2014068845A (ja) * 2012-09-28 2014-04-21 Sankyo Co Ltd 遊技機

Also Published As

Publication number Publication date
US20170046069A1 (en) 2017-02-16
US10067806B2 (en) 2018-09-04
US20180349208A1 (en) 2018-12-06
CN106447599B (zh) 2021-10-08
US10198301B2 (en) 2019-02-05
CN106447599A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
US8730248B2 (en) Multi-graphics processor system, graphics processor and data transfer method
US8661440B2 (en) Method and apparatus for performing related tasks on multi-core processor
US20100199283A1 (en) Data processing unit
JP6146128B2 (ja) データ処理装置
JP2007133527A (ja) クロック信号生成回路、半導体集積回路及び分周率制御方法
JPH1064257A (ja) 半導体記憶装置
JP5518103B2 (ja) 伝送制御装置及び前記伝送制御装置を備えたplc
JP2017037505A (ja) 半導体装置
US10769753B2 (en) Graphics processor that performs warping, rendering system having the graphics processor, and method of operating the graphics processor
JP2009175904A (ja) マルチプロセッサ処理システム
JP2010061620A (ja) Dma装置及びdma転送方法
CN113892134A (zh) 具有优化的性能的多媒体系统
JP5694100B2 (ja) 情報処理装置、プログラムおよび情報処理方法
US11322119B2 (en) Semiconductor device
JP2003271445A (ja) メモリ制御装置及び方法
JP2000245966A (ja) 画像処理方法及び画像処理装置
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JP4236359B2 (ja) 画面表示装置を備えたマイクロコンピュータ
JP4696003B2 (ja) データ転送回路
JP2002268876A (ja) パイプライン処理方法、及び情報処理装置
KR20230083769A (ko) 데이터 파싱 인터페이스 장치
JP4509946B2 (ja) 割り込み優先順位設定回路
JP2021068157A (ja) 画像処理装置、画像処理方法及びプログラム
JP2635863B2 (ja) 中央処理装置
JP2005063181A (ja) シンクロナスdram制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200421