JP7137058B2 - 演算処理装置、情報処理装置及び情報処理装置の制御方法 - Google Patents
演算処理装置、情報処理装置及び情報処理装置の制御方法 Download PDFInfo
- Publication number
- JP7137058B2 JP7137058B2 JP2018165382A JP2018165382A JP7137058B2 JP 7137058 B2 JP7137058 B2 JP 7137058B2 JP 2018165382 A JP2018165382 A JP 2018165382A JP 2018165382 A JP2018165382 A JP 2018165382A JP 7137058 B2 JP7137058 B2 JP 7137058B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- instruction
- unit
- counting
- pointer
- 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.)
- Active
Links
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
発行された命令の実行が完了すると更新される計数部と、
前記計数部のカウント値に基づいて生成されるフェッチアドレスに基づき、フェッチした命令を発行する発行部と、
前記発行部が発行した命令を実行する演算部と、
他の演算処理装置から転送された複数の転送命令の転送情報に基づいて、前記他の演算処理装置に接続される記憶装置が記憶する命令を、前記記憶部のポインタの位置に送信する転送制御部と、
前記複数の転送命令のうちいずれかの転送命令の転送情報が実行指示を有する場合、前記計数部のカウント動作を開始させ、前記命令のフェッチアドレスまたは前記計数部の値が前記ポインタに追いつくと前記計数部のカウント動作を停止させ、前記ポインタが前記フェッチアドレスまたは前記計数部の値より先を指すと前記計数部のカウント動作を再開させる実行制御部とを有する、演算処理装置である。
図1は、本実施の形態におけるサブプロセッサとメインプロセッサの構成を示す図である。図1において、ホストコンピュータ10は、メインプロセッサ(CPU、他の演算処理装置)11と、メインメモリ(他の演算処理装置に接続される記憶装置)14と、サブプロセッサ(演算処理装置)20との通信をインターフェースするインターフェース制御部12とを有する。一方、サブプロセッサ20は、内部メモリ(記憶部)30と、命令発行部(発行部)21及び算術論理演算器(演算部)29と、DMA(Direct Memory Access)転送ユニット(転送制御部)22とを有する。
TRNS_PTR_2 =転送先アドレス「256」+転送長「256」=512
TRNS_PTR_3 =転送先アドレス「512」+転送長「256」=768
TRNS_PTR_4 =転送先アドレス「768」+転送長「256」=1024
TRNS_PTR_5 =転送先アドレス「1024」+転送長「256」=1280
TRNS_PTR_6 =転送先アドレス「1280」+転送長「256」=1536
TRNS_PTR_7 =転送先アドレス「1536」+転送長「256」=1792
TRNS_PTR_8 =転送先アドレス「1792」+転送長「256」=2048
CASE2は、内部メモリ30の先頭の転送先アドレスが1000で、8回の転送が連続する転送先アドレスに対して行われる例である。この場合も、DMA転送制御部24は、毎回転送完了するたびに、転送命令(転送記述子)内の転送先アドレスに転送長を加算して、転送ポインタTRNS_PTRを更新する。従って、1回目の転送完了時から8回目の転送完了時に更新された転送ポインタTRNS_PTR_1~TRNS_PTR_8は、以下のとおりとなる。
TRNS_PTR_1 =転送先アドレス「1000」+転送長「256」=1256
TRNS_PTR_2 =転送先アドレス「1256」+転送長「256」=1512
TRNS_PTR_3 =転送先アドレス「1512」+転送長「256」=1768
TRNS_PTR_4 =転送先アドレス「1768」+転送長「256」=2024
TRNS_PTR_5 =転送先アドレス「2024」+転送長「256」=2280
TRNS_PTR_6 =転送先アドレス「2280」+転送長「256」=2536
TRNS_PTR_7 =転送先アドレス「2536」+転送長「256」=2792
TRNS_PTR_8 =転送先アドレス「2792」+転送長「256」=3048
CASE3は、内部メモリ30の先頭の転送先アドレスが1000で、8回の転送が4回目から5回目で不連続な転送先アドレスに対して行われ、それ以外は連続するアドレスに対して行われる例である。この場合も、DMA転送制御部24は、毎回転送完了するたびに、転送命令(転送記述子)内の転送先アドレスに転送長を加算して、転送ポインタTRNS_PTRを更新する。従って、1回目の転送完了時から8回目の転送完了時に更新された転送ポインタTRNS_PTR_1~TRNS_PTR_8は、以下のとおりとなる。
TRNS_PTR_1 =転送先アドレス「1000」+転送長「256」=1256
TRNS_PTR_2 =転送先アドレス「1256」+転送長「256」=1512
TRNS_PTR_3 =転送先アドレス「1512」+転送長「256」=1768
TRNS_PTR_4 =転送先アドレス「1768」+転送長「256」=2024
TRNS_PTR_5 =転送先アドレス「4000」+転送長「256」=4256
TRNS_PTR_6 =転送先アドレス「4256」+転送長「256」=4512
TRNS_PTR_7 =転送先アドレス「4512」+転送長「256」=4768
TRNS_PTR_8 =転送先アドレス「4768」+転送長「256」=5048
図4は、内部メモリの転送ポインタとフェッチアドレスとの関係を示す図である。内部メモリ30には、DMA転送制御部24により管理される転送ポインタTRNS_PTRの位置にDMA転送された命令列が格納される。上記の転送ポインタの動作から明らかなとおり、転送ポインタTRNS_PTRのアドレスには未だ命令列は格納されていない。
図8は、第2の実施の形態におけるメインプロセッサとサブプロセッサとを示す図である。メインプロセッサ11は、メインメモリ14にアクセス可能に接続される。メインプロセッサ11は、メインメモリ14内に記憶されている命令列をフェッチし、命令列に対応する処理を実行する。また、メインプロセッサ11は、メインメモリ14内に特定の命令列を書き込み、サブプロセッサ20に実行させる。
図9は、第3の実施の形態における演算処理装置の構成例を示す図である。図9のサブプロセッサ20は、図1のサブプロセッサと異なり、命令実行制御回路25が、プログラムカウンタPCのカウント値と転送ポインタTRNS_PTRとを比較し、サブプロセッサの命令実行を開始、停止、再開の制御を行う。
TRNS_PTR_1 - SUB_PTR =転送先アドレス「0」+ 転送長「256」-「100」=156
TRNS_PTR_2 - SUB_PTR =転送先アドレス「256」+転送長「256」-「100」=412
TRNS_PTR_3 - SUB_PTR =転送先アドレス「512」+転送長「256」-「100」=668
TRNS_PTR_4 - SUB_PTR =転送先アドレス「768」+転送長「256」-「100」=924
TRNS_PTR_5 - SUB_PTR =転送先アドレス「1024」+転送長「256」-「100」=1180
TRNS_PTR_6 - SUB_PTR =転送先アドレス「1280」+転送長「256」-「100」=1236
TRNS_PTR_7 - SUB_PTR =転送先アドレス「1536」+転送長「256」-「100」=1692
TRNS_PTR_8 =転送先アドレス「1792」+転送長「256」=2048
最終転送時には、減算ポイントSUB_PTRを減じていない理由は、すべての命令転送が完了したときに転送ポイントに減算ポイントを減じてプログラムカウンタPCと比較すると、プログラムカウンタPCが最後尾の命令より手前の命令のアドレスで停止してしまい、プログラムが最後まで実行されなくなるからである。
図12は、第4の実施の形態における演算処理装置の構成例を示す図である。図12のサブプロセッサ20は、図8のサブプロセッサと異なり、命令実行制御回路25が、プログラムカウンタPCのカウント値と転送ポインタTRNS_PTRとを比較し、サブプロセッサの命令実行を開始、停止、再開の制御を行う。
20:サブプロセッサ、演算処理装置、CPU
22:DMA転送ユニット
23:転送記述子バッファ
24:DMA転送制御部
25:命令実行制御回路
26:命令フェッチ回路
29:算術論理演算器
PC:プログラムカウンタ
TRNS_PTR:転送ポインタ
F_ADD:フェッチアドレス
30:内部メモリ
14:第1のメモリ
Claims (7)
- 命令を記憶する記憶部と、
前記記憶部内の実行される命令の命令番号をカウント値として保持し、発行された命令の実行が完了すると前記カウント値が更新される計数部と、
前記計数部のカウント値に基づいて生成されるフェッチアドレスに基づき前記記憶部からフェッチした命令を発行する発行部と、
前記発行部が発行した命令を実行する演算部と、
他の演算処理装置から転送された複数の転送命令の転送情報に基づいて、前記他の演算処理装置に接続される記憶装置が記憶する第1の命令を、前記記憶部の転送先アドレスを示す転送ポインタの位置に転送し、前記転送が終了すると前記転送ポインタを更新する転送制御部と、
前記複数の転送命令のうちいずれかの転送命令の転送情報が実行指示を示す場合、前記計数部のカウント動作を開始させ、前記第1の命令のフェッチアドレスまたは前記計数部のカウント値が前記転送ポインタに追いつくと前記計数部のカウント動作を停止させ、前記転送ポインタが前記フェッチアドレスまたは前記計数部のカウント値より先を指すと前記計数部のカウント動作を再開させる実行制御部とを有する、演算処理装置。 - 前記実行制御部は、前記計数部のカウント動作を開始及び再開する場合、前記記憶部からの命令フェッチ動作を開始及び再開し、前記計数部のカウント動作を停止するとき、前記記憶部からの命令フェッチ動作を停止する、請求項1に記載の演算処理装置。
- 前記転送命令の前記転送情報は、前記記憶装置の転送元アドレスと、前記記憶部の転送先アドレスと、転送長と、前記実行指示とを有し、
前記転送制御部は、前記複数の転送命令を順番に実行し、前記複数の転送命令の各転送命令による前記第1の命令の前記記憶部への転送が完了するたびに、当該転送が完了した転送命令の前記転送先アドレスに前記転送長を加算して前記転送ポインタを更新する、請求項1に記載の演算処理装置。 - 前記実行制御部は、前記計数部のカウント値が前記転送ポインタから所定の減算値を減じた修正転送ポインタに追いつくと、前記カウント動作を停止し、前記修正転送ポインタが前記計数部のカウント値より先を指すと、前記カウント動作を再開する、請求項1に記載の演算処理装置。
- 複数の演算ユニットを有し、
前記複数の演算ユニットそれぞれは、前記記憶部と、前記計数部と、前記発行部と、前記演算部と、前記実行制御部とを有し、
更に、前記転送制御部は、前記複数の演算ユニットに共通に設けられた第1の転送制御部と、前記複数の演算ユニットそれぞれに設けられた第2の転送制御部とを有し、
前記第1の転送制御部は、前記複数の転送命令に応答して、転送先の演算ユニット内の前記記憶部に前記第1の命令を転送し、
前記第2の転送制御部は、前記転送ポインタを更新する、請求項1に記載の演算処理装置。 - 演算処理装置と、他の演算処理装置とを有する情報処理装置において、
前記演算処理装置は、
命令を記憶する記憶部と、
前記記憶部内の実行される命令の命令番号をカウント値として保持し、発行された命令の実行が完了すると前記カウント値が更新される計数部と、
前記計数部のカウント値に基づいて生成されるフェッチアドレスに基づき前記記憶部からフェッチした命令を発行する発行部と、
前記発行部が発行した命令を実行する演算部と、
他の演算処理装置から転送された複数の転送命令の転送情報に基づいて、前記他の演算処理装置に接続される記憶装置が記憶する第1の命令を、前記記憶部の転送先アドレスを示す転送ポインタの位置に転送し、前記転送が終了すると前記転送ポインタを更新する転送制御部と、
前記複数の転送命令のうちいずれかの転送命令の転送情報が実行指示を示す場合、前記計数部のカウント動作を開始させ、前記第1の命令のフェッチアドレスまたは前記計数部のカウント値が前記転送ポインタに追いつくと前記計数部のカウント動作を停止させ、前記転送ポインタが前記フェッチアドレスまたは前記計数部のカウント値より先を指すと前記計数部のカウント動作を再開させる実行制御部とを有する、情報処理装置。 - 命令を記憶する記憶部と、前記記憶部内の実行される命令の命令番号をカウント値として保持し、発行された命令の実行が完了すると前記カウント値が更新される計数部と、
前記計数部のカウント値に基づいて生成されるフェッチアドレスに基づき前記記憶部からフェッチした命令を発行する発行部と、前記発行部が発行した命令を実行する演算部とを有する演算処理装置の制御方法において、
前記演算処理装置が有する転送制御部が、他の演算処理装置から転送された複数の転送命令の転送情報に基づいて、前記他の演算処理装置に接続される記憶装置が記憶する第1の命令を、前記記憶部の転送先アドレスを示す転送ポインタの位置に転送し、前記転送が終了すると前記転送ポインタを更新し、
前記演算処理装置が有する実行制御部が、前記複数の転送命令のうちいずれかの転送命令の転送情報が実行指示を示す場合、前記計数部のカウント動作を開始させ、前記第1の命令のフェッチアドレスまたは前記計数部のカウント値が前記転送ポインタに追いつくと前記計数部のカウント動作を停止させ、前記転送ポインタが前記フェッチアドレスまたは前記計数部のカウント値より先を指すと前記計数部のカウント動作を再開させる、演算処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165382A JP7137058B2 (ja) | 2018-09-04 | 2018-09-04 | 演算処理装置、情報処理装置及び情報処理装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165382A JP7137058B2 (ja) | 2018-09-04 | 2018-09-04 | 演算処理装置、情報処理装置及び情報処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020038502A JP2020038502A (ja) | 2020-03-12 |
JP7137058B2 true JP7137058B2 (ja) | 2022-09-14 |
Family
ID=69738011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018165382A Active JP7137058B2 (ja) | 2018-09-04 | 2018-09-04 | 演算処理装置、情報処理装置及び情報処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7137058B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003501775A (ja) | 1999-06-15 | 2003-01-14 | ヒューレット・パッカード・カンパニー | プロセッサおよびコプロセッサを含むコンピュータ・アーキテクチャ |
JP2004348327A (ja) | 2003-05-21 | 2004-12-09 | Oki Electric Ind Co Ltd | デジタル信号処理装置及びデジタル信号処理方法 |
JP2005202767A (ja) | 2004-01-16 | 2005-07-28 | Toshiba Corp | プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路 |
JP2016018320A (ja) | 2014-07-07 | 2016-02-01 | 日本電気株式会社 | 情報処理システム、情報処理方法、および、プログラム |
JP2017123197A (ja) | 2012-11-21 | 2017-07-13 | コーヒレント・ロジックス・インコーポレーテッド | 分散型プロセッサを有する処理システム |
-
2018
- 2018-09-04 JP JP2018165382A patent/JP7137058B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003501775A (ja) | 1999-06-15 | 2003-01-14 | ヒューレット・パッカード・カンパニー | プロセッサおよびコプロセッサを含むコンピュータ・アーキテクチャ |
JP2004348327A (ja) | 2003-05-21 | 2004-12-09 | Oki Electric Ind Co Ltd | デジタル信号処理装置及びデジタル信号処理方法 |
JP2005202767A (ja) | 2004-01-16 | 2005-07-28 | Toshiba Corp | プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路 |
JP2017123197A (ja) | 2012-11-21 | 2017-07-13 | コーヒレント・ロジックス・インコーポレーテッド | 分散型プロセッサを有する処理システム |
JP2016018320A (ja) | 2014-07-07 | 2016-02-01 | 日本電気株式会社 | 情報処理システム、情報処理方法、および、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2020038502A (ja) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101148495B1 (ko) | 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치 | |
JP6508382B1 (ja) | 情報処理装置、情報処理方法、プログラム | |
US20160253196A1 (en) | Optimized extended context management for virtual machines | |
JP2560988B2 (ja) | 情報処理装置および処理方法 | |
TW201732590A (zh) | 向量式原子記憶體更新指令 | |
JPH0348537B2 (ja) | ||
JPH0760388B2 (ja) | パイプライン制御回路 | |
JPH04188229A (ja) | 浮動小数点演算処理装置 | |
US6738837B1 (en) | Digital system with split transaction memory access | |
JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JP7137058B2 (ja) | 演算処理装置、情報処理装置及び情報処理装置の制御方法 | |
US7155718B1 (en) | Method and apparatus to suspend and resume on next instruction for a microcontroller | |
JP2005521937A (ja) | コンピュータオペレーティングシステムにおけるコンテキスト切り替え方法及び装置 | |
KR102379886B1 (ko) | 벡터 명령 처리 | |
US5197133A (en) | Control store addressing from multiple sources | |
US11106587B2 (en) | Memory cache-line bounce reduction for shared I/O ring structures | |
JP2710994B2 (ja) | データ処理装置 | |
US20190384608A1 (en) | Arithmetic processor and control method of arithmetic processor | |
JP2007048019A (ja) | エミュレーション方法、エミュレータ、コンピュータ組込型デバイスおよびエミュレータ用プログラム | |
JP2668987B2 (ja) | データ処理装置 | |
US20230019377A1 (en) | Memory barrier elision for multi-threaded workloads | |
JPS6032220B2 (ja) | 情報処理装置 | |
JP2814683B2 (ja) | 命令処理装置 | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JPH08161185A (ja) | 仮想計算機システムのゲスト実行制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220722 |
|
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: 20220802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7137058 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |