64bit computing
64bit CPU (Central Processing
Unit) is a computer processor with internal registers, holding and
processing individual pieces of information (integer numbers,
memory pointers, ...), up to 64bits
long. The first microprocessor ever was 4bit (Intel 4004), but it was soon replaced by
8bit version (Intel 8008).
8bit 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 16bit and
later 32bit processors appeared,
some of them created as extension of existing architectures, some
designed from the scratch to be directly 16or even 32bit.
Continuous demand for more memory caused the 4GB limit, allowed by 32bit processors (2^32=4G) was exceeded
and a room for 64bit processors
opened. And similarly, some of them were natural extension of
older 32bit architectures, some of
them were newly designed as 64bit.
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 64bit
microprocessors in the world) are trying to catch. All these
architectures are available in 64bit
variants. And all evolved from their previous 32bit versions, so they are able to run both
32bit and 64bit code.
64bit operating system
64bit operating system needs
64bit CPU to run. While a purely
64bit OS, requiring 64bit 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).
64bit CPU can run both
32bit and 64bit operating systems and applications. If
32bit OS is run, the whole system
acts as purely 32bit, including
memory address space limitations. It is not possible to use any
64bit piece of code, 64bit applications do not work.
When 64bit CPU runs
64bit OS, it is possible to run
both 32bit and 64bit applications. So 64bit
Windows can run both 32bit and
64bit Control Web
without any problems.
But there is one important limitation. It not possible to
mix 32bit and 64bit code in one process. One process is
either completely 32bit or
completely 64bit, including all
DLLs, drivers and other components. The same is true for the
operating system kernel — if it is
64bit version, all device drivers
must be 64bit,
too.
64bit Control Web
All rules concerning 64bit
applications are naturally also valid for 64bit Control Web. There is no
difference in using of 32bit and
64bit version from the application
development point of view, Control Web
applications are mutually fully compatible, including the runtime
version (.cwx).
Warning: The only limitation is related to device drivers and
other binary components (e.g. the Active X components). If the
64bit version of the device driver,
necessary to run particular application, is not available, the
64bit version of Control Web cannot be used.
So the PLC and I/O device drivers must be 32bit if the Control Web is
32bit, despite it runs on
64bit CPU and OS. And similarly all
device drivers must be 64bit if the
Control Web itself is 64bit.
The single most important difference between 64bit and 32bit
versions is the ability to address all memory, available on any
particular PC (more than 4GB). So
the most useful application would probably by in connection with
the machine vision system VisionLab when
processing large number of large images.
Test (beta) version of the 64bit Control Web is available
for download from the following links:
|