JP2014523569A5 - - Google Patents

Download PDF

Info

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
Application number
JP2014515970A
Other languages
English (en)
Other versions
JP2014523569A (ja
Filing date
Publication date
Priority claimed from US13/494,913 external-priority patent/US9430596B2/en
Application filed filed Critical
Publication of JP2014523569A publication Critical patent/JP2014523569A/ja
Publication of JP2014523569A5 publication Critical patent/JP2014523569A5/ja
Pending legal-status Critical Current

Links

Images

Description

データ構造470は、さらに、宛先出力ポートの正確な位置を特定する5ビットのポートフィールド478を備える。32ビットの宛先フィールド479は、次の命令のための次のアドレスである。32ビットのデータフィールド480は、現行の命令で演算されるデータのアドレスを含む。

Claims (16)

  1. コンピュータシステムであって、
    次の命令のアドレスを、前記次の命令を取得した時にのみ知ることができる制御フロー型のプロセッサである第1のプロセッサと、
    データフロー型のプロセッサである第2のプロセッサであって、
    命令メモリと2つのデータメモリとを含む第2のメモリシステムに接続され、
    前記命令メモリは、複数の命令を実行順に格納すると共に、前記2つのデータメモリに含まれている対応する複数のイベントデータを実行順に格納し、前記複数の命令のうちの最初の命令は、前記命令メモリ内の所定の位置に格納され
    前記データメモリは、さらに、EメモリとOメモリとの2つの部分に分割され、前記Eメモリと前記Oメモリとは、現行サイクルのデータがいずれか一方から読みだされるメモリであり、例えば現行サイクルにおいて前記Eメモリによる制御がされた場合、次のサイクルのデータは前記Oメモリに格納されるメモリであり、
    さらに、並列に接続された複数のMISA処理コアを含み、
    前記複数のMISA処理コアの各々に対する各命令は、次の命令のための次のアドレスを含み、前記複数のMISA処理コアの各々は、イベントFIFO待ち行列に対応するそれぞれのアドレスに配置されている、第2のプロセッサと、
    前記第1のプロセッサおよび前記第2のプロセッサに接続された実行時イベント挿入・制御ユニットと、
    を備え、
    前記命令メモリ、前記2つのデータメモリ、前記第1のプロセッサ、前記第2のプロセッサ、および、前記実行時イベント挿入・制御ユニットは、共通の集積回路上にある、システム。
  2. 請求項1に記載のシステムであって、前記第1のプロセッサは、第1のキャッシュメモリ、第1のメモリコントローラ、および、第1のCPUを備え、前記第1のプロセッサは、第1のメモリシステムに接続されている、システム。
  3. 請求項1に記載のシステムであって、前記第2のプロセッサは、第2のキャッシュメモリ、第2のメモリコントローラとを含む、システム。
  4. 請求項3に記載のシステムであって、前記第2のプロセッサは、通信ユニットによって前記第1のプロセッサに接続されている、システム。
  5. 請求項3に記載のシステムであって、前記第2のキャッシュメモリは命令キャッシュメモリとイベントキャッシュメモリとを含み、前記命令メモリは、第1の対応するメモリコントローラによってプリフェッチユニットを介して制御キャッシュメモリに接続され、前記2つのデータメモリのうちの第1のデータメモリは、第2の対応するメモリコントローラによって前記プリフェッチユニットを介して前記イベントキャッシュメモリに接続され、前記2つのデータメモリのうちの第2のデータメモリは、第3の対応するメモリコントローラによって前記プリフェッチユニットを介して第2のキャッシュメモリに接続されている、システム。
  6. 請求項5に記載のシステムであって、前記第2のプロセッサは、さらに、プリフェッチユニットに接続されたイベントFIFO待ち行列を備える、システム。
  7. 請求項3に記載のシステムであって、前記複数のMISA処理コアは、1から約128のMISA処理コアを含む、システム。
  8. 請求項3に記載のシステムであって、前記第2のプロセッサは、さらに、前記複数のMISA処理コアの出力に接続された比較ユニットを備える、システム。
  9. 設計をテストする方法であって、
    第1のコンパイラでテストベンチアプリケーションをコンパイルする工程と、
    テストベンチプロセッサに接続されたテストベンチメモリシステムに前記コンパイルされたテストベンチアプリケーションをロードする工程であって、前記テストベンチプロセッサは、制御フロー型のプロセッサである、工程と、
    シミュレートされた設計を作るために、回路シミュレータアプリケーションで設計をシミュレートする工程と、
    コンパイルされた設計アプリケーションを作るために、第2のコンパイラで前記シミュレートされた設計をコンパイルする工程と、
    データフロー型のプロセッサである設計プロセッサに接続された設計メモリシステムに前記コンパイルされた設計アプリケーションをロードする工程であって、
    前記設計メモリシステムは、命令メモリと2つのデータメモリとを含み
    前記命令メモリは、複数の命令を実行順に格納すると共に、前記2つのデータメモリに含まれている対応する複数のイベントデータを実行順に格納し、前記複数の命令のうちの最初の命令は、前記命令メモリ内の所定の位置に格納され、
    前記データメモリは、さらに、EメモリとOメモリとの2つの部分に分割され、前記Eメモリと前記Oメモリとは、現行サイクルのデータがいずれか一方から読みだされるメモリであり、例えば現行サイクルにおいて前記Eメモリによる制御がされた場合、次のサイクルのデータは前記Oメモリに格納されるメモリであり、
    実行時イベント挿入・制御ユニットによって前記テストベンチプロセッサに接続され、前記設計メモリシステムに前記コンパイルされた設計アプリケーションをロードする工程は、複数の命令を前記命令メモリに格納する工程、および、対応する複数のイベントデータを前記2つのデータメモリに格納する工程を含み
    さらに、前記設計プロセッサは、並列に接続された複数のMISA処理コアを含み、
    前記複数のMISA処理コアの各々に対する各命令は、次の命令のための次のアドレスを含み、前記複数のMISA処理コアの各々は、イベントFIFO待ち行列に対応するそれぞれのアドレスに配置されている、工程と、
    前記テストベンチプロセッサでの対応する最初の命令の出力に従って、前記設計プロセッサで最初の命令を実行する工程と、
    を備える、方法。
  10. 請求項9に記載の方法であって、さらに、前記設計プロセッサで実行された前記最初の命令からの出力結果を、現行データ値と比較する工程と、
    前記設計プロセッサで実行された前記最初の命令からの前記出力結果が、前記現行データ値と同じ場合に、次の命令をロードする工程とを備える、方法。
  11. 請求項10に記載の方法であって、前記次の命令をロードする工程は、
    後続の命令を制御メモリキャッシュにロードする工程と、
    それと同時に、対応する後続のイベントデータをイベントデータキャッシュにロードする工程と、
    を含む、方法。
  12. 請求項10に記載の方法であって、さらに、前記設計プロセッサで実行された前記最初の命令からの前記出力結果が、前記現行データ値と異なる場合に、前記出力結果を格納する工程を備える、方法。
  13. 請求項12に記載の方法であって、前記出力結果を格納する工程は、演算キャッシュメモリに前記出力結果を格納する工程と、前記設計プロセッサに次の命令をロードする工程と、を含む、方法。
  14. 請求項9に記載の方法であって、前記第1のコンパイラは、前記第2のコンパイラと機能的に等価である、方法。
  15. 請求項9に記載の方法であって、前記第1のコンパイラおよび前記第2のコンパイラは、Cコンパイラである、方法。
  16. 請求項9に記載の方法であって、前記第2のコンパイラは、さらに、MISAコンパイラを含み、前記第2のコンパイラで前記シミュレートされた設計をコンパイルする工程は、MISAコンパイルされた設計を作るために、前記MISAコンパイラで前記シミュレートされた設計をコンパイルした後に、前記第2のコンパイラで前記MISAコンパイルされた設計をコンパイルする工程を含む、方法。
JP2014515970A 2011-06-14 2012-06-13 拡張可能な並列プロセッサのためのシステム、方法、および、装置 Pending JP2014523569A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 西安电子科技大学 一种基于指令预取的多核共享存储器控制设备

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