ARM is Already Considering 128-bit Mobile CPU

Status
Not open for further replies.

InvalidError

Titan
Moderator
There is a difference between a CPU that can handle 128bits data structures a CPU that can do all arithmetic operations using 128bits operands. With AVX2, x86 can already work with 256bits registers and AVX3 will extend that to 512bits but most arithmetic using those are limited to 64bits int/float.

I'm guessing ARM's 128bits will be similar: provide more register bits to work with SIMD and add a subset of instructions that can actually work with 128bits values.
 


That's most likely the case. Dynamically scheduled machines scale exponentially in power and transistor consumption due to the massive backend bus and common data bus. 128 bit GPRs and 128 bit EUs across the board would cause ARM processors to lose their market position as low power CPUs without offering any sort of advantage.
 

ddpruitt

Honorable
Jun 4, 2012
1,108
0
11,360
128 bit is pointless. I can't even remember the last time I needed to deal with a 64 bit structure. 64 bit is useful for addressing more than 4 gigs of RAM after that it's use is limited.
 

Kewlx25

Distinguished
ddpruitt, IPv6 is 128bit. ZFS is 128bit. I'm not sure how their data structures are actually used, but I'm sure there is potential optimizations that could be done for processing data in 128bit general registers.

64bits is enough to address huge swaths of memory space, but 64bits isn't much data to be processed in one cycle.

The real question is how much of our current and near future algorithms could benefit from 128bit general int registers.
 

InvalidError

Titan
Moderator

Not pointless but it does have somewhat limited use cases...
- cryptography
- arbitrary length bitfield manipulations
- arbitrary precision math: 75% fewer partial multiplications, half as many intermediate steps for most other operations
- memory copying: half as many load/store operations to copy a given amount of data

This is assuming we do not count SIMD as legit 128bitness. If we count SIMD then it becomes useful for tons of things like audio and image/video processing.
 

GhosT94

Distinguished
Oct 25, 2011
67
0
18,640
128 bit is an overkill , it seems their still playing the numbers game which will hit a dead end after 64 bit and energy efficient and prices will become key points next year IMO
 

ericburnby

Distinguished
Mar 4, 2010
636
0
18,980


Let's say you had a 64bit program that performed image manipulation. The program itself was 10MB and it allocated 240MB of RAM for data to work with for a total of 250MB of RAM.

Now here's a question for every one on Tom's who continually posts that you need 4GB of RAM to make use of 64bit.

Do you think this program, only occupying 250MB of RAM, will not give you any advantage on a system with less then 4GB of RAM? Think very carefully about your answer. This should weed out the people who actually understand 64bit from those that don't.
 

sean1357

Honorable
Nov 5, 2012
86
0
10,630
It is still single instruction executed even 128 or 256. It needs parallel processing like FPGA. Altera Stratix 10 is over kill all the crap MCUs....
 

none12345

Distinguished
Apr 27, 2013
431
2
18,785
I would not call what this article is discussing a 128 bit cpu. It call it a 32 or 64 bit cpu(duno which without knowing more about the chip), that has a 128 bit floating point unit.

Just like how we dont call current intel chips 256 bit chips, even tho they have 256 bit floating point units. When someone says a 32 bit or 64 bit cpu, etc, they are usually talking about the address space, or the general purpose register size..

What they really mean....is adding in widening their floating point unit, which certainly isnt a bad thing. Its just very missleading to call it a 128 bit cpu.
 

none12345

Distinguished
Apr 27, 2013
431
2
18,785
I would not call what this article is discussing a 128 bit cpu. It call it a 32 or 64 bit cpu(duno which without knowing more about the chip), that has a 128 bit floating point unit.

Just like how we dont call current intel chips 256 bit chips, even tho they have 256 bit floating point units. When someone says a 32 bit or 64 bit cpu, etc, they are usually talking about the address space, or the general purpose register size..

What they really mean....is adding in widening their floating point unit, which certainly isnt a bad thing. Its just very missleading to call it a 128 bit cpu.
 

ddpruitt

Honorable
Jun 4, 2012
1,108
0
11,360


