Patents by Inventor Shreekant S. Thakkar

Shreekant S. Thakkar 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).

  • Publication number: 20020112147
    Abstract: An apparatus and method for performing a shuffle operation on packed data is described. In one embodiment, a 128-bit packed data operand having at eight data elements is accessed. In one embodiment, one of the data elements in the upper half of the data operand is shuffled into the upper half of a destination register. In another embodiment, one of the data elements in the lower half of the data operand is shuffled into the lower half of a destination register.
    Type: Application
    Filed: February 14, 2001
    Publication date: August 15, 2002
    Inventors: Srinivas Chennupaty, Carlos A. Fuentes, Shreekant S. Thakkar
  • Patent number: 6425073
    Abstract: A method and apparatus are disclosed for staggering execution of an instruction. According to one embodiment of the invention, a single macro instruction is received wherein the single macro instruction specifies at least two logical registers and wherein the two logical registers respectively store a first and second packed data operands having corresponding data elements. An operation specified by the single macro instruction is then performed independently on a first and second plurality of the corresponding data elements from said first and second packed data operands at different times using the same circuit to independently generate a first and second plurality of resulting data elements. The first and second plurality of resulting data elements are stored in a single logical register as a third packed data operand.
    Type: Grant
    Filed: March 13, 2001
    Date of Patent: July 23, 2002
    Assignee: Intel Corporation
    Inventors: Patrice Roussel, Glenn J. Hinton, Shreekant S. Thakkar, Brent R. Boswell, Karol F. Menezes
  • Publication number: 20020010847
    Abstract: A method and apparatus are provided for executing scalar packed data instructions. According to one aspect of the invention, a processor includes a plurality of registers, a register renaming unit coupled to the plurality of registers, a decoder coupled to the register renaming unit, and a partial-width execution unit coupled to the decoder. The register renaming unit provides an architectural register file to store packed data operands each of which include a plurality of data elements. The decoder is configured to decode a first and second set of instructions that each specify one or more registers in the architectural register file. Each of the instructions in the first set of instructions specify operations to be performed on all of the data elements stored in the one or more specified registers. In contrast, each of the instructions in the second set of instructions specify operations to be performed on only a subset of the data element stored in the one or more specified registers.
    Type: Application
    Filed: May 8, 2001
    Publication date: January 24, 2002
    Inventors: Mohammad Abdallah, James Coke, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Publication number: 20010052065
    Abstract: The present invention discloses a method and apparatus for saving and restoring registers. A single instruction is decoded. The single instruction moves contents of a plurality of registers associated with a functional unit in a processor to a memory; the processor operates under a plurality of operational modes and operand sizes. The single instruction arranges the contents in the memory according to a predetermined format into a plurality of groups, each group is aligned at an address boundary which corresponds to a multiple of 2N bytes. The predetermined format is constant for the plurality of operational modes and operand sizes. The single instruction retains the contents of the plurality of registers after moving.
    Type: Application
    Filed: March 31, 1998
    Publication date: December 13, 2001
    Inventors: WILLIAM C. ALEXANDER III, SHREEKANT S. THAKKAR, PATRICE L. ROUSSEL, THOMAS HUFF, BRYANT E. BIGBEE, STEPHEN A. FISCHER
  • Patent number: 6317824
    Abstract: A method and apparatus for performing a move mask operation. The present invention provides a method and apparatus for performing operations on packed data values of a first size and format and conversion of the results to data of a second size and format by eliminating redundant data. The present invention is useful, for example, when comparisons are performed on floating point data that is typically larger (e.g., 64 bits) than integer data (e.g., 32 bits) and integer operations are preformed based on the result. Because many processors branch based on integer data, the comparison results stored as floating point data must be transferred to an integer register prior to branching. The present invention takes advantage of redundancy of the floating point comparison results to transfer enough data to convey the comparison result to integer registers with a single instruction.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: November 13, 2001
    Assignee: Intel Corporation
    Inventors: Shreekant S. Thakkar, Wayne H. Scott, Patrice Roussel
  • Publication number: 20010034826
    Abstract: A method and apparatus are disclosed for staggering execution of an instruction. According to one embodiment of the invention, a single macro instruction is received wherein the single macro instruction specifies at least two logical registers and wherein the two logical registers respectively store a first and second packed data operands having corresponding data elements. An operation specified by the single macro instruction is then performed independently on a first and second plurality of the corresponding data elements from said first and second packed data operands at different times using the same circuit to independently generate a first and second plurality of resulting data elements. The first and second plurality of resulting data elements are stored in a single logical register as a third packed data operand.
    Type: Application
    Filed: March 13, 2001
    Publication date: October 25, 2001
    Inventors: Patrice Roussel, Glenn J. Hinton, Shreekant S. Thakkar, Brent R. Bosewell, Karol F. Menezes
  • Publication number: 20010023480
    Abstract: A method and instruction for converting a number between a floating point format and an integer format are described. Numbers are stored in the integer format in a register of a first set of architectural registers in a packed format. At least one of the numbers in the integer format is converted to at least one number in the floating point format. The numbers in the floating point format are placed in a register of a second set of architectural registers in a packed format.
    Type: Application
    Filed: April 27, 2001
    Publication date: September 20, 2001
    Inventors: Mohammad A.F. Abdallah, Hsien-Cheng E. Hsieh, Thomas R. Huff, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Patent number: 6292815
    Abstract: A method and instruction for converting a number between a floating point format and an integer format are described. Numbers are stored in the integer format in a register of a first set of architectural registers in a scalar format. At least one of the numbers in the scalar format is converted to a number in the floating point format. The number in the floating point format is placed in a register of a second set of architectural registers in a packed format.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: September 18, 2001
    Assignee: Intel Corporation
    Inventors: Mohammad A. F. Abdallah, Hsien-Cheng E. Hsieh, Thomas R. Huff, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Patent number: 6288723
    Abstract: An apparatus and method for performing conversion of graphical data format is disclosed. A matrix multiplication is performed on a first set of data and a second set of data to generate a third set of data in a first format. The first and second sets of data represent the graphical data. The third set of data in the first format is transmitted to a graphics card. The third set of data in the first format is converted to a converted set of data in a second format.
    Type: Grant
    Filed: April 1, 1998
    Date of Patent: September 11, 2001
    Assignee: Intel Corporation
    Inventors: Thomas Huff, Shreekant S. Thakkar, Gregory C. Parrish
  • Patent number: 6289459
    Abstract: A software method of setting a state in a processor regarding whether a processor number encoded in the processor will be available for reading is described. The method comprises prompting the user to enter an indication whether the processor number should be available for reading by a program. Then, setting a state to inhibit the processor number from being read by a program if the indication indicates that the processor number should not be available for reading by the program. For one embodiment, the method further includes testing the indication if a request for the processor number is received, and releasing the processor number if the indication indicates that the processor number is available.
    Type: Grant
    Filed: January 20, 1999
    Date of Patent: September 11, 2001
    Assignee: Intel Corporation
    Inventors: Stephen A. Fischer, Shreekant S. Thakkar, Robert R. Sullivan, Frederick J. Pollack
  • Patent number: 6289431
    Abstract: A method and apparatus for accessing pages in physical memory, where the physical memory is described. The present invention provides a paged memory system having multiple page sizes. Pages of a first size are accessed via a page directory entry and a corresponding page table entry. The page directory entry stores a base physical address for a corresponding page table and control bits indicating permissions. The page table entry stores a base physical address of the page in memory. In one embodiment, the page table entry inherits permissions from the page directory entry. Pages of a second size are accessed via a page directory entry that stores a base physical address of the page and control bits indicating permissions associated with the page. In another embodiment, entries to the page directory table and the page table are 4-bytes in size and provide paging for memory up to 1.1 Terabytes in size.
    Type: Grant
    Filed: January 26, 1998
    Date of Patent: September 11, 2001
    Assignee: Intel Corporation
    Inventors: Bryant E. Bigbee, Lance E. Hacking, Shahrokh Shahidzadeh, Shreekant S. Thakkar
  • Publication number: 20010016902
    Abstract: A method and instruction for converting a number from a floating point format to an integer format are described. Numbers are stored in the floating point format in a register of a first set of architectural registers in a packed format. At least one of the numbers in the floating point format is converted to at least one 8-bit number in the integer format. The 8-bit number in the integer format is placed in a register of a second set of architectural registers in the packed format.
    Type: Application
    Filed: April 27, 2001
    Publication date: August 23, 2001
    Inventors: Mohammad A.F. Abdallah, Hsien-Cheng E. Hsieh, Thomas R. Huff, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Patent number: 6275904
    Abstract: A computer system and method for providing cache memory management. The computer system comprises a main memory having a plurality of main memory addresses each having a corresponding data entry, and a processor coupled to the main memory. At least one cache memory is coupled to the processor. The at least one cache memory has a cache directory with a plurality of addresses and a cache controller having a plurality of data entries corresponding to the plurality of addresses. The processor receives an instruction having an operand address and determines if the operand address matches one of the plurality of addresses in the cache directory. If so, the processor updates a data entry in the cache controller corresponding to the matched address. Otherwise, a data entry corresponding to the operand address in the main memory is updated.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: August 14, 2001
    Assignee: Intel Corporation
    Inventors: Srinivas Chennupaty, Shreekant S. Thakkar, Thomas Huff, Vladimir Pentkovski
  • Patent number: 6266769
    Abstract: A method and instruction for converting a number between a floating point format and an integer format are described. Numbers are stored in the integer format in a register of a first set of architectural registers in a packed format. At least one of the numbers in the integer format is converted to at least one number in the floating point format. The numbers in the floating point format are placed in a register of a second set of architectural registers in a packed format.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 24, 2001
    Assignee: Intel Corporation
    Inventors: Mohammad A. F. Abdallah, Hsien-Cheng E. Hsieh, Thomas R. Huff, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Patent number: 6263426
    Abstract: A method and instruction for converting a number from a floating point format to an integer format are described. Numbers are stored in the floating point format in a register of a first set of architectural registers in a packed format. At least one of the numbers in the floating point format is converted to at least one 8-bit number in the integer format. The 8-bit number in the integer format is placed in a register of a second set of architectural registers in the packed format.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 17, 2001
    Assignee: Intel Corporation
    Inventors: Mohammad A. F. Abdallah, Hsien-Cheng E. Hsieh, Thomas R. Huff, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Patent number: 6247116
    Abstract: A method and instruction for converting a number from a floating point format to an integer format are described. Numbers are stored in the floating point format in a register of a first set of architectural registers in a packed format. At least one of the numbers in the floating point format is converted to at least one 16-bit number in the integer format. The 16-bit number in the integer format is placed in a register of a second set of architectural registers in the packed format.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: June 12, 2001
    Assignee: Intel Corporation
    Inventors: Mohammad A. F. Abdallah, Hsien-Cheng E. Hsieh, Thomas R. Huff, Vladimir Pentkovski, Patrice Roussel, Shreekant S. Thakkar
  • Patent number: 6230257
    Abstract: A method and apparatus are disclosed for staggering execution of an instruction. According to one embodiment of the invention, a single macro instruction is received wherein the single macro instruction specifies at least two logical registers and wherein the two logical registers respectively store a first and second packed data operands having corresponding data elements. An operation specified by the single macro instruction is then performed independently on a first and second plurality of the corresponding data elements from said first and second packed data operands at different times using the same circuit to independently generate a first and second plurality of resulting data elements. The first and second plurality of resulting data elements are stored in a single logical register as a third packed data operand.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: May 8, 2001
    Assignee: Intel Corporation
    Inventors: Patrice Roussel, Glenn J. Hinton, Shreekant S. Thakkar, Brent R. Boswell, Karol F. Menezes
  • Patent number: 6211892
    Abstract: An apparatus and method for performing an intra-add operation on packed data using computer-implemented steps is described. A processor is coupled to a hardware unit which transmits data representing graphics to another computer or display. A storage device coupled to the processor, has stored therein a routine, which, when executed by the processor, causes the processor to generate the data. The routine causes the processor to at least access a first packed data operand having at least one pair of data elements; swap positions of the data elements within the at least one pair of data elements to generate a second packed data operand, add data elements starting at the same bit positions from the first and second packed data operands to generate a third packed data operand.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: April 3, 2001
    Assignee: Intel Corporation
    Inventors: Thomas Huff, Shreekant S. Thakkar
  • Patent number: 6185670
    Abstract: A method and apparatus for reducing the number of opcodes required in a computer architecture using an operation class code and an operation selector code. A processor contains a fetch unit which fetches instructions to be executed by the processor. An instruction may conform to an instruction format which includes a number of fields that specify an operation class code, an operation selector code, and one or more operands. The processor also contains a decoder which uses the operation class code to generate a single execution flow that is capable of executing a class of similar operations. The single execution flow, in the form of execution control information, is sent to an execution unit along with the associated operands. The operation selector code is also passed to the execution unit. The execution unit performs the specific operation identified by the operation selector code and execution control information.
    Type: Grant
    Filed: October 12, 1998
    Date of Patent: February 6, 2001
    Assignee: Intel Corporation
    Inventors: Thomas R. Huff, Shreekant S. Thakkar, Roger A. Golliver
  • Patent number: 6115812
    Abstract: An apparatus and method for performing vertical parallel operations on packed data is described. A first set of data operands and a second set of data operands are accessed. Each of these sets of data represents graphical data stored in a first format. The first set of data operands is convereted into a converted set and the second set of data operands is replicated to generate a replicated set. A vertical matrix multiplication is performed on the converted set and the replicated set to generate transformed graphical data.
    Type: Grant
    Filed: April 1, 1998
    Date of Patent: September 5, 2000
    Assignee: Intel Corporation
    Inventors: Mohammad Abdallah, Thomas Huff, Gregory C. Parrish, Shreekant S. Thakkar