JP2012502340A - 分岐オーバーライドを用いたプロセッサ実行のシミュレーション - Google Patents
分岐オーバーライドを用いたプロセッサ実行のシミュレーション Download PDFInfo
- Publication number
- JP2012502340A JP2012502340A JP2011525640A JP2011525640A JP2012502340A JP 2012502340 A JP2012502340 A JP 2012502340A JP 2011525640 A JP2011525640 A JP 2011525640A JP 2011525640 A JP2011525640 A JP 2011525640A JP 2012502340 A JP2012502340 A JP 2012502340A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- processor
- execution
- instruction
- guidance
- 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
- 238000004088 simulation Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000011156 evaluation Methods 0.000 abstract description 7
- 230000006399 behavior Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- 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
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/10—Processors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
Abstract
【選択図】図1
Description
に関する。
Claims (17)
- プロセッサの実行をシミュレーションする方法であって、
プロセッサ命令を当該命令が分岐命令であるかを判断するためにデコードすること、
分岐オーバーライドロジックからの分岐案内を要求することにより分岐命令をシミュレーションすること、
前記要求に応答して前記分岐オーバーライドロジックから分岐案内を受信すること、
前記分岐オーバーライドロジックからの前記分岐案内に従って前記分岐命令の実行をシミュレーションすること、を含む方法。 - 分岐オーバーライドロジックからの分岐案内を要求することは、分岐命令アドレスを前記オーバーライドロジックに提供することを含む、請求項1に記載の方法。
- 分岐オーバーライドロジックからの分岐案内を要求することは、さらに、分岐ターゲットアドレスを前記オーバーライドロジックに提供することを含む、請求項2に記載の方法。
- 前記分岐オーバーライドロジックから受信される前記分岐案内は、オーバーライド分岐ターゲットアドレスを含む、請求項1に記載の方法。
- 前記分岐オーバーライドロジックからの前記分岐案内に応じて前記分岐プロセッサ命令の実行をシミュレーションすることは、前記オーバーライド分岐ターゲットアドレスを起点とする1または2以上の命令の実行をシミュレーションすることを含む、請求項5に記載の方法。
- 分岐オーバーライドロジックから受信される前記分岐案内は1ビットからなる、請求項1に記載の方法。
- ターゲットプロセッサの特性に従ってプロセッサ命令の実行をシミュレーションし、分岐命令のデコードが行われて分岐案内を要求し、前記要求に応答して分岐案内を受信し、前記分岐案内に従って前記分岐命令の実行をシミュレーションするプロセッサ実行モデルと、
分岐案内要求を前記プロセッサ実行モデルから受信し、前記要求に応答して分岐案内を供給する分岐オーバーライドロジックと、を有するプロセッサシミュレーション環境。 - 前記分岐オーバーライドロジックによりアクセス可能である命令実行トレースをさらに有し、前記命令実行トレースは、前記ターゲットプロセッサと互換性のあるプロセッサにより以前に実行された命令を含む、請求項7に記載のプロセッサシミュレーション環境。
- 前記プロセッサ実行モデルが命令を読み出す命令ストアをさらに有する、請求項7に記載のプロセッサシミュレーション環境。
- 前記命令ストアモデルは命令キャッシュである、請求項7に記載のプロセッサシミュレーション環境。
- 前記分岐案内要求はシミュレーションされている分岐命令のアドレスを含む、請求項7に記載のプロセッサシミュレーション環境。
- 前記分岐案内要求は分岐ターゲットアドレスをさらに有する、請求項11に記載のプロセッサシミュレーション環境。
- 前記分岐案内はオーバーライド分岐ターゲットアドレスを有する、請求項7に記載のプロセッサシミュレーション環境。
- 前記プロセッサ実行モデルは、前記分岐案内に従い、前記オーバーライド分岐ターゲットアドレスの起点から1または2以上の命令の実行のシミュレーションにより、前記分岐命令の実行をシミュレーションする、請求項13に記載のプロセッサシミュレーション環境。
- 前記分岐案内は1ビットからなる、請求項7に記載のプロセッサシミュレーション環境。
- 共同してターゲットプロセッサの特性に従ってプロセッサ命令の実行をシミュレーションする複数の機能ユニットモデルを備えるプロセッサ実行モデルであって、
分岐命令のデコードが行われて分岐案内を要求し、
前記要求に応答して分岐案内を受信し、
前記分岐案内に従って分岐命令の実行をシミュレーションする、プロセッサ実行モデル。 - 前記分岐案内は、オーバーライド分岐ターゲットアドレスを含み、
前記複数の機能ユニットモデルは、前記分岐案内に従い、前記オーバーライド分岐ターゲットアドレスの起点から1または2以上の命令の実行のシミュレーションにより、前記分岐命令の実行を共同してシミュレーションする、請求項16に記載のプロセッサ実行モデル。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/204,047 US20100057427A1 (en) | 2008-09-04 | 2008-09-04 | Simulated processor execution using branch override |
US12/204,047 | 2008-09-04 | ||
PCT/IB2009/006759 WO2010026475A1 (en) | 2008-09-04 | 2009-09-04 | Simulated processor execution using branch override |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012502340A true JP2012502340A (ja) | 2012-01-26 |
JP5514211B2 JP5514211B2 (ja) | 2014-06-04 |
Family
ID=41528650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011525640A Active JP5514211B2 (ja) | 2008-09-04 | 2009-09-04 | 分岐オーバーライドを用いたプロセッサ実行のシミュレーション |
Country Status (7)
Country | Link |
---|---|
US (1) | US20100057427A1 (ja) |
EP (1) | EP2335170A1 (ja) |
JP (1) | JP5514211B2 (ja) |
KR (1) | KR20110081964A (ja) |
CN (1) | CN102144232A (ja) |
MX (1) | MX2011001796A (ja) |
WO (1) | WO2010026475A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8966324B2 (en) * | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US9256451B2 (en) * | 2012-06-29 | 2016-02-09 | Oracle International Corporation | Emulation time correction |
CN106383926A (zh) * | 2016-08-29 | 2017-02-08 | 北京中电华大电子设计有限责任公司 | 一种基于Cortex‑M系列处理器的指令预取方法及电路 |
CN110472372B (zh) * | 2019-09-10 | 2020-12-11 | 中国石油大学(北京) | 基于双重介质的渗透率预测方法及系统 |
CN111324948B (zh) * | 2020-02-10 | 2023-04-25 | 上海兆芯集成电路有限公司 | 模拟方法及模拟系统 |
KR102324259B1 (ko) * | 2021-07-02 | 2021-11-10 | 주식회사 페이크아이즈 | 복수의 플랫폼을 단일 소스코드로 개발 가능한 플랫폼 통합 sdk 제공 방법 및 장치 |
CN116302994B (zh) * | 2023-02-28 | 2023-10-10 | 浙江大学 | 一种程序路径的层次化匹配方法、装置、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
US6662360B1 (en) * | 1999-09-27 | 2003-12-09 | International Business Machines Corporation | Method and system for software control of hardware branch prediction mechanism in a data processor |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US6263302B1 (en) * | 1999-10-29 | 2001-07-17 | Vast Systems Technology Corporation | Hardware and software co-simulation including simulating the cache of a target processor |
US7152154B2 (en) * | 2003-01-16 | 2006-12-19 | Ip-First, Llc. | Apparatus and method for invalidation of redundant branch target address cache entries |
WO2006054265A2 (en) * | 2004-11-19 | 2006-05-26 | Koninklijke Philips Electronics, N.V. | Co-simulation of a processor design |
US7870369B1 (en) * | 2005-09-28 | 2011-01-11 | Oracle America, Inc. | Abort prioritization in a trace-based processor |
US7840397B2 (en) * | 2005-12-02 | 2010-11-23 | Derek Chiou | Simulation method |
-
2008
- 2008-09-04 US US12/204,047 patent/US20100057427A1/en not_active Abandoned
-
2009
- 2009-09-04 WO PCT/IB2009/006759 patent/WO2010026475A1/en active Application Filing
- 2009-09-04 MX MX2011001796A patent/MX2011001796A/es not_active Application Discontinuation
- 2009-09-04 JP JP2011525640A patent/JP5514211B2/ja active Active
- 2009-09-04 CN CN2009801344579A patent/CN102144232A/zh active Pending
- 2009-09-04 KR KR1020117007762A patent/KR20110081964A/ko not_active Application Discontinuation
- 2009-09-04 EP EP09786219A patent/EP2335170A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20110081964A (ko) | 2011-07-15 |
EP2335170A1 (en) | 2011-06-22 |
WO2010026475A1 (en) | 2010-03-11 |
MX2011001796A (es) | 2011-03-30 |
JP5514211B2 (ja) | 2014-06-04 |
US20100057427A1 (en) | 2010-03-04 |
CN102144232A (zh) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5941991A (en) | Method of estimating power consumption of each instruction processed by a microprocessor | |
JP5514211B2 (ja) | 分岐オーバーライドを用いたプロセッサ実行のシミュレーション | |
US7558719B1 (en) | System and method for runtime analysis of system models for variable fidelity performance analysis | |
JP5298444B2 (ja) | プロセッサ設計を特徴付けるための方法、装置、論理プログラム及びシステム | |
US8612944B2 (en) | Code evaluation for in-order processing | |
US11636122B2 (en) | Method and apparatus for data mining from core traces | |
Herdt et al. | Fast and accurate performance evaluation for RISC-V using virtual prototypes | |
US20120029900A1 (en) | Simulation method and system for simulating a multi-core hardware platform | |
JPH1196130A (ja) | マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体 | |
CN113868068A (zh) | 一种内核性能测试方法、计算设备及存储介质 | |
Atitallah et al. | MPSoC power estimation framework at transaction level modeling | |
CN104020982A (zh) | 具有高效返回预测能力的分支目标缓冲器 | |
US9658849B2 (en) | Processor simulation environment | |
JP5040625B2 (ja) | Lsiの電力見積方法及びその装置 | |
CN115858092A (zh) | 时序仿真方法、装置及系统 | |
US20120185231A1 (en) | Cycle-Count-Accurate (CCA) Processor Modeling for System-Level Simulation | |
US8438003B2 (en) | Methods for improved simulation of integrated circuit designs | |
Arafa et al. | Ppt-gpu: Performance prediction toolkit for gpus identifying the impact of caches | |
US20140258688A1 (en) | Benchmark generation using instruction execution information | |
Ma et al. | Performance estimation techniques with mpsoc transaction-accurate models | |
US20110119044A1 (en) | Processor simulation using instruction traces or markups | |
Saeed | Analysis of Full Window Stalls using SPEC CPU 2017 and Processor Characterization for Runahead Execution | |
Elhossini et al. | Architecture Exploration Based on GA‐PSO Optimization, ANN Modeling, and Static Scheduling | |
Posadas et al. | Static Write Buffer Cache Modeling to Increase Host-Compiled Simulation Accuracy | |
Bratsaki et al. | Performance Evaluation of an Enhanced x86 Microprocessor Model with Data and Instruction Cache Prefetchers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140217 |
|
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: 20140311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5514211 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 |