Electrical computers and digital processing systems: processing – Processing architecture – Vector processor
Reexamination Certificate
1998-04-17
2001-12-25
Niebling, John F. (Department: 2812)
Electrical computers and digital processing systems: processing
Processing architecture
Vector processor
Reexamination Certificate
active
06334176
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates in general to a method and system for data processing, and in particular to a method and system for loading vector data into a vector register file within a data processing system.
BACKGROUND OF THE INVENTION
Applications of modern computer systems are requiring greater speed and data handling capabilities for uses such as multimedia and scientific modeling. For example, multimedia systems generally are designed to perform video and audio data compression, decompression, and high-performance manipulation such as 3-dimensional imaging. Massive data manipulation and an extraordinary amount of high-performance arithmetic, including vector-matrix operations such as DOT product, vector cross-product and vector transposition, are required for performing graphic image rendering such as computer-generated 3-dimensional images.
To perform large vector-matrix operations at high speed in a register based system, a method of fast, efficient vector register loading is required. In modern data processing systems, a critical speed path is between the cache and the register file. Therefore, the load and store functions must be optimized to provide the greatest speed possible. As is done in the prior art, the load is performed by retrieving a cache block from a cache and loading it into a register file. In most systems, the data is re-aligned or shifted from the arbitrary alignment in the memory to a proper vector alignment in the register by passing the data through an alignment multiplexer placed in the data path between the memory and the register file. This alignment is required because a vector stored in memory is a sequential string of bytes that may have no natural alignment in memory. The alignment multiplexer shifts the input data into alignment prior to being loaded into the registers to assure that the data, which is retrieved from memory on an address boundary, is properly aligned to the beginning of the vector in the register. Thus, one limitation of the prior art high-speed data processing systems is the inclusion of an alignment multiplexer circuit in a critical data path, which creates inefficient register loading and reduces clock frequency.
In addition, to perform large vector-matrix operations at high speed, a method of fast and efficient data permutation is required. In a register-based computer architecture, permutation of data is commonly done by reading data from a register and rearranging the data into another register. In the prior art, such permutation of data is performed by loading input bytes (i.e. an input data vector) into a first register and loading a control vector into a second register. The control vector indicates how the input data vector is to be rearranged in an run
22
output register to implement a given function. Such systems limit the processor to performing unary serially dependent functions (e.g. Y=f1(f2(f3(f4(. . . f(A) . . . ), because only a single input operand is available. To perform a serially dependent vector computation, the control register is loaded with a control vector to perform the desired function and the input register is loaded with the previous result operand of the function chain. Therefore, another significant limitation of the prior art high-speed data processing systems is that there is no possibility of performing a mathematical operation of a serially dependent chain of binary (or higher N-ary) functions (e.g. Y=f1(f2(f3(f4(. . . f(A, B) . . . ) and thus severely limits the types of vector operations that the prior art processors can perform.
As will now be appreciated, it would be advantageous to provide a data processing system that allows a method of fast and efficient data permutation and register loading. Such a system would provide aligned data vectors within the register file without requiring an alignment multiplexer and therefore would increase processing speed. Further, it would be desirable for such a system to have the capability to execute a serially dependent chain of N-ary functions.
REFERENCES:
patent: 4888679 (1989-12-01), Fossum et al.
patent: 5175862 (1992-12-01), Phelps et al.
patent: 5513366 (1996-04-01), Agarwal
patent: 5526501 (1996-06-01), Shams
patent: 5640524 (1997-06-01), Beard et al.
patent: 5832288 (1998-11-01), Wong
patent: 5838984 (1998-11-01), Nguyen et al.
patent: 5922066 (1999-07-01), Cho et al.
patent: 5933650 (1999-08-01), van Hook et al.
patent: 5996057 (1999-11-01), Scales, III et al.
patent: 6098162 (2000-08-01), Schiffleger et al.
Microsoft, “Microsoft Press Computer Dictionary, Third Edition”, p. 404. 1997.*
Microsoft, “Microsoft Computer Dictionary”, 1994, p. 408.*
MIPS, “MIPS Digital Media Extension”, Rev. 1, pp. C-1-C40, 1997.*
Erickson, Grant, “RISC for Graphics: A Survey and Analysis of Multimedia Extended Insstruction Set Architectures”, University of Minnesota. pg.s all. Cited by Applicant in IDS, papaer No. 4, Dec. 1997.*
Hewlett Packard, “64-bit and Multimedia Extensions in the PA-RISC 2.0 Architecture”, Computing Directory Technologies Precision Architecture Document, “MIPS Digital Media Extension”, Rev. 1.0 C-1 through C40 (1997).
Diefendorff Keith Everett
Dubey Pradeep Kumar
Hochsprung Ronald Ray
Olsson Brett
Scales, III Hunter Ledbetter
Chastian Lee E.
Hill Daniel D.
King Robert L.
Motorola Inc.
Niebling John F.
LandOfFree
Method and apparatus for generating an alignment control vector does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for generating an alignment control vector, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for generating an alignment control vector will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2591333