Patents by Inventor David E. Richter

David E. Richter 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: 20020073336
    Abstract: An electronic file is specially encrypted and selectively decrypted into volatile memory to protect the decrypted electronic file from access except through the decrypting process.
    Type: Application
    Filed: June 29, 2001
    Publication date: June 13, 2002
    Applicant: E L & Associates, Inc.
    Inventors: Edward J. Toy, David E. Richter
  • Patent number: 6076155
    Abstract: A dual-instruction set central processing unit (CPU) is capable of executing instructions from a reduced instruction set computer (RISC) instruction set and from a complex instruction set computer (CISC) instruction set. Data and address information may be to transferred from a CISC program to a RISC program running on the CPU by using shared registers. The architecturally-defined registers in the CISC instruction set are merged or folded into some of the architecturally-defined registers in the RISC architecture so that these merged registers are shared by the two instructions sets. In particular, the flags or condition code registers defined by each architecture are merged together so that CISC instructions and RISC instructions will implicitly update the same merged flags register when performing computational instructions.
    Type: Grant
    Filed: June 19, 1998
    Date of Patent: June 13, 2000
    Assignee: S3 Incorporated
    Inventors: James S. Blomgren, David E. Richter
  • Patent number: 5848264
    Abstract: A microprocessor die contains several processor cores and a shared cache. Trigger conditions for one or more of the processor cores are programmed into debug registers. When a trigger is detected, a trace record is generated and loaded into a debug queue on the microprocessor die. Several trace records from different processor cores can be rapidly generated and loaded into the debug queue. The external interface cannot transfer these trace records to an external in-circuit emulator (ICE) at the rate generated. The debug queue transfers trace records to the external ICE using a dedicated bus to the ICE so that bandwidth is not taken from the memory bus. The memory bus is not slowed for debugging, providing a more realistic debugging session. The debug buffer is also used as a video FIFO for buffering pixels for display on a monitor. The dedicated bus is connected to an external DAC rather than to the external ICE when debugging is not being performed.
    Type: Grant
    Filed: October 25, 1996
    Date of Patent: December 8, 1998
    Assignee: S3 Incorporated
    Inventors: Brian R. Baird, David E. Richter, Shalesh Thusoo, David M. Stark, James S. Blomgren
  • Patent number: 5805918
    Abstract: A dual-instruction set central processing unit (CPU) is capable of executing instructions from a reduced instruction set computer (RISC) instruction set and from a complex instruction set computer (CISC) instruction set. Data and address information may be transferred from a CISC program to a RISC program running on the CPU by using shared registers. The architecturally-defined registers in the CISC instruction set are merged or folded into some of the architecturally-defined registers in the RISC architecture so that these merged registers are shared by the two instructions sets. In particular, the flags or condition code registers defined by each architecture are merged together so that CISC instructions and RISC instructions will implicitly update the same merged flags register when performing computational instructions.
    Type: Grant
    Filed: October 24, 1995
    Date of Patent: September 8, 1998
    Assignee: S3 Incorporated
    Inventors: James S. Blomgren, David E. Richter
  • Patent number: 5781457
    Abstract: A Boolean logic unit (BLU) features a vectored mux. Boolean instructions are executed by applying operands to the select inputs but truth-table signals to the data inputs. Merge and mask operations are performed by reversing the connection and inputting the operands to the data inputs but applying a merge mask to the select inputs. A byte-spreader copies byte or 16-bit operands to 32-bits before being rotated and merged by the vectored mux. A rotator is used to rotate an operand before being applied to the data input of the vectored mux so that compound rotate-merge operations can be executed in a single step through the vectored mux. A carry flag may also be merged in during a multi-step bit-test instruction. Complex CISC instructions such as rotate-through-carry and shift-double are executed in multiple steps on the vectored mux. Intermediate results are stored in the multiplier-quotient temporary registers which are normally used for multiply and divide instructions.
    Type: Grant
    Filed: May 14, 1996
    Date of Patent: July 14, 1998
    Assignee: Exponential Technology, Inc.
    Inventors: Earl T. Cohen, James S. Blomgren, David E. Richter
  • Patent number: 5781750
    Abstract: A dual-instruction-set CPU is able to execute x86 CISC (complex instruction set computer) code or PowerPC RISC (reduced instruction set computer) code. Three modes of operation are provided: CISC mode, RISC mode, both called user modes, and emulation mode. Emulation mode is entered upon reset, and performs various system checks and memory allocation. A special emulation driver is loaded into a portion of main memory set aside at reset. Software routines to emulate the more complex instructions of the CISC architecture using RISC instructions are also loaded into the emulation memory. A TLB is enabled, and translation tables and drivers are set up in the emulation memory. All TLB misses, even in the user modes, will cause entry to a translator driver in emulation mode. Since the TLB is always enabled for the user modes, and all misses are handled by the emulation code, the emulation code can set aside a portion of memory for itself and insure that the user programs never have access to the emulation memory.
    Type: Grant
    Filed: January 11, 1994
    Date of Patent: July 14, 1998
    Assignee: Exponential Technology, Inc.
    Inventors: James S. Blomgren, David E. Richter
  • Patent number: 5685009
    Abstract: A dual-instruction-set central processing unit (CPU) is capable of executing floating point instructions from a reduced instruction set computer (RISC) instruction set and from a complex instruction set computer (CISC) instruction set. Floating point data is transferred from a CISC program to a RISC program running on the CPU by using shared floating point registers. The architecturally-defined floating point registers in the CISC instruction set are merged or folded into some of the architecturally-defined floating point registers in the RISC architecture so that these merged registers are shared by the two instructions sets. In particular, the floating-point exception-mask and flags registers defined by each architecture are merged together so that CISC instructions and RISC instructions implicitly update the same merged flags register when executing floating point instructions.
    Type: Grant
    Filed: November 29, 1995
    Date of Patent: November 4, 1997
    Assignee: Exponential Technology, Inc.
    Inventors: James S. Blomgren, David E. Richter, Cheryl Senter Brashears
  • Patent number: 5664159
    Abstract: A single breakpoint address register on a CPU is shared to emulate a plurality of breakpoint registers. A plurality of breakpoints are stored in an emulation area of main memory. One of these breakpoints is loaded into the single breakpoint register on the CPU. When a translation-lookaside buffer (TLB) on the CPU detects a page miss, a page miss handler activates a debug processing routine to determine if the faulting page contains one of the breakpoints. If the faulting page does contain a breakpoint, then this breakpoint is written to the single breakpoint register on the CPU. Any page in TLB is invalidated if it contained the old breakpoint that was overwritten by the new breakpoint in the single breakpoint register. Thus only one breakpoint can have a page translation in the TLB at any time, and the breakpoints are swapped in and out of single breakpoint register when the TLB entries are swapped. A TLB invalidate entry instruction finds the old breakpoint's TLB entry and invalidates it.
    Type: Grant
    Filed: May 8, 1995
    Date of Patent: September 2, 1997
    Assignee: Exponential Technology, Inc.
    Inventors: David E. Richter, James S. Blomgren
  • Patent number: 5652872
    Abstract: A computer system emulates segment bounds checking with a paging system. Pages entirely within a segment are designated as `clear pages`, while the first and last pages containing segment bounds may be partially-valid pages. The computer system has a memory with a segment descriptor table and an active segment descriptor cache. The active segment descriptor cache holds a copy of the segment descriptors for the active segments in a central processing unit (CPU). The active segment descriptor cache also hold the first and last clear page numbers and the first and last linear address offsets for the active segment. A software segment load routine copies portions of the segment descriptor from the segment descriptor table to the active segment descriptor cache when a user program loads a new segment. Only the segment base address is copied to the CPU die; the segment limit and selector need not be stored on the CPU die.
    Type: Grant
    Filed: May 8, 1995
    Date of Patent: July 29, 1997
    Assignee: Exponential Technology, Inc.
    Inventors: David E. Richter, James S. Blomgren
  • Patent number: 5598553
    Abstract: Segmentation is added to a reduced instruction set computer (RISC) processor which supports paging. The arithmetic-logic-unit (ALU) is extended to allow for a 3-port addition so that the segment base can be added when the virtual address is being generated. Segment bounds checking is achieved by extending the paging system to allow for valid regions that are less than the full page size. Sub-page validity can mimic segmentation because a segment can be broken up into a number of full pages and one or more partially-valid pages at the segment boundaries. A page that is not wholly valid has an "event" on the page, and a memory reference to this page will either cause a software routine to be invoked to check the segment bound, or an extension to the TLB, called a sub-page validity buffer, is used to check if the reference was to a valid portion of the page. Events may also be defined for program watchpoints and defective memory locations.
    Type: Grant
    Filed: May 18, 1995
    Date of Patent: January 28, 1997
    Assignee: Exponential Technology, Inc.
    Inventors: David E. Richter, Earl T. Cohen, James S. Blomgren
  • Patent number: 5481693
    Abstract: A dual-instruction set central processing unit (CPU) is capable of executing instructions from a reduced instruction set computer (RISC) instruction set and from a complex instruction set computer (CISC) instruction set. Data and address information may be transferred from a CISC program to a RISC program running on the CPU by using shared registers. The architecturally-defined registers in the CISC instruction set are merged or folded into some of the architecturally-defined registers in the RISC architecture so that these merged registers are shared by the two instructions sets. In particular, the flags or condition code registers defined by each architecture are merged together so that CISC instructions and RISC instructions will implicitly update the same merged flags register when performing computational instructions.
    Type: Grant
    Filed: July 20, 1994
    Date of Patent: January 2, 1996
    Assignee: Exponential Technology, Inc.
    Inventors: James S. Blomgren, David E. Richter
  • Patent number: 5481684
    Abstract: The CISC architecture is extended to provide for segments that can hold RISC code rather than just CISC code. These new RISC code segments have descriptors that are almost identical to the CISC segment descriptors, and therefore these RISC descriptors may reside in the CISC descriptor tables. The global descriptor table in particular may have CISC code segment descriptors for parts of the operating system that are written in x86 CISC code, while also having RISC code segment descriptors for other parts of the operating system that are written in RISC code. An undefined or reserved bit within the descriptor is used to indicate which instruction set the code in the segment is written in. An existing user program may be written in CISC code, but call a service routine in an operating system that is written in RISC code. Thus existing CISC programs may be executed on a processor that emulates a CISC operating system using RISC code.
    Type: Grant
    Filed: July 20, 1994
    Date of Patent: January 2, 1996
    Assignee: Exponential Technology, Inc.
    Inventors: David E. Richter, Jay C. Pattin, James S. Blomgren
  • Patent number: 5440710
    Abstract: Segmentation is added to a reduced instruction set computer (RISC) processor which supports paging. The arithmetic-logic-unit (ALU) is extended to allow for a 3-port addition so that the segment base can be added when the virtual address is being generated. Segment bounds checking is achieved by extending the paging system to allow for valid regions that are less than the full page size. Sub-page validity can mimic segmentation because a segment can be broken up into a number of full pages and one or more partially-valid pages at the segment boundaries. A page that is not wholly valid has an "event" on the page, and a memory reference to this page will either cause a software routine to be invoked to check the segment bound, or an extension to the TLB, called a sub-page validity buffer, is used to check if the reference was to a valid portion of the page. Events may also be defined for program watchpoints and defective memory locations.
    Type: Grant
    Filed: March 8, 1994
    Date of Patent: August 8, 1995
    Assignee: Exponential Technology, Inc.
    Inventors: David E. Richter, Earl T. Cohen, James S. Blomgren
  • Patent number: 5274791
    Abstract: The present invention provides a microprocessor with a special OEM mode of operation that can be used by an OEM system integrator to implement special tasks such as power management. The OEM mode provided by the present invention is designed for use by a system integrator who integrates a microprocessor into a larger system such as a personal computer. The OEM mode of operation provided by this invention adds features to the overall system; however, it is transparent to system programmers. The system integrator can use the OEM mode to configure a system so that the system has certain special power management features, which can not be accessed by programmers who use the system. The OEM mode provided by the present invention is accessed by a signal on a special I-O pin. For example, an external timer can periodically provide signals to this special pin, thereby periodically interrupting the microprocessor and putting the microprocessor in the OEM mode.
    Type: Grant
    Filed: July 5, 1991
    Date of Patent: December 28, 1993
    Assignee: Chips and Technologies, Inc.
    Inventors: Jimmy E. Bracking, David E. Richter, James S. Blomgren