How Big is 128 bits?
With Windows 7 coming in 32 bit and 64 bit architecture format, the belief is that the next processors and Operating Systems will be 128 Bit. Is that true; and Is that the next natural progression?
What is 128 Bit computing? Well starting with 32 Bit computing, the CPU is able to process 232 bits of information, that is 4,294,967,296 or just over 4 gig. 64 bit computing is likewise 264 or 18,446,744,073,709,551,616; that is over 18 exobytes of memory (quintillion). That's just for 64 bits. And 128 bit? That is 2128 or 3.4028236692093846346337460743177e+38 bits. That is a lot of bits to work with. So is this necessary? That is the question; operational bits and available bits are two different things. Can computers, and more importantly software, use that kind of bit space?
Addressing the previous question will depend on the structure of the CPU. The CPU has registers, the ALUs (arithmetic-logic unit ), which does the math, and the data bus, which moves data from cache to memory. The fetch-execute cycle is important in addressing how data is processed.
Registers are not a part of memory, rather they are temporary storage areas and they work under the guise of the control unit. They take instructions or data and perform logic or arithmetic operations. More information is available about the Role of a CPU or Microprocessor Unit.
The Registers in the CPU
What does the register do?
Registers receive the information from memory or from the CPU, hold it temporarily and pass it on as directed by the control unit. Registers are tied to a clock, where an instruction in the register is executed in one clock cycle. The number of registers varies from computer to computer; each one is designed to perform a specific function. Registers have a specific storage capacity depending on the number of bits they are designed with. Normally 14 registers are present in a microcomputer.
1]The accumulator register is a special data register and it stores the result of the last processing step of the ALU.
2]User visible registers are divided into to data registers and address registers.
3]Address registers are used to hold memory registers and the next piece of data.
4]Data registers store data.
5]Condition registers are used to determine whether the instruction should execute or not.
6]Constant registers are used to store read only values.
7]Floating point registers store floating point numbers.
8]General purpose registers hold the data and addresses.
9]Special purpose registers are used to store the status of the program and it consists of program counter,
10]stack pointer and
12]The program counter holds the address of the next instruction to executed.
13]The instruction register holds the instruction while it is being executed.
14]The index register stores an index of memory addresses.
You can read about A Visual Interpretation of How a CPU Works and learn additional information about registers.
Physical Address Extension in 32 Bit Processors
So is there a way that will make the 32 bit processor work like a 64 bit? Actually there is. It is called Physical Address Extension (PAE).
Physical Address Extension is a technique that allows CPU's to address more memory than available by design. It can only be done on x86 systems where 32 bits can be made to work up to 64 bits. This is accomplished when the addressing register splits up the total memory into different banks of space where it can then allow access to the full memory. So as the 32 bit data register receives data, it can split the data into a second bank and obtain the 64 bit operation and it is processed in one cycle.
When this process is put into place, the 32 bit registers act in concert to mimic a 64 bit register. This allows the CPU cycle to work to process two registers and send them to the ALU for processing in one cycle. But this is not the only CPU implementation available.
Non-Uniform Memory Access
Another CPU implementation is Non-Uniform Memory Access (NUMA), which allows CPU's to access memory regardless of the distance of the memory addresses. Because some memory locations are closer to the CPU while others are further away, it will take longer for the CPU to process the data in memory that is further away. To solve this, the CPU is broken down into nodes so the processing is done per node and hence faster regardless of the memory physical location. Applications are then able to take advantage of 64 bit processing in a 32 bit environment if NUMA is in place. This begs the question: can this type of processing allow for 128 bit operations?
64 Bit and 128 Bit OS
Using 128 bit systems is not inevitable while there are processes in the CPU that can be used to make a 32 bit processor act like a 64 bit, and a 64 bit processor act like a 128 bit. If the Physical Address Extension, which now only applies to x86 (32 bit) systems, were modified to 64 bit systems to allow them to act like 128 bit systems, it would go a way toward working with 128 bits. The same goes for modifications using NUMA, in this case because of the number of memory locations that are distanced from the CPU have to be used because 64 bit CPU's will naturally be larger in size than a 32 bit CPU.
Finally, there are some applications, like 128 bit encryption, or cryptography, that can naturally take advantage of 128 bit CPU. The encryption process will be faster because it will take only one processing cycle to do the encryption. But this shows that to take full advantage of the 128 bit processor, you need to have applications that are written to merge seamlessly into the CPU operations.
At this point, that is one of the largest drawbacks in application practices. Most applications are still only written for the 32 bit level, they are not even at the 64 bit level. This will take software design programs that have been re-written to create 128 bit applications. Software design programs like Visual Studio, or the .Net Framework, or SQL Server 2005, or SQL Server 2008, would have to produce 128 bit applications. But they are not at that level– now, they generate 32 bit applications.
What Will a 128 Bit Process Achieve?
Greater and faster processing power is the natural answer to that question. Complex applications that need a lot of processing power, i.e., processing that can be accomplished in one CPU cycle are ideal. These are engineering, or math, or scientific operations. These are sophisticated financial or economic modeling. These are also complex medical, or biological, or chemical processing that have to be performed quickly. Any of these applications that need to generate results quickly can benefit from an OS that can be in sync with a 128 bit CPU. You can read move about 128 bit architeture issues at Windows 128 Bit Architecture – How much RAM can a Processor Handle.
Intel Micro Architecture Image: Wikimedia Commons
Intel 1820 Architecture Image: Wikimedia Commons
Numa: Image Wikimedia Commons
This post is part of the series: 64 Bit Computing vs 32 Bit Computing
- The Difference between Windows7 X64 and X86
- Comparing the Difference Between 32-Bit and 64-Bit Windows 7
- Can We Achieve 128-bit OS Operability and What Will it Achieve?