An aspect includes accessing a vector register in a vector register file. The vector register file includes a plurality of vector registers and each vector register includes a plurality of elements. A read command is received at a read port of the vector register file. The read command specifies a v
An aspect includes accessing a vector register in a vector register file. The vector register file includes a plurality of vector registers and each vector register includes a plurality of elements. A read command is received at a read port of the vector register file. The read command specifies a vector register address. The vector register address is decoded by an address decoder to determine a selected vector register of the vector register file. An element address is determined for one of the plurality of elements associated with the selected vector register based on a read element counter of the selected vector register. A word is selected in a memory array of the selected vector register as read data based on the element address. The read data is output from the selected vector register based on the decoding of the vector register address by the address decoder.
대표청구항▼
1. A system for accessing a vector register in a vector register file, the system comprising: the vector register file comprising a plurality of vector registers and each vector register comprising a plurality of elements; andthe vector register file configured to perform a method comprising: receiv
1. A system for accessing a vector register in a vector register file, the system comprising: the vector register file comprising a plurality of vector registers and each vector register comprising a plurality of elements; andthe vector register file configured to perform a method comprising: receiving a read command at a read port of the vector register file, the read command specifying a vector register address, wherein a second read port of the vector register file is addressable to read a same element of the vector register address in parallel with the read port and the second read port is addressable to read a different vector register address in parallel with the read port;decoding the vector register address by an address decoder to determine a selected vector register of the vector register file absent an element address to perform serialized access of the vector register file;determining the element address for one of the plurality of elements associated with the selected vector register based on a read element counter of the selected vector register, wherein each vector register comprises a separate instance of the read element counter to independently retain state between instructions at each vector register;selecting a word in a memory array of the selected vector register as read data based on the element address;outputting the read data from the selected vector register based on the decoding of the vector register address by the address decoder;incrementing the read element counter of the selected vector register to select a next sequential element in the memory array as the read data for one of: the read command and a next read command targeting the selected vector register;performing the incrementing based on receiving an increment control signal at the selected vector register and based on the decoding of the vector register address by the address decoder;based on incrementing the read element counter to select the next sequential element, prefetching the read data from the selected vector register for the next read command targeting the selected vector register prior to receiving the next read command targeting the selected vector register; andoutputting the prefetched read data based on receiving the next read command targeting the selected vector register. 2. The system of claim 1, wherein the incrementing is performed after each iteration of a vector instruction to sequentially access the plurality of elements of the selected vector register. 3. The system of claim 1, wherein the vector register file is further configured to perform: resetting the read element counter to select a first element in the memory array as the read data for one of: the read command and a next read command targeting the selected vector register; andperforming the resetting based on receiving a reset control signal at the selected vector register and based on the decoding of the vector register address by the address decoder. 4. The system of claim 1, wherein the read port of the vector register file is one of a plurality of read ports coupled to the selected vector register, and the vector register file is further configured to perform: receiving valid signals associated with each of the read ports at the selected vector register; andperforming the decoding of the vector register address by the address decoder in combination with the valid signals associated with each of the read ports. 5. The system of claim 1, wherein the vector register file is further configured to perform: receiving a write command at a write port of the vector register file, the write command specifying the vector register address and write data;decoding the vector register address by the address decoder to determine the selected vector register of the vector register file;determining the element address for one of the plurality of elements associated with the selected vector register based on a write element counter of the selected vector register, wherein each vector register comprises a separate instance of the write element counter to independently retain state between instructions;selecting an element in the memory array of the selected vector register to write based on the element address; andwriting the write data to the element of the selected vector register based on the decoding of the vector register address by the address decoder and the element address. 6. The system of claim 5, wherein the vector register file is further configured to perform: reading a value of one or more of the read element counter and the write element counter based on receiving an element counter read command; andwriting the value of one or more of the read element counter and the write element counter based on receiving an element counter write command. 7. The system of claim 5, wherein a total number of read and write ports of the vector register file is greater than a total number of read and write ports of the memory array. 8. The system of claim 7, wherein each of the read and write ports of the vector register file has an associated increment control signal and an associated reset control signal to control incrementing and resetting of the read element counter and the write element counter on a port basis. 9. A system for accessing a vector register in a vector register file of a processing element in an active memory device, the system comprising: memory in the active memory device; anda processing element coupled to the memory in the active memory device, the processing element comprising a vector register file, wherein the vector register file comprises a plurality of vector registers and each vector register comprises a plurality of elements, and the processing element is configured to perform a method comprising: receiving, in the processing element, a command from a requestor;fetching, in the processing element, an instruction based on the command, the instruction being fetched from an instruction buffer in the processing element;decoding, in the processing element, the instruction comprising a plurality of sub-instructions to execute in parallel, wherein at least one of the sub-instructions includes a read command targeting a vector register address of the vector register file;receiving the read command at a read port of the vector register file, the read command specifying the vector register address, wherein a second read port of the vector register file is addressable to read a same element of the vector register address in parallel with the read port and the second read port is addressable to read a different vector register address in parallel with the read port;decoding the vector register address by an address decoder to determine a selected vector register of the vector register file absent an element address to perform serialized access of the vector register file;determining the element address for one of the plurality of elements associated with the selected vector register based on a read element counter of the selected vector register, wherein each vector register comprises a separate instance of the read element counter to independently retain state between instructions at each vector register;selecting a word in a memory array of the selected vector register as read data based on the element address;outputting the read data from the selected vector register based on the decoding of the vector register address by the address decoder;incrementing the read element counter of the selected vector register to select a next sequential element in the memory array as the read data for one of: the read command and a next read command targeting the selected vector register;performing the incrementing based on receiving an increment control signal at the selected vector register and based on the decoding of the vector register address by the address decoder;based on incrementing the read element counter to select the next sequential element, prefetching the read data from the selected vector register for the next read command targeting the selected vector register prior to receiving the next read command targeting the selected vector register; andoutputting the prefetched read data based on receiving the next read command targeting the selected vector register. 10. The system of claim 9, wherein the active memory device is a three-dimensional memory cube with memory divided into three-dimensional blocked regions as memory vaults. 11. The system of claim 9, wherein the incrementing is performed after each iteration of a vector instruction to sequentially access the plurality of elements of the selected vector register. 12. The system of claim 9, wherein the processing element is further configured to perform: resetting the read element counter to select a first element in the memory array as the read data for one of: the read command and a next read command targeting the selected vector register; andperforming the resetting based on receiving a reset control signal at the selected vector register and based on the decoding of the vector register address by the address decoder. 13. The system of claim 9, wherein the read port of the vector register file is one of a plurality of read ports coupled to the selected vector register, and the processing element is further configured to perform: receiving valid signals associated with each of the read ports at the selected vector register; andperforming the decoding of the vector register address by the address decoder in combination with the valid signals associated with each of the read ports. 14. The system of claim 9, wherein the processing element is further configured to perform: receiving a write command at a write port of the vector register file, the write command specifying the vector register address and write data;decoding the vector register address by the address decoder to determine the selected vector register of the vector register file;determining the element address for one of the plurality of elements associated with the selected vector register based on a write element counter of the selected vector register, wherein each vector register comprises a separate instance of the write element counter to independently retain state between instructions;selecting an element in the memory array of the selected vector register to write based on the element address; andwriting the write data to the element of the selected vector register based on the decoding of the vector register address by the address decoder and the element address. 15. The system of claim 14, wherein the processing element is further configured to perform: reading a value of one or more of the read element counter and the write element counter based on receiving an element counter read command; andwriting the value of one or more of the read element counter and the write element counter based on receiving an element counter write command. 16. The system of claim 14, wherein a total number of read and write ports of the vector register file is greater than a total number of read and write ports of the memory array. 17. The system of claim 16, wherein each of the read and write ports of the vector register file has an associated increment control signal and an associated reset control signal to control incrementing and resetting of the read element counter and the write element counter on a port basis.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (43)
Cutler David N. (Bellevue WA) Orbits David A. (Redmond WA) Bhandarkar Dileep (Shrewsbury MA) Cardoza Wayne (Merrimack NH) Witek Richard T. (Littleton MA), Apparatus and method for recovering from missing page faults in vector data processing operations.
Gostin Gary B. ; Barr Matthew F. ; McGuffey Ruth A. ; Roan Russell L., Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems.
Papworth David B. ; Hinton Glenn J. ; Fetterman Michael A. ; Colwell Robert P. ; Glew Andrew F., Exception handling in a processor that performs speculative out-of-order instruction execution.
Fujii Hiroaki (Kokubunji CA JPX) Hamanaka Naoki (Palo Alto CA) Tanaka Teruo (Hachoiji JPX) Inagami Yasuhiro (Kodaira JPX) Tamaki Yoshiko (Kodaira JPX), Information processing apparatus having a register file used interchangeably both as scalar registers of register window.
Haigh Stephen G. (Redwood City CA) Baji Toru (Burlingame CA), Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions.
Thayer John S. ; Favor John G. ; Weber Frederick D., Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage.
Liao, Yu-Chung C.; Sandon, Peter A.; Cheng, Howard; Van Hook, Timothy J., Method and apparatus for obtaining a scalar value directly from a vector register.
Thomas L. Drabenstott ; Gerald G. Pechanek ; Edwin F. Barry ; Charles W. Kurak, Jr., Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution.
Gschwind, Michael Karl; Hofstee, Harm Peter; Hopkins, Martin Edward, SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode.
Brodnax Timothy B. (Austin TX) Bialas ; Jr. John S. (Bealeton VA) King Steven A. (Herndon VA) LeBlanc Johnny J. (Austin TX) Rickard Dale A. (Manassas VA) Spencer Clark J. (Praha CSX) Stanley Daniel L, Shadow register file for instruction rollback.
Gower,Kevin C.; Kellogg,Mark W.; Maule,Warren E.; Smith, III,Thomas B.; Tremaine,Robert B., System, method and storage medium for providing data caching and data compression in a memory subsystem.
Zumkehr, John F.; Abouelnaga, Amir A., Systems and methods for use in reduced instruction set computer processors for retrying execution of instructions resulting in errors.
Beard Douglas R. (Eleva WI) Phelps Andrew E. (Eau Claire WI) Woodmansee Michael A. (Eau Claire WI) Blewett Richard G. (Altoona WI) Lohman Jeffrey A. (Eau Claire WI) Silbey Alexander A. (Eau Claire WI, Vector processor having registers for control by vector resisters.
Kashiyama Masamori (Hadano JPX) Ishii Koichi (Hadano JPX) Kawabe Shun (Machida JPX) Usami Masami (Ome JPX), Vector processor performing data operations in one half of a total time period of write operation and the read operation.
Fossum Tryggve (Northboro MA) Manley Dwight P. (Holliston MA) McKeen Francis X. (Westboro MA) Tehranian Michael M. (Boxboro MA), Vector register system for executing plural read/write commands concurrently and independently routing data to plural re.
Oberlin Steven M. ; Fromm Eric C. ; Passint Randal S., Virtual to logical to physical address translation for distributed memory massively parallel processing systems.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.