2. What is 64-bit Computing ?
A 64-bit computing architecture is one that
contains general purpose registers (GPR) that
can hold 64-bit data.
Similarly, a 64-bit instruction is one that can
operate on 64-bit operands.
5. What is 64-bit Computing ?
In 64-bit processors:
The data stream doubles in size and hence
the GPR’s are doubled in capacity
The instruction stream remains the same
size and therefore the Instruction Register
(IR) remains fixed.
6. The Data Stream
In modern processors the data stream is
composed of:
Integer and address data which are operated on in
the ALU with associated registers.
Floating Point data which are operated on in the
FPU with associated registers.
Vector (SIMD) data which are operated on in the
Vector Unit with associated registers.
8. 64-bit Integer Data
Wider data registers increases the dynamic range of
integer representation:
A 32-bit processor can manipulate
232 ≈ 4.3e9 integers
A 64-bit processor can manipulate
264 ≈ 1.8e19 integers
By doubling the bits we have increased the dynamic
range by a factor of 4.3 Billion.
9. 64-bit Address Data
Wider data registers also increases the dynamic range of
addressable memory:
A 32-bit processor can manipulate
232 ≈ 4.3e9 addresses ≈ 4GB
A 64-bit processor can manipulate
264 ≈ 1.8e19 addresses = 180 PetaBytes.
Quote: “640K ought to be enough for anybody.”
Bill Gates 1981
11. What can you do with over 4GB of Memory?
1. Applications that use very large objects,
i.e., > 2 gigabyte objects
– Video editing
– Simulation
– Visualization
2. Applications that use files that are larger than 232
bytes.
Can memory-map very LARGE files!
– e.g. Back-end Servers and Databases.
12. What can you do with over 4GB of Memory?
3. Large scientific applications
1. They work with numbers outside the dynamic range of 32-bit
integers.
2. This causes overflows or underflows and hence wrong
answers in the output registers
( you can check the PSW to determine if such a situation
occurs )
3. Cryptography
1. Modern cryptographic algorithms rely on the factoring and
multiplication of very large numbers
2. The larger the number the more secure the encryption.
13. 64-bit Drawbacks?
Memory address values ( called pointers ) are now twice as
large and take up twice the space.
Pointers normally take up a fraction of the space in
cache
Now they are doubled in size and can squeeze out
other useful data from the cache and reduce
performance.
( slight improvement is to tag 64-bit integers during
programming e.g. REX mnemonic prefix, increase size
< 10% for current applications)
14. Conclusions
64-bit code can be compiled on 32-bit architectures.
64-bit data can be processed as two 32-bit
calculations although a performance penalty is
incurred.
Only applications designed to process 64-bit
data and are implemented on 64-bit hardware
will achieve any speedup.
15. Conclusions
On a daily basis we're running into the Windows 2GB barrier with our
next-generation content development and preprocessing tools.
If cost-effective, backwards-compatible 64-bit CPU's were available
today, we'd buy them today. We need them today. It looks like we'll
get them in April.
Regarding this "far off" application compatibility, we've been running the
64-bit SuSE Linux distribution on Hammer for over 3 months.
We're going to ship the 64-bit version of UT2003 at or before the
consumer Athlon64 launch. And our next-generation engine won't
just support 64-bit, but will basically REQUIRE it on the content-
authoring side.
-Tim Sweeney, Unreal Engine Guru, Epic Games
Editor's Notes
If applications need to: - use very large virtual memory, e.g., to file map an entire video for editing, or - use whole numbers larger than the 2 gigabytes of a 32 bit integer then they can greatly benefit from the 64bit integer registers of Itanium.
If applications need to: - use very large virtual memory, e.g., to file map an entire video for editing, or - use whole numbers larger than the 2 gigabytes of a 32 bit integer then they can greatly benefit from the 64bit integer registers of Itanium.
If applications need to: - use very large virtual memory, e.g., to file map an entire video for editing, or - use whole numbers larger than the 2 gigabytes of a 32 bit integer then they can greatly benefit from the 64bit integer registers of Itanium.