Home | Links | Contact Us | More About Intellectual Property | Bookmark
Search patents:
Home File Sharing Method-and-system-for-executing-a-program-within-a-multiscalar-processor-by-processing-linked-thread-descriptors

 Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses
A network switch according to the present invention includes a plurality of first network ports, a ...


 Method, system, and program for managing requests to a cache using flags to queue and dequeue data in a buffer
OF THE PREFERRED EMBODIMENTS In the following description, reference is made to the accompanying ...


 High-speed data bus for network switching
The specification will be organized as follows: 1. BlazePath.TM./BlazeFire.TM. Architecture/Chip S...


 Method and apparatus for data buffer management in a communications switch
OF A PREFERRED EMBODIMENT OF THE INVENTION Generally, the present invention provides a method and ...


 Handling contiguous memory references in a multi-queue system
What is claimed is: 1. A controller for a random access memory comprises: control logic, including ...


 Communication between processors
Referring to FIG. 1, a computer system 26 includes two processors 1, 2. Each processor 1, 2 has a ...


 Optimizations to receive packet status from fifo bus
According to one aspect of the invention, a method is described of receiving bytes of data from a ...


 Storing frame modification information in a bank in memory
The present invention comprises a method and system for reserving frame modification information ...


 Scratchpad memory
According to one aspect, a integrated circuit includes a random-access memory (RAM) storage and a ...


 Read lock miss control and queue management
According to one aspect of the invention, a method is described of managing memory access to random ...


 Method and system for executing a program within a multiscalar processor by processing linked thread descriptors

Details
Inventors: Kahle, James A.; Mallick, Soummya; McDonald, Robert G.; Swarthout, Edward L.;
Assignee: International Business Machines Corporation (Armonk, NY)
Primary Examiner: Banankhah; Majid
Assistant Examiner:
Attorney, Agent or Firm: Salys; Casimer K. Felsman, Bradley, Vaden, Gunter & Dillon, LLP

A multiscalar processor and method of executing a multiscalar program within a multiscalar processor having a plurality of processing elements and a thread scheduler are provided. The multiscalar program includes a plurality of threads that are each composed of one or more instructions of a selected instruction set architecture. Each of the plurality of threads has a single entry point and a plurality of possible exit points. The multiscalar program further comprises thread code including a plurality of data structures that are each associated with a respective one of the plurality of threads. According to the method, a third data structure among the plurality of data structures is supplied to the thread scheduler. The third data structure, which is associated with a third thread among the plurality of threads, specifies a first data structure associated with a first possible exit point of the third thread and a second data structure associated with a second possible exit point of the third thread. The third thread is assigned to a selected one of the plurality of processing elements for execution. Prior to completing execution of the third thread, the thread scheduler selects from among the first and the second possible exit points of the third thread. In response to the selection, a corresponding one of the first and second data structures is loaded into the thread scheduler for processing.

DETAILED DESCRIPTION The multiscalar processing paradigm disclosed herein overcomes numerous deficiencies of the previously proposed multiscalar paradigm through improvements to both the multiscalar hardware and software architectures.
In order to facilitate an understanding of the operation of the multiscalar processor hardware, an introduction to the improved multiscalar software architecture will first be given.
Software Architecture With reference now to the figures and in particular with reference to FIG.
1A, there is a conceptual diagram of a process for constructing a multiscalar program is illustrated.
As depicted, an ordinary high level language (e.
g.
, C++) program 10 containing a number of high level instructions 12 is input into multiscalar compiler 14 for processing.
During a first pass, multiscalar compiler 14 translates each of high level instructions 12 into one or more executable instruction set architecture (ISA) instructions 16 arranged in a particular program order.
In addition, multiscalar compiler 14 partitions ISA instructions 16 into one or more threads 18, which each contain a logically contiguous group of ISA instructions 16.
As utilized hereinafter, the term thread refers to a set of one or more logically contiguous instructions within a multiscalar program that have a single entry point and multiple possible exit points.
In other words, when a thread is executed, the first instruction within the thread is always executed, but there are multiple possible execution paths out of the thread.
Importantly, the multiscalar software architecture disclosed herein permits each ISA instruction 16 to be included within more than one thread 18 and does not utilize the explicit programmed forks required by conventional multiple processor software architectures.
Threads 18 can be distinguished from basic blocks 20 in that basic blocks 20 are sets of sequential ISA instructions terminated by a branch instruction.
Basic blocks 20 have only two exit points, but may have two or more entry points



Related patents
  Single chip microcomputer having a dedicated address bus and dedicated data bus for transferring register bank data to and from an on-line RAM
To solve the problems, an object of the invention is to provide a single chip microcomputer employing a register bank method. This microcomputer efficiently uses chip ...
  Method and apparatus for packetizing data into a data stream
OF A PREFERRED EMBODIMENT Generally, the present invention provides a method and apparatus for packetizing data. Such processing begins by determining the bit time ...
  Scratchpad memory
According to one aspect, a integrated circuit includes a random-access memory (RAM) storage and a controller both located on the same semiconductor chip. The controller ...
  Read lock miss control and queue management
According to one aspect of the invention, a method is described of managing memory access to random access memory includes fetching a read lock memory reference request ...
  Computer program product used for exchange and transfer of data having a siga vector and utilizing a queued direct input-output device
A computer program product and storage device used for exchange and transfer of data in a network computing system having a main storage capable of connecting to at ...
  Network device and method of controlling flow of data arranged in frames in a data-based network
It is therefore an object of the present invention to enable FIFO filling without incurring the same overhead expenses as required for a previous watermark interrupt ...
  Method and apparatus for synchronized message passing using shared resources
In accordance with principles of the present invention, to facilitate communication between a first and second process, access to shared resources is synchronized ...
  Method and apparatus for network interface card load balancing and port aggregation
Broadly speaking, the present invention fills these needs by providing methods and apparatus for increasing throughput in a load balancing manner over a multi-port NIC. E...
  System for writing a data value at a starting address to a number of consecutive locations equal to a segment length identifier
OF THE INVENTION Having summarized various aspects of the present invention, reference will now be made in detail to the description of the invention as illustrated in ...
  Asynchronous transfer mode based service consolidation switch
From the foregoing, a need has arisen for a telecommunications switch that integrates a variety of services through an asynchronous transfer mode based operation. In ...

0.074

Archive: All patents - Links

Copyright (c)2006 Eipa-patents.org - All rights reserved