You are on page 1of 15
Department of Computer Science University of the West Indies
Department of Computer Science University of the West Indies
Department of Computer Science University of the West Indies
Department of Computer Science University of the West Indies
Department of Computer Science University of the West Indies

Department of Computer Science

University of the West Indies

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.

64-bit Computing

Code Stream

64-bit Computing 64-bit data Mixture of 32 and 64-bit data 64-bit registers

Data Stream

64-bit data

64-bit Computing 64-bit data Mixture of 32 and 64-bit data 64-bit registers
64-bit Computing 64-bit data Mixture of 32 and 64-bit data 64-bit registers

Mixture of 32 and 64-bit data

64-bit registers

Programming Models

Doubled PC size Doubled register size
Doubled PC
size
Doubled register
size

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.

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.

64-bit Architecture

The only difference in moving to 64-bits is in:

  • the integer and address hardware.

Intel ISA

64-bit Architecture The only difference in moving to 64-bits is in:  the integer and address

64-bit Integer Data

Wider data registers increases the dynamic range of integer representation:

  • A 32-bit processor can manipulate 2 32 4.3e 9 integers

  • A 64-bit processor can manipulate 2 64 1.8e 19 integers

By doubling the bits we have increased the dynamic range by a factor of 4.3 Billion.

64-bit Address Data

Wider data registers also increases the dynamic range of addressable memory:

  • A 32-bit processor can manipulate 2 32 4.3e 9 addresses 4GB

  • A 64-bit processor can manipulate 2 64 1.8e 19 addresses = 180 PetaBytes.

Quote: “640K ought to be enough for anybody.” Bill Gates 1981

Increased Memory Addressing

Increased Memory Addressing

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 2 32 bytes.

Can memory-map very LARGE files! e.g. Back-end Servers and Databases.

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 )

  • 4. 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.

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)

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.

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