Patents by Inventor William M. Brown

William M. Brown 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: 12079294
    Abstract: Methods and systems are provided for managing a GUI of a web browser. When a user interaction with a tab presentation control is detected, a horizontal tab strip having first navigation tab controls for a set of webpages is removed, and a vertical tab strip having second navigation tab controls for the same set of webpages is displayed in a vertical column in the browser. In response to detecting a user hover interaction with the vertical tab strip while the vertical tab strip is in a collapsed state, the vertical tab strip is expanded from the collapsed state to an expanded state. In response to termination of the user hover interaction, the vertical tab strip is collapsed from the expanded state to the collapsed state. The vertical tab strip in the collapsed state occupies a smaller portion of the GUI then the vertical tab strip in the expanded state.
    Type: Grant
    Filed: November 21, 2022
    Date of Patent: September 3, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: William J. Devereux, Jerin R. Schneider, Olga Veselova, Patrick Evan Little, Warren C. Stevens, Darryl J. Brown, Michael H. Catbagan, Aaron M. Butcher, Daniel J. Krenn
  • Patent number: 12079628
    Abstract: An apparatus and method for loop flattening and reduction in a SIMD pipeline including broadcast, move, and reduction instructions.
    Type: Grant
    Filed: October 4, 2021
    Date of Patent: September 3, 2024
    Assignee: Intel Corporation
    Inventors: William M. Brown, Roland Schulz, Karthik Raman
  • Patent number: 11934830
    Abstract: Disclosed embodiments relate to a new instruction for performing data-ready memory access operations.
    Type: Grant
    Filed: June 13, 2022
    Date of Patent: March 19, 2024
    Assignee: Intel Corporation
    Inventors: William M. Brown, Mikhail Plotnikov, Christopher J. Hughes
  • Publication number: 20220318014
    Abstract: Disclosed embodiments relate to a new instruction for performing data-ready memory access operations.
    Type: Application
    Filed: June 13, 2022
    Publication date: October 6, 2022
    Inventors: William M. BROWN, Mikhail PLOTNIKOV, Christopher J. HUGHES
  • Patent number: 11360771
    Abstract: Disclosed embodiments relate to a new instruction for performing data-ready memory access operations. In one example, a system includes circuits to fetch, decode, and execute an instruction that includes an opcode, at least one memory location identifier identifying at least one data element, a register identifier, a data readiness indicator identifying at least one data access condition, and a data readiness mask, wherein the execution circuit is to, for each data element of the at least one data element, determine whether a memory request for the data element satisfies the at least one data access condition identified by the data readiness indicator, and in response to determining that the data access condition: generate a prefetch request for the data element, and set a value in a corresponding data element position of the data readiness mask to indicate that the memory request for the data element does not satisfy the at least one data access condition.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: June 14, 2022
    Assignee: Intel Corporation
    Inventors: William M. Brown, Mikhail Plotnikov, Christopher J. Hughes
  • Publication number: 20220100509
    Abstract: An apparatus and method for loop flattening and reduction in a SIMD pipeline including broadcast, move, and reduction instructions.
    Type: Application
    Filed: October 4, 2021
    Publication date: March 31, 2022
    Inventors: WILLIAM M. BROWN, ROLAND SCHULZ, KARTHIK RAMAN
  • Patent number: 11138008
    Abstract: An apparatus and method for loop flattening and reduction in a SIMD pipeline including broadcast, move, and reduction instructions. One embodiment of a processor comprises: a decoder to decode a broadcast instruction to generate a decoded broadcast instruction identifying a plurality of operations, the broadcast instruction including an opcode and first and second source operands, and having a split value associated therewith; and execution circuitry to execute the operations of the decoded broadcast instruction to copy a first data element specified by the first source operand to each of a first set of contiguous data element locations in a destination register and to copy a second data element specified by the second source operand to a second set of contiguous data element locations in the destination register, wherein the first and second sets of contiguous data element locations are determined in accordance with the split value.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: October 5, 2021
    Assignee: Intel Corporation
    Inventors: William M. Brown, Roland Schulz, Karthik Raman
  • Patent number: 11048510
    Abstract: Systems, methods, and apparatuses for executing an instruction are described. In some embodiments, the instruction includes at least an opcode, a field for a packed data source operand, and a field for a packed data destination operand. When executed, the instruction causes for each data element position of the source operand, multiply to a value stored in that data element position all values stored in preceding data element positions of the packed data source operand and store a result of the multiplication into a corresponding data element position of the packed data destination operand.
    Type: Grant
    Filed: August 30, 2018
    Date of Patent: June 29, 2021
    Assignee: Intel Corporation
    Inventors: William M. Brown, Elmoustapha Ould-Ahmed-Vall
  • Patent number: 10698685
    Abstract: Disclosed embodiments relate to instructions for dual-destination type conversion, accumulation, and atomic memory operations. In one example, a system includes a memory, a processor including: a fetch circuit to fetch the instruction from a code storage, the instruction including an opcode, a first destination identifier, and a source identifier to specify a source vector register, the source vector register including a plurality of single precision floating point data elements, a decode circuit to decode the fetched instruction, and an execution circuit to execute the decoded instruction to: convert the elements of the source vector register into double precision floating point values, store a first half of the double precision floating point values to a first location identified by the first destination identifier, and store a second half of the double precision floating point values to a second location.
    Type: Grant
    Filed: May 3, 2017
    Date of Patent: June 30, 2020
    Assignee: INTEL CORPORATION
    Inventors: William M. Brown, Karthik Raman
  • Publication number: 20200142699
    Abstract: Disclosed embodiments relate to a new instruction for performing data-ready memory access operations. In one example, a system includes circuits to fetch, decode, and execute an instruction that includes an opcode, at least one memory location identifier identifying at least one data element, a register identifier, a data readiness indicator identifying at least one data access condition, and a data readiness mask, wherein the execution circuit is to, for each data element of the at least one data element, determine whether a memory request for the data element satisfies the at least one data access condition identified by the data readiness indicator, and in response to determining that the data access condition: generate a prefetch request for the data element, and set a value in a corresponding data element position of the data readiness mask to indicate that the memory request for the data element does not satisfy the at least one data access condition.
    Type: Application
    Filed: June 30, 2017
    Publication date: May 7, 2020
    Applicant: Intel Corporation
    Inventors: William M. BROWN, Mikhail PLOTNIKOV, Christopher J. HUGHES
  • Publication number: 20200065100
    Abstract: An apparatus and method for loop flattening and reduction in a SIMD pipeline including broadcast, move, and reduction instructions.
    Type: Application
    Filed: August 28, 2019
    Publication date: February 27, 2020
    Inventors: WILLIAM M. BROWN, ROLAND SCHULZ, KARTHIK RAMAN
  • Patent number: 10409601
    Abstract: An apparatus and method for loop flattening and reduction in a SIMD pipeline including broadcast, move, and reduction instructions.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: September 10, 2019
    Assignee: Intel Corporation
    Inventors: William M. Brown, Roland Schulz, Karthik Raman
  • Publication number: 20190205138
    Abstract: An apparatus and method for loop flattening and reduction in a SIMD pipeline including broadcast, move, and reduction instructions.
    Type: Application
    Filed: December 29, 2017
    Publication date: July 4, 2019
    Inventors: WILLIAM M. BROWN, ROLAND SCHULZ, KARTHIK RAMAN
  • Patent number: 10296342
    Abstract: Systems, methods, and apparatuses for executing an instruction are described. For example, an instruction includes at least an opcode, a field for a packed data source operand, and a field for a packed data destination operand. When executed, the instruction causes for each data element position of the source operand, add to a value stored in that data element position all values stored in preceding data element positions of the packed data source operand and store a result of the addition into a corresponding data element position of the packed data destination operand.
    Type: Grant
    Filed: July 2, 2016
    Date of Patent: May 21, 2019
    Assignee: Intel Corporation
    Inventors: William M. Brown, Elmoustapha Ould-Ahmed-Vall
  • Publication number: 20190138306
    Abstract: Systems, methods, and apparatuses for executing an instruction are described. In some embodiments, the instruction includes at least an opcode, a field for a packed data source operand, and a field for a packed data destination operand. When executed, the instruction causes for each data element position of the source operand, multiply to a value stored in that data element position all values stored in preceding data element positions of the packed data source operand and store a result of the multiplication into a corresponding data element position of the packed data destination operand.
    Type: Application
    Filed: August 30, 2018
    Publication date: May 9, 2019
    Inventors: William M. Brown, Elmoustapha Ould-Ahmed-Vall
  • Publication number: 20180321937
    Abstract: Disclosed embodiments relate to instructions for dual-destination type conversion, accumulation, and atomic memory operations. In one example, a system includes a memory, a processor including: a fetch circuit to fetch the instruction from a code storage, the instruction including an opcode, a first destination identifier, and a source identifier to specify a source vector register, the source vector register including a plurality of single precision floating point data elements, a decode circuit to decode the fetched instruction, and an execution circuit to execute the decoded instruction to: convert the elements of the source vector register into double precision floating point values, store a first half of the double precision floating point values to a first location identified by the first destination identifier, and store a second half of the double precision floating point values to a second location.
    Type: Application
    Filed: May 3, 2017
    Publication date: November 8, 2018
    Inventors: William M. Brown, Karthik Raman
  • Patent number: 10089110
    Abstract: Systems, methods, and apparatuses for executing an instruction are described. In some embodiments, the instruction includes at least an opcode, a field for a packed data source operand, and a field for a packed data destination operand. When executed, the instruction causes for each data element position of the source operand, multiply to a value stored in that data element position all values stored in preceding data element positions of the packed data source operand and store a result of the multiplication into a corresponding data element position of the packed data destination operand.
    Type: Grant
    Filed: July 2, 2016
    Date of Patent: October 2, 2018
    Assignee: Intel Corporation
    Inventors: William M. Brown, Elmoustapha Ould-Ahmed-Vall
  • Publication number: 20180004519
    Abstract: Systems, methods, and apparatuses for executing an instruction are described. In some embodiments, the instruction includes at least an opcode, a field for a packed data source operand, and a field for a packed data destination operand. When executed, the instruction causes for each data element position of the source operand, multiply to a value stored in that data element position all values stored in preceding data element positions of the packed data source operand and store a result of the multiplication into a corresponding data element position of the packed data destination operand.
    Type: Application
    Filed: July 2, 2016
    Publication date: January 4, 2018
    Inventors: William M. Brown, Elmoustapha Ould-Ahmed-Vall
  • Publication number: 20180004514
    Abstract: Systems, methods, and apparatuses for executing an instruction are described. For example, an instruction includes at least an opcode, a field for a packed data source operand, and a field for a packed data destination operand. When executed, the instruction causes for each data element position of the source operand, add to a value stored in that data element position all values stored in preceding data element positions of the packed data source operand and store a result of the addition into a corresponding data element position of the packed data destination operand.
    Type: Application
    Filed: July 2, 2016
    Publication date: January 4, 2018
    Inventors: William M. Brown, Elmoustapha Ould-Ahmed-Vall
  • Publication number: 20170168819
    Abstract: In one embodiment, a processor includes: a fetch logic to fetch instructions, the instructions including a partial reduction instruction; a decode logic to decode the partial reduction instruction and provide the decoded partial reduction instruction to one or more execution units; and the one or more execution units to, responsive to the decoded partial reduction instruction, perform a plurality of N partial reduction operations to generate an result array including N output data elements, where an input array comprises N lanes, and where each of the N partial reduction operations is to reduce a set of input data elements included in a corresponding lane of the N lanes. Other embodiments are described and claimed.
    Type: Application
    Filed: December 15, 2015
    Publication date: June 15, 2017
    Inventors: WILLIAM M. BROWN, ELMOUSTAPHA OULD-AHMED-VALL