Non-binary computing breakthrough!

dginter001

Junior Member
Dec 16, 2003
5
0
0
It looks like the binary system may get tossed soon.

US Patent Application 20030212724:

http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50&s1="20030212724".PGNR.&OS=DN/20030212724&RS=DN/20030212724

"Through the grouping of registers to form memory groups, the memory elements may be programmed to store multidigit numbers. Instead of being limited to operations based on a binary or base 2 arithmetic system, the digital multistate characteristic of the phase change material permits the storage and processing of digits associated with any arithmetic base in the registers to achieve non-binary computational capability. Direct storage and processing of numbers in base 10, base 8, or base 16, for example, is possible with the instant invention. Bases of hundreds, thousands or even higher are also compatible with the instant invention. As a result, the instant invention provides an opportunity to achieve massively parallel computation. The parallel computation capability, higher storage densities and non-binary operation possible with multistate memory elements through the instant computing methods provide an opportunity to vastly improve the speed and efficiency of computation relative to conventional computing machines."

Also see US Patent 6,141,241 for the same technique used for encryption:

http://patft.uspto.gov/netacgi/nph-...,141,241.WKU.&OS=PN/6,141,241&RS=PN/6,141,241

Of interest is that this technology is based on OUM (aka phase change) memory. See the link below for more info on OUM:

http://news.com.com/2100-1040-269834.html?legacy=cnet

So it looks like OUM and this underlying nonbinary technology is pretty close. My question is, what the heck are we going to see when CPUs can add, subtract, multiply and divide in base ten (or some other useful base)?

This is revolutionary, no?

I posted this over at THG but I'm trying to get some insight on the tech so I've posted here as well.
 

Pudgygiant

