Abstract:
A compiler maintains a library of sharable program structures generated in response to instantiations of a generic program structure, along with characteristics of parameters which were used in generating the sharable program structure. In response to an instantiation of a generic program structure, the compiler generates information relating to the characteristics and usage of each parameter which are used in connection with the instantiation. The compiler then compares that information to the corresponding informaton associated with the sharable program structures in the library. If the library contains a sharable program structure whose parameter information compares satisfactorily, that sharable program structure is used in connection with further operations in connection with the instantiation. On the other hand, if the library does not contain such a sharable program structure, one is generated and stored in the library, along with the characteristics of the parameters used in its generation, for use in sharing with later instantiations. In addition, the just-generated sharable program structure is used in further operations in connection with the instantiation.
Abstract:
A simulator including a process model processor which processes a mathematical model of a physical system in connection with input data and a heuristic knowledge base controlled by an inference engine. In addition to the input data, from time to time during processing of the mathematical model, the process model requires heuristic knowledge from the heuristic knowledge base. At such times, the process model processor suspends processing of the mathematical model and enables the inference engine to obtain the required heuristic knowledge and transfer it to the process model processor. Upon receiving the heuristic knowledge, the process model processor resumes processing of the mathematical model.
Abstract:
The supply of available tasks that may be executed by a blocked processor while it is waiting for the end of a conflict with another processor, is controlled by temporarily lowering the interrupt priority to a minimum level above which it will be permitted to accept other tasks for execution.
Abstract:
A packaging and cooling assembly for integrated circuit chips includes a base (14) for reception of one or more circuit chips (12), and a combination heat sink and cover (28) for attachment to the base (19). The circuit chips (12) are mounted circuit side down on the base (14), and include flexible lead frames (20) for attachment to bonding pads on the base (14). Compliant cushions (44) that generally conform to the shape and size of the chips (12) are held loosely between the circuit sides of the chips, and the base (14). The heat sink (28) engages the back sides of the circuit chips (12) when it is attached to the base. This causes the chips (12) to compress the compliant cushions (44), thereby holding the chips firmly in position, and forming a high thermal conductivity interface between the chips and the heat sink (28). To further enhance the heat transfer characteristics of the interface, a thin film of fluid (50) is coated on the back sides of each chip (12) to fill in the microvoids which result from asperity contact of the heat sink (28) and chip mating surfaces. A sealing gasket (34) is provided between the heat sink (28) and the base (14) to form a protective enclosure for the chips. Intermediate housings or heat spreader structures may alternatively be disposed between the chips (12) and the heat sink (28).
Abstract:
Interlocking of addresses in a system with parallel processors using a common memory space (15) is managed by maintaining for each processor a record of the lock state of the system. When a processor seeks to initiate a transaction, the transaction is analyzed against the lock state record (31), and the processor's request for access to an intercommunication bus is transmitted only when the lock state of the system is in condition to process the transaction. By monitoring and analyzing bus transactions, the lock state record (31) of each processor is maintained up to date. By thus blocking a transaction involving a locked address before the bus is requested, the tying up of the bus in futile activity is avoided.
Abstract:
A computer interconnect coupler has channel transmitters and channel receivers and logic circuitry for the routing of messages from the channel receivers which are addressed to the channel transmitters. When a message is received by a channel receiver, the channel receiver stores the beginning portion of the message in a first-in-first-out buffer, and sends a route message request to central switch logic. If the destination transmitter or receiver is busy, the central logic places the message request on a destination queue and returns a signal to the requesting source transmitter to turn on a flow control signal which is transmitted back to the data processing device having originated the message. Any message addressed to this data processing device, however, is inserted into the flow control carrier with pauses both before and after the message, and provisions are also made to allow the data processing device to return an acknowledgment responsive to the incoming message. To permit incremental expansion of the coupler to accommodate an increased number of channels, additional channel interface boards may be added. The coupler also includes a plurality of timers which determine fault conditions, and a diagnostic processor monitors the timers and associated error flags to diagnose faults to the board level. The conditions existing at the time of fault diagnosis are written into a non-volatile memory located on the circuit board. Therefore, the information is physically carried along with the board to the repair facility.
Abstract:
A VLSI circuit (10) that implements a symmetric Reed-Solomon error correcting code for correcting up to 32 symbol errors per code word in real time. Extensive use of data pipelining (16), (18), (20) and novel solutions to the Berlekamp-Massey algorithm without supplementary software or heavily iterative hardware calculations provide a high bandwidth, low latency implementation of the Reed-Solomon code with low data overhead and low hardware cost.
Abstract:
In a floating point addition or subtraction procedures, two shift operations of the operand fraction may be required. The first shift operation, based on the difference between the operand exponent arguments, involves aligning one of the operand arguments so that the addition or subtraction procedure between the operand fractions can be performed. In order to complete the associated computations correctly, it is necessary to know if any of the fraction positions removed from the fraction by the shift operation include non-zero signals, i.e., the operation referred to as computation of the ''sticky'' bit. The second important shift operation occurs after the addition or subtraction of the operand fractions has taken place. The interim resulting operand fraction must be normalized, i.e., a non-zero signal is placed in the most significant operand fraction bit position and the operand exponent argument adjusted accordingly. In order to accomplish this normalization, the position of the leading one (most significant non-zero) bit must be identified. The present invention utilizes a carry chain both for computing the ''sticky'' bit information and for detecting the leading one in an operand fraction.
Abstract:
An optical mass storage device for use in data processing systems. Two or more lasers provide separate read and write laser beams having different wavelengths. The read and write laser beams can be orthogonally polarized. A polarizing beam splitter (30) combines the read and write beams along a common optical path to an optical head (12). The head directs the combined beam to a magneto-optic storage medium (10). A read beam is reflected back by the medium (10) to the common path through the head (12). A dichroic beam splitter (32) disposed in the common path between the head (12) and the polarizing splitter (30) reflects the read beam to an optical detector (18a, 18b, 20). If more than one write laser is necessary, a second dichroid splitter (68) can be used to combine the multiple write beams and the read beam.
Abstract:
A read/write head for use in a magnetic storage device in a digital data processing system for writing data in the form of magnetic flux onto, and reading data from a spinning magnetic disk. The head has two magnetic pole pieces (11, 12) each with a yoke region (13) which tapers to a pole tip (14) and an energizable coil (16) situated between the pole pieces in the yoke region for generating magnetic flux. One of the pole pieces has a slot (17) in the yoke region, and a strip (20) of magneto-resistive material is situated adjacent the slot. The magneto-resistive strip is adapted to be connected to sensing equipment which measures variations in the resistance of the magneto-resistive strip in response to the variations in the magnetic flux recorded on the media. Several slots may be formed in the pole pieces, and an elongated magneto-resistive strip (42) may be situated adjacent the slots.