Patents by Inventor Geoffrey M. Brown
Geoffrey 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).
-
System and method for reducing power consumption in a data processor having a clustered architecture
Patent number: 7779240Abstract: There is disclosed a data processor having a clustered architecture that comprises at least one branching cluster, at least one non-branching cluster and remote conditional branching control circuitry. Each of the clusters is capable of computing branch conditions, though only the branching cluster is operable to perform branch address computations. The remote conditional branching control circuitry, which is associated with each of the clusters, is operable in response to sensing a conditional branch instruction in a non-branching cluster to (i) cause the branching cluster to compute a branch address and a next program counter address, (ii) cause the non-branching cluster to compute a branch condition, and (iii) communicate the computed branch condition from the non-branching cluster to the branching cluster. The data processor then uses the computed branch condition to select one of the branch address or the next program counter address.Type: GrantFiled: September 14, 2007Date of Patent: August 17, 2010Assignees: STMicroelectronics, Inc., Hewlett-Packard CompanyInventors: Mark Owen Homewood, Gary L. Vondran, Geoffrey M. Brown, Paolo Faraboschi -
Patent number: 7337306Abstract: There is disclosed a data processor having a clustered architecture that comprises at least one branching cluster, at least one non-branching cluster and remote conditional branching control circuitry. Each of the clusters is capable of computing branch conditions, though only the branching cluster is operable to perform branch address computations. The remote conditional branching control circuitry, which is associated with each of the clusters, is operable in response to sensing a conditional branch instruction in a non-branching cluster to (i) cause the branching cluster to compute a branch address and a next program counter address,(ii) cause the non-branching cluster to compute a branch condition, and (iii) communicate the computed branch condition from the non-branching cluster to the branching cluster. The data processor then uses the computed branch condition to select one of the branch address or the next program counter address.Type: GrantFiled: December 29, 2000Date of Patent: February 26, 2008Assignees: STMicroelectronics, Inc., Hewlett-Packard CompanyInventors: Mark Owen Homewood, Gary L. Vondran, Geoffrey M. Brown, Paolo Faraboschi
-
Patent number: 7143268Abstract: A data processor includes execution clusters, an instruction cache, an instruction issue unit, and alignment and dispersal circuitry. Each execution cluster includes an instruction execution pipeline having a number of processing stages, and each execution pipeline is a number of lanes wide. The processing stages execute instruction bundles, where each instruction bundle has one or more syllables. Each lane is capable of receiving one of the syllables of an instruction bundle. The instruction cache includes a number of cache lines. The instruction issue unit receives fetched cache lines and issues complete instruction bundles toward the execution clusters. The alignment and dispersal circuitry receives the complete instruction bundles from the instruction issue unit and routes each received complete instruction bundle to a correct one of the execution clusters. The complete instruction bundles are routed as a function of at least one address bit associated with each complete instruction bundle.Type: GrantFiled: December 29, 2000Date of Patent: November 28, 2006Assignees: STMicroelectronics, Inc., Hewlett-Packard Development Co., L.P.Inventors: Paolo Faraboschi, Anthony X. Jarvis, Mark Owen Homewood, Geoffrey M. Brown, Gary L. Vondran
-
Patent number: 6922773Abstract: For use in a data processor comprising an instruction execution pipeline comprising N processing stages, a system and method of encoding constant operands is disclosed. The system comprises a constant generator unit that is capable of generating both short constant operands and long constant operands. The constant generator unit extracts the bits of a short constant operand from an instruction syllable and right justifies the bits in an output syllable. For long constant operands, the constant generator unit extracts K low order bits from an instruction syllable and T high order bits from an extension syllable. The right justified K low order bits and the T high order bits are combined to represent the long constant operand in one output syllable. In response to the status of op code bits located within a constant generation instruction, the constant generator unit enables and disables multiplexers to automatically generate the appropriate short or long constant operand.Type: GrantFiled: December 29, 2000Date of Patent: July 26, 2005Assignees: STMicroelectronics, Inc., Hewlett-Packard CompanyInventors: Paolo Faraboschi, Alexander J. Starr, Anthony X. Jarvis, Geoffrey M. Brown, Mark Owen Homewood, Gary L. Vondran
-
Patent number: 6829700Abstract: There is disclosed a data processor comprising: 1) an instruction execution pipeline comprising N processing stages for executing a load instruction; 2) a status register for storing a modifiable configuration value, the modifiable configuration value having a first value indicating the data processor is capable of executing a misaligned access handling routine and a second value indicating the data processor is not capable of executing a misaligned access handling routine; 3) a misalignment detection circuit for determining if the load instruction performs a misaligned access to a target address of the load instruction and, in response to a determination that the load instruction does perform a misaligned access, generating a misalignment flag; and 4) exception control circuitry capable of detecting the misalignment flag and in response thereto determining if the modifiable configuration value is equal to the first value.Type: GrantFiled: December 29, 2000Date of Patent: December 7, 2004Assignees: STMicroelectronics, Inc., Hewlett-Packard CompanyInventors: Paolo Faraboschi, Alexander J. Starr, Geoffrey M. Brown, Mark Owen Homewood
-
Publication number: 20040059830Abstract: A method for clustering the Internet address space employs structural, topological, and temporal clustering techniques. Seedpoints are identified from among network destinations; the seedpoints are topologically clustered into groups; temporal measurements from one or more predetermined locations are made to a seedpoint in each group; and the seedpoints are clustered based on the measurements. The clusters are generalized based on information identifying the network addresses with seedpoints deemed to be close, such as address prefixes in a routing table. A representative is selected for each cluster, such as an intermediate node on a path shared by the seedpoints of the cluster. The technique can be employed by different types of applications, including route selection in an intelligent route controller.Type: ApplicationFiled: September 12, 2003Publication date: March 25, 2004Applicant: SOCKEYE NETWORKS, INC.Inventor: Geoffrey M. Brown
-
Patent number: 6691210Abstract: A cache flush controller, and an associated method, selectably flushes a memory cache of a data processor. The cache flush controller operates at a memory bus level of the data processor and operates to flush a selected line, or lines of the memory cache by writing arbitrary, selected values to the selected line or lines of the memory cache.Type: GrantFiled: December 29, 2000Date of Patent: February 10, 2004Assignees: STMicroelectronics, Inc., Hewlett-Packard Development Company L.P.Inventors: Paolo Faraboschi, Alexander J. Starr, Geoffrey M. Brown, Richard L. Ford
-
Publication number: 20020087799Abstract: A cache flush controller, and an associated method, selectably flushes a memory cache of a data processor. The cache flush controller operates at a memory bus level of the data processor and operates to flush a selected line, or lines of the memory cache by writing arbitrary, selected values to the selected line or lines of the memory cache.Type: ApplicationFiled: December 29, 2000Publication date: July 4, 2002Inventors: Paolo Faraboschi, Alexander J. Starr, Geoffrey M. Brown, Richard L. Ford
-
Publication number: 20020087834Abstract: For use in a data processor comprising an instruction execution pipeline comprising N processing stages, a system and method of encoding constant operands is disclosed. The system comprises a constant generator unit that is capable of generating both short constant operands and long constant operands. The constant generator unit extracts the bits of a short constant operand from an instruction syllable and right justifies the bits in an output syllable. For long constant operands, the constant generator unit extracts K low order bits from an instruction syllable and T high order bits from an extension syllable. The right justified K low order bits and the T high order bits are combined to represent the long constant operand in one output syllable. In response to the status of op code bits located within a constant generation instruction, the constant generator unit enables and disables multiplexers to automatically generate the appropriate short or long constant operand.Type: ApplicationFiled: December 29, 2000Publication date: July 4, 2002Applicant: STMicroelectronics, Inc.Inventors: Paolo Faraboschi, Alexander J. Starr, Anthony X. Jarvis, Geoffrey M. Brown, Mark Owen Homewood, Gary L. Vondran
-
Publication number: 20020087830Abstract: There is disclosed bundle alignment and dispersal circuitry for use in a data processor.Type: ApplicationFiled: December 29, 2000Publication date: July 4, 2002Inventors: Paolo Faraboschi, Anthony X. Jarvis, Mark Owen Homewood, Geoffrey M. Brown, Gary L. Vondran
-
Publication number: 20020087841Abstract: There is disclosed a data processor comprising: 1) an instruction execution pipeline comprising N processing stages for executing a load instruction; 2) a status register for storing a modifiable configuration value, the modifiable configuration value having a first value indicating the data processor is capable of executing a misaligned access handling routine and a second value indicating the data processor is not capable of executing a misaligned access handling routine; 3) a misalignment detection circuit for determining if the load instruction performs a misaligned access to a target address of the load instruction and, in response to a determination that the load instruction does perform a misaligned access, generating a misalignment flag; and 4) exception control circuitry capable of detecting the misalignment flag and in response thereto determining if the modifiable configuration value is equal to the first value.Type: ApplicationFiled: December 29, 2000Publication date: July 4, 2002Inventors: Paolo Faraboschi, Alexander J. Starr, Geoffrey M. Brown, Mark Owen Homewood
-
Publication number: 20020087848Abstract: There is disclosed a data processor having a clustered architecture that comprises at least one branching cluster, at least one non-branching cluster and remote conditional branching control circuitry. Each of the clusters is capable of computing branch conditions, though only the branching cluster is operable to perform branch address computations. The remote conditional branching control circuitry, which is associated with each of the clusters, is operable in response to sensing a conditional branch instruction in a non-branching cluster to (i) cause the branching cluster to compute a branch address and a next program counter address,(ii) cause the non-branching cluster to compute a branch condition, and (iii) communicate the computed branch condition from the non-branching cluster to the branching cluster. The data processor then uses the computed branch condition to select one of the branch address or the next program counter address.Type: ApplicationFiled: December 29, 2000Publication date: July 4, 2002Inventors: Mark Owen Homewood, Gary L. Vondran, Geoffrey M. Brown, Paolo Faraboschi