JP5555514B2 - プロセッサシステム - Google Patents
プロセッサシステム Download PDFInfo
- Publication number
- JP5555514B2 JP5555514B2 JP2010061110A JP2010061110A JP5555514B2 JP 5555514 B2 JP5555514 B2 JP 5555514B2 JP 2010061110 A JP2010061110 A JP 2010061110A JP 2010061110 A JP2010061110 A JP 2010061110A JP 5555514 B2 JP5555514 B2 JP 5555514B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- coprocessor
- register
- memory
- interface
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
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 (9)
- ベースプロセッサと、
コプロセッサと、
データメモリと、
制御インタフェースと、
データインタフェースと
を備え、
前記ベースプロセッサは、
レジスタと、
前記データメモリ及び前記レジスタに対するアクセスを行うベースプロセッサ制御部と
を備え、
前記コプロセッサは、
前記制御インタフェースを介して前記ベースプロセッサ制御部に接続されたコプロセッサ制御部と、
前記データインタフェースを介して前記データメモリ及び前記レジスタに接続されたコプロセッサ処理ユニットと
を備え、
前記コプロセッサ制御部は、前記ベースプロセッサ制御部に前記制御インタフェースを介してメモリアクセス制御信号を送信することによって、前記ベースプロセッサ制御部に前記データメモリに対するアクセスを行わせるメモリアクセス制御を行い、
前記コプロセッサ制御部は、前記ベースプロセッサ制御部に前記制御インタフェースを介してレジスタアクセス制御信号を送信することによって、前記ベースプロセッサ制御部に前記レジスタに対するアクセスを行わせるレジスタアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記データインタフェースを介して前記レジスタに対するデータ読み書きを行い、また、前記データインタフェースを介して前記データメモリに対するデータ読み書きを行い、
前記コプロセッサ制御部は、前記データメモリからデータを読み出す前記メモリアクセス制御、及び、前記レジスタからデータを読み出す前記レジスタアクセス制御のうち少なくとも一方を含むリードアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記リードアクセス制御に伴って前記データメモリ及び前記レジスタの少なくとも一方から読み出された前記データを、前記データインタフェースを介して受け取り、
前記コプロセッサ処理ユニットは、前記読み出されたデータを用いて演算処理を行うことにより、演算結果データを作成し、
前記コプロセッサ制御部は、前記データメモリにデータを書き込む前記メモリアクセス制御、及び、前記レジスタにデータを書き込む前記レジスタアクセス制御のうち少なくとも一方を含むライトアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記ライトアクセス制御に伴って、前記データインタフェースを介して前記演算結果データを前記データメモリ及び前記レジスタの少なくとも一方に書き込み、
前記レジスタは、プログラムシーケンスを制御するためのレジスタであり、
前記レジスタはスタックポインタであり、
前記リードアクセス制御において、前記コプロセッサ制御部は、前記スタックポインタからデータを読み出す前記レジスタアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記スタックポインタから読み出されたデータに基づいて新たなスタックポインタ値を計算し、
前記ライトアクセス制御において、前記コプロセッサ制御部は、前記スタックポインタにデータを書き込む前記レジスタアクセス制御、及び、前記データメモリ上のスタック領域にデータを書き込む前記メモリアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記新たなスタックポインタ値を前記スタックポインタに書き込み、また、前記スタック領域に退避データをプッシュする
プロセッサシステム。 - ベースプロセッサと、
コプロセッサと、
データメモリと、
制御インタフェースと、
データインタフェースと
を備え、
前記ベースプロセッサは、
レジスタと、
前記データメモリ及び前記レジスタに対するアクセスを行うベースプロセッサ制御部と
を備え、
前記コプロセッサは、
前記制御インタフェースを介して前記ベースプロセッサ制御部に接続されたコプロセッサ制御部と、
前記データインタフェースを介して前記データメモリ及び前記レジスタに接続されたコプロセッサ処理ユニットと
を備え、
前記コプロセッサ制御部は、前記ベースプロセッサ制御部に前記制御インタフェースを介してメモリアクセス制御信号もしくはレジスタアクセス制御信号を送信する際に、前記ベースプロセッサ制御部に対して前記ベースプロセッサに対する命令による前記データメモリ及び前記レジスタに対するアクセスを禁止するウェイト信号を送信した上で、前記ベースプロセッサ制御部に前記データメモリもしくは前記レジスタに対するアクセスを行わせるメモリアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記データインタフェースを介して前記レジスタに対するデータ読み書きを行い、また、前記データインタフェースを介して前記データメモリに対するデータ読み書きを行った後、前記ベースプロセッサ制御部に対してウェイト解除信号を送信し、前記ベースプロセッサ制御部の前記ベースプロセッサに対する命令による前記データメモリおよび前記レジスタに対するアクセス禁止を解除する
プロセッサシステム。 - 請求項2に記載のプロセッサシステムであって、
前記ベースプロセッサは、更に、命令をフェッチする命令フェッチ部を備え、
前記命令フェッチ部によってフェッチされる前記命令のセットはベース命令セットであり、
前記コプロセッサ用のコプロ命令は、前記ベース命令セットに組み込まれており、
前記ベースプロセッサは、命令インタフェースを介して前記コプロ命令を前記コプロセッサに供給し、
前記コプロセッサ制御部及び前記コプロセッサ処理ユニットは、前記コプロ命令に基づいて動作する
プロセッサシステム。 - 請求項3に記載のプロセッサシステムであって、
前記命令フェッチ部は、デコード前の前記コプロ命令の少なくとも一部を、前記命令インタフェースを介して前記コプロセッサに供給し、
前記コプロセッサは、更に、前記命令インタフェースを介して受け取った前記コプロ命令の前記少なくとも一部をデコードするコプロセッサデコーダを備える
プロセッサシステム。 - 請求項2乃至4のいずれか一項に記載のプロセッサシステムであって、
前記ベースプロセッサ制御部は、
前記データメモリに対するアクセスを行う第1メモリ制御部と、
前記レジスタに対するアクセスを行う第1レジスタ制御部と
を備え、
前記コプロセッサ制御部は、
前記メモリアクセス制御を行う第2メモリ制御部と、
前記レジスタアクセス制御を行う第2レジスタ制御部と
を備え、
前記制御インタフェースは、
前記第1メモリ制御部と前記第2メモリ制御部との間を接続するメモリ制御インタフェースと、
前記第1レジスタ制御部と前記第2レジスタ制御部との間を接続するレジスタ制御インタフェースと
を備え、
前記メモリ制御インタフェースと前記レジスタ制御インタフェースとは互いから独立しており、
前記第2メモリ制御部は、前記メモリ制御インタフェースを介して前記メモリアクセス制御を行い、
前記第2レジスタ制御部は、前記レジスタ制御インタフェースを介して前記レジスタアクセス制御を行い、
前記データインタフェースは、
前記レジスタと前記コプロセッサ処理ユニットとの間を接続するレジスタデータインタフェースと、
前記データメモリと前記コプロセッサ処理ユニットとの間を接続するメモリデータインタフェースと
を備え、
前記レジスタデータインタフェースと前記メモリデータインタフェースとは互いから独立しており、
前記コプロセッサ処理ユニットは、前記レジスタデータインタフェースを介して前記レジスタに対するデータ読み書きを行い、また、前記メモリデータインタフェースを介して前記データメモリに対するデータ読み書きを行う
プロセッサシステム。 - 請求項2乃至5のいずれか一項に記載のプロセッサシステムであって、
前記コプロセッサ制御部は、前記データメモリからデータを読み出す前記メモリアクセス制御、及び、前記レジスタからデータを読み出す前記レジスタアクセス制御のうち少なくとも一方を含むリードアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記リードアクセス制御に伴って前記データメモリ及び前記レジスタの少なくとも一方から読み出された前記データを、前記データインタフェースを介して受け取り、
前記コプロセッサ処理ユニットは、前記読み出されたデータを用いて演算処理を行うことにより、演算結果データを作成し、
前記コプロセッサ制御部は、前記データメモリにデータを書き込む前記メモリアクセス制御、及び、前記レジスタにデータを書き込む前記レジスタアクセス制御のうち少なくとも一方を含むライトアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記ライトアクセス制御に伴って、前記データインタフェースを介して前記演算結果データを前記データメモリ及び前記レジスタの少なくとも一方に書き込む
プロセッサシステム。 - 請求項6に記載のプロセッサシステムであって、
前記レジスタは、プログラムシーケンスを制御するためのレジスタである
プロセッサシステム。 - 請求項7に記載のプロセッサシステムであって、
前記レジスタはプログラムカウンタであり、
前記リードアクセス制御において、前記コプロセッサ制御部は、前記データメモリからデータを読み出す前記メモリアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記データメモリから読み出されたデータに基づいて分岐先アドレスを計算し、
前記ライトアクセス制御において、前記コプロセッサ制御部は、前記プログラムカウンタにデータを書き込む前記レジスタアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記分岐先アドレスを前記プログラムカウンタに書き込む
プロセッサシステム。 - 請求項7に記載のプロセッサシステムであって、
前記レジスタはスタックポインタであり、
前記リードアクセス制御において、前記コプロセッサ制御部は、前記スタックポインタからデータを読み出す前記レジスタアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記スタックポインタから読み出されたデータに基づいて新たなスタックポインタ値を計算し、
前記ライトアクセス制御において、前記コプロセッサ制御部は、前記スタックポインタにデータを書き込む前記レジスタアクセス制御、及び、前記データメモリ上のスタック領域にデータを書き込む前記メモリアクセス制御を行い、
前記コプロセッサ処理ユニットは、前記新たなスタックポインタ値を前記スタックポインタに書き込み、また、前記スタック領域に退避データをプッシュする
プロセッサシステム。
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 JP2011197774A (ja) | 2011-10-06 |
JP5555514B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6094356B2 (ja) | 2013-04-22 | 2017-03-15 | 富士通株式会社 | 演算処理装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0786870B2 (ja) * | 1988-04-15 | 1995-09-20 | 株式会社日立製作所 | コプロセツサのデータ転送制御方法およびその回路 |
GB2326253A (en) * | 1997-06-10 | 1998-12-16 | Advanced Risc Mach Ltd | Coprocessor data access control |
US6542983B1 (en) * | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
JP3621315B2 (ja) * | 1999-11-22 | 2005-02-16 | Necエレクトロニクス株式会社 | マイクロプロセッサシステム |
JP3710798B2 (ja) * | 2003-09-12 | 2005-10-26 | 松下電器産業株式会社 | 複合演算処理装置 |
JP4602047B2 (ja) * | 2004-10-29 | 2010-12-22 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
-
2010
- 2010-03-17 JP JP2010061110A patent/JP5555514B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011197774A (ja) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006318051A (ja) | マイクロプロセッサ及びマイクロプロセッサの制御方法 | |
EP2523099B1 (en) | Method for selective routing of local memory accesses and device thereof | |
JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
JP2021197155A (ja) | 優先度スケジューリングを備える実行キューを有する機能ユニットを備えるマイクロプロセッサ | |
JP6520416B2 (ja) | 演算処理装置および演算処理装置の処理方法 | |
US10114774B2 (en) | Data transfer method, parallel processing device, and recording medium | |
JP5555514B2 (ja) | プロセッサシステム | |
US20180011636A1 (en) | Information processing apparatus and method of accessing a memory | |
US20140331025A1 (en) | Reconfigurable processor and operation method thereof | |
JP2006085428A (ja) | 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム | |
JP5307796B2 (ja) | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 | |
JP4471947B2 (ja) | データ処理装置及びデータ処理方法 | |
JP2010003151A (ja) | データ処理装置 | |
JP2009157808A (ja) | データ処理装置及びデータ処理装置におけるバスアクセス制御方法 | |
US20180165203A1 (en) | System, apparatus and method for low overhead control transfer to alternate address space in a processor | |
JP4889235B2 (ja) | プログラム制御プロセッサ | |
US11119149B2 (en) | Debug command execution using existing datapath circuitry | |
JP2011070290A (ja) | データプロセッサ | |
JP6347629B2 (ja) | 命令処理方法及び命令処理装置 | |
US10514925B1 (en) | Load speculation recovery | |
US20140201505A1 (en) | Prediction-based thread selection in a multithreading processor | |
US20110131397A1 (en) | Multiprocessor system and multiprocessor control method | |
JP6344022B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US8898343B2 (en) | Information processing apparatus and control method thereof | |
JP2019008746A (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 |