Senior member
May 13, 2003
784
0
0
But it will still be a 1/0 device (either the gate is open or it isn't), so I don't get it.
 

dginter001

Junior Member
Dec 16, 2003
5
0
0
Originally posted by: Pudgygiant
But it will still be a 1/0 device (either the gate is open or it isn't), so I don't get it.

Actually, the device is based on phase change memory (aka Ovonic Unified Memory) which is analog - not digital. Although the basic operations are performed digitally, the cells can hold nonbinary numbers. This enables abacus-like math operations to be performed quickly. For more info on phase change memory, see Intel's presentation on the stuff (they are developing it as a replacement to flash, SRAM and DRAM memory):

ftp://download.intel.com/research/silicon/OUM_pres.pdf
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Actually building a working computer and software that can use this seems mind-bogglingly weird, I can't even imagine how it would work.
 

DrPizza

Administrator Elite Member Goat Whisperer
Mar 5, 2001
49,606
166
111
www.slatebrookfarm.com
Years ago, I used to ponder base 3 computing, instead of on/off, I considered polarity as +/-/neutral. And, I wondered if anyone would every come up with a way to use that... I couldn't fathom actually making a working device. When I first read about this non-binary leap, I thought "fine, but no one will ever develop it." Then, to see that Intel may be developing this... Wow!

So, instead of finding Mersenne primes relatively easily (2^p - 1), we'll be able to find...

Uhh, what are prime numbers called for 7^p - 1? relatively easily by using base 7 computing...
Maybe I'll get started on thinking about this right now... Someone might even attach my name to it! Pizza Primes!
 

dginter001

Junior Member
Dec 16, 2003
5
0
0
Originally posted by: DrPizza
Then, to see that Intel may be developing this... Wow!

Well... Intel is developing the phase change memory. This was just found to be a side application for the technology. Ultimately, the patent is property of Energy Conversion Devices.

http://www.ovonic.com

But, if it works, then I'm sure Intel will be one of the first to use it since they will likely be the first to market with OUM.
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Yeah I've thought about ternary as well, with the three states being on/off/neutral or greater/lesser/equal. But base 7? Base 10 or 20? I can't even imagine how that would work...
 

grant2

Golden Member
May 23, 2001
1,165
23
81
Isn't this patent only talking about storage, not processing?

Pudgygiant is right, processors will still be based on gated logic, which will remain binary.
 

dginter001

Junior Member
Dec 16, 2003
5
0
0
Originally posted by: grant2
Isn't this patent only talking about storage, not processing?

Pudgygiant is right, processors will still be based on gated logic, which will remain binary.
The patent is for processing of non-binary numbers. The operations themselves are digital in nature - similar to math operations using an abacus. But adding, subtracting, multiplying and dividing in native bases will be accelerated tremendously by these operations. Not only that, but they've got some other stuff up their sleeve as well. Here's the
press release.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Analog-type computing has actually been done before, and while it can do some neat stuff, the general problem is that it doesn't run nearly as fast as CMOS-based digital logic (or at least it hasn't historically). Maybe they've got something here, but I wouldn't hold your breath.

Also, mathematical operations are not the bottleneck in most computation -- it's interfacing with external memory to get the data that's the bottleneck. There are probably some simulation utilities, etc. that could make use of something like this, but I doubt it'll do much for general-purpose computing.
 

SuperTool

Lifer
Jan 25, 2000
14,000
2
0
Maybe for memory or very custom application, but unless Cadence or someone writes a tool suite for it, people aren't gonna use it.
 

Rainsford

Lifer
Apr 25, 2001
17,515
0
0
Interesting, but I'm not holding my breath. If it can processes a base 1000 1 digit number just as quickly as a base 2 1 digit number, I'd be impressed. But of course even if it could do that, it would make decades of computer engineering useless. How do you think about ANDing two base 1000 numbers without converting them to binary first?

And as Matthias99 put it, data processing is not what slows do a computing system. The vast majority of the time is spent waiting for the memory, disk drives or IO devices. As the Pentium 4 showed when it first came out, processing power is worthless without a good way to feed data to the processor. And right now that is a much bigger design issue.
 

Snooper

Senior member
Oct 10, 1999
465
1
76
There has always been the problem of how do you detect higher base values from a transistor? The Intel Strataflash uses 2 bits per cell. I have seen how the logic works to decide if a cell is a 0/1/2/3. It is very much non trivial and it takes a lot longer than a standard flash memory decode does.

Being able to store base 10 would be a good first step, but like everyone else has mentioned, we would have to be able to process the high bases as well. I don't have a clue how that could be done. Of course, I'm not a circuit designer either...

I always thought it would be very cool to have a base 10 computer. Think of all the round off error that would go away. And I would think that programs would have to be much smaller as well.

Someone will figure it out, if it truely is better than base 2.
 

HVAC

Member
May 27, 2001
100
0
0
This may be a development for memory density and not necessarily computing or i/o speed.
 

glugglug

Diamond Member
Jun 9, 2002
5,340
1
81
Multiplication, division, logarithms, exponents, & other math operations are much easier to do in binary than in other bases. Even though our minds have been trained to work in base 10, working with base 2 is a heck of a lot easier even when doing calcs by hand after you spend a little while getting the hang of it. Mostly this stems from the fact that in binary, every digit is either the additive neutral element (0) or multiplicative neutral element (1). Since only a tiny fraction of the numbers your computer works with internally are ever displayed, not working with base 10 natively is not a significant issue. (except for Oracle DB which for some bizarre reason still stores all numbers BCD encoded today).

It sounds like a BS patent attempt at the larger than single bit registers (like 32-bit or 64-bit) found in every computer today to me. Nothing to see here as far as I can tell.
 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81
Originally posted by: glugglug
(except for Oracle DB which for some bizarre reason still stores all numbers BCD encoded today).
Every operation requires an unpack and pack? :Q
edit: This page explains what I mean by "pack" and "unpack"... I learned the terms from some really old (70s or 80s) computer book.
 

glugglug

Diamond Member
Jun 9, 2002
5,340
1
81
Originally posted by: CTho9305
Originally posted by: glugglug
(except for Oracle DB which for some bizarre reason still stores all numbers BCD encoded today).
Every operation requires an unpack and pack? :Q

There are x86 machine instructions for doing simple arithmetic with BCD numbers but they are limited to the AX register, I think 8 or 16-bit (2 or 4 BCD digits)only, and nowhere near as flexible or efficient as binary arithmetic, left over from the days when a lot of PCs had 128K or less and a larger portion of the numbers worked with did end up being displayed. So it's not the same overhead as compression if that's what you mean by unpack and pack. But yes, it constantly must convert numbers between BCD in the tables and binary for more efficient types used in PL/SQL stored proc variables & parameters.
 

pm

Elite Member Mobile Devices
Jan 25, 2000
7,419
22
81
The current flash systems that hold multiple values (Strataflash, being Intel's version) are very similar.

Just because you can hold multiple values in a memory register doesn't mean that binary is going anywhere. In fact with noise margins steadily shrinking with each new process technology generation, it looks increasingly unlikely. Possibly a paradigm shift away from CMOS could bring in trinary or some similar multi-bit design, but there's a lot of momentum with the current system. What CAD tools can support trinary - and which form of trinary would you want to support. There also a host of problems still to be solved with ovonic. One of the biggest is how close can they place the cells before the temperature change in one affects the storage of a neighbor?

Intel is a big backer of ovonic memory. It's interesting to see the sides pick their favorites. FRAM, MRAM, etc.
 

dginter001

Junior Member
Dec 16, 2003
5
0
0
Originally posted by: glugglug
Multiplication, division, logarithms, exponents, & other math operations are much easier to do in binary than in other bases.
What about factorization?



Patent Application 20030212725 - Methods of factoring and modular arithmetic

I certainly agree that binary isn't going anywhere but for some other applications, non-binary looks pretty powerful.

EXAMPLE 4

[0066] In this example, the prime factors of the number 21 are determined using a plurality of devices, each of which comprises a phase change material programmed according to a different prime number. In this example, prime numbers not exceeding one half of the number to be factored are considered. Hence, devices programmed according to the numbers 2, 3, 5, and 7 are considered in this example. The next prime number, 11, is more than half of 21 so that it and larger prime numbers are not factors of 21.

[0067] To effect prime factoring of 21, devices programming according to the numbers 2, 3, 5, and 7 are incremented 21 times and reset as necessary during incrementing. Those devices present in their set state upon completion of incrementing correspond to prime factors of 21. Execution of the incrementing in this example reveals that devices according to 3 and 7 are in their set state upon conclusion of incrementing while devices programmed according to 2 and 5 are not in their set state. Hence, it is concluded that 3 and 7 are prime factors of 21.

[0068] If a prime number itself were analyzed according to the embodiment of EXAMPLE 4, no devices would be in their set state upon conclusion of incrementing. Such an outcome leads to the conclusion that the original number is a prime number or the equivalent conclusion that the number has only itself and 1 as factors. If 13 is the number for which prime factoring is desired and the procedure described in EXAMPLE 4 hereinabove were employed, devices programmed according to 2, 3 and 5 would be incremented 13 times and none of the devices would be in its set state upon conclusion of incrementing. The outcome that 13 has only itself and 1 as factors would also be reached if devices programmed according to prime numbers up to 13 were used in the method.
 

glugglug

Diamond Member
Jun 9, 2002
5,340
1
81
I must be missing something, I don't see the point of the above patent. The normal method of factoring a number like 21 would be more efficient I think, either way for numbers like that without any large prime factors it really isn't an issue, and for large numbers, the number of "devices" needed in the method described would be astronomical.

Also, I think it's interesting they say to go to "half" the number they are factoring, rather than the square root which is lower for any number > 4. Really doing a lot of extra work to avoid division...