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 PDF

Info

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
Application number
PCT/US2007/001702
Other languages
French (fr)
Other versions
WO2007087270A2 (en
Inventor
Karagada Ramarao Kishore
Kevin D Kissell
Radhika Thekkath
Vidya Rajagopalan
Georgi Zlatkov Beloev
Original Assignee
Mips Tech Inc
Karagada Ramarao Kishore
Kevin D Kissell
Radhika Thekkath
Vidya Rajagopalan
Georgi Zlatkov Beloev
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US11/336,938 external-priority patent/US7721075B2/en
Priority claimed from US11/336,923 external-priority patent/US7721073B2/en
Priority claimed from US11/336,937 external-priority patent/US7721074B2/en
Application filed by Mips Tech Inc, Karagada Ramarao Kishore, Kevin D Kissell, Radhika Thekkath, Vidya Rajagopalan, Georgi Zlatkov Beloev filed Critical Mips Tech Inc
Publication of WO2007087270A2 publication Critical patent/WO2007087270A2/en
Publication of WO2007087270A3 publication Critical patent/WO2007087270A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register 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.
PCT/US2007/001702 2006-01-23 2007-01-22 Processor having a data mover engine that associates register addresses with memory addresses WO2007087270A2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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