I think you need to understand the architecture a bit better. The 10 Meg program and the 240 Meg alloc'd space are stored in different segments. The OS takes care of the program while the program takes care of the data. Ignoring a bunch of details, essentially the OS is only going to be storing offsets, not an entire 64 bit pointer and the offsets are shorter than 64 bits. The virtual address space uses some creative techniques to appear larger and segments the pieces for easy conversion. Thus your 64 bits aren't useful except for much except physical addresses.
 

ddpruitt

Honorable
Jun 4, 2012
1,108
0
11,360


I agree those are some corner cases where 128 bit is useful. But those are limited uses and I would argue a ALU capable of 256 bit or even 515 bit math might be more useful here. It would be interesting to see split implementations again where the ALU and MMU where different sizes.
 

gsxrme

Distinguished
Mar 31, 2009
253
0
18,780
128bit can only be useful with something using either a shit ton of ram or a cpu that is heavily threaded such as a 20 core cpu and apps or programs that support such a cpu. Or maybe give android OS direct control over every cpu core and have android control what apps or processes use what core for maximum of a threading and maximum multitasking.

My 2 cents
 
Considering we aren't using the amount of RAM 64 bit allows, and it allows a far greater amount than what could ever fit on any device, why 128 bit? If someone, far smarter than myself, would care to explain the real world benefit of going to 128 bit I'd appreciate it.

Now, I know there's more overhead for translating addresses, the higher you go, and allowing more RAM, but beyond that, that's about it.

Edit: read the comments. Ok, its been debunked. I'd like to point out though the comments seems to be geared toward the relevance of 128 versus 64 from a PC perspective, and not at all about how it would benefit the typical ARM media consumption device.
 

InvalidError

Titan
Moderator

You are thinking about the wrong thing. Yes, 128bits addressing is unlikely to have any significant use for the foreseeable future but addressing is only one side of the story. The other is computing - making actual calculations, logical operations, data manipulations, etc.

Ex.: if you want to manipulate IPv6 address, you need to process 128bits of data. With a 64bits CPU, you need to break those manipulations down into 64bits components and then reconcile the results. With a CPU capable of 128bits logical operations, most manipulations can be done with a single instruction.

Ex.2: cryptography relies a lot on arbitrary-length integers and bit fields. Using 128bits logical and arithmetic operation reduces the number of instructions in half (possibly more depending on how many extra instructions may be necessary to merge partial results together) compared to a CPU using 64bits operands.

Ex.3: copying data between memory locations A and B using 128bits load/store instructions (ex.: memcpy in C and equivalents in other languages) would require half as many instruction executions than the equivalent 64bits code... this would likely be the most useful 128bits instruction for most everyday computing.

I'm sure there are tons of other examples but most of them would likely have relatively little impact on most people's everyday computing.
 


There is no immediate real world benefit to going to 128 bit SISD execution. There's a lot of misinformation on these forums about bit widths and their advantages. For example, Intel's microprocessors have supported a physical address space of more than 32 bits since the introduction of the Pentium Pro in 1995 and Microsoft Windows has supported more than 4GiB of physical memory since Windows 2000. This predates the introduction of AMD64/EM64T in the mid 2000s.

In a general integer pipeline a 64 bit arithmetic operation can be broken down into multiple 32 bit operations, this is how long operations are performed in 32 bit environments. The 64 bit values are spread over multiple registers and multiple machine instructions are used to perform the operation. If the pipeline is expanded to 64 bits across the board, that same operation can be completed with a single instruction.

However, most applications don't need to perform such wide computations, so the entire machine does not need to be expanded to 64 bits if its not necessary, only parts of it. Furthermore, if the same operation is to be performed on several data sets it's possible to use a SIMD operation instead. For example, the SSE instruction set introduced with the Pentium 3 in 1999 allowed for the same operation to be performed on 128 bit vectors of up to four 32 bit numbers, two 64 bit numbers, eight 16 bit numbers, or sixteen 8 bit numbers. Thus, rather than breaking a 64 bit operation into a sequence of 32 bit operations and executing them through the general purpose arithmetic units, it can be done as a single 64 bit operation through the SIMD units.
 

Avus

Distinguished
Nov 2, 2001
356
1
18,780
I won't question the usefulness of 128-bit computing in general. But can anyone tell me are there any advantage/importance/usefulness of 128-bit computing on MOBILE PLATFORM? Or is it just number game to sell more phone/tablet...?
 
Status
Not open for further replies.