Flexible Microprocessor Register File

a microprocessor and register file technology, applied in the field of programmable circuits, can solve the problems of obviating the benefits of using a vector, difficult to apply stall conditions for instructions that use indirect access, and register may not be known

Inactive Publication Date: 2008-04-03
RPX CORP
View PDF0 Cites 13 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0002]A vector processor or array processor is a CPU design that is able to run mathematical operations on multiple data elements simultaneously. A serial vector is a sequence of data held in registers that are processed by the same instruction. For example, a single instruction may cause four registers to be added to another four and the result written to a further four. A parallel vector holds several data items within the same register, each of which ahs the same instruction applied to it. Vector processing improves code density and allows optimizations that improve performance.
[0007]The present application discloses a register file input / output configuration in which a variety of data transpositions are available at minimum power. Power is conserved by avoiding register-to-register data transfers; instead, the sequencer provides executable microinstructions which imply a variety of apparent data formats (as seen by the data channel), without unnecessary physical transfers of data.
[0008]Various disclosed embodiments provide new ways for microprocessor register-files to be accessible, in multiple formats in order to reduce the number of program instructions required during byte, word and long word data reformatting. The disclosed innovations, in various embodiments, provide one or more of at least the following advantages:

Problems solved by technology

A common problem suffered by vector processors is the need to organize data within the register file such that the same instruction may be applied to a series of registers.
It is common to spend several instructions re-arranging data to make it suitable for vector processing and this overhead may obviate the benefits of using a vector.
Yet another problem arises when a program instruction indirectly accesses a register.
Scoreboarding stalls these instructions, so the program need not manage stalling.
However, if a register is to be accessed indirectly by a program instruction, the register may not be known until it is too late—until after the stall condition would normally have already been applied.
Without knowing the register at that earlier time, it is difficult to apply stall conditions for instructions that use indirect access.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Flexible Microprocessor Register File
  • Flexible Microprocessor Register File
  • Flexible Microprocessor Register File

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0019]The numerous innovative teachings of the present application will be described with particular reference to the presently preferred embodiment (by way of example, and not of limitation).

Transposable Register-File Operation

[0020]The transposable register-file is a novel microprocessor register-file data organization scheme which overcomes many of the disadvantages of traditional data organization in microprocessor register-file, and which has the benefits of allowing a microprocessor register-file to be viewed in multiple formats with a reduction of the number of program instructions required during byte, word and long word data reformatting. The preferred embodiment supports both byte-transpose and word-transpose.

[0021]Byte-Transpose Register File

[0022]FIG. 1 shows how four consecutive registers are viewed with byte-transpose enabled. With reference to FIG. 1, left hand side (110) illustrates those registers before transpose enabled. Each row in FIG. 1 represents one register ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

Architectures and methods for viewing data in multiple formats within a register file. Various disclosed embodiments allow a plurality of consecutive registers within one register file to appear to be temporarily transposed by one instruction, such that each transposed register contains one byte or word from multiple consecutive registers. A program can arbitrarily reorganize the bytes within a register by swapping the value stored in any byte within the register with the value stored in any other byte within the same register. Indirect register access is also provided, without additional scoreboarding hardware, as an apparent move from one register to another. The functionality of a hardware data FIFO at the I / O is also provided, without the power consumption of register-to-register transfers. However, the size of the FIFO can be changed under program control.

Description

BACKGROUND AND SUMMARY[0001]The present application relates to programmable circuits, and more particularly to I / O circuitry with selectable data reordering for graphics.[0002]A vector processor or array processor is a CPU design that is able to run mathematical operations on multiple data elements simultaneously. A serial vector is a sequence of data held in registers that are processed by the same instruction. For example, a single instruction may cause four registers to be added to another four and the result written to a further four. A parallel vector holds several data items within the same register, each of which ahs the same instruction applied to it. Vector processing improves code density and allows optimizations that improve performance.[0003]A common problem suffered by vector processors is the need to organize data within the register file such that the same instruction may be applied to a series of registers. Register files generally only allow simultaneous access to a...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(United States)
IPC IPC(8): G06F9/44
CPCG06F9/30032G06F9/30036G06F9/30098G06F9/30134G06F9/30141G06F9/30109G06F9/30038
Inventor BLOOMFIELD, JONATHANROBSON, JOHNMURPHY, NICK
Owner RPX CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products