Jump to content

128-bit computing

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Vuvar1 (talk | contribs) at 23:44, 15 September 2010 (fix). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer architecture, 128-bit integers, memory addresses, or other data units are those that are 128 bits 16 octets wide. Also, 128-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size.

There are currently no mainstream general-purpose processors built to operate on 128-bit integers or addresses, though a number of processors do operate on 128-bit data. The System/370, made by IBM, could be considered the first rudimentary 128-bit computer as it used 128-bit floating point registers. Most modern CPUs feature SIMD instruction sets (SSE, AltiVec etc.) where 128-bit vector registers are used to store several smaller numbers, such as four 32-bit floating-point numbers, and a single instruction can operate on all these values in parallel. These are 128-bit processors in the sense that they have 128-bit registers, but they do not operate on individual numbers that are 128 binary digits in length.

Uses

  • 128 bits is a common key size for symmetric ciphers in cryptography. It is also the size of Globally Unique Identifier and IPv6 address.
  • 128-bit processors could become prevalent when 16 exbibytes of addressable memory is no longer enough (128-bit processors would allow memory addressing for 340,282,366,920,938,463,463,374,607,431,768,211,456 bytes (~340.3 undecillion bytes or 281,474,976,710,656 yobibytes)). However, physical limits make such large amounts of memory currently impossible, given that amount greatly exceeds the total data stored on Earth today (2010), which has been estimated to be around 1.2 zettabytes [1] (over 270 bytes).
  • Quadruple precision (128-bit) floating point number can store qword (64-bit) fixed point number or integer accurately without losing precision. Notice that since the 8087 (1980), x86 architecture supports 80-bit floating points that store and process 64-bit integers accurately.
  • Sony's Playstation 2 CPU Emotion Engine is advertised as a 128 bit processor. It has 128-bit SIMD registers, like many processors, but is only a 32-bit processor in the traditional sense as it can only use 32-bit memory addresses.
  • The AS/400 virtual instruction set defines all pointers as 128-bit. This gets translated to the hardware's real instruction set as required, allowing the underlying hardware to change without needing to recompile the software. Past hardware was 32-bit CISC, while current hardware is 64-bit PowerPC. Because pointers are defined to be 128-bit, future hardware may be 128-bit without software incompatibility.
  • Larger bit widths are also commonly seen on the memory interface of graphics processing units, including 128-bit, with some bus widths reaching 512-bits long.
  • Increasing the word size can speed up multiple precision math libraries. Applications include cryptography.
  • Large word sizes can increase the feasibility of using certain very fast data structures (consider representing a set by having one bit per possible set element).

History

A 128-bit multicomparator was described by researchers in 1976[2].

A CPU with 128-bit multimedia extensions was designed by researchers in 1999.[3]

References