Abstract:
To optimize sytem bus utilization in a computer system, a bus coordinator is included in the computer system to coordinate the transfer of information signals on the bus. Each time a source node wishes to transfer information to a destination node, the source node sends a request to the coordinator along with the identification of the destination node. Upon receiving this request, the coordinator determines whether the destination node has capacity to receive information signals. If the destination node has capacity, then the coordinator grants control of the system bus to the source node to allow the source node to send information signals to the destination node via the system bus. Otherwise, the source node is denied control of the system bus until the destination node has capacity to receive information signals. By granting control of the system bus to a source node only when the destination node has capacity to receive information signals, the coordinator ensures that no system bus time is wasted on unsuccessful information transfers. Thus, bus utilization is optimized.
Abstract:
A system and method for creating and executing interactive interpersonal computer simulations comprises an authoring editor. The authoring editor presents an authoring user interface with a comic book metaphor form for the creation of simulations. The authoring editor also provides constructs that represent chapter objects, cell objects, character objects, message objects, and thought objects to create a simulation. The authoring editor interprets the constructs and their arrangement and creates an executable simulation stored in an active simulation memory. The system also includes an engine that reads the active simulation memory, recognizes the data objects, and executes subroutines corresponding to the data objects. The engine outputs the results of the execution of the objects to the user through a simulation user interface.
Abstract:
A low-cost yet high-performance, moderate bandwidth (up to 2 Mbps) global telecommunications interface to new and existing computers allows high-performance, low-cost telecommunications platforms to support global fax, data, voice, and other data streams in an intuitive way. The telecommunications interface provides a very low-cost solution to international connectivity for a broad class of existing computers while providing high-performance wide-area data transfer. Convenient and reliable global communications over the phone line may thus be achieved. From a rudimentary viewpoint, the telecommunications interface provides for an elegant, economical implementation of a fax/data modem. The telecommunications interface provides both a time-division multiplexed interface mode for constant bit rate communications and a packetized interface mode for variable bit rate communications. Multiple streams of digital and/or analog-derived data may be handled simultaneously. DMA and non-DMA interface mode are provided in order to achieve compatibility with a broad range of existing and new computers.
Abstract:
A real-time data stream is transmitted in data packets from a data source in accordance with a predetermined protocol over a shared network. Data packets of said real-time data stream are received at a data destination connected to the local area network. The data destination then reconstitutes the real-time data stream using information included in the data packets in accordance with the predetermined protocol. More particularly, a plurality of data frames are transmitted from the data source, each including at least one data packet. Each data packet includes a sequence number S identifying the data packet as the Sth data packet transmitted in the data stream and a frame number N identifying the data packet as belonging to an Nth frame transmitted in the data stream. Data packets that are the first data packets in respective frames to which they belong and data packets that are the last data packets in respective frames to which they belong include flags identifying them as such. At least some of the data packets are received at the data destination and, using sequence numbers, frame numbers, and the flags in the data packets, complete data frames received at the data destination are identified. Data frames that are timely received, as judged in relation to received data packets belonging to other frames, are forwarded to a higher-level process. Packets not belonging to complete data frames timely received are discarded. In this manner, the isochronous nature of the real-time data stream is maintained.
Abstract:
A pattern recognition system which continuously adapts reference patterns to more effectively recognize input data from a given source. The input data is converted to a set or series of observed vectors and is compared to a set of Markov Models. The closest matching Model is determined and is recognized as being the input data. Reference vectors which are associated with the selected Model are compared to the observed vectors and updated ("adapted") to better represent or match the observed vectors. This updating method retains the value of these observed vectors in a set of accumulation vectors in order to base future adaptations on a broader data set. When updating, the system also may factor in the values corresponding to neighboring reference vectors that are acoustically similar if the data set from the single reference vector is insufficient for an accurate calculation. Every reference vector is updated after every input; thus, reference vectors neighboring an updated reference vector may also be updated. The updated reference vectors are then stored by the computer system for use in recognizing subsequent inputs.
Abstract:
A minimal instruction set computer architecture (hyperscalar computer architecture) comprises a central memory, an instruction buffer, a control unit, an I/O control unit, a plurality of functional units, a plurality of register files, and a data router. In the hyperscalar computer architecture, the central memory transfers a plurality of instructions to the instruction buffer. The control unit receives multiple instructions from the instruction buffer, and automatically determines and issues the largest subset of instructions from those received that can be simultaneously issued to the plurality of functional units. Each functional unit receives data from and returns computational results to a corresponding register file. The data router serves to transfer data between each register file and any other register file, the central memory, the control unit, or the I/O control unit. The present invention also includes a multiple instruction issue method for issuing instructions to the hyperscalar computer architecture. The multiple instruction issue method comprises the steps of: determining a set of first source register files used by a plurality of instructions; determining a set of second source register files used by the plurality of instructions; determining a set of destination register files used by the plurality of instructions; determining a largest subset of instructions within the plurality of instructions that can be executed without a register file conflict; and issuing in parallel each instruction within the largest subset to the plurality of functional units.
Abstract:
An apparatus for emulation routine control transfer creates a jump host instruction (JHI) containing the address of a next emulation routine during the execution of a current emulation routine and outputs the JHI at the end of current emulation routine for transfer of host processor control. The apparatus preferably comprises: an emulated program counter (EPC), a summing means, a state machine, a pointer storage means, an opcode storage means, and a jump instruction circuit. The state machine is preferably coupled to control the loading of the EPC, the loading of the opcode storage means, the summing means, the pointer storage means and the operation of the jump instruction circuit. The pointer storage means is preferably coupled between the data bus and the jump instruction circuit. The state machine preferably issues commands on the control bus and directly to the summing means and the jump instruction circuit to prefetch the next emulation routine, create a jump instruction to the beginning of the next emulation routine and assert the jump instruction on the bus at the appropriate time to transfer directly from one emulation routine to the next using the single host jump instruction. The jump host instruction is placed upon the host processor's instruction bus after execution of the final instruction within a current emulation routine. Thus, the execution of the next emulation routine begins immediately after the execution of the jump host instruction, and significant amounts of processing time associated with the dispatch loop are eliminated.
Abstract:
A system and method for modeling smooth free-form shapes using B-splines over irregular meshes in a simple and efficient manner, generating aesthetically pleasing shapes is disclosed. This method provides a low degree parametric polynomial representation. As a result, techniques for surface-surface or ray-surface intersection is faster and more robust than possible with existing techniques. In accordance with the present invention, an input mesh M is initially simplified by isolating irregularities and constraining geometry. First, the input mesh M is subjected to general refinement, whereby a new mesh M is constructed, which in turn is subjected to constrained refinement, whereby another new mesh M is constructed. After the general and constrained refinement steps, the mesh M is broken up into a set of "quad-nets" corresponding to each of its vertices. Finally, these quad nets are used as local geometry, over which, 4 cubic Bézier triangles are constructed.
Abstract:
Three-dimensional scenes are portrayed from different viewpoints by morphing two-dimensional images. Various key views of a scene are stored, along with offset maps that identify the correspondence of pixels in adjacent stored images. When an intermediate view of the scene is to be presented, one ore more stored views are interpolated through a morphing technique. Since the key views and their offset data are pre-stored, the morphing and presentation of new views can be carried out at interactive rates. By providing the ability to quickly compute many closely spaced views, the disclosed morphing technique also facilitates the rapid computation of soft shadows and motion blur in images.
Abstract:
The invention is a new object construct (40) that allows a functional object in a dynamic language to be efficiently used as both a directly-invoked function and as a method in a generic function. To accomplish this use, the new object construct comprises four distinct but related contiguous storage regions designated as a header (41), a meth-info field (42), a fn-prolog field (43), and the method body (44). When called as a component of a generic function, one entry point is at the method body or at the method-information field. When called directly, another entry point exists at the function prolog field.