JP2014174994A - 静的スケジュールプロセッサのノンブロッキング実行装置及び方法 - Google Patents
静的スケジュールプロセッサのノンブロッキング実行装置及び方法 Download PDFInfo
- Publication number
- JP2014174994A JP2014174994A JP2014040668A JP2014040668A JP2014174994A JP 2014174994 A JP2014174994 A JP 2014174994A JP 2014040668 A JP2014040668 A JP 2014040668A JP 2014040668 A JP2014040668 A JP 2014040668A JP 2014174994 A JP2014174994 A JP 2014174994A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- latency
- input data
- execution
- calculation
- 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
- 230000003068 static effect Effects 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000000903 blocking effect Effects 0.000 title claims abstract description 45
- 230000001788 irregular Effects 0.000 claims abstract description 33
- 238000004148 unit process Methods 0.000 claims abstract 2
- 238000004364 calculation method Methods 0.000 claims description 96
- 238000011017 operating method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)
Abstract
【解決手段】伝達される入力データを用いて少なくとも1つ以上の演算を処理するプロセッサと、前記入力データを前記プロセッサに伝達し、前記少なくとも1つ以上の演算に対する処理結果を格納する入力バッファを含み、前記プロセッサは、前記少なくとも1つ以上の演算をそれぞれ行う少なくとも1つ以上の演算ユニットを含み、前記少なくとも1つ以上の演算ユニットは、前記伝達される入力データをレギュラーレイテンシの演算及びイレギュラーレイテンシの演算のうち少なくとも1つの演算を用いて処理する。
【選択図】 図1
Description
一実施形態に係る静的スケジュールプロセッサのノンブロッキング実行装置は、伝達される入力データを用いて少なくとも1つ以上の演算を処理するプロセッサと、前記入力データを前記プロセッサに伝達し、前記少なくとも1つ以上の演算に対する処理結果を格納する入力バッファとを含み、前記プロセッサは、前記少なくとも1つ以上の演算をそれぞれ行う少なくとも1つ以上の演算ユニットを含み、前記少なくとも1つ以上の演算ユニットは、前記伝達される入力データをレギュラーレイテンシの演算及びイレギュラーレイテンシの演算のうち少なくとも1つの演算を用いて処理する。
110:入力バッファ
120:プロセッサ
121:演算ユニット
130:結果検索信号
140:結果格納信号
150:完了フラグ信号
Claims (19)
- 伝達される入力データを用いて少なくとも1つ以上の演算を処理するプロセッサと、
前記入力データを前記プロセッサに伝達し、前記少なくとも1つ以上の演算に対する処理結果を格納する入力バッファと、
を含み、
前記プロセッサは、前記少なくとも1つ以上の演算をそれぞれ行う少なくとも1つ以上の演算ユニットを含み、
前記少なくとも1つ以上の演算ユニットは、前記伝達される入力データをレギュラーレイテンシの演算及びイレギュラーレイテンシの演算のうち少なくとも1つの演算を用いて処理することを特徴とする静的スケジュールプロセッサのノンブロッキング実行装置。 - 前記少なくとも1つ以上の演算ユニットは、前記入力データを前記レギュラーレイテンシの演算で処理するか、または前記イレギュラーレイテンシの演算で処理するかを判断することを特徴とする請求項1に記載の静的スケジュールプロセッサのノンブロッキング実行装置。
- 前記少なくとも1つ以上の演算ユニットは、前記入力データを前記イレギュラーレイテンシの演算で処理する場合、前記入力データに対する以前の演算結果値が前記入力バッファに格納されているか否かを確認することを特徴とする請求項2に記載の静的スケジュールプロセッサのノンブロッキング実行装置。
- 前記少なくとも1つ以上の演算ユニットは、
前記以前の演算結果値が前記入力バッファに格納されている場合、スケジュールとして定義されている基本レイテンシ後に前記以前の演算結果値を出力し、
前記以前の演算結果値が前記入力バッファに格納されていない場合に演算を実行し、前記演算の実行中に追加レイテンシが発生するか否かを判断することを特徴とする請求項3に記載の静的スケジュールプロセッサのノンブロッキング実行装置。 - 前記少なくとも1つ以上の演算ユニットは、
前記演算の実行中に追加レイテンシが発生する場合にダミー値を出力し、前記出力されたダミー値に相応する状態ビットを前記入力バッファに記録し、
前記演算の実行中に追加レイテンシが発生しない場合に前記演算の実行による結果値を出力し、前記出力された結果値を前記入力バッファに記録する、
ことを特徴とする請求項4に記載の静的スケジュールプロセッサのノンブロッキング実行装置。 - 前記少なくとも1つ以上の演算ユニットは、前記追加レイテンシが発生した演算の実行が終了した後、演算の最終的な結果値を前記入力バッファに記録することを特徴とする請求項5に記載の静的スケジュールプロセッサのノンブロッキング実行装置。
- 前記入力バッファは、状態レジスタ及び結果バッファを含み、
前記状態レジスタは、前記入力データに対する状態を格納し、
前記結果バッファは、以前の演算結果値を格納することを特徴とする請求項4に記載の静的スケジュールプロセッサのノンブロッキング実行装置。 - 前記状態レジスタは、前記入力データに対して演算を再度行うか否かに対する状態を格納することを特徴とする請求項7に記載の静的スケジュールプロセッサのノンブロッキング実行装置。
- 入力バッファから入力データが伝達され、複数の演算ユニットを用いて演算を行う演算処理部と、
前記入力データの演算中に前記複数の演算ユニットのうち少なくとも1つに追加レイテンシが発生するかを判断する判断部と、
前記追加レイテンシが発生する場合にダミー値を出力して前記入力バッファに格納する格納処理部と、
を備えることを特徴とする静的スケジュールプロセッサ。 - 前記演算処理部は、
前記入力バッファから前記伝達された入力データに対する以前の演算結果値が格納されているかを確認し、
前記以前の演算結果値が格納されている場合、スケジュールとして定義されている基本レイテンシ後に前記以前の演算結果値を出力し、
前記以前の演算結果値が前記入力バッファに格納されていない場合、前記入力データの演算を実行することを特徴とする請求項9に記載の静的スケジュールプロセッサ。 - プロセッサで、伝達される入力データを用いて少なくとも1つ以上の演算を処理するステップと、
入力バッファで、前記入力データを前記プロセッサに伝達し、前記少なくとも1つ以上の演算に対する処理結果を格納するステップと、
を含み、
前記少なくとも1つ以上の演算を処理するステップは、前記伝達される入力データをレギュラーレイテンシの演算及びイレギュラーレイテンシの演算のうち少なくとも1つの演算を用いて処理するステップを含むことを特徴とする静的スケジュールプロセッサのノンブロッキング実行方法。 - 前記少なくとも1つ以上の演算を処理するステップは、前記入力データを前記レギュラーレイテンシの演算で処理するか、または前記イレギュラーレイテンシの演算で処理するかを判断するステップを含むことを特徴とする請求項11に記載の静的スケジュールプロセッサのノンブロッキング実行方法。
- 前記少なくとも1つ以上の演算を処理するステップは、前記入力データを前記イレギュラーレイテンシの演算で処理する場合、前記入力データに対する以前の演算結果値が前記入力バッファに格納されているか否かを確認するステップを含むことを特徴とする請求項12に記載の静的スケジュールプロセッサのノンブロッキング実行方法。
- 前記少なくとも1つ以上の演算を処理するステップは、
前記以前の演算結果値が前記入力バッファに格納されている場合、スケジュールとして定義されている基本レイテンシ後に前記以前の演算結果値を出力するステップを含み、
以前の演算結果値が前記入力バッファに格納されていない場合に演算を実行し、前記演算の実行中に追加レイテンシが発生するか否かを判断するステップを含むことを特徴とする請求項13に記載の静的スケジュールプロセッサのノンブロッキング実行方法。 - 前記少なくとも1つ以上の演算を処理するステップは、前記演算の実行中に追加レイテンシが発生する場合にダミー値を出力し、前記出力されたダミー値に相応する状態ビットを前記入力バッファに記録するステップを含むことを特徴とする請求項14に記載の静的スケジュールプロセッサのノンブロッキング実行方法。
- 前記少なくとも1つ以上の演算を処理するステップは、前記追加レイテンシが発生した演算の実行が終了した後、演算の最終的な結果値を前記入力バッファに記録するステップを含むことを特徴とする請求項15に記載の静的スケジュールプロセッサのノンブロッキング実行方法。
- 複数の演算のうち第1演算の実行中に選択的にダミー値を出力するステップと、
前記複数の演算のうち第2演算を実行するステップと、
前記第1演算を再実行して前記第1演算が正常終了することによって結果を取得するステップと、
を含むことを特徴とする静的スケジュールプロセッサの動作方法。 - 第1演算の実行時間が選定された値を超過する場合、前記ダミー値が出力されることを特徴とする請求項17に記載の静的スケジュールプロセッサの動作方法。
- 前記選定された値は、前記第1演算のプロセッサ実行サイクルカウントを含むことを特徴とする請求項18に記載の静的スケジュールプロセッサの動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130025509A KR102028729B1 (ko) | 2013-03-11 | 2013-03-11 | 정적 스케쥴 프로세서의 논블로킹 실행 장치 및 방법 |
KR10-2013-0025509 | 2013-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014174994A true JP2014174994A (ja) | 2014-09-22 |
JP6474196B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020123255A (ja) * | 2019-01-31 | 2020-08-13 | オムロン株式会社 | 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102101834B1 (ko) | 2013-10-08 | 2020-04-17 | 삼성전자 주식회사 | 영상 처리 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000235491A (ja) * | 1999-02-04 | 2000-08-29 | Sun Microsyst Inc | コンピュータ・プロセッサにおけるロード・エラーの処理 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010042187A1 (en) * | 1998-12-03 | 2001-11-15 | Marc Tremblay | Variable issue-width vliw processor |
AU2003283710A1 (en) * | 2002-12-30 | 2004-07-22 | 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 IP Right Grant
-
2014
- 2014-03-03 JP JP2014040668A patent/JP6474196B2/ja active Active
- 2014-03-06 CN CN201410079697.6A patent/CN104050034B/zh active Active
- 2014-03-06 US US14/199,154 patent/US9405546B2/en active Active
- 2014-03-10 EP EP20140158460 patent/EP2778906A1/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000235491A (ja) * | 1999-02-04 | 2000-08-29 | Sun Microsyst Inc | コンピュータ・プロセッサにおけるロード・エラーの処理 |
Non-Patent Citations (3)
Title |
---|
ANDREW HILTON ET AL.: "iCFP : Tolerating All-Level Cache Misses in In-Order Processors", PROCEEDINGS OF 15TH INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE ARCHITECTURE (HPCA2009), JPN6017041795, 14 February 2009 (2009-02-14), pages Pages:431-442 * |
TOSHINORI SATO: "A Simple Mechanism for Collapsing Instructions under Timing Speculation", IEICE TRANSACTIONS ON ELECTRONICS, JPN6017041803, September 2008 (2008-09-01), pages Pages:1394-1401 * |
佐藤寿倫,有田五次郎: "可変レイテンシパイプライン技術と演算結果再利用技術の併用による演算レイテンシ削減", 電子情報通信学会論文誌, vol. Vol:J85-D-I,No:12, JPN6017041801, 1 December 2002 (2002-12-01), JP, pages Pages:1103-1113 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020123255A (ja) * | 2019-01-31 | 2020-08-13 | オムロン株式会社 | 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム |
JP7218594B2 (ja) | 2019-01-31 | 2023-02-07 | オムロン株式会社 | 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20140111416A (ko) | 2014-09-19 |
EP2778906A1 (en) | 2014-09-17 |
CN104050034A (zh) | 2014-09-17 |
US20140258690A1 (en) | 2014-09-11 |
CN104050034B (zh) | 2019-11-01 |
KR102028729B1 (ko) | 2019-11-04 |
US9405546B2 (en) | 2016-08-02 |
JP6474196B2 (ja) | 2019-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10241797B2 (en) | Replay reduction by wakeup suppression using early miss indication | |
KR101361928B1 (ko) | 스레드 이송 시의 캐시 프리필링 | |
JP4170218B2 (ja) | キャッシュミスに応答してタスクを切り替えることによってキャッシュベース埋め込みプロセッサのスループットを改善する方法および装置 | |
US20100199045A1 (en) | Store-to-load forwarding mechanism for processor runahead mode operation | |
US11693661B2 (en) | Mechanism for interrupting and resuming execution on an unprotected pipeline processor | |
US20220113966A1 (en) | Variable latency instructions | |
US20240036876A1 (en) | Pipeline protection for cpus with save and restore of intermediate results | |
JP2010277529A (ja) | 情報処理装置及び分岐予測方法 | |
JP7097371B2 (ja) | メモリシステムへの加速されたアクセスを提供するための方法及び機器 | |
US20190236017A1 (en) | Method and system for efficient communication and command system for deferred operation | |
WO2014190699A1 (zh) | 一种cpu指令处理方法和处理器 | |
JP6474196B2 (ja) | 静的スケジュールプロセッサのノンブロッキング実行装置及び方法 | |
US20190294442A1 (en) | Computer system and memory access technology | |
US9639472B2 (en) | Prefetch list management in a computer system | |
JP2023531216A (ja) | 命令再フェッチを減らすための、プロセッサにおけるハザードに応答した命令パイプライン・フラッシュ後のフェッチ、フラッシュされた命令の再利用 | |
US9507725B2 (en) | Store forwarding for data caches | |
US11474946B2 (en) | Calculator and calculation method | |
US20090228692A1 (en) | Load Register Instruction Short Circuiting Method | |
US20120191910A1 (en) | Processing circuit and method for reading data | |
US9983932B2 (en) | Pipeline processor and an equal model compensator method and apparatus to store the processing result | |
JP5843804B2 (ja) | 演算装置およびエラー処理方法 | |
CN113853584A (zh) | 可变延时指令 | |
JP4631442B2 (ja) | プロセッサ | |
JP2011081623A (ja) | シミュレーション装置、方法およびプログラム | |
US20210209021A1 (en) | Method and system for efficient communication and command system for deferred operation |
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 |