Patents by Inventor John-David Wellman

John-David Wellman 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: 20080168260
    Abstract: A method is provided for processing instructions by a processor, in which instructions are queued in an instruction pipeline in a queued order. A first instruction is identified from the queued instructions in the instruction pipeline, the first instruction being identified as having a dependency which is satisfiable within a number of instruction cycles after a current instruction in the instruction pipeline is issued. The first instruction is placed in a side buffer and at least one second instruction is issued from the remaining queued instructions while the first instruction remains in the side buffer. Then, the first instruction is issued from the side buffer after issuing the at least one second instruction in the queued order when the dependency of the first instruction has cleared and after the number of instruction cycles have passed.
    Type: Application
    Filed: January 8, 2007
    Publication date: July 10, 2008
    Inventors: Victor Zyuban, Michael K. Gschwind, John-David Wellman
  • Publication number: 20080162884
    Abstract: A processor core and method of executing instructions, both of which utilizes schedules, are presented. Each of the schedules includes a sequence of instructions, an address of a first of the instructions in the schedule, an order vector of an original order of the instructions in the schedule, a rename map of registers for each register in the schedule, and a list of register names used in the schedule. The schedule exploits instruction-level parallelism in executing out-of-order instructions. The processor core includes a schedule cache that is configured to store schedules, a shared cache configured to store both I-side and D-side cache data, and an execution resource for requesting a schedule to be executed from the schedule cache. The processor core further includes a scheduler disposed between the schedule cache and the cache.
    Type: Application
    Filed: January 2, 2007
    Publication date: July 3, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Krishnan K. Kailas, Ravi Nair, Sumedh W. Sathaye, Wolfram Sauer, John-David Wellman
  • Publication number: 20080162877
    Abstract: A computer architecture and programming model for high speed processing over broadband networks are provided. The architecture employs a consistent modular structure, a common computing module and uniform software cells. The common computing module includes a control processor, a plurality of processing units, a plurality of local memories from which the processing units process programs, a direct memory access controller and a shared main memory. A synchronized system and method for the coordinated reading and writing of data to and from the shared main memory by the processing units also are provided. A hardware sandbox structure is provided for security against the corruption of data among the programs being processed by the processing units. The uniform software cells contain both data and applications and are structured for processing by any of the processors of the network. Each software cell is uniquely identified on the network.
    Type: Application
    Filed: March 15, 2008
    Publication date: July 3, 2008
    Inventors: Erik Richter Altman, Peter George Capek, Michael Karl Gschwind, Charles Ray Johns, Harm Peter Hofstee, Martin E. Hopkins, James Allan Kahle, Sumedh W. Sathaye, John-David Wellman, Ravi Nair
  • Publication number: 20080065861
    Abstract: This invention pertains to apparatus, method and a computer program stored on a computer readable medium. The computer program includes instructions for use with an instruction unit having a code page, and has computer program code for partitioning the code page into at least two sections for storing in a first section thereof a plurality of instruction words and, in association with at least one instruction word, for storing in a second section thereof an extension to each instruction word in the first section. The computer program further includes computer program code for setting a state of at least one page table entry bit for indicating, on a code page by code page basis, whether the code page is partitioned into the first and second sections for storing instruction words and their extensions, or whether the code page is comprised instead of a single section storing only instruction words.
    Type: Application
    Filed: October 31, 2007
    Publication date: March 13, 2008
    Inventors: Erik Altman, Michael Gschwind, David Luick, Daniel Prener, Jude Rivers, Sumedh Sathaye, John-David Wellman
  • Publication number: 20080065863
    Abstract: One embodiment of the present method and apparatus for data stream alignment support includes retrieving a first input from a first register file, retrieving a second input from a second register file, the second register file being dedicated to a stream shift unit and performing the stream shift instruction in accordance with the first input, the second input and a third input.
    Type: Application
    Filed: September 11, 2006
    Publication date: March 13, 2008
    Inventors: Alexandre E. Eichenberger, Michael Karl Gschwind, John-David Wellman, Peng Wu
  • Patent number: 7340588
    Abstract: This invention pertains to apparatus, method and a computer program stored on a computer readable medium. The computer program includes instructions for use with an instruction unit having a code page, and has computer program code for partitioning the code page into at least two sections for storing in a first section thereof a plurality of instruction words and, in association with at least one instruction word, for storing in a second section thereof an extension to each instruction word in the first section. The computer program further includes computer program code for setting a state of at least one page table entry bit for indicating, on a code page by code page basis, whether the code page is partitioned into the first and second sections for storing instruction words and their extensions, or whether the code page is comprised instead of a single section storing only instruction words.
    Type: Grant
    Filed: November 24, 2003
    Date of Patent: March 4, 2008
    Assignee: International Business Machines Corporation
    Inventors: Erik R Altman, Michael Gschwind, David A. Luick, Daniel A. Prener, Jude A. Rivers, Sumedh W. Sathaye, John-David Wellman
  • Publication number: 20080052495
    Abstract: A pipeline system and method includes a plurality of operational stages. The stages include a pointer register stage which stores pointer information and updates, and a rename and dependence checking stage located downstream of the pointer register stage, which renames registers and determines if dependencies exist. A functional unit provides pointer information updates to the pointer register stage such that pointer information is processed and updated to the pointer register stage before or in parallel with the register dependency checking.
    Type: Application
    Filed: October 26, 2007
    Publication date: February 28, 2008
    Inventors: ERIK ALTMAN, Michael Gschwind, Jude Rivers, Sumedh Sathaye, John-David Wellman, Victor Zyuban
  • Patent number: 7325124
    Abstract: A pipeline system and method includes a plurality of operational stages. The stages include a pointer register stage which stores pointer information and updates, and a rename and dependence checking stage located downstream of the pointer register stage, which renames registers and determines if dependencies exist. A functional unit provides pointer information updates to the pointer register stage such that pointer information is processed and updated to the pointer register stage before or in parallel with the register dependency checking.
    Type: Grant
    Filed: April 21, 2004
    Date of Patent: January 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: Erik Altman, Michael Karl Gschwind, Jude A. Rivers, Sumedh Wasudeo Sathaye, John-David Wellman, Victor Zyuban
  • Publication number: 20070162895
    Abstract: A trace cache system is provided comprising a trace start address cache for storing trace start addresses with successor trace start addresses, a trace cache for storing traces of instructions executed, a trace history table (THT) for storing trace numbers in rows, a branch history shift register (BHSR) or a trace history shift register (THSR) that stores histories of branches or traces executed, respectively, a THT row selector for selecting a trace number row from the THT, the selection derived from a combination of a trace start address and history information from the BHSR or the THSR, and a trace number selector for selecting a trace number from the selected trace number row and for outputting the selected trace number as a predicted trace number.
    Type: Application
    Filed: January 10, 2006
    Publication date: July 12, 2007
    Applicant: International Business Machines Corporation
    Inventors: Erik Altman, Michael Gschwind, Jude Rivers, Sumedh Sathaye, John-David Wellman, Victor Zyuban
  • Publication number: 20070130237
    Abstract: A method and apparatus for storing non-critical processor information without imposing significant costs on a processor design is disclosed. Transient data are stored in the processor-local cache hierarchy. An additional control bit forms part of cache addresses, where addresses having the control bit set are designated as “transient storage addresses.” Transient storage addresses are not written back to external main memory and, when evicted from the last level of cache, are discarded. Preferably, transient storage addresses are “privileged” in that they are either not accessible to software or only accessible to supervisory or administrator-level software having appropriate permissions. A number of management functions/instructions are provided to allow administrator/supervisor software to manage and/or modify the behavior of transient cache storage.
    Type: Application
    Filed: December 6, 2005
    Publication date: June 7, 2007
    Inventors: Erik Altman, Michael Gschwind, Robert Montoye, Jude Rivers, Sumedh Sathaye, John-David Wellman, Victor Zyuban
  • Patent number: 7206923
    Abstract: A method and apparatus is provided to manage data in computer registers in a program, making more computer registers available to one or more programmers utilizing a name level instruction. The method and apparatus disclosed herein presents a way of reducing the overhead of register management, by introducing a concept of a name level for each of the named architected registers in a processor. The method provides a programmer with a larger register name-space while not increasing the size of the instruction word in the processor instruction-set architecture. It also provides for the facilitation of architectural features which overload the architected register namespace and ease the overhead of register management. This provides for the addition of more computer registers without changing the instruction format of the computer.
    Type: Grant
    Filed: December 12, 2003
    Date of Patent: April 17, 2007
    Assignee: International Business Machines Corporation
    Inventors: Alexandre E. Eichenberger, Erik R. Altman, Sumedh W. Sathaye, John-David Wellman
  • Publication number: 20070038984
    Abstract: There are provided methods and computer program products for generating code for an architecture encoding an extended register specification. A method for generating code for a fixed-width instruction set includes identifying a non-contiguous register specifier. The method further includes generating a fixed-width instruction word that includes the non-contiguous register specifier.
    Type: Application
    Filed: June 2, 2006
    Publication date: February 15, 2007
    Inventors: Michael Gschwind, Robert Montoye, Brett Olsson, John-David Wellman
  • Publication number: 20070038848
    Abstract: There are provided methods and computer program products for implementing instruction set architectures with non-contiguous register file specifiers. A method for processing instruction code includes processing a fixed-width instruction of a fixed-width instruction set using a non-contiguous register specifier of a non-contiguous register specification. The fixed-width instruction includes the non-contiguous register specifier.
    Type: Application
    Filed: June 2, 2006
    Publication date: February 15, 2007
    Inventors: Michael Gschwind, Robert Montoye, Brett Olsson, John-David Wellman
  • Patent number: 7130963
    Abstract: A system for instruction memory storage and processing in a computing device having a processor, the system is based on backwards branch control information and comprises a dynamic loop buffer (DLB) which is a tagless array of data organized as a direct-mapped structure; a DLB controller having a primary memory unit partitioned into a plurality of banks for controlling the state of the instruction memory system and accepting a program counter address as an input, the DLB controller outputs distinct signals. The system further comprises an address register located in the memory of the computing device, it is a staging register for the program counter address and an instruction fetch process that takes two cycles of the processor clock; and a bank select unit for serving as a program counter address decoder to accept the program counter address and to output a bank enable signal for selecting a bank in a primary memory unit, and a decoded address for access within the selected bank.
    Type: Grant
    Filed: July 16, 2003
    Date of Patent: October 31, 2006
    Assignee: International Business Machines Corp.
    Inventors: Sameh W. Asaad, Jaime H. Moreno, Jude A. Rivers, John-David Wellman
  • Publication number: 20060236036
    Abstract: There are provided methods and apparatus for accessing a memory array. A method for accessing a memory array includes the step of predicting whether at least two memory references can be satisfied by a single array access based on one of an instruction address, local instruction history and global instruction history.
    Type: Application
    Filed: April 13, 2005
    Publication date: October 19, 2006
    Inventors: Michael Gschwind, Jude Rivers, John-David Wellman, Victor Zyuban
  • Publication number: 20060190614
    Abstract: A computer architecture and programming model for high speed processing over broadband networks are provided. The architecture employs a consistent modular structure, a common computing module and uniform software cells. The common computing module includes a control processor, a plurality of processing units, a plurality of local memories from which the processing units process programs, a direct memory access controller and a shared main memory. A synchronized system and method for the coordinated reading and writing of data to and from the shared main memory by the processing units also are provided. A hardware sandbox structure is provided for security against the corruption of data among the programs being processed by the processing units. The uniform software cells contain both data and applications and are structured for processing by any of the processors of the network. Each software cell is uniquely identified on the network.
    Type: Application
    Filed: February 24, 2005
    Publication date: August 24, 2006
    Inventors: Erik Altman, Peter Capek, Michael Gschwind, Charles Johns, Harm Hofstee, Martin Hopkins, James Kahle, Sumedh Sathaye, John-David Wellman
  • Publication number: 20060174089
    Abstract: A method, system, and computer program product for mixing of conventional and augmented instructions within an instruction stream, wherein control may be directly transferred, without operating system intervention, between one type of instruction to another. Extra instruction word bits are added in a manner that is designed to minimally interfere with the encoding, decoding, and instruction processing environment in a manner compatible with existing conventional fixed instruction width code. A plurality of instruction words are inserted into an instruction word oriented architecture to form an encoding group of instruction words. The instruction words in the encoding group are dispatched and executed either independently or in parallel based on a specific microprocessor implementation. The encoding group does not indicate any form of required parallelism or sequentiality. One or more indicators for the encoding group are created, wherein one indicator is used to indicate presence of the encoding group.
    Type: Application
    Filed: February 1, 2005
    Publication date: August 3, 2006
    Applicant: International Business Machines Corporation
    Inventors: Erik Altman, Michael Gschwind, Daniel Prener, Jude Rivers, Sumedh Sathaye, John-David Wellman, Victor Zyuban
  • Publication number: 20060155965
    Abstract: A dynamic predictive and/or exact caching mechanism is provided in various stages of a microprocessor pipeline so that various control signals can be stored and memorized in the course of program execution. Exact control signal vector caching may be done. Whenever an issue group is formed following instruction decode, register renaming, and dependency checking, an encoded copy of the issue group information can be cached under the tag of the leading instruction. The resulting dependency cache or control vector cache can be accessed right at the beginning of the instruction issue logic stage of the microprocessor pipeline the next time the corresponding group of instructions come up for re-execution. Since the encoded issue group bit pattern may be accessed in a single cycle out of the cache, the resulting microprocessor pipeline with this embodiment can be seen as two parallel pipes, where the shorter pipe is followed if there is a dependency cache or control vector cache hit.
    Type: Application
    Filed: January 12, 2005
    Publication date: July 13, 2006
    Applicant: International Business Machines Corporation
    Inventors: Erik Altman, Michael Gschwind, Jude Rivers, Sumedh Sathaye, John-David Wellman, Victor Zyuban
  • Patent number: 6970982
    Abstract: A method and system for attached processing units accessing a shared memory in an SMP system. In one embodiment, a system comprises a shared memory. The system further comprises a plurality of processing elements coupled to the shared memory. Each of the plurality of processing elements comprises a processing unit, a direct memory access controller and a plurality of attached processing units. Each direct memory access controller comprises an address translation mechanism thereby enabling each associated attached processing unit to access the shared memory in a restricted manner without an address translation mechanism. Each attached processing unit is configured to issue a request to an associated direct memory access controller to access the shared memory specifying a range of addresses to be accessed as virtual addresses. The associated direct memory access controller is configured to translate the range of virtual addresses into an associated range of physical addresses.
    Type: Grant
    Filed: October 1, 2003
    Date of Patent: November 29, 2005
    Assignee: International Business Machines Corporation
    Inventors: Erik R. Altman, Peter G. Capek, Michael Karl Gschwind, Harm Peter Hofstee, James Allan Kahle, Ravi Nair, Sumedh Wasudeo Sathaye, John-David Wellman
  • Publication number: 20050251654
    Abstract: A pipeline system and method includes a plurality of operational stages. The stages include a pointer register stage which stores pointer information and updates, and a rename and dependence checking stage located downstream of the pointer register stage, which renames registers and determines if dependencies exist. A functional unit provides pointer information updates to the pointer register stage such that pointer information is processed and updated to the pointer register stage before or in parallel with the register dependency checking.
    Type: Application
    Filed: April 21, 2004
    Publication date: November 10, 2005
    Inventors: Erik Altman, Michael Gschwind, Jude Rivers, Sumedh Sathaye, John-David Wellman, Victor Zyuban