Abstract:
In general, in one aspect, the invention features a method for reducing the elapsed period between the time an interrupt acknowledge is issued by a CPU and the time when the corresponding interrupt vector is received at the CPU. When a device connected to a lower speed bus sends an interrupt request, an interrupt queue device, connected to the CPU by a higher speed bus, intercepts the interrupt request, temporarily stores the corresponding interrupt vector and then responds to an interrupt acknowledge from the CPU by delivering the temporarily stored interrupt vector on the higher speed bus. In addition, the interrupt queue can deliver the temporarily stored interrupt vector to the CPU on a separate serial line.
Abstract:
Access to a bus in a computer system having a CPU and bus devices capable of running cycles on a bus is controlled by an arbiter. The arbiter grants access to the bus according to an arbitration scheme that depends on whether a request for the bus is pending from the CPU, in which a first arbitration scheme arbitrates between the bus devices, and wherein a second arbitration scheme arbitrates between the CPU and at least one other bus device if the CPU request is present.
Abstract:
A projection apparatus provides a projection engine that supplies polarized light to a dielectric filter (or diffraction grating). The dielectric filter provides an array of pixels that each pass selected colors of light and reflect other colors. Each pixel is subpixelated (for example, red, green, and blue subpixels) so that a single subpixel passes a selected color (for example, red) and reflects the other colors (for example, green and blue). A digital micromirror device has an array of mirrors that correspond in number to the number of subpixels of the dielectric filter. Each of the mirrors provide "on" and "off" positions for selectively transmitting a desired color of light from the mirror to an image screen. The image screen receives light reflected by selected of the mirrors of the array of micromirrors when the selected mirrors are in the "on" position. The micromirror device can be controlled with a computer, television, signal, video signal, or the like.
Abstract:
A programmable memory device including a register that stores a programmable mode select bit, a data input, a control input and decode circuitry that decodes the mode select bit to determine whether the memory device operates in either a check mode or a mask mode. The control input receives at least one control bit for each data byte received by the memory device during a write operation or cycle. The function of the control bit(s) depends upon the mode select bit. In a check mode of operation, each control bit functions as a parity/check bit for a corresponding data byte, where the memory device stores the check bit with its corresponding data byte during each write cycle. In the mask mode of operation, each control bit functions as a mask bit for a corresponding data byte, where the memory device selectively stores or masks the data byte depending upon the state of the corresponding mask bit.
Abstract:
An apparatus and a method for massaging audio signal perform interpolation, dynamic filtering, and panning on the audio signal represented as a matrix of input values. In the interpolation process, the input values are loaded into first and second vector registers, while fractional coefficients are loaded into a third vector register. Next, the first vector register is subtracted from the second vector register. Additionally, in a single operation, the routine performs a vector multiply operation between the second and third registers and accumulates the result of the vector multiply operation in the second register. The results are saved and the process is repeated until all input values in the matrix have been processed. In the dynamic filtering process, after the data loading step, for each slot in said vector register, the routine performs a multiply operation between the filter coefficient and the slot of the vector register and accumulates the result of the multiply operation in the slot of the second register in a single clock cycle while it retains data of the remaining slots in the vector register in the same clock cycle. The results are saved and the process is repeated until all input values in the matrix have been processed. In the stretching process, after loading data in the appropriate vector register, the routine copies the content of each slot of the vector register into consecutive pair of slots on a second vector register and when the second vector register is full, copies the content of each of the remaining slots in the first vector register into consecutive pairs of slots on a third register. In the panning process, the routine performs a vector multiply operation between the first vector register and a coefficient vector register for each slot in the first vector register. This vector multiply operation is preferably a 32-bit vector multiply operation which is broken down into a low order extended precision multiply accumulate operation and a high order extended precision multiply accumulate operation.
Abstract:
A keyboard matrix of a keyboard has drive lines including a set of lines to be selectively activated for detection of depressed keys and scan lines including a set of lines to be selectively monitored for detection of depressed keys. The keyboard matrix includes circuitry for connecting one of the drive lines with one of the scan lines for providing an identification of the keyboard.
Abstract:
A current-mode control system for a switching power supply which provides logarithmic compensation to a peak primary current of a variable frequency, fully discontinuous switching power supply. A ramp voltage generator generates a ramp voltage that is furnished to a control circuit. The control circuit compares the voltage level of the ramp signal to the voltage level of a control voltage. The control voltage is provided by an error amplifier and is a function of an output voltage of the converter. The control circuit allows a primary switching current to exist in the converter until the ramp voltage renders the control voltage. The ramp voltage logarithmically compensates the peak of the primary current by adjusting the ramp voltage. This logarithmic compensation provides a relatively constant output power over a large input voltage range.
Abstract:
A computer system that automatically and securely executes registered programs immediately prior to a transition to a reduced energy consumption state. A registrar table specifying registered programs and a secure modification detection value for each registered program are maintained in system management mode memory or other secure memory space in the computer system. A system management interrupt is generated following a request to remove power from the computer system or the occurrence of an event that triggers an energy saving mode. The system management interrupt handler routine then generates a current modification detection value for each registered program. The current modification detection values are compared with the secure modification detection values. Execution of a registered program is permitted if the values match. After all registered programs have been executed, the computer system automatically powers down or enters an energy saving mode. The computer system thereby allows secure and convenient execution of programs or commands that would typically interfere with normal computer use.
Abstract:
A routable operand and selectable operation processor multimedia extension unit is employed to stretch pixel bit images in a video system using an efficient, parallel technique. For a series of pixels in a row, a series of interpolation values are established, based on multiples of a reciprocal of a stretch factor. For each interpolation value, the integral portion is used to establish the appropriate two source pixels, and the fractional portion then provides weighting of those pixel values. The various source pixels and interpolation values are routed using the operand routing and operated upon using the vector selectable operations, yielding two destination pixels calculated in parallel.
Abstract:
A method of detecting and correcting errors in a memory subsystem of a computer is described. The method includes beginning a write operation of N data bits to a memory, generating M check bits from the N data bits, writing the N data bits and the M check bits to the memory, reading the N data bits and M check bits from the memory, generating X syndrome bits from the N data bits and the M check bits, and using the X syndrome bits to detect and correct errors. Preferably, the M check bits are generated also from A address bits corresponding to the location in memory to which the N data bits and M check bits are to be written.