[Library] 128 Bit Processor, True or Not? Why and Why Not? [MiniTool Wiki]
About 128 Bit Computing
In computer architecture, 128-bit integers, memory addresses, or other data units are those that are 128 bits (16 octets) wide. And, 128-bit CPU (Central Processing Unit) and ALU (Arithmetic Logic Unit) architectures are those that are based on registers, address buses, or data buses of that size.
128 Bit Processor, Yes or No?
In general, currently, there is no 128-bit processor.
Why not create a 128 bit CPU? To learn the reason for not having a 128-bit CPU, first of all, you should know something about the bit-ness of a processor.
The bit-ness of a processor refers to its ALU width. It is the width of the binary number that can handle a single instruction or operation natively and fit within a general-purpose register. So, a 32-bit processor is able to operate directly on values that are 32 bits wide in a single instruction.
Therefore, if there is a 128-bit processor, it should have a larger ALU that is able to perform addition, subtraction, multiplication, etc. logical operations on 128 bit numbers in a single instruction. However, do you really need it?
No, we don’t really! Only important enough problems can benefit from manipulating 128-bit words in a single instruction. We hardly come across such a problem in our daily usage of the computer. And, even if you encounter one, it is already processed by special-purpose instruction sets like SSE (Streaming SIMD Extensions) or highly targeted processors like DSP (Digital Signal Processing). Thus, processor manufacturers don’t think it’s worthy of producing a 128-bit processor.
Besides, a wider ALU and the other parts of a 128 bit processor increase the price of the chip. A 128-bit wide ALU means there has to be 128-bit wide data path, which occupies more silicon area. And, the 128-bit data will come from somewhere and go somewhere. So, there have to be larger registers, cache, etc. other memory storages to ensure the wide ALU operates smoothly.
All in all, we can already perform arbitrary width arithmetic on any processor. We are able to perform arithmetic on arbitrarily large numbers using software libraries that can be compiled on current processors. A narrow ALU does perform big computations though with limit(s). The common limit is the speed.
Will We Have a 128-bit Processor?
Therefore, it is not smart to develop a 128 bit processor only for hardly encountered tasks while those tasks can still be operated by a 32-bit or 64-bit processor with a little longer time. So, there is no 128-bit processor until now and probably not in the future.
Yet, 128-bit registers are already used for parallel processing and floating-point in 32-bit and 64-bit computers. Also, 128 bits are commonly applied for encryption keys like 128-bit SSL encryption and AES 128-bit encryption.
Computers or Hardware/Software That Can Handle 128-Bit Data
Just as mentioned above, 128-bit registers have already been put into use. For example, the IBM System/370 uses 128-bit floating-point registers and it can be considered as the first 128-bit computer.
The DEC VAX supports operations on 128-bit floating-point (“H” or HFLOAT) and 128-bit integer (“O” or octaword). The ICL 2900 Series provides a 128-bit accumulator and its instruction set includes 128-bit floating-point and packed decimal arithmetic.
Some compilers also support 128-bit integer arithmetic such as the GCC C compiler 4.6 and later. For the C programming language, 128-bit support is optional while the Rust programming language has built-in support for 128-bit integers. A 128-bit type offered by C compiler is available in Perl relying on the Math::Int128 module.
You May Also Like: