JP6474196B2 - 静的スケジュールプロセッサのノンブロッキング実行装置及び方法 - Google Patents
静的スケジュールプロセッサのノンブロッキング実行装置及び方法 Download PDFInfo
- Publication number
- JP6474196B2 JP6474196B2 JP2014040668A JP2014040668A JP6474196B2 JP 6474196 B2 JP6474196 B2 JP 6474196B2 JP 2014040668 A JP2014040668 A JP 2014040668A JP 2014040668 A JP2014040668 A JP 2014040668A JP 6474196 B2 JP6474196 B2 JP 6474196B2
- Authority
- JP
- Japan
- Prior art keywords
- input data
- result
- latency
- processor
- buffer
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Description
一実施形態に係る静的スケジュールプロセッサのノンブロッキング実行装置は、伝達される入力データを用いて少なくとも1つ以上の演算を処理するプロセッサと、前記入力データを前記プロセッサに伝達し、前記少なくとも1つ以上の演算に対する処理結果を格納する入力バッファとを含み、前記プロセッサは、前記少なくとも1つ以上の演算をそれぞれ行う少なくとも1つ以上の演算ユニットを含み、前記少なくとも1つ以上の演算ユニットは、前記伝達される入力データをレギュラーレイテンシの演算及びイレギュラーレイテンシの演算のうち少なくとも1つの演算を用いて処理する。
110:入力バッファ
120:プロセッサ
121:演算ユニット
130:結果検索信号
140:結果格納信号
150:完了フラグ信号
Claims (5)
- 伝達される入力データを用いて少なくとも1つ以上の演算を処理するプロセッサと、
前記入力データを前記プロセッサに伝達し、前記少なくとも1つ以上の演算に対する処理結果を格納する入力バッファであって、前記入力データに対する状態を格納する状態レジスタ及び以前の演算結果値を格納する結果バッファを含む、入力バッファと、
を含み、
前記プロセッサは、前記少なくとも1つ以上の演算をそれぞれ行う少なくとも1つ以上の演算ユニットを含み、
前記少なくとも1つ以上の演算ユニットは、
前記伝達される入力データをレギュラーレイテンシの演算で処理するか、またはイレギュラーレイテンシの演算で処理するかを判断し、
前記入力データを前記イレギュラーレイテンシの演算で処理する場合、前記入力データに対する以前の演算結果値が前記結果バッファに格納されているか否かを確認し、
前記以前の演算結果値が前記結果バッファに格納されている場合、スケジュールとして定義されている基本レイテンシ後に前記以前の演算結果値を出力し、
前記以前の演算結果値が前記結果バッファに格納されていない場合に演算を実行し、前記演算の実行中に追加レイテンシが発生するか否かを判断し、
前記演算の実行中に追加レイテンシが発生する場合にダミー値を出力し、前記出力されたダミー値に相応する状態ビットを前記結果バッファに記録し、
前記演算の実行中に追加レイテンシが発生しない場合に前記演算の実行による結果値を出力し、前記出力された結果値を前記結果バッファに記録し、
前記入力データに対する最終演算結果を出力するための全ての中間演算で前記ダミー値を含まない場合に、前記状態レジスタに完了フラグを設定し、前記完了フラグが設定されていない前記入力データに関する演算を後に再実行することを特徴とする静的スケジュールプロセッサのノンブロッキング実行装置。 - 前記少なくとも1つ以上の演算ユニットは、前記追加レイテンシが発生した演算の実行が終了した後、演算の最終的な結果値を前記結果バッファに記録することを特徴とする請求項1に記載の静的スケジュールプロセッサのノンブロッキング実行装置。
- 入力バッファから入力データが伝達され、複数の演算ユニットを用いて演算を行う演算処理部であって、前記入力データを、レギュラーレイテンシの演算で処理するか、またはイレギュラーレイテンシの演算で処理するかを判断し、前記入力データを前記イレギュラーレイテンシの演算で処理する場合、前記入力データに対する以前の演算結果値が前記入力バッファの結果バッファに格納されているか否かを確認し、前記以前の演算結果値が前記結果バッファに格納されている場合、スケジュールとして定義されている基本レイテンシ後に前記以前の演算結果値を出力し、前記以前の演算結果値が前記結果バッファに格納されていない場合に演算を実行する、演算処理部と、
前記入力データの演算中に前記複数の演算ユニットのうち少なくとも1つに追加レイテンシが発生するかを判断する判断部と、
前記追加レイテンシが発生する場合にダミー値を出力して前記結果バッファに格納し、前記追加レイテンシが発生しない場合に前記演算の実行による結果値を出力して前記結果バッファに格納し、前記入力データに対する最終演算結果を出力するための全ての中間演算で前記ダミー値を含まない場合に、前記入力バッファの状態レジスタに完了フラグを設定する格納処理部と、
を備え、
前記演算処理部は、前記完了フラグが設定されていない前記入力データに関する演算を後に再実行することを特徴とする静的スケジュールプロセッサ。 - プロセッサで、伝達される入力データを用いて少なくとも1つ以上の演算を処理するステップと、
入力バッファで、前記入力データを前記プロセッサに伝達し、前記少なくとも1つ以上の演算に対する処理結果を格納するステップであって、前記入力バッファは、前記入力データに対する状態を格納する状態レジスタ及び以前の演算結果値を格納する結果バッファを含む、ステップと、
を含み、
前記少なくとも1つ以上の演算を処理するステップは、
前記伝達される入力データをレギュラーレイテンシの演算で処理するか、またはイレギュラーレイテンシの演算で処理するかを判断するステップと、
前記入力データを前記イレギュラーレイテンシの演算で処理する場合、前記入力データに対する以前の演算結果値が前記結果バッファに格納されているか否かを確認するステップと、
前記以前の演算結果値が前記結果バッファに格納されている場合、スケジュールとして定義されている基本レイテンシ後に前記以前の演算結果値を出力するステップと、
以前の演算結果値が前記結果バッファに格納されていない場合に演算を実行し、前記演算の実行中に追加レイテンシが発生するか否かを判断するステップと、
前記演算の実行中に追加レイテンシが発生する場合にダミー値を出力し、前記出力されたダミー値に相応する状態ビットを前記結果バッファに記録するステップと、
前記入力データに対する最終演算結果を出力するための全ての中間演算で前記ダミー値を含まない場合に、前記状態レジスタに完了フラグを設定し、前記完了フラグが設定されていない前記入力データに関する演算を後に再実行するステップと、
を含むことを特徴とする静的スケジュールプロセッサのノンブロッキング実行方法。 - 前記少なくとも1つ以上の演算を処理するステップは、前記追加レイテンシが発生した演算の実行が終了した後、演算の最終的な結果値を前記結果バッファに記録するステップを含むことを特徴とする請求項4に記載の静的スケジュールプロセッサのノンブロッキング実行方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2013-0025509 | 2013-03-11 | ||
| KR1020130025509A KR102028729B1 (ko) | 2013-03-11 | 2013-03-11 | 정적 스케쥴 프로세서의 논블로킹 실행 장치 및 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014174994A JP2014174994A (ja) | 2014-09-22 |
| JP6474196B2 true JP6474196B2 (ja) | 2019-02-27 |
Family
ID=50389194
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014040668A Active JP6474196B2 (ja) | 2013-03-11 | 2014-03-03 | 静的スケジュールプロセッサのノンブロッキング実行装置及び方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9405546B2 (ja) |
| EP (1) | EP2778906A1 (ja) |
| JP (1) | JP6474196B2 (ja) |
| KR (1) | KR102028729B1 (ja) |
| CN (1) | CN104050034B (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102101834B1 (ko) | 2013-10-08 | 2020-04-17 | 삼성전자 주식회사 | 영상 처리 장치 및 방법 |
| JP7218594B2 (ja) * | 2019-01-31 | 2023-02-07 | オムロン株式会社 | 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20010042187A1 (en) * | 1998-12-03 | 2001-11-15 | Marc Tremblay | Variable issue-width vliw processor |
| US6519694B2 (en) * | 1999-02-04 | 2003-02-11 | Sun Microsystems, Inc. | System for handling load errors having symbolic entity generator to generate symbolic entity and ALU to propagate the symbolic entity |
| US20060095715A1 (en) * | 2002-12-30 | 2006-05-04 | Koninklijke Philips Electronics N.V. | Very long instruction word processor |
| US20090150890A1 (en) * | 2007-12-10 | 2009-06-11 | Yourst Matt T | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
| US8719553B2 (en) | 2008-01-31 | 2014-05-06 | Arm Norway As | Method for re-circulating a fragment through a rendering pipeline |
| CN101777027B (zh) * | 2010-01-21 | 2012-06-06 | 龙芯中科技术有限公司 | 基于动静态混合调度策略的访存操作管理装置及其方法 |
| GB2494731B (en) * | 2011-09-06 | 2013-11-20 | Nds Ltd | Preventing data extraction by sidechannel attack |
-
2013
- 2013-03-11 KR KR1020130025509A patent/KR102028729B1/ko active Active
-
2014
- 2014-03-03 JP JP2014040668A patent/JP6474196B2/ja active Active
- 2014-03-06 US US14/199,154 patent/US9405546B2/en active Active
- 2014-03-06 CN CN201410079697.6A patent/CN104050034B/zh active Active
- 2014-03-10 EP EP20140158460 patent/EP2778906A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| EP2778906A1 (en) | 2014-09-17 |
| KR102028729B1 (ko) | 2019-11-04 |
| US9405546B2 (en) | 2016-08-02 |
| US20140258690A1 (en) | 2014-09-11 |
| CN104050034A (zh) | 2014-09-17 |
| JP2014174994A (ja) | 2014-09-22 |
| KR20140111416A (ko) | 2014-09-19 |
| CN104050034B (zh) | 2019-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20240411559A1 (en) | Variable latency instructions | |
| EP3674877B1 (en) | Method for accessing extended memory, device, and system | |
| JP5512803B2 (ja) | ベクトル命令を取り扱うためのデータ処理装置および方法 | |
| US10241797B2 (en) | Replay reduction by wakeup suppression using early miss indication | |
| KR101361928B1 (ko) | 스레드 이송 시의 캐시 프리필링 | |
| JP4170218B2 (ja) | キャッシュミスに応答してタスクを切り替えることによってキャッシュベース埋め込みプロセッサのスループットを改善する方法および装置 | |
| CN110806900B (zh) | 一种访存指令处理方法及处理器 | |
| JP6633119B2 (ja) | 自律的メモリの方法及びシステム | |
| WO2018107331A1 (zh) | 计算机系统及内存访问技术 | |
| JP6474196B2 (ja) | 静的スケジュールプロセッサのノンブロッキング実行装置及び方法 | |
| CN110291507A (zh) | 用于提供对存储器系统的加速访问的方法和装置 | |
| CN101495960A (zh) | 有效的中断返回地址保存机制 | |
| US9507725B2 (en) | Store forwarding for data caches | |
| CN114579264B (zh) | 处理装置、处理系统和处理方法 | |
| CN120066586A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
| US20090228692A1 (en) | Load Register Instruction Short Circuiting Method | |
| TWI435267B (zh) | 處理器電路及讀取資料的方法 | |
| CN113853584A (zh) | 可变延时指令 | |
| US11474946B2 (en) | Calculator and calculation method | |
| US20120191910A1 (en) | Processing circuit and method for reading data | |
| JP2016062513A (ja) | プロセッサおよびプロセッサシステム | |
| JP5843804B2 (ja) | 演算装置およびエラー処理方法 | |
| US9983932B2 (en) | Pipeline processor and an equal model compensator method and apparatus to store the processing result | |
| JP5440083B2 (ja) | シミュレーション装置、方法およびプログラム | |
| JP2017219931A (ja) | 情報処理装置、情報処理方法、およびプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160927 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170929 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171107 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180206 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180717 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180921 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20181004 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181204 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181217 |
|
| 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: 20190108 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190129 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6474196 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |