baum@Apple.COM (Allen J. Baum) (07/29/88)
[]
The following is a list of patents granted to IBM relating to their RISC
research. These are the patents that have made newpaper (and Usenet) headlines
lately. These are the tip of the iceberg; IBM claims to have more coming, so
this list is likely to be incomplete, and (shortly) obsolete. I don't have
all the disclosures yet, but I'll comment on the ones I have.
4,569,016
Mechanism for implementing one machine cycle executable mask and
rotate instructions in a primitive instruction set computing system
(this patent is interesting because it contains the first 'published' examples
of IBM/801 instruction formats. This patent was previewdwed at ASPLOS-1)
4,571,678
Register allocation and spilling via graph coloring
(Watch out- now that they've published, and everybody started using it, they've
been granted a patent. Most of the disclosure is PL/1 code that implements
the algorithm)
4,589,065
Mechanism for implementing one machine cycle executable trap
instructions in a primitive instruction set computing system
4,589,087
Condition register architecture for a primitive instruction
set machine
4,630,195
Data processing system with CPU register to register data
transfers overlapped with data transfer to and from main storage
(IBM seems to have invented scoreboarding on this one, with the variation that
instead of a bit/reg., there is a reg. containing the reg. number of the busy
register. The patent includes a feature for cancelling outstanding 'loads'
if a subsequent inst. clobbers the reg. Claim 1 includes all scoreboarding)
4,638,426
Virtual memory address translation mechanism with controlled
data persistence
4,642,764
Method of developing formal identities and program bases in
an optimizing compiler
4,642,765
Optimization of range checking
4,649,479
Device driver and adapter binding technique
4,656,582
Generating storage reference instructions in an optimizing
compiler
4,656,583
Method for improving global common subexpression elimination
and code motion in an optimizing compiler
4,718,008
Method to control paging subsystem processing in a virtual memory
data processing system during execution of critical code sections
4,719,568
Hierarchical memory system including separate cache memories
for storing data and instructions
4,730,249
Method to operate on large segments of data in a virtual
4,742,447
Method to control I/O accesses in a multi-tasking virtual
memory virtual machine type data processing system
4,742,450
Method to share copy on write segment for mapped files
More details as I get them
--
{decwrl,hplabs,ihnp4}!nsc!apple!baum (408)973-3385