Patents by Inventor Eric C. QUINNELL
Eric C. QUINNELL has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11169810Abstract: According to one general aspect, an apparatus may include an instruction fetch unit circuit configured to retrieve instructions from a memory. The apparatus may include an instruction decode unit configured to convert instructions into one or more micro-operations that are provided to an execution unit circuit. The apparatus may also include a micro-operation cache configured to store micro-operations. The apparatus may further include a branch prediction circuit configured to: determine when a kernel of instructions is repeating, store at least a portion of the kernel within the micro-operation cache, and provide the stored portion of the kernel to the execution unit circuit without the further aid of the instruction decode unit circuit.Type: GrantFiled: April 3, 2019Date of Patent: November 9, 2021Inventors: Ryan J. Hensley, Fuzhou Zou, Monika Tkaczyk, Eric C. Quinnell, James David Dundas, Madhu Saravana Sibi Govindan
-
Patent number: 10846097Abstract: The present disclosure includes a mispredict recovery apparatus, which may comprise an instruction execution unit, a branch predictor, and a misprediction recovery unit (MRU). The MRU may provide discrete cycle predictions after a misprediction redirect from the instruction execution unit. The MRU may include a branch confidence filter to generate prediction confidence information for predicted branches. The MRU may include a tag content-addressable memory (CAM). The tag CAM may store frequently mispredicting low-confidence branches, probe the misprediction redirect, and obtain the prediction confidence information from the branch confidence filter. The MRU may include a mispredict recovery buffer (MRB) to store an alternate path for frequently mispredicting low-confidence branches present in the tag CAM without storing the instructions themselves. Also disclosed is a method for recovering from mispredicts associated with the instruction fetch pipeline.Type: GrantFiled: February 20, 2019Date of Patent: November 24, 2020Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Reshma C. Jumani, Fuzhou Zou, Monika Tkaczyk, Eric C. Quinnell
-
Patent number: 10740236Abstract: A method and apparatus are provided. The apparatus includes a plurality of central processing units, a plurality of core input/output units, a plurality of last level cache memory banks, an interconnect network comprising multiple instantiations of dedicated data channels, wherein each dedicated data channel is dedicated to a memory transaction type, each instantiation of dedicated data channels includes arbitration multiplexors, and each dedicated data channel operates independently of other data channels.Type: GrantFiled: August 15, 2017Date of Patent: August 11, 2020Assignee: Samsung Electronics Co., LtdInventors: Vikas Sinha, Eric C. Quinnell, Jyotsna Kartha
-
Publication number: 20200210190Abstract: According to one general aspect, an apparatus may include an instruction fetch unit circuit configured to retrieve instructions from a memory. The apparatus may include an instruction decode unit configured to convert instructions into one or more micro-operations that are provided to an execution unit circuit. The apparatus may also include a micro-operation cache configured to store micro-operations. The apparatus may further include a branch prediction circuit configured to: determine when a kernel of instructions is repeating, store at least a portion of the kernel within the micro-operation cache, and provide the stored portion of the kernel to the execution unit circuit without the further aid of the instruction decode unit circuit.Type: ApplicationFiled: April 3, 2019Publication date: July 2, 2020Inventors: Ryan J. HENSLEY, Fuzhou ZOU, Monika TKACZYK, Eric C. QUINNELL, James David DUNDAS, Madhu Saravana Sibi GOVINDAN
-
Publication number: 20200210626Abstract: According to one general aspect, an apparatus may include a context-specific encryption key circuit configured to generate a key value, wherein the key value is specific to a context of a set of instructions. The apparatus may include a target address prediction circuit configured to provide a target address for a next instruction in the set of instructions. The apparatus may include a target address memory configured to store an encrypted version of the target address, wherein the target address is encrypted using, at least in part, the key value. The apparatus may further include an instruction fetch circuit configured to decrypt the target address using, at least in part, the key value, and retrieve the target address.Type: ApplicationFiled: February 22, 2019Publication date: July 2, 2020Inventors: Monika TKACZYK, Brian C. GRAYSON, Mohamad Basem BARAKAT, Eric C. QUINNELL, Bradley G. BURGESS
-
Publication number: 20200201651Abstract: The present disclosure includes a mispredict recovery apparatus, which may comprise an instruction execution unit, a branch predictor, and a misprediction recovery unit (MRU). The MRU may provide discrete cycle predictions after a misprediction redirect from the instruction execution unit. The MRU may include a branch confidence filter to generate prediction confidence information for predicted branches. The MRU may include a tag content-addressable memory (CAM). The tag CAM may store frequently mispredicting low-confidence branches, probe the misprediction redirect, and obtain the prediction confidence information from the branch confidence filter. The MRU may include a mispredict recovery buffer (MRB) to store an alternate path for frequently mispredicting low-confidence branches present in the tag CAM without storing the instructions themselves. Also disclosed is a method for recovering from mispredicts associated with the instruction fetch pipeline.Type: ApplicationFiled: February 20, 2019Publication date: June 25, 2020Inventors: Reshma C. JUMANI, Fuzhou ZOU, Monika TKACZYK, Eric C. QUINNELL
-
Patent number: 10564963Abstract: According to one general aspect, an apparatus may include a monolithic shifter configured to receive a plurality of bytes of data, and, for each byte of data, a number of bits to shift the respective byte of data, wherein the number of bits for each byte of data need not be the same as for any other byte of data. The monolithic shifter may be configured to shift each byte of data by the respective number of bits. The apparatus may include a mask generator configured to compute a mask for each byte of data, wherein each mask indicates which bits, if any, are to be prevented from being polluted by a neighboring shifted byte of data. The apparatus may include a masking circuit configured to combine the shifted byte of data with a respective mask to create an unpolluted shifted byte of data.Type: GrantFiled: February 21, 2018Date of Patent: February 18, 2020Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Eric C. Quinnell
-
Patent number: 10360158Abstract: Embodiments of the present system and method provide cache replacement in a victim exclusive cache using a snoop filter where replacement information is not lost during a re-reference back to the CPU. Replacement information is stored in a snoop filter, meaning that historical access data may be fully preserved and allows for more flexibility in the LLC re-insertion points, without additional bits stored in a L2 cache. The present system and method further include snoop filter replacement technique. The present system and method passes replacement information between a snoop filter and a victim exclusive cache (e.g., LLC) when transactions move cachelines to and from a master CPU. This maintains and advances existing replacement information for a cacheline that is removed from the victim exclusive cache on a read, as well as intelligently replaces and ages cachelines in the snoop filter.Type: GrantFiled: June 7, 2017Date of Patent: July 23, 2019Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Eric C. Quinnell, Kevin C. Heuer, Tarun Nakra, Akhil Arunkumar
-
Publication number: 20180329820Abstract: A method and apparatus are provided. The apparatus includes a plurality of central processing units, a plurality of core input/output units, a plurality of last level cache memory banks, an interconnect network comprising multiple instantiations of dedicated data channels, wherein each dedicated data channel is dedicated to a memory transaction type, each instantiation of dedicated data channels includes arbitration multiplexors, and each dedicated data channel operates independently of other data channels.Type: ApplicationFiled: August 15, 2017Publication date: November 15, 2018Inventors: Vikas SINHA, Eric C. Quinnell, Jyotsna Kartha
-
Patent number: 10108398Abstract: According to one general aspect, an apparatus may include a floating-point addition unit that includes a far path circuit, a close path circuit, and a final result selector circuit. The far path circuit may be configured to compute a far path result based upon either the addition or the subtraction of the two floating-point numbers regardless of whether the operands or the result include normal or denormal numbers. The close path circuit may be configured to compute a close path result based upon the subtraction of the two floating-point operands regardless of whether the operands or the result include normal or denormal numbers. The final result selector circuit may be configured to select between the far path result and the close path result based, at least in part, upon an amount of difference in the exponent portions of the two floating-point operands.Type: GrantFiled: November 10, 2017Date of Patent: October 23, 2018Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Eric C. Quinnell
-
Publication number: 20180276140Abstract: Embodiments of the present system and method provide cache replacement in a victim exclusive cache using a snoop filter where replacement information is not lost during a re-reference back to the CPU. Replacement information is stored in a snoop filter, meaning that historical access data may be fully preserved and allows for more flexibility in the LLC re-insertion points, without additional bits stored in a L2 cache. The present system and method further include snoop filter replacement technique. The present system and method passes replacement information between a snoop filter and a victim exclusive cache (e.g., LLC) when transactions move cachelines to and from a master CPU. This maintains and advances existing replacement information for a cacheline that is removed from the victim exclusive cache on a read, as well as intelligently replaces and ages cachelines in the snoop filter.Type: ApplicationFiled: June 7, 2017Publication date: September 27, 2018Inventors: Eric C. QUINNELL, Kevin C. HEUER, Tarun NAKRA, Akhil ARUNKUMAR
-
Publication number: 20180181392Abstract: According to one general aspect, an apparatus may include a monolithic shifter configured to receive a plurality of bytes of data, and, for each byte of data, a number of bits to shift the respective byte of data, wherein the number of bits for each byte of data need not be the same as for any other byte of data. The monolithic shifter may be configured to shift each byte of data by the respective number of bits. The apparatus may include a mask generator configured to compute a mask for each byte of data, wherein each mask indicates which bits, if any, are to be prevented from being polluted by a neighboring shifted byte of data. The apparatus may include a masking circuit configured to combine the shifted byte of data with a respective mask to create an unpolluted shifted byte of data.Type: ApplicationFiled: February 21, 2018Publication date: June 28, 2018Inventor: Eric C. QUINNELL
-
Publication number: 20180081630Abstract: According to one general aspect, an apparatus may include a floating-point addition unit that includes a far path circuit, a close path circuit, and a final result selector circuit. The far path circuit may be configured to compute a far path result based upon either the addition or the subtraction of the two floating-point numbers regardless of whether the operands or the result include normal or denormal numbers. The close path circuit may be configured to compute a close path result based upon the subtraction of the two floating-point operands regardless of whether the operands or the result include normal or denormal numbers. The final result selector circuit may be configured to select between the far path result and the close path result based, at least in part, upon an amount of difference in the exponent portions of the two floating-point operands.Type: ApplicationFiled: November 10, 2017Publication date: March 22, 2018Inventor: Eric C. QUINNELL
-
Patent number: 9904545Abstract: According to one general aspect, an apparatus may include a monolithic shifter configured to receive a plurality of bytes of data, and, for each byte of data, a number of bits to shift the respective byte of data, wherein the number of bits for each byte of data need not be the same as for any other byte of data. The monolithic shifter may be configured to shift each byte of data by the respective number of bits. The apparatus may include a mask generator configured to compute a mask for each byte of data, wherein each mask indicates which bits, if any, are to be prevented from being polluted by a neighboring shifted byte of data. The apparatus may include a masking circuit configured to combine the shifted byte of data with a respective mask to create an unpolluted shifted byte of data.Type: GrantFiled: September 16, 2015Date of Patent: February 27, 2018Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Eric C. Quinnell
-
Patent number: 9830129Abstract: According to one general aspect, an apparatus may include a floating-point addition unit that includes a far path circuit, a close path circuit, and a final result selector circuit. The far path circuit may be configured to compute a far path result based upon either the addition or the subtraction of the two floating point numbers regardless of whether the operands or the result include normal or denormal numbers. The close path circuit may be configured to compute a close path result based upon the subtraction of the two floating point operands regardless of whether the operands or the result include normal or denormal numbers. The final result selector circuit may be configured to select between the far path result and the close path result based, at least in part, upon an amount of difference in the exponent portions of the two floating point operands.Type: GrantFiled: January 22, 2014Date of Patent: November 28, 2017Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Eric C. Quinnell
-
Publication number: 20170010893Abstract: According to one general aspect, an apparatus may include a monolithic shifter configured to receive a plurality of bytes of data, and, for each byte of data, a number of bits to shift the respective byte of data, wherein the number of bits for each byte of data need not be the same as for any other byte of data. The monolithic shifter may be configured to shift each byte of data by the respective number of bits. The apparatus may include a mask generator configured to compute a mask for each byte of data, wherein each mask indicates which bits, if any, are to be prevented from being polluted by a neighboring shifted byte of data. The apparatus may include a masking circuit configured to combine the shifted byte of data with a respective mask to create an unpolluted shifted byte of data.Type: ApplicationFiled: September 16, 2015Publication date: January 12, 2017Inventor: Eric C. QUINNELL
-
Patent number: 9461667Abstract: According to one general aspect, an apparatus may include a memory, a normalization engine, a lookup table, and an adder. The memory may be configured to store a floating-point number formatted in a floating-point format. The normalization engine may be configured to normalize at least a portion of the floating-point number to create a normalized number. The lookup table may be configured to generate an injection constant based upon a predefined set of rounding values specifically for converting a floating-point number to an integer number. The adder may be configured to create an integer result by adding the normalized number and the injection constant.Type: GrantFiled: April 2, 2014Date of Patent: October 4, 2016Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Eric C. Quinnell
-
Publication number: 20150186111Abstract: According to one general aspect, an apparatus may include a memory, a normalization engine, a lookup table, and an adder. The memory may be configured to store a floating-point number formatted in a floating-point format. The normalization engine may be configured to normalize at least a portion of the floating-point number to create a normalized number. The lookup table may be configured to generate an injection constant based upon a predefined set of rounding values specifically for converting a floating-point number to an integer number. The adder may be configured to create an integer result by adding the normalized number and the injection constant.Type: ApplicationFiled: April 2, 2014Publication date: July 2, 2015Inventor: Eric C. QUINNELL
-
Publication number: 20150142864Abstract: According to one general aspect, an apparatus may include a floating-point addition unit that includes a far path circuit, a close path circuit, and a final result selector circuit. The far path circuit may be configured to compute a far path result based upon either the addition or the subtraction of the two floating point numbers regardless of whether the operands or the result include normal or denormal numbers. The close path circuit may be configured to compute a close path result based upon the subtraction of the two floating point operands regardless of whether the operands or the result include normal or denormal numbers. The final result selector circuit may be configured to select between the far path result and the close path result based, at least in part, upon an amount of difference in the exponent portions of the two floating point operands.Type: ApplicationFiled: January 22, 2014Publication date: May 21, 2015Inventor: Eric C. QUINNELL