

Ask HN: When, if ever, will 128-bit CPUs become mainstream? - gjvc


======
ElectronCharge
There are actually two different sides to this question.

When people refer to "64-bit" CPUs, generally they're referring to the address
space. 64 bits of address space increased the addressable memory by a factor
of 2^32 over 32 bit processors. That's a vast increase, and we're nowhere near
exhausting it. Even current supercomputers are massively parallel, so
individual nodes typically only have a few GB of memory. The largest memory
server that I'm aware of uses up to 4 terabytes of memory, so that's a factor
of 1024 beyond 32 bit addressing, or 42 bits. That leaves 22 bits of
expansion, each one doubling the capacity of the last. I expect that won't be
exceeded before 2100 at a minimum.

On the other hand, there's the size of the general-purpose and other
registers. That's currently 64 bits also in AMD64 processors (including
Intel's). There are, however, specialized vector instructions that currently
operate on 256 bits at a time (AVX) and the next generation due in 2015 will
operate on 512 bits at a time (AVX-2).

So, on address space the answer is "not anytime soon". On the processing side,
the answer is "we're already beyond 128 bits". :-)

~~~
oftenwrong
>The largest memory server that I'm aware of uses up to 4 terabytes of memory

What is that server used for?

~~~
ElectronCharge
I was referring to the Oracle servers for large in-memory databases.

They may have new models out, or I wasn't aware of the highest end model...the
current high-end model will address 32 terabytes of RAM:

[http://www.oracle.com/us/products/servers-
storage/servers/sp...](http://www.oracle.com/us/products/servers-
storage/servers/sparc/oracle-sparc/m6-32/overview/index.html)

------
codemonkeymike
ElectronCharge already gave a good answer, but I would like to add a little
extra information. There already exists 64bit only processors, as in they have
no 32bit instructions or registers. The reason they didn't take off in the
consumer market is because they simply cannot run 32bit programs or any
existing consumer operating system. Intel sells these 64bit only machines to
labs were they can actually make use of the full memory addressing, as in
putting terabytes of data into RAM, and also only need 64bit operations.

The 256bit and 512bit registers and instructions are reserved for specialty
hardware, IE graphics cards were you need to do floating point arithmetic.

One more aside, the reason we call 64bit processors AMD64 is because AMD
subverted Intel by releasing an architecture which had both 32bit and 64bit
instructions, while Intel was creating 64bit only processors.

Also I love this question, because it was the first question I asked in my
kernel development class, but the answer I got was "all will be explained in
due time"

~~~
ElectronCharge
Hi, just FYI the AVX instructions are on Intel CPUs. They're the latest
incarnation of SSE basically, and are for scientific, multimedia, and other
other FP heavy SIMD amenable problems. I didn't diverge into GPU territory
since the question was about 128-bit CPUs.

GPUs are a different avenue to exploit massive FP power, if your problem is
sufficiently parallel.

