JP4405095B2 - 非順序プロセッサのための命令検索及びポート割り当て(fiap)回路とその方法 - Google Patents
非順序プロセッサのための命令検索及びポート割り当て(fiap)回路とその方法 Download PDFInfo
- Publication number
- JP4405095B2 JP4405095B2 JP2001023626A JP2001023626A JP4405095B2 JP 4405095 B2 JP4405095 B2 JP 4405095B2 JP 2001023626 A JP2001023626 A JP 2001023626A JP 2001023626 A JP2001023626 A JP 2001023626A JP 4405095 B2 JP4405095 B2 JP 4405095B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- logic
- slot
- port
- 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.)
- Expired - Fee Related
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- 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/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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/3824—Operand accessing
-
- 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
-
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/497,533 US6892294B1 (en) | 2000-02-03 | 2000-02-03 | Identifying execution ready instructions and allocating ports associated with execution resources in an out-of-order processor |
| US09/497533 | 2000-02-03 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2001216157A JP2001216157A (ja) | 2001-08-10 |
| JP2001216157A5 JP2001216157A5 (enExample) | 2006-11-30 |
| JP4405095B2 true JP4405095B2 (ja) | 2010-01-27 |
Family
ID=23977240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001023626A Expired - Fee Related JP4405095B2 (ja) | 2000-02-03 | 2001-01-31 | 非順序プロセッサのための命令検索及びポート割り当て(fiap)回路とその方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6892294B1 (enExample) |
| JP (1) | JP4405095B2 (enExample) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12517733B2 (en) * | 2024-02-28 | 2026-01-06 | Arm Limited | Circuits and methods for picking multiple ready instructions per cycle |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5838942A (en) | 1996-03-01 | 1998-11-17 | Hewlett-Packard Company | Panic trap system and method |
| US5758178A (en) * | 1996-03-01 | 1998-05-26 | Hewlett-Packard Company | Miss tracking system and method |
| US5761713A (en) | 1996-03-01 | 1998-06-02 | Hewlett-Packard Co. | Address aggregation system and method for increasing throughput to a multi-banked data cache from a processor by concurrently forwarding an address to each bank |
| US5809275A (en) | 1996-03-01 | 1998-09-15 | Hewlett-Packard Company | Store-to-load hazard resolution system and method for a processor that executes instructions out of order |
| US5796997A (en) | 1996-05-15 | 1998-08-18 | Hewlett-Packard Company | Fast nullify system and method for transforming a nullify function into a select function |
| US5799167A (en) | 1996-05-15 | 1998-08-25 | Hewlett-Packard Company | Instruction nullification system and method for a processor that executes instructions out of order |
| US5796975A (en) | 1996-05-24 | 1998-08-18 | Hewlett-Packard Company | Operand dependency tracking system and method for a processor that executes instructions out of order |
| US5761474A (en) | 1996-05-24 | 1998-06-02 | Hewlett-Packard Co. | Operand dependency tracking system and method for a processor that executes instructions out of order |
| US5748934A (en) | 1996-05-31 | 1998-05-05 | Hewlett-Packard Company | Operand dependency tracking system and method for a processor that executes instructions out of order and that permits multiple precision data words |
| US5875340A (en) | 1996-05-31 | 1999-02-23 | Hewlett-Packard Company | Optimized storage system and method for a processor that executes instructions out of order |
| US6289437B1 (en) * | 1997-08-27 | 2001-09-11 | International Business Machines Corporation | Data processing system and method for implementing an efficient out-of-order issue mechanism |
| US6308260B1 (en) * | 1998-09-17 | 2001-10-23 | International Business Machines Corporation | Mechanism for self-initiated instruction issuing and method therefor |
-
2000
- 2000-02-03 US US09/497,533 patent/US6892294B1/en not_active Expired - Lifetime
-
2001
- 2001-01-31 JP JP2001023626A patent/JP4405095B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6892294B1 (en) | 2005-05-10 |
| JP2001216157A (ja) | 2001-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10114652B2 (en) | Processor with hybrid pipeline capable of operating in out-of-order and in-order modes | |
| US8145885B2 (en) | Apparatus for randomizing instruction thread interleaving in a multi-thread processor | |
| US6173369B1 (en) | Computer system for processing multiple requests and out of order returns using a request queue | |
| US6065105A (en) | Dependency matrix | |
| CN1294484C (zh) | 利用重新调度的重放队列中断处理器中的重放依赖关系循环 | |
| CN103970505B (zh) | 具有多个子寄存器文件的寄存器文件 | |
| JP2007141246A (ja) | ベクトルマスク設定技術 | |
| JPH02234229A (ja) | ソース・リスト、ポインタ・キューおよび結果キュー | |
| KR102524565B1 (ko) | 로드 스토어 유닛들을 바이패싱하여 스토어 및 로드 추적 | |
| US6317806B1 (en) | Static queue and index queue for storing values identifying static queue locations | |
| US20090157944A1 (en) | Tracking store ordering hazards in an out-of-order store queur | |
| US20040216103A1 (en) | Mechanism for detecting and handling a starvation of a thread in a multithreading processor environment | |
| US7725659B2 (en) | Alignment of cache fetch return data relative to a thread | |
| CN114995884B (zh) | 指令退休单元、指令执行单元及相关装置和方法 | |
| JP4405095B2 (ja) | 非順序プロセッサのための命令検索及びポート割り当て(fiap)回路とその方法 | |
| US10592517B2 (en) | Ranking items | |
| HUT75816A (en) | Method of operation of a system for processing information, as well as the processing system | |
| US7398375B2 (en) | Technique for reduced-tag dynamic scheduling and reduced-tag prediction | |
| US7900023B2 (en) | Technique to enable store forwarding during long latency instruction execution | |
| US5784639A (en) | Load buffer integrated dynamic decoding logic | |
| US6725332B2 (en) | Hierarchical priority filter with integrated serialization for determining the entry with the highest priority in a buffer memory | |
| KR19980079726A (ko) | 프로세서에 저장 인스트럭션을 전송하는 시스템 및 방법 | |
| US7013366B2 (en) | Parallel search technique for store operations | |
| US7509482B2 (en) | Orderly processing ready entries from non-sequentially stored entries using arrival order matrix reordered upon removal of processed entries | |
| JP2006099770A (ja) | シングルポートメモリを使用した命令キャッシュ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061006 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061006 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080604 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080910 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081014 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090114 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090119 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090409 |
|
| 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: 20091020 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091104 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4405095 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131113 Year of fee payment: 4 |
|
| 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 |
|
| 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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |