The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jun. 18, 2013
Filed:
Feb. 15, 2008
Aaron Tsai, Poughkeepsie, NY (US);
Barry W. Krumm, Poughkeepsie, NY (US);
James R. Mitchell, Poughkeepsie, NY (US);
Bradley Nelson, Austin, TX (US);
Brian D. Barrick, Pflugerville, TX (US);
Chung-lung Kevin Shum, Wappingers Falls, NY (US);
Michael H. Wood, Poughkeepsie, NY (US);
Aaron Tsai, Poughkeepsie, NY (US);
Barry W. Krumm, Poughkeepsie, NY (US);
James R. Mitchell, Poughkeepsie, NY (US);
Bradley Nelson, Austin, TX (US);
Brian D. Barrick, Pflugerville, TX (US);
Chung-Lung Kevin Shum, Wappingers Falls, NY (US);
Michael H. Wood, Poughkeepsie, NY (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
A pipelined processor includes circuitry adapted for store forwarding, including: for each store request, and while a write to one of a cache and a memory is pending; obtaining the most recent value for at least one block of data; merging store data from the store request with the block of data thus updating the block of data and forming a new most recent value and an updated complete block of data; and buffering the updated block of data into a store data queue; for each additional store request, where the additional store request requires at least one updated block of data: determining if store forwarding is appropriate for the additional store request on a block-by-block basis; if store forwarding is appropriate, selecting an appropriate block of data from the store data queue on a block-by-block basis; and forwarding the selected block of data to the additional store request.