Not Applicable
Not Applicable
1. Field of Invention
This invention relates to memory chips manufactured for incorporation into general purpose computer systems.
2. Prior Art
Prior art most relevant to my invention is manifest in products based on programmable logic devices (PLDs), field-programmable gate arrays (FPGAs) and adaptive computing machines (ACMs).
PLDs are represented by devices such as programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), programmable logic arrays (PLAs) and programmable array logic (PALs); all of these have been around since the mid 1980's. PROMs and EPROMs are limited in that they are strictly memory devices and contain no processing logic; on the other hand, PLAs and PALs can be configured to perform processing logic but cannot be used as read-write memory. Finally, none of these devices can be dynamically re-configured.
FPGAs, which came on the market in the late 1980's and are not actually “programmable”, can be dynamically reconfigured but they cannot be read or written as random access memory. Also, their structure is linear and one dimensional; there are a limited number of inputs and outputs which must be accessed externally and it is generally necessary to load the entire device which means halting the device while it is being reconfigured. Finally, the basic element in an FPGA is some form of logic gate such and an OR gate or an AND gate whose logic can't be changed; if a particular processing function requires 20 OR gates and there are only 10 available in the array that function cannot be implemented; conversely, if a particular processing function requires only 1 OR gate, then the remaining 9 are wasted.
ACMs are a recent addition to the market place, 2002 I believe. While these devices overcome the difficulties mentioned above, they are still limited to special purpose applications such as cell phones that need to do triple-duty as an iPod and a PDA; they are not suitable to general purpose computers where a capability of parallel processing would be advantageous.
My invention dose not suffer from the limitations mentioned above. In brief, my Parallel Processing Memory Cell is a functional 1-bit arithmetic logic unit (ALU) that can also act as random access memory storage for one bit of data whose advantages are:
(a) that it can be accessed in essentially the same manner as any conventional random access memory;
(b) that it can be programmed with a logical data address that is independent of, and unrelated to, its physical address (multiple physical addresses can have the same logical address);
(c) that it can be dynamically reprogrammed both spatially and temporally by which I mean that it can be reprogrammed at any time without interfering with the operation of any other identical cell on the same chip;
(d) that no element (cell) need go unused as in the FPGAs described above;
(e) that, in conjunction with a multitude of identical cells on the same chip, it can perform parallel processing; for example, in the preferred embodiment described below, the chip can be programmed to perform 650 32-bit additions concurrently and in parallel since it does not rely on a system clock;
(f) that, once the chip is programmed for a certain function, there is no set logical limit to the amount of data that can be written into or read from the chip as in an FPGA and, in fact, if a given operand for the function is required in more than one place, such as a multiply function, that operand will be written into all locations where it is required with a single write command;
(g) that operands can be of any length of 1 bit or greater;
(h) that the chip can be manufactured inexpensively with current and well established and understood technology; in the preferred embodiment described below the resultant chip should sell for under $10.
In accordance with the present invention a parallel processing memory cell capable of having unrelated physical and logical data addresses and be capable of being programmed to carry out arithmetic and logical functions on data that has been written into it and identical cells immediately adjacent to it.
Appendix to
With reference to
10—Data Address Memory Register—constitutes First Means
20—Arithmetic Logic Unit—contitutes Second Means
30—Program Memory Register—contitutes Third Means
The preferred embodiment would be in a standard 40-pin DIP package using a 16-bit data bus, a 16-bit address bus, a 3-bit control bus, chip select, clock, VCC, Gnd, and one pin unused. The chip would contain a two dimensional array of 65,536 memory cells, each as described in
The 16-bit data bus is used to read/write data from/to memory cells selected by the 16-bit address bus and to program memory cells selected by the 16-bit address bus. The 3-bit control bus is used to determine which of five operations will be performed by the chip; load program, load data address, read data, write data, write data temporary. Chip select is used to select a given 40-pin chip out of a multitude of identical chips mounted on the same printed circuit board. Clock is used to load data and program into the memory cells from the data bus. VCC and Gnd provide power to the chip.
The preferred embodiment can be scaled up/down with a larger/smaller address bus and/or a larger/smaller data bus for special purpose applications. Also, a two dimensional array smaller than 65,536 cells may be used for special purpose devices; for example, a chip to perform encryption/decryption on 32-byte strings of data would need less than a thousand cells. Finally, the ALU can be scaled up/down to recognize more/fewer operation codes.
The operation of alternate embodiments would be identical to the preferred embodiment with appropriate modifications to utilize a different size data bus and/or address bus and/or ALU.
Accordingly, the reader will see that this Parallel Processing Memory Cell operating as a 1-bit ALU, when used in conjunction with thousands of identical cells, can perform any function a general purpose ALU can perform. Once a matrix of cells is programed for a specific function, the user need only write the operands into the memory cells and then can, in effect, immediately read out the result of the function.
Also, since each cell operates at the bit level, there is no restriction on the size of the operands used as inputs to a function; it is just as easy, for example, to add two 70-bit numbers as it is to add two 5-bit numbers. Conversely, if your numbers are only five bits long, you don't have to do a 32-bit add to get your result as you would have to do with a 32-bit MPU.
This application claims the benefit of provisional patent application Ser. No. 60/757,409, filed Jan. 9, 2006 by the present inventor.
Number | Date | Country | |
---|---|---|---|
60757409 | Jan 2006 | US |