JP5514211B2 - 分岐オーバーライドを用いたプロセッサ実行のシミュレーション - Google Patents
分岐オーバーライドを用いたプロセッサ実行のシミュレーション Download PDFInfo
- Publication number
- JP5514211B2 JP5514211B2 JP2011525640A JP2011525640A JP5514211B2 JP 5514211 B2 JP5514211 B2 JP 5514211B2 JP 2011525640 A JP2011525640 A JP 2011525640A JP 2011525640 A JP2011525640 A JP 2011525640A JP 5514211 B2 JP5514211 B2 JP 5514211B2
- Authority
- JP
- Japan
- Prior art keywords
- branch
- processor
- guidance
- execution
- instruction
- 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
- 238000004088 simulation Methods 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 description 6
- 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
- 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
- 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
- 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)
Description
に関する。
Claims (15)
- プロセッサの実行をシミュレーションする方法であって、
プロセッサ命令を当該プロセッサ命令が分岐命令であるかを判断するためにデコードすること、
分岐オーバーライドロジックからの分岐案内を要求することにより分岐命令をシミュレーションすること、
前記要求に応答して前記分岐オーバーライドロジックから分岐案内を受信すること、
前記分岐オーバーライドロジックからの前記分岐案内に従って前記分岐命令の実行をシミュレーションすること、を含み、
前記分岐オーバーライドロジックから受信される前記分岐案内は1ビットからなる、方法。 - 分岐オーバーライドロジックからの分岐案内を要求することは、分岐命令アドレスを前記分岐オーバーライドロジックに提供することを含む、請求項1に記載の方法。
- 分岐オーバーライドロジックからの分岐案内を要求することは、さらに、分岐ターゲットアドレスを前記分岐オーバーライドロジックに提供することを含む、請求項2に記載の方法。
- 前記分岐オーバーライドロジックから受信される前記分岐案内は、オーバーライド分岐ターゲットアドレスを含む、請求項1に記載の方法。
- 前記分岐オーバーライドロジックからの前記分岐案内に応じて前記プロセッサ命令の実行をシミュレーションすることは、前記オーバーライド分岐ターゲットアドレスを起点とする1または2以上の命令の実行をシミュレーションすることを含む、請求項4に記載の方法。
- ターゲットプロセッサの特性に従ってプロセッサ命令の実行をシミュレーションし、分岐命令のデコードが行われて分岐案内を要求し、前記要求に応答して分岐案内を受信し、前記分岐案内に従って前記分岐命令の実行をシミュレーションするプロセッサ実行部と、
分岐案内要求を前記プロセッサ実行部から受信し、前記要求に応答して分岐案内を供給する分岐オーバーライドロジックと、を有し、
前記分岐案内は1ビットからなる、プロセッサシミュレーションシステム。 - 前記分岐オーバーライドロジックによりアクセス可能である命令実行トレースをさらに有し、前記命令実行トレースは、前記ターゲットプロセッサと互換性のあるプロセッサにより以前に実行された命令を含む、請求項6に記載のプロセッサシミュレーションシステム。
- 前記プロセッサ実行部が命令を読み出す命令ストアをさらに有する、請求項6に記載のプロセッサシミュレーションシステム。
- 前記命令ストアは命令キャッシュである、請求項8に記載のプロセッサシミュレーションシステム。
- 前記分岐案内要求はシミュレーションされている分岐命令のアドレスを含む、請求項6に記載のプロセッサシミュレーションシステム。
- 前記分岐案内要求は分岐ターゲットアドレスをさらに有する、請求項10に記載のプロセッサシミュレーションシステム。
- 前記分岐案内はオーバーライド分岐ターゲットアドレスを有する、請求項6に記載のプロセッサシミュレーションシステム。
- 前記プロセッサ実行部は、前記分岐案内に従い、前記オーバーライド分岐ターゲットアドレスの起点から1または2以上の命令の実行のシミュレーションにより、前記分岐命令の実行をシミュレーションする、請求項12に記載のプロセッサシミュレーションシステム。
- 共同してターゲットプロセッサの特性に従ってプロセッサ命令の実行をシミュレーションする複数の機能ユニットを備えるプロセッサ実行装置であって、
分岐命令のデコードが行われて分岐案内を要求し、
前記要求に応答して分岐案内を受信し、
前記分岐案内に従って分岐命令の実行をシミュレーションし、
前記分岐案内は1ビットからなる、プロセッサ実行装置。 - 前記分岐案内は、オーバーライド分岐ターゲットアドレスを含み、
前記複数の機能ユニットは、前記分岐案内に従い、前記オーバーライド分岐ターゲットアドレスの起点から1または2以上の命令の実行のシミュレーションにより、前記分岐命令の実行を共同してシミュレーションする、請求項14に記載のプロセッサ実行装置。
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 JP2012502340A (ja) | 2012-01-26 |
JP5514211B2 true 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 JP JP2011525640A patent/JP5514211B2/ja active Active
- 2009-09-04 KR KR1020117007762A patent/KR20110081964A/ko not_active Application Discontinuation
- 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 CN CN2009801344579A patent/CN102144232A/zh active Pending
- 2009-09-04 EP EP09786219A patent/EP2335170A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20110081964A (ko) | 2011-07-15 |
WO2010026475A1 (en) | 2010-03-11 |
CN102144232A (zh) | 2011-08-03 |
US20100057427A1 (en) | 2010-03-04 |
JP2012502340A (ja) | 2012-01-26 |
EP2335170A1 (en) | 2011-06-22 |
MX2011001796A (es) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5514211B2 (ja) | 分岐オーバーライドを用いたプロセッサ実行のシミュレーション | |
US5941991A (en) | Method of estimating power consumption of each instruction processed by a microprocessor | |
US8612944B2 (en) | Code evaluation for in-order processing | |
JP2007249974A (ja) | プロセッサ設計を特徴付けるための方法、装置、論理プログラム及びシステム | |
US9342334B2 (en) | Simulating vector execution | |
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 | |
Castillo et al. | Fast instruction cache modeling for approximate timed HW/SW co-simulation | |
CN113868068B (zh) | 一种内核性能测试方法、计算设备及存储介质 | |
US9658849B2 (en) | Processor simulation environment | |
US9817763B2 (en) | Method of establishing pre-fetch control information from an executable code and an associated NVM controller, a device, a processor system and computer program products | |
JP5040625B2 (ja) | Lsiの電力見積方法及びその装置 | |
US20120185231A1 (en) | Cycle-Count-Accurate (CCA) Processor Modeling for System-Level Simulation | |
US8438003B2 (en) | Methods for improved simulation of integrated circuit designs | |
Condia et al. | Evaluating the impact of transition delay faults in gpus | |
Bogdanov | Look-up table-based microprocessor energy model | |
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 | |
US20200057707A1 (en) | Methods and apparatus for full-system performance simulation | |
Bratsaki et al. | Performance Evaluation of an Enhanced x86 Microprocessor Model with Data and Instruction Cache Prefetchers | |
Ibrahim et al. | Power consumption model at functional level for VLIW digital signal processors |
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 |