Moravian instruments
Search
Main menu
Main page
Company Contacts
Distributors
Products
Gallery
References
Observations
Price list
Download
CCD cameras
CCD cameras
Software
Software



Main page  Products  Software

What can 64ábit operating system do and which driver versions to choose?
 “64ábits” is a new marketing buzz-word in the world of mobile phones and tablets, but it is rather common in the world of Personal Computers. Despite the 64ábit systems are available for many years, especially recently number of newly installed 32ábit systems sharply declines and 64ábit systems dominate. Surprisingly, general understanding what does it mean is very low and particularly baffling is the fact, that 64ábit operating system is (fortunately) perfectly capable to run 32ábit applications. The answer to the question which driver version (32ábit or 64ábit) to install requires understanding of a few concepts.

64ábit computing

64ábit CPU (Central Processing Unit) is a computer processor with internal registers, holding and processing individual pieces of information (integer numbers, memory pointers, ...), up to 64ábits long. The first microprocessor ever was 4ábit (Intel 4004), but it was soon replaced by 8ábit version (Intel 8008). 8ábit CPUs became widely popular and numerous models appeared (Intel 8080, Zilog Z80, Motorola 6800, MOS Technology 6502, ...) and they powered first truly personal computers. In a chase for greater computing power and the ability to access more memory 16ábit and later 32ábit processors appeared, some of them created as extension of existing architectures, some designed from the scratch to be directly 16áor even 32ábit.

Continuous demand for more memory caused the 4áGB limit, allowed by 32ábit processors (2^32á=á4G) was exceeded and a room for 64ábit processors opened. And similarly, some of them were natural extension of older 32ábit architectures, some of them were newly designed as 64ábit.

But processor architectures have a tough life. They either become successful and widely spread or die soon. Currently (2015) only two architectures dominateŚIntel x86-64 and ARM v7/v8. Another MIPS architecture processors (historically MIPS processors pioneered the RISC concepts and also become the first 64ábit microprocessors in the world) are trying to catch. All these architectures are available in 64ábit variants. And all evolved from their previous 32ábit versions, so they are able to run both 32ábit and 64ábit code.

Remark:

Intel x86 evolved from 16ábit to 32ábit first and only later 64ábit mode was added. It is worth noting that 64ábit version of the ancient x86 architecture was not introduced by Intel, which was busy promoting now dead Intel Itanium processors, completely incompatible with the x86 standard. Instead AMD, another manufacturer of x86 processors, invented 64ábit x86-64 extensions and when Microsoft started to support it, even Intel has to accept this standard. The key feature was the ability of 64ábit x86 CPUs to run all existing 32ábit software. Completely 32ábit environment was used first (operating system, applications) and only later 64ábit operating systems started to be common, running a mix of 32ábit and 64ábit applications.

64ábit x86 CPUs were marked x86-64, which was later reduced to x64 only. So “x86” means 32ábit Intel architecture, while “x64” means 64ábit Intel architecture (invented by AMD :-).

64ábit operating system

64ábit operating system needs 64ábit CPU to run. While a purely 64ábit OS, requiring 64ábit applications only, could be designed, it is almost impossible to succeed on the market. People need to run existing applications, so a backward compatibility is a key to success.

To achieve compatibility, both hardware (CPU) and software (operating system) must support it. And all major players do this (x64 and ARM, Windows and Android).

  • 64ábit CPU can run both 32ábit and 64ábit operating systems and applications. If 32ábit OS is run, the whole system acts as purely 32ábit, including memory address space limitations. It is not possible to use any 64ábit piece of code, 64ábit applications do not work.

  • When 64ábit CPU runs 64ábit OS, it is possible to run both 32ábit and 64ábit applications.

    Remark:

    Here is a source of confusion among many users. They have 64ábit CPU and 64ábit version of Windows, so they think all they run is 64ábit. In fact, only a very few applications are 64ábit, absolute majority are still in 32ábit form only (2015). And because they never need more than 4áGB of memory and work seamlessly, there is no pressure to rebuild them to 64ábit version.

    So 64ábit Windows can run both 32ábit and 64ábit SIPS without any problems.

  • But there is one important limitation. It not possible to mix 32ábit and 64ábit code in one process. One process is either completely 32ábit or completely 64ábit, including all DLLs, drivers and other components. The same is true for the operating system kernelŚif it is 64ábit version, all device drivers must be 64ábit, too.

    Remark:

    This is why Gx camera system drivers are available as 32ábit and 64ábit versions for quite a long time. It is necessary to use 64ábit version of the system driver if 64ábit OS is used, despite the user application controlling the camera is 32ábit only.

    Similarly drivers for user applications (e.g. ASCOM camera drivers) must be 32ábit if the application is 32ábit (rememberŚmajority of applications are still 32ábit), despite the application runs on 64ábit CPU and OS.

The fact that 32ábit and 64ábit code cannot be mixed and 64ábit code is always newly translated/modified allowed CPU designers to more or less modify the instruction set. Both AMD with x86-64 and ARM with v8 took advantage of introduction of a new 64ábit mode and upgraded the respective architectures. x64 somewhat reorganized register set, making it more regular, and doubled number of registers (from 8 to 16). ARM similarly removed conditional execution of all instructions and used the saved space in the instruction word to address twice as much registers (32 instead of 16). So it is not exaggeration to say that 64ábit ARM v8 is a completely new architecture, only similar to 32ábit ARM v7 (similarly like 16ábit Intel 8086 remotely resembled 8ábit Intel 8080).

Remark:

This is also source of confusion even among journalists focused to ITŚ64ábit code does not bring greater accessible memory only. Because of architectural updates the code also can run faster even if less that 4áGB memory is used.

 
 | Main page | Products |