WO2007087270A3 - Processor having a data mover engine that associates register addresses with memory addresses - Google Patents
Processor having a data mover engine that associates register addresses with memory addresses Download PDFInfo
- Publication number
- WO2007087270A3 WO2007087270A3 PCT/US2007/001702 US2007001702W WO2007087270A3 WO 2007087270 A3 WO2007087270 A3 WO 2007087270A3 US 2007001702 W US2007001702 W US 2007001702W WO 2007087270 A3 WO2007087270 A3 WO 2007087270A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- addresses
- tie
- instructions
- processor
- data
- Prior art date
Links
- 230000009977 dual effect Effects 0.000 abstract 2
- 230000000694 effects Effects 0.000 abstract 1
- 230000004044 response Effects 0.000 abstract 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
-
- 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, 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
Abstract
A RISC processor having a data moving engine and instructions that associate register addresses with memory addresses. In an embodiment, the instructions include a read-tie instruction, a single write-tie instruction, a dual write-tie instruction, and an untie instruction. The read-tie, single write-tie, and dual write-tie instructions are used to associate software accessible register addresses with memory addresses. These associations effect the operation of the data moving engine such that, for the duration of the associations, the data moving engine routes data to and from associated memory addresses and the execution unit of the processor in response to instructions that specify moving data to and from the associated register addresses. The invention reduces the number of instructions and hardware overhead associated with implementing program loops in a RISC processor.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/336,938 US7721075B2 (en) | 2006-01-23 | 2006-01-23 | Conditional branch execution in a processor having a write-tie instruction and a data mover engine that associates register addresses with memory addresses |
US11/336,937 | 2006-01-23 | ||
US11/336,923 | 2006-01-23 | ||
US11/336,923 US7721073B2 (en) | 2006-01-23 | 2006-01-23 | Conditional branch execution in a processor having a data mover engine that associates register addresses with memory addresses |
US11/336,937 US7721074B2 (en) | 2006-01-23 | 2006-01-23 | Conditional branch execution in a processor having a read-tie instruction and a data mover engine that associates register addresses with memory addresses |
US11/336,938 | 2006-01-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2007087270A2 WO2007087270A2 (en) | 2007-08-02 |
WO2007087270A3 true WO2007087270A3 (en) | 2007-12-27 |
Family
ID=38057879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2007/001702 WO2007087270A2 (en) | 2006-01-23 | 2007-01-22 | Processor having a data mover engine that associates register addresses with memory addresses |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2007087270A2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346558B2 (en) | 2017-06-22 | 2019-07-09 | International Business Machines Corporation | Integrated circuit buffering solutions considering sink delays |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067601A (en) * | 1997-11-03 | 2000-05-23 | Brecis Communications | Cache memory based instruction execution |
US6178182B1 (en) * | 1996-08-29 | 2001-01-23 | Siemens Aktiengesellschaft | Method and communication system for the transmission of compressed voice information in a communication network |
-
2007
- 2007-01-22 WO PCT/US2007/001702 patent/WO2007087270A2/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178182B1 (en) * | 1996-08-29 | 2001-01-23 | Siemens Aktiengesellschaft | Method and communication system for the transmission of compressed voice information in a communication network |
US6067601A (en) * | 1997-11-03 | 2000-05-23 | Brecis Communications | Cache memory based instruction execution |
Non-Patent Citations (1)
Title |
---|
POSTIFF M ET AL: "The store-load address table and speculative register promotion", MICRO-33. PROCEEDINGS OF THE 33RD. ANNUAL ACM/IEEE INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE. MONTEREY, CA, DEC. 10 - 13, 2000, PROCEEDINGS OF THE ANNUAL ACM/IEEE INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, LOS ALAMITOS, CA : IEEE COMP. SOC, US, 10 December 2000 (2000-12-10), pages 235 - 244, XP010528891, ISBN: 0-7695-0924-X * |
Also Published As
Publication number | Publication date |
---|---|
WO2007087270A2 (en) | 2007-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI590076B (en) | Processor, system, method and device for a binary translation mechanism for control-flow security | |
WO2005008410A3 (en) | Programmable processor and method with wide operations | |
GB2481567A (en) | Unpacking packed data in multiple lanes | |
WO2006101572A3 (en) | The generation of multiple checkpoints in a processor that supports speculative execution | |
EP2339455A3 (en) | Multithreaded processor with interleaved instruction pipelines | |
WO2006089194A3 (en) | Unaligned memory access prediction | |
WO2008003930A3 (en) | Techniques for program execution | |
WO2007095397A3 (en) | Programmable processing unit | |
TW200705266A (en) | System and method wherein conditional instructions unconditionally provide output | |
WO2007065307A3 (en) | Handling a device related operation in a virtualization environment | |
WO2008005825A3 (en) | Methods, systems, and computer program products for providing access to addressable entities using a non-sequential virtual address space | |
WO2014009689A3 (en) | Controlling an order for processing data elements during vector processing | |
EP1821201A3 (en) | Graphics processing unit used for cryptographic processing | |
WO2010078187A3 (en) | State history storage for synchronizing redundant processors | |
WO2009136080A3 (en) | System and method for securing a computer comprising a microcore | |
WO2007107707A3 (en) | Computer architecture | |
GB201014318D0 (en) | Improved processor architecture | |
WO2006007075A3 (en) | Selectively performing fetches for store operations during speculative execution | |
WO2012061090A3 (en) | Conditional execution of regular expressions | |
EP2796990A3 (en) | Apparatus and method for supporting multi-modes of processor | |
WO2017052811A3 (en) | Secure modular exponentiation processors, methods, systems, and instructions | |
FR2970099B1 (en) | METHOD FOR LOADING A CODE OF AT LEAST ONE SOFTWARE MODULE | |
WO2007134013A3 (en) | Method and system to combine corresponding half word units from multiple register units within a microprocessor | |
GB2436499B (en) | Evalutation unit for single instruction, multiple data execution engine flag registers | |
WO2014028663A3 (en) | Protection scheme for embedded code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07716901 Country of ref document: EP Kind code of ref document: A2 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 07716901 Country of ref document: EP Kind code of ref document: A2 |