JP2011197774A - プロセッサシステム - Google Patents
プロセッサシステム Download PDFInfo
- Publication number
- JP2011197774A JP2011197774A JP2010061110A JP2010061110A JP2011197774A JP 2011197774 A JP2011197774 A JP 2011197774A JP 2010061110 A JP2010061110 A JP 2010061110A JP 2010061110 A JP2010061110 A JP 2010061110A JP 2011197774 A JP2011197774 A JP 2011197774A
- Authority
- JP
- Japan
- Prior art keywords
- coprocessor
- data
- register
- memory
- control
- 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
Links
Images
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
【解決手段】ベースプロセッサは、レジスタと、データメモリ及びレジスタに対するアクセスを行うベースプロセッサ制御部と、を備える。コプロセッサは、制御インタフェースを介してベースプロセッサ制御部に接続されたコプロセッサ制御部と、データインタフェースを介してデータメモリ及びレジスタに接続されたコプロセッサ処理ユニットと、を備える。コプロセッサ制御部は、制御インタフェースを介して、ベースプロセッサ制御部にデータメモリに対するアクセスを行わせる。また、コプロセッサ制御部は、制御インタフェースを介して、ベースプロセッサ制御部にレジスタに対するアクセスを行わせる。コプロセッサ処理ユニットは、データインタフェースを介して、レジスタやデータメモリに対するデータ読み書きを行う。
【選択図】図1
Description
図1は、本実施の形態に係るプロセッサシステム1の構成例を示すブロック図である。プロセッサシステム1は、命令メモリ10、データメモリ20、ベースプロセッサ100、コプロセッサ200、命令インタフェース310、メモリアクセスインタフェース320、制御インタフェース330、及びデータインタフェース350を備えている。
2−1.処理フロー
図5は、本実施の形態に係るプロセッサシステム1による処理を示すフローチャートである。
ベースプロセッサ100の命令フェッチ部110が、命令メモリ10から命令をフェッチする。更に、ベースプロセッサ100は、フェッチした命令を、命令インタフェース310を介してコプロセッサ200に供給する。コプロセッサ200に対する命令の供給方式は、図2で示されたもの及び図3で示されたもののいずれでもよい。
フェッチした命令がベース命令である場合、ベースプロセッサ100は、ベース命令に応じた処理を行う。
命令は、ベースプロセッサ100の命令フェッチ部110によって一旦フェッチされた後、命令インタフェース310を介してコプロセッサ200に供給される。特に、コプロセッサデコーダ220は、命令インタフェース310を介して、デコード前の命令の少なくとも一部を受け取る(図2、図3参照)。
コプロセッサデコーダ220は、受け取った命令の少なくとも一部をデコードする(図2、図3参照)。コプロ命令の場合、処理は、次のステップS230に進む。
コプロセッサ制御部230は、制御インタフェース330を介して、「リードアクセス制御」を行う。リードアクセス制御は、データメモリ20からデータを読み出すための上記「メモリアクセス制御」、あるいは/及び、ベースプロセッサレジスタ140からデータを読み出すための上記「レジスタアクセス制御」を含む。
上記ステップS230の「リードアクセス制御」に従って、ベースプロセッサ100のベースプロセッサ制御部130は、データメモリ20あるいは/及びベースプロセッサレジスタ140に対するリードアクセスを行う。
上記ステップS130のリードアクセスの結果、データメモリ20あるいは/及びベースプロセッサレジスタ140からデータが読み出される。読み出しデータは、データインタフェース350に出力される。
コプロセッサ処理ユニット250は、データインタフェース350を介して当該読み出しデータを受け取る。
続いて、コプロセッサ処理ユニット250は、当該読み出しデータを用いて演算処理を行う。そして、コプロセッサ処理ユニット250は、演算処理の結果を示す演算結果データを作成する。
次に、コプロセッサ制御部230は、制御インタフェース330を介して、「ライトアクセス制御」を行う。ライトアクセス制御は、データメモリ20にデータを書き込むための上記「メモリアクセス制御」、あるいは/及び、ベースプロセッサレジスタ140にデータを書き込むための上記「レジスタアクセス制御」を含む。
また、コプロセッサ処理ユニット250は、上記ステップS250で得られた演算結果データを、データインタフェース350を介してデータメモリ20あるいは/及びベースプロセッサレジスタ140に出力する。
上記ステップS260の「ライトアクセス制御」に従って、ベースプロセッサ100のベースプロセッサ制御部130は、データメモリ20あるいは/及びベースプロセッサレジスタ140に対するライトアクセスを行う。
コプロセッサ処理ユニット250から出力された演算結果データが、データインタフェース350を介して、データメモリ20あるいは/及びベースプロセッサレジスタ140に書き込まれる。尚、データメモリ20とベースプロセッサレジスタ140のそれぞれに書き込まれる演算結果データは、互いに異なっていてもよい。
次に、本実施の形態による処理の具体例を説明する。一例として、ベースプロセッサ100のプログラムカウンタをコプロセッサ200から制御することを考える。本例では、制御対象のベースプロセッサレジスタ140がプログラムカウンタである。
他の例として、ベースプロセッサ100のスタックポインタをコプロセッサ200から制御することを考える。本例では、制御対象のベースプロセッサレジスタ140がスタックポインタである。
本実施の形態によれば、ベースプロセッサ100が行うレジスタアクセスやメモリアクセスをコプロセッサ200側から制御することが可能となる。例えば、ベースプロセッサ100におけるプログラムシーケンスを、コプロセッサ200から制御することが可能となる。これにより、プロセッサシステムの性能を著しく向上させることが可能となる。尚、図1で示された構成の場合、ベースプロセッサレジスタ140に対する処理とデータメモリ20に対する処理を並列化することが可能であり、好適である。
10 命令メモリ
20 データメモリ
100 ベースプロセッサ
110 命令フェッチ部
120 ベース命令デコーダ
130 ベースプロセッサ制御部
131 メモリ制御部
132 レジスタ制御部
133 処理制御部
140 ベースプロセッサレジスタ
150 ベース命令処理ユニット
200 コプロセッサ
220 コプロセッサデコーダ
230 コプロセッサ制御部
231 メモリ制御部
232 レジスタ制御部
233 処理制御部
240 コプロセッサレジスタ
250 コプロセッサ処理ユニット
310 命令インタフェース
320 メモリアクセスインタフェース
330 制御インタフェース
331 メモリ制御インタフェース
332 レジスタ制御インタフェース
333 処理制御インタフェース
350 データインタフェース
351 レジスタデータインタフェース
352 メモリデータインタフェース
Claims (10)
- コプロセッサが実行するコプロセッサ命令がベースプロセッサのプログラムに組み込まれたプロセッサシステムであって、
命令メモリから命令を順次フェッチする命令フェッチ部を有する前記ベースプロセッサと、
前記命令フェッチ部に結合され前記コプロセッサ命令がフェッチされた場合に前記コプロセッサ命令のデコード及び実行を行なう前記コプロセッサと、
前記ベースプロセッサと前記コプロセッサとで共有するデータインタフェースに結合されたメモリと、
前記ベースプロセッサと前記コプロセッサとの間を結合し前記コプロセッサが前記ベースプロセッサに対してデータのアクセスを要求する第1の制御インタフェースと、
前記第1の制御インタフェースとは別に設けられ前記ベースプロセッサが前記メモリのアクセスを制御する第2の制御インタフェースと、
を有し、
前記コプロセッサは、前記第1の制御インタフェースを介して前記ベースプロセッサに対して前記データのアクセスを要求することによって、前記メモリまたは前記ベースプロセッサの内部レジスタに対して前記データの読み出しまたは書込みが可能である
ことを特徴とするプロセッサシステム。 - 前記コプロセッサは、前記ベースプロセッサに対して前記データのアクセスを要求する際、前記ベースプロセッサの前記プログラムによる前記データのアクセスを待たせるウェイト信号を前記ベースプロセッサに送信し、
前記ベースプロセッサは、前記ウェイト信号に応答して、前記プログラムによる前記データのアクセスを禁止し、
前記コプロセッサは、前記ベースプロセッサに対する前記データのアクセスが完了すると、前記アクセスの禁止を解除するウェイト解除信号を前記ベースプロセッサに送信し、
前記ベースプロセッサは、前記ウェイト解除信号に応答して、前記アクセスの禁止を解除する
ことを特徴とする請求項1に記載のプロセッサシステム。 - ベースプロセッサと、
コプロセッサと、
データメモリと、
制御インタフェースと、
データインタフェースと
を備え、
前記ベースプロセッサは、
レジスタと、
前記データメモリ及び前記レジスタに対するアクセスを行うベースプロセッサ制御部と
を備え、
前記コプロセッサは、
前記制御インタフェースを介して前記ベースプロセッサ制御部に接続されたコプロセッサ制御部と、
前記データインタフェースを介して前記データメモリ及び前記レジスタに接続されたコプロセッサ処理ユニットと
を備え、
前記コプロセッサ制御部は、前記ベースプロセッサ制御部に前記制御インタフェースを介してメモリアクセス制御信号を送信することによって、前記ベースプロセッサ制御部に前記データメモリに対するアクセスを行わせるメモリアクセス制御を行い、
前記コプロセッサ制御部は、前記ベースプロセッサ制御部に前記制御インタフェースを介してレジスタアクセス制御信号を送信することによって、前記ベースプロセッサ制御部に前記レジスタに対するアクセスを行わせるレジスタアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記データインタフェースを介して前記レジスタに対するデータ読み書きを行い、また、前記データインタフェースを介して前記データメモリに対するデータ読み書きを行う
プロセッサシステム。 - 請求項3に記載のプロセッサシステムであって、
前記ベースプロセッサは、更に、命令をフェッチする命令フェッチ部を備え、
前記命令フェッチ部によってフェッチされる前記命令のセットはベース命令セットであり、
前記コプロセッサ用のコプロ命令は、前記ベース命令セットに組み込まれており、
前記ベースプロセッサは、命令インタフェースを介して前記コプロ命令を前記コプロセッサに供給し、
前記コプロセッサ制御部及び前記コプロセッサ処理ユニットは、前記コプロ命令に基いて動作する
プロセッサシステム。 - 請求項4に記載のプロセッサシステムであって、
前記命令フェッチ部は、デコード前の前記コプロ命令の少なくとも一部を、前記命令インタフェースを介して前記コプロセッサに供給し、
前記コプロセッサは、更に、前記命令インタフェースを介して受け取った前記コプロ命令の前記少なくとも一部をデコードするコプロセッサデコーダを備える
プロセッサシステム。 - 請求項3乃至5のいずれか一項に記載のプロセッサシステムであって、
前記ベースプロセッサ制御部は、
前記データメモリに対するアクセスを行う第1メモリ制御部と、
前記レジスタに対するアクセスを行う第1レジスタ制御部と
を備え、
前記コプロセッサ制御部は、
前記メモリアクセス制御を行う第2メモリ制御部と、
前記レジスタアクセス制御を行う第2レジスタ制御部と
を備え、
前記制御インタフェースは、
前記第1メモリ制御部と前記第2メモリ制御部との間を接続するメモリ制御インタフェースと、
前記第1レジスタ制御部と前記第2レジスタ制御部との間を接続するレジスタ制御インタフェースと
を備え、
前記メモリ制御インタフェースと前記レジスタ制御インタフェースとは互いから独立しており、
前記第2メモリ制御部は、前記メモリ制御インタフェースを介して前記メモリアクセス制御を行い、
前記第2レジスタ制御部は、前記レジスタ制御インタフェースを介して前記レジスタアクセス制御を行い、
前記データインタフェースは、
前記レジスタと前記コプロセッサ処理ユニットとの間を接続するレジスタデータインタフェースと、
前記データメモリと前記コプロセッサ処理ユニットとの間を接続するメモリデータインタフェースと
を備え、
前記レジスタデータインタフェースと前記メモリデータインタフェースとは互いから独立しており、
前記コプロセッサ処理ユニットは、前記レジスタデータインタフェースを介して前記レジスタに対するデータ読み書きを行い、また、前記メモリデータインタフェースを介して前記データメモリに対するデータ読み書きを行う
プロセッサシステム。 - 請求項3乃至6のいずれか一項に記載のプロセッサシステムであって、
前記コプロセッサ制御部は、前記データメモリからデータを読み出す前記メモリアクセス制御、及び、前記レジスタからデータを読み出す前記レジスタアクセス制御のうち少なくとも一方を含むリードアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記リードアクセス制御に伴って前記データメモリ及び前記レジスタの少なくとも一方から読み出された前記データを、前記データインタフェースを介して受け取り、
前記コプロセッサ処理ユニットは、前記読み出されたデータを用いて演算処理を行うことにより、演算結果データを作成し、
前記コプロセッサ制御部は、前記データメモリにデータを書き込む前記メモリアクセス制御、及び、前記レジスタにデータを書き込む前記レジスタアクセス制御のうち少なくとも一方を含むライトアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記ライトアクセス制御に伴って、前記データインタフェースを介して前記演算結果データを前記データメモリ及び前記レジスタの少なくとも一方に書き込む
プロセッサシステム。 - 請求項7に記載のプロセッサシステムであって、
前記レジスタは、プログラムシーケンスを制御するためのレジスタである
プロセッサシステム。 - 請求項8に記載のプロセッサシステムであって、
前記レジスタはプログラムカウンタであり、
前記リードアクセス制御において、前記コプロセッサ制御部は、前記データメモリからデータを読み出す前記メモリアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記データメモリから読み出されたデータに基づいて分岐先アドレスを計算し、
前記ライトアクセス制御において、前記コプロセッサ制御部は、前記プログラムカウンタにデータを書き込む前記レジスタアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記分岐先アドレスを前記プログラムカウンタに書き込む
プロセッサシステム。 - 請求項8に記載のプロセッサシステムであって、
前記レジスタはスタックポインタであり、
前記リードアクセス制御において、前記コプロセッサ制御部は、前記スタックポインタからデータを読み出す前記レジスタアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記スタックポインタから読み出されたデータに基いて新たなスタックポインタ値を計算し、
前記ライトアクセス制御において、前記コプロセッサ制御部は、前記スタックポインタにデータを書き込む前記レジスタアクセス制御、及び、前記データメモリ上のスタック領域にデータを書き込む前記メモリアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記新たなスタックポインタ値を前記スタックポインタに書き込み、また、前記スタック領域に退避データをプッシュする
プロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010061110A JP5555514B2 (ja) | 2010-03-17 | 2010-03-17 | プロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010061110A JP5555514B2 (ja) | 2010-03-17 | 2010-03-17 | プロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011197774A true JP2011197774A (ja) | 2011-10-06 |
JP5555514B2 JP5555514B2 (ja) | 2014-07-23 |
Family
ID=44875943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010061110A Expired - Fee Related JP5555514B2 (ja) | 2010-03-17 | 2010-03-17 | プロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5555514B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501282B2 (en) | 2013-04-22 | 2016-11-22 | Fujitsu Limited | Arithmetic processing device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01263760A (ja) * | 1988-04-15 | 1989-10-20 | Hitachi Ltd | コプロセツサのデータ転送制御方法およびその回路 |
JP2001147810A (ja) * | 1999-10-01 | 2001-05-29 | Hitachi Ltd | マイクロコンピュータ/浮動小数点プロセッサインタフェースと方法 |
JP2001147902A (ja) * | 1999-11-22 | 2001-05-29 | Nec Corp | マイクロプロセッサシステム |
JP2002503370A (ja) * | 1997-06-10 | 2002-01-29 | エイアールエム リミテッド | コプロセッサ・データ・アクセス制御 |
JP2004046896A (ja) * | 2003-09-12 | 2004-02-12 | Matsushita Electric Ind Co Ltd | 複合演算処理装置 |
JP2006127183A (ja) * | 2004-10-29 | 2006-05-18 | Renesas Technology Corp | 情報処理装置 |
-
2010
- 2010-03-17 JP JP2010061110A patent/JP5555514B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01263760A (ja) * | 1988-04-15 | 1989-10-20 | Hitachi Ltd | コプロセツサのデータ転送制御方法およびその回路 |
JP2002503370A (ja) * | 1997-06-10 | 2002-01-29 | エイアールエム リミテッド | コプロセッサ・データ・アクセス制御 |
JP2001147810A (ja) * | 1999-10-01 | 2001-05-29 | Hitachi Ltd | マイクロコンピュータ/浮動小数点プロセッサインタフェースと方法 |
JP2001147902A (ja) * | 1999-11-22 | 2001-05-29 | Nec Corp | マイクロプロセッサシステム |
JP2004046896A (ja) * | 2003-09-12 | 2004-02-12 | Matsushita Electric Ind Co Ltd | 複合演算処理装置 |
JP2006127183A (ja) * | 2004-10-29 | 2006-05-18 | Renesas Technology Corp | 情報処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501282B2 (en) | 2013-04-22 | 2016-11-22 | Fujitsu Limited | Arithmetic processing device |
Also Published As
Publication number | Publication date |
---|---|
JP5555514B2 (ja) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6708335B2 (ja) | ユーザレベルの分岐及び結合を行うプロセッサ、方法、システム、及び命令 | |
JP6143872B2 (ja) | 装置、方法、およびシステム | |
JP2006318051A (ja) | マイクロプロセッサ及びマイクロプロセッサの制御方法 | |
US8756405B2 (en) | Selective routing of local memory accesses and device thereof | |
GB2563469A (en) | Methods and systems for inter-pipeline data hazard avoidance | |
JP2021197155A (ja) | 優先度スケジューリングを備える実行キューを有する機能ユニットを備えるマイクロプロセッサ | |
JP5555514B2 (ja) | プロセッサシステム | |
US20180011636A1 (en) | Information processing apparatus and method of accessing a memory | |
JP2016224796A (ja) | 演算処理装置および演算処理装置の処理方法 | |
US20140331025A1 (en) | Reconfigurable processor and operation method thereof | |
US7953962B2 (en) | Multiprocessor system and control method thereof | |
JP4471947B2 (ja) | データ処理装置及びデータ処理方法 | |
US10296338B2 (en) | System, apparatus and method for low overhead control transfer to alternate address space in a processor | |
JP5922353B2 (ja) | プロセッサ | |
JP2010003151A (ja) | データ処理装置 | |
JP2016532233A (ja) | アドレスへの書き込みに対する監視命令を実行するスケーラブル機構 | |
JP2009157808A (ja) | データ処理装置及びデータ処理装置におけるバスアクセス制御方法 | |
US9710389B2 (en) | Method and apparatus for memory aliasing detection in an out-of-order instruction execution platform | |
JP4889235B2 (ja) | プログラム制御プロセッサ | |
JP2011070290A (ja) | データプロセッサ | |
US20140201505A1 (en) | Prediction-based thread selection in a multithreading processor | |
US20190004855A1 (en) | Operation processing device and control method of operation processing device | |
US10514925B1 (en) | Load speculation recovery | |
US20110131397A1 (en) | Multiprocessor system and multiprocessor control method | |
JP2006195705A (ja) | プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130815 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140318 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140512 |
|
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: 20140527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140602 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5555514 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |