CMOS VLSI chip | 1980-1989 |
Description: The PF474 is a special purpose CMOS VLSI processor that compares strings resulting in a numerical indication of their similarity. A ranked list of the 16 best matches is maintained on silicon. Its 9-stage pipeline includes 6 independent RAMs, including one that can be set to zero in a single cycle. The device count is roughly 55,000. Prototypes were build using 4-micron NMOS technology, but the first commercial versions used 3-micron CMOS. Mark Heising led the CMOS design effort. At its maximum 4MHz clock speed, 20,000-30,000 string comparisons and rankings per second were possible. See the author's 1978 masters thesis or A Bipartite Matching Approach to Approximate String Comparison and Search for a discussion of the kind of string similarity function computed by the PF474.
Background: The PF474 arose more or less directly from my 1978 Mathematics Masters thesis at Emory University. It presented an easily computed notion for string similarity. This mathematical work was continued much later (see the links below). The motivation for the PF474 was the observation that computers were originally developed for numerical tasks but were clearly heading for widespread and general purpose (nonnumerical) use. While many had floating point units, little hardware existed for nonnumerical applications. We suggested that the computation of a string similarity measure might be of enough general interest to warrant its inclusion in hardware. The hardware was 100-600 times faster than CPUs of the early 80's.
This allowed us to demonstrate never-before-seen concepts in user interface in which the screen showed similar records, refreshing itself with every character typed (see the PBASE image below). Another application (CleanMail) used it to analyze mailing lists to aid in the detection of near duplicates. The PF474 found several commercial and defense applications but never widespread use. Ultimately our focus turned entirely to software embodiments of similar functions.