JP2014523569A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2014523569A5 JP2014523569A5 JP2014515970A JP2014515970A JP2014523569A5 JP 2014523569 A5 JP2014523569 A5 JP 2014523569A5 JP 2014515970 A JP2014515970 A JP 2014515970A JP 2014515970 A JP2014515970 A JP 2014515970A JP 2014523569 A5 JP2014523569 A5 JP 2014523569A5
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processor
- instruction
- data
- design
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims 59
- 230000000875 corresponding Effects 0.000 claims 10
- 238000003780 insertion Methods 0.000 claims 3
- 238000000034 method Methods 0.000 claims 1
- 238000010998 test method Methods 0.000 claims 1
Images
Description
データ構造470は、さらに、宛先出力ポートの正確な位置を特定する5ビットのポートフィールド478を備える。32ビットの宛先フィールド479は、次の命令のための次のアドレスである。32ビットのデータフィールド480は、現行の命令で演算されるデータのアドレスを含む。
Claims (16)
- コンピュータシステムであって、
次の命令のアドレスを、前記次の命令を取得した時にのみ知ることができる制御フロー型のプロセッサである第1のプロセッサと、
データフロー型のプロセッサである第2のプロセッサであって、
命令メモリと2つのデータメモリとを含む第2のメモリシステムに接続され、
前記命令メモリは、複数の命令を実行順に格納すると共に、前記2つのデータメモリに含まれている対応する複数のイベントデータを実行順に格納し、前記複数の命令のうちの最初の命令は、前記命令メモリ内の所定の位置に格納され、
前記データメモリは、さらに、EメモリとOメモリとの2つの部分に分割され、前記Eメモリと前記Oメモリとは、現行サイクルのデータがいずれか一方から読みだされるメモリであり、例えば現行サイクルにおいて前記Eメモリによる制御がされた場合、次のサイクルのデータは前記Oメモリに格納されるメモリであり、
さらに、並列に接続された複数のMISA処理コアを含み、
前記複数のMISA処理コアの各々に対する各命令は、次の命令のための次のアドレスを含み、前記複数のMISA処理コアの各々は、イベントFIFO待ち行列に対応するそれぞれのアドレスに配置されている、第2のプロセッサと、
前記第1のプロセッサおよび前記第2のプロセッサに接続された実行時イベント挿入・制御ユニットと、
を備え、
前記命令メモリ、前記2つのデータメモリ、前記第1のプロセッサ、前記第2のプロセッサ、および、前記実行時イベント挿入・制御ユニットは、共通の集積回路上にある、システム。 - 請求項1に記載のシステムであって、前記第1のプロセッサは、第1のキャッシュメモリ、第1のメモリコントローラ、および、第1のCPUを備え、前記第1のプロセッサは、第1のメモリシステムに接続されている、システム。
- 請求項1に記載のシステムであって、前記第2のプロセッサは、第2のキャッシュメモリと、第2のメモリコントローラとを含む、システム。
- 請求項3に記載のシステムであって、前記第2のプロセッサは、通信ユニットによって前記第1のプロセッサに接続されている、システム。
- 請求項3に記載のシステムであって、前記第2のキャッシュメモリは命令キャッシュメモリとイベントキャッシュメモリとを含み、前記命令メモリは、第1の対応するメモリコントローラによってプリフェッチユニットを介して制御キャッシュメモリに接続され、前記2つのデータメモリのうちの第1のデータメモリは、第2の対応するメモリコントローラによって前記プリフェッチユニットを介して前記イベントキャッシュメモリに接続され、前記2つのデータメモリのうちの第2のデータメモリは、第3の対応するメモリコントローラによって前記プリフェッチユニットを介して第2のキャッシュメモリに接続されている、システム。
- 請求項5に記載のシステムであって、前記第2のプロセッサは、さらに、プリフェッチユニットに接続されたイベントFIFO待ち行列を備える、システム。
- 請求項3に記載のシステムであって、前記複数のMISA処理コアは、1から約128のMISA処理コアを含む、システム。
- 請求項3に記載のシステムであって、前記第2のプロセッサは、さらに、前記複数のMISA処理コアの出力に接続された比較ユニットを備える、システム。
- 設計をテストする方法であって、
第1のコンパイラでテストベンチアプリケーションをコンパイルする工程と、
テストベンチプロセッサに接続されたテストベンチメモリシステムに前記コンパイルされたテストベンチアプリケーションをロードする工程であって、前記テストベンチプロセッサは、制御フロー型のプロセッサである、工程と、
シミュレートされた設計を作るために、回路シミュレータアプリケーションで設計をシミュレートする工程と、
コンパイルされた設計アプリケーションを作るために、第2のコンパイラで前記シミュレートされた設計をコンパイルする工程と、
データフロー型のプロセッサである設計プロセッサに接続された設計メモリシステムに前記コンパイルされた設計アプリケーションをロードする工程であって、
前記設計メモリシステムは、命令メモリと2つのデータメモリとを含み、
前記命令メモリは、複数の命令を実行順に格納すると共に、前記2つのデータメモリに含まれている対応する複数のイベントデータを実行順に格納し、前記複数の命令のうちの最初の命令は、前記命令メモリ内の所定の位置に格納され、
前記データメモリは、さらに、EメモリとOメモリとの2つの部分に分割され、前記Eメモリと前記Oメモリとは、現行サイクルのデータがいずれか一方から読みだされるメモリであり、例えば現行サイクルにおいて前記Eメモリによる制御がされた場合、次のサイクルのデータは前記Oメモリに格納されるメモリであり、
実行時イベント挿入・制御ユニットによって前記テストベンチプロセッサに接続され、前記設計メモリシステムに前記コンパイルされた設計アプリケーションをロードする工程は、複数の命令を前記命令メモリに格納する工程、および、対応する複数のイベントデータを前記2つのデータメモリに格納する工程を含み、
さらに、前記設計プロセッサは、並列に接続された複数のMISA処理コアを含み、
前記複数のMISA処理コアの各々に対する各命令は、次の命令のための次のアドレスを含み、前記複数のMISA処理コアの各々は、イベントFIFO待ち行列に対応するそれぞれのアドレスに配置されている、工程と、
前記テストベンチプロセッサでの対応する最初の命令の出力に従って、前記設計プロセッサで最初の命令を実行する工程と、
を備える、方法。 - 請求項9に記載の方法であって、さらに、前記設計プロセッサで実行された前記最初の命令からの出力結果を、現行データ値と比較する工程と、
前記設計プロセッサで実行された前記最初の命令からの前記出力結果が、前記現行データ値と同じ場合に、次の命令をロードする工程とを備える、方法。 - 請求項10に記載の方法であって、前記次の命令をロードする工程は、
後続の命令を制御メモリキャッシュにロードする工程と、
それと同時に、対応する後続のイベントデータをイベントデータキャッシュにロードする工程と、
を含む、方法。 - 請求項10に記載の方法であって、さらに、前記設計プロセッサで実行された前記最初の命令からの前記出力結果が、前記現行データ値と異なる場合に、前記出力結果を格納する工程を備える、方法。
- 請求項12に記載の方法であって、前記出力結果を格納する工程は、演算キャッシュメモリに前記出力結果を格納する工程と、前記設計プロセッサに次の命令をロードする工程と、を含む、方法。
- 請求項9に記載の方法であって、前記第1のコンパイラは、前記第2のコンパイラと機能的に等価である、方法。
- 請求項9に記載の方法であって、前記第1のコンパイラおよび前記第2のコンパイラは、Cコンパイラである、方法。
- 請求項9に記載の方法であって、前記第2のコンパイラは、さらに、MISAコンパイラを含み、前記第2のコンパイラで前記シミュレートされた設計をコンパイルする工程は、MISAコンパイルされた設計を作るために、前記MISAコンパイラで前記シミュレートされた設計をコンパイルした後に、前記第2のコンパイラで前記MISAコンパイルされた設計をコンパイルする工程を含む、方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161496900P | 2011-06-14 | 2011-06-14 | |
US61/496,900 | 2011-06-14 | ||
US13/494,913 | 2012-06-12 | ||
US13/494,913 US9430596B2 (en) | 2011-06-14 | 2012-06-12 | System, method and apparatus for a scalable parallel processor |
PCT/US2012/042322 WO2012174167A1 (en) | 2011-06-14 | 2012-06-13 | System, method and apparatus for a scalable parallel processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014523569A JP2014523569A (ja) | 2014-09-11 |
JP2014523569A5 true JP2014523569A5 (ja) | 2015-07-30 |
Family
ID=47354375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014515970A Pending JP2014523569A (ja) | 2011-06-14 | 2012-06-13 | 拡張可能な並列プロセッサのためのシステム、方法、および、装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9430596B2 (ja) |
EP (1) | EP2721508A4 (ja) |
JP (1) | JP2014523569A (ja) |
KR (1) | KR20140068863A (ja) |
WO (1) | WO2012174167A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6352607B2 (ja) * | 2012-09-07 | 2018-07-04 | 三星電子株式会社Samsung Electronics Co.,Ltd. | アサーション生成装置及び方法並びにプロセッサ検証装置及び方法 |
US10552126B2 (en) * | 2013-03-15 | 2020-02-04 | Teradata Us, Inc. | Transitioning between code-based and data-based execution forms in computing systems and environments |
US10564929B2 (en) * | 2016-09-01 | 2020-02-18 | Wave Computing, Inc. | Communication between dataflow processing units and memories |
US10275244B2 (en) * | 2016-03-04 | 2019-04-30 | Montana Systems Inc. | Event-driven design simulation |
US11675681B2 (en) * | 2021-09-21 | 2023-06-13 | International Business Machines Corporation | Configuration of weighted address pools for component design verification |
US11868786B1 (en) * | 2022-01-14 | 2024-01-09 | Cadence Design Systems, Inc. | Systems and methods for distributed and parallelized emulation processor configuration |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54107239A (en) | 1978-02-09 | 1979-08-22 | Nec Corp | Program execution order control system |
US4298954A (en) * | 1979-04-30 | 1981-11-03 | International Business Machines Corporation | Alternating data buffers when one buffer is empty and another buffer is variably full of data |
JPS5969861A (ja) * | 1982-10-14 | 1984-04-20 | Matsushita Electric Ind Co Ltd | デイジタル回路シミユレ−シヨン装置 |
US4701844A (en) | 1984-03-30 | 1987-10-20 | Motorola Computer Systems, Inc. | Dual cache for independent prefetch and execution units |
US5126966A (en) | 1986-06-25 | 1992-06-30 | Ikos Systems, Inc. | High speed logic simulation system with stimulus engine using independent event channels selectively driven by independent stimulus programs |
US4882673A (en) * | 1987-10-02 | 1989-11-21 | Advanced Micro Devices, Inc. | Method and apparatus for testing an integrated circuit including a microprocessor and an instruction cache |
JP2583949B2 (ja) | 1988-03-10 | 1997-02-19 | 松下電器産業株式会社 | 論理シミュレーション方法と論理シミュレーション装置 |
US4914612A (en) * | 1988-03-31 | 1990-04-03 | International Business Machines Corporation | Massively distributed simulation engine |
US5293500A (en) | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
JP2744152B2 (ja) * | 1991-10-11 | 1998-04-28 | 三洋電機株式会社 | データ駆動型データ処理装置 |
US5551013A (en) * | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US6163793A (en) | 1994-08-05 | 2000-12-19 | Intel Corporation | Method and apparatus for using a driver program executing on a host processor to control the execution of code on an auxiliary processor |
JP3543181B2 (ja) | 1994-11-09 | 2004-07-14 | 株式会社ルネサステクノロジ | データ処理装置 |
US5875293A (en) * | 1995-08-08 | 1999-02-23 | Dell Usa, L.P. | System level functional testing through one or more I/O ports of an assembled computer system |
US6047367A (en) | 1998-01-20 | 2000-04-04 | International Business Machines Corporation | Microprocessor with improved out of order support |
US6370675B1 (en) * | 1998-08-18 | 2002-04-09 | Advantest Corp. | Semiconductor integrated circuit design and evaluation system using cycle base timing |
JP2001188745A (ja) * | 1999-12-28 | 2001-07-10 | Mitsubishi Electric Corp | 制御装置及び制御方法 |
US6738895B1 (en) | 2000-08-31 | 2004-05-18 | Micron Technology, Inc. | Method and system for substantially registerless processing |
US7613858B1 (en) | 2005-01-24 | 2009-11-03 | Altera Corporation | Implementing signal processing cores as application specific processors |
US20070074195A1 (en) | 2005-09-23 | 2007-03-29 | Shih-Wei Liao | Data transformations for streaming applications on multiprocessors |
EP1783604A3 (en) | 2005-11-07 | 2007-10-03 | Slawomir Adam Janczewski | Object-oriented, parallel language, method of programming and multi-processor computer |
US20070129926A1 (en) * | 2005-12-01 | 2007-06-07 | Verheyen Henry T | Hardware acceleration system for simulation of logic and memory |
US20070219771A1 (en) * | 2005-12-01 | 2007-09-20 | Verheyen Henry T | Branching and Behavioral Partitioning for a VLIW Processor |
US7996203B2 (en) | 2008-01-31 | 2011-08-09 | International Business Machines Corporation | Method, system, and computer program product for out of order instruction address stride prefetch performance verification |
JP5146087B2 (ja) * | 2008-05-02 | 2013-02-20 | 富士通株式会社 | 消費電力見積方法、回路設計支援装置及びプログラム |
WO2010029812A1 (ja) | 2008-09-09 | 2010-03-18 | 日本電気株式会社 | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム |
JP2010128722A (ja) * | 2008-11-26 | 2010-06-10 | Canon Inc | シミュレーションシステム、シミュレーション方法及びプログラム |
US20100153934A1 (en) | 2008-12-12 | 2010-06-17 | Peter Lachner | Prefetch for systems with heterogeneous architectures |
US20110213949A1 (en) | 2010-03-01 | 2011-09-01 | Sonics, Inc. | Methods and apparatus for optimizing concurrency in multiple core systems |
CN102207916B (zh) | 2011-05-30 | 2013-10-30 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
-
2012
- 2012-06-12 US US13/494,913 patent/US9430596B2/en active Active - Reinstated
- 2012-06-13 KR KR1020147002454A patent/KR20140068863A/ko not_active Application Discontinuation
- 2012-06-13 WO PCT/US2012/042322 patent/WO2012174167A1/en unknown
- 2012-06-13 EP EP12800997.4A patent/EP2721508A4/en not_active Withdrawn
- 2012-06-13 JP JP2014515970A patent/JP2014523569A/ja active Pending
-
2016
- 2016-08-26 US US15/248,820 patent/US20160364514A1/en not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014523569A5 (ja) | ||
US10970192B2 (en) | Debugging support unit for microprocessor | |
US7945888B2 (en) | Model-based hardware exerciser, device, system and method thereof | |
GB2508312A (en) | Instruction and logic to provide vector load-op/store-op with stride functionality | |
TWI762982B (zh) | 處理器操作方法、相關電腦系統、及非暫時性電腦可存取儲存媒體 | |
JP2014501008A (ja) | データを移動させるための方法及び装置 | |
JP2009230756A (ja) | 同期並列スレッドプロセッサにおける間接的な関数呼び出し命令 | |
JP2014513373A5 (ja) | ||
ITVI20100208A1 (it) | Metodo¿e sistema di simulazione atti alla simulazione di una piattaforma hardware a componenti multipli | |
JP2015537298A5 (ja) | ||
JP2015509249A5 (ja) | ||
US20160371067A1 (en) | Determination of branch convergence in a sequence of program instruction | |
RU2015103934A (ru) | Процессор компьютера и система без арифметико-логического блока | |
TW202121194A (zh) | 多處理器裝置及用於操作多處理器系統之方法 | |
US9342334B2 (en) | Simulating vector execution | |
JP2008176453A (ja) | シミュレーション装置 | |
CN102073480A (zh) | 基于时分复用实现多核处理器内核模拟的方法 | |
Yang et al. | An approach to build cycle accurate full system VLIW simulation platform | |
US8555030B2 (en) | Creating multiple versions for interior pointers and alignment of an array | |
KR101420592B1 (ko) | 컴퓨터 시스템 | |
Tomiyama et al. | SMYLE OpenCL: A programming framework for embedded many-core SoCs | |
JP2013161484A (ja) | 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法 | |
US9606779B2 (en) | Data processing system and data simulation method in the system | |
US9182990B1 (en) | Method and apparatus for detecting execution of unsupported instructions while testing multiversioned code | |
Chiou et al. | Parallelizing computer system simulators |