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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 (8)
| 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 | 浙江大学 | 一种程序路径的层次化匹配方法、装置、设备及存储介质 |
| TWI880832B (zh) * | 2024-08-02 | 2025-04-11 | 國立成功大學 | 具有安全分支預測功能的處理器及安全分支預測方法 |
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 KR KR1020117007762A patent/KR20110081964A/ko not_active Withdrawn
- 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 EP EP09786219A patent/EP2335170A1/en not_active Withdrawn
- 2009-09-04 WO PCT/IB2009/006759 patent/WO2010026475A1/en not_active Ceased
- 2009-09-04 CN CN2009801344579A patent/CN102144232A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| MX2011001796A (es) | 2011-03-30 |
| KR20110081964A (ko) | 2011-07-15 |
| WO2010026475A1 (en) | 2010-03-11 |
| CN102144232A (zh) | 2011-08-03 |
| JP2012502340A (ja) | 2012-01-26 |
| US20100057427A1 (en) | 2010-03-04 |
| EP2335170A1 (en) | 2011-06-22 |
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 | |
| CN108885579B (zh) | 用于根据核追踪进行数据挖掘的方法和设备 | |
| Herdt et al. | Fast and Accurate Performance Evaluation for RISC-V using Virtual Prototypes*. | |
| US9342334B2 (en) | Simulating vector execution | |
| US20120029900A1 (en) | Simulation method and system for simulating a multi-core hardware platform | |
| CN113868068B (zh) | 一种内核性能测试方法、计算设备及存储介质 | |
| US9658849B2 (en) | Processor simulation environment | |
| JP5040625B2 (ja) | Lsiの電力見積方法及びその装置 | |
| CN102520984A (zh) | 目标软件在指定硬件环境中最差时间的计算方法 | |
| US20140258688A1 (en) | Benchmark generation using instruction execution information | |
| Tovar et al. | Survey of RISC-V pipelines and testers | |
| US8438003B2 (en) | Methods for improved simulation of integrated circuit designs | |
| US20120185231A1 (en) | Cycle-Count-Accurate (CCA) Processor Modeling for System-Level Simulation | |
| Condia et al. | Evaluating the impact of transition delay faults in gpus | |
| Arafa et al. | Ppt-gpu: Performance prediction toolkit for gpus identifying the impact of caches | |
| Ma et al. | Performance estimation techniques with mpsoc transaction-accurate models | |
| US20200057707A1 (en) | Methods and apparatus for full-system performance simulation | |
| CN102132278B (zh) | 使用指令追踪或标出的处理器仿真 | |
| Matraszek et al. | CMEmu: Synthesizing a Cycle-Exact Model of Program Execution on ARM Cortex-M from In-Code Timing Measurements | |
| GB2639733A (en) | Technique for generating tests for a processing device | |
| Bratsaki et al. | Performance Evaluation of an Enhanced x86 Microprocessor Model with Data and Instruction Cache Prefetchers | |
| WO2012042077A1 (es) | Metodo y sistema de modelado de memoria cache | |
| Alizai et al. | Tools and modeling approaches for simulating hardware and systems |
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 |