Intel's blog talks quite a bit about multi-core processors, as the obvious stage in the development of computer systems. It really is. But besides multi-core machines, 64-bit technologies are another important area of development. What is it, what are the advantages, what are the problems - the user's opinion and the programmer's opinion.
What is 64-bit technology (hardware and software)?
Under
64-bit technologies understand both hardware and software.
The hardware includes 64-bit processors (Intel 64, Intel Itanium). "Domestic" processors are divided into x86-compatible (Intel 64, AMD64) and incompatible Intel Itanium processors. Naturally, for 64-bit processors there should be corresponding motherboards, but, as a rule, they are not allocated to a separate class.
')
Software tools include 64-bit operating systems, 64-bit drivers, and applications - both 64-bit and just working on 64-bit operating systems. Well, let's not forget about the tools for developers of 64-bit applications (compilers, debuggers, libraries).
Is it already there or still have to wait?
As for the hardware component of 64-bit technologies, it is already ready for a long time, implemented and moreover, it is probably on your desktop. I bet that most readers will have a 64-bit processor (see
ark.intel.com )?
With the software component, the situation is more complicated. 64-bit operating systems in both the Unix world and the Windows world have long existed. But their prevalence is not yet high. The reason for this is a small number of programs that have no problems in a 64-bit environment. It even went so far that Microsoft in Windows 7 built a virtual machine into the operating system to solve the problems of old programs.
The reason for the lack of 64-bit programs lies in a vicious circle, which, we hope, will break through with time. Software developers do not want to invest in 64-bit software, because a small number of users have a 64-bit operating system, and users do not install 64-bit operating systems, since there are few 64-bit programs. To break this circle can someone third. For example, Microsoft
released Windows Server 2008 R2 only in the 64-bit version.
So on the one hand, everything seems to be ready for a massive transition to 64 bits, but on the other, this transition is just beginning.
User point of view
For a user, 64-bit technologies are an opportunity to get more than two gigabytes of RAM for applications. Where is it needed? In "heavy" tasks (video, sound, graphics, archiving), in games and even in browsers (when several dozen tabs are open). It seems to be attractive, but users are still not in a hurry to switch to 64 bits, since there are problems of interaction between 64-bit and 32-bit software. This problem is solved, but apparently not as fast as users would like.
But 64-bit technologies are relevant not only for "heavy" tasks. Even if the program uses a little RAM (about a gigabyte), then with the proliferation of multi-core processors, 64-bit technologies will be in demand. Indeed, in a 32-bit operating system, no more than 4 GB (2 ^ 32) is available, although in practice it is even less. And if on a machine with four cores running multiple applications? Yes, and each of them needs a gigabyte of RAM ... So, there is nowhere without 64-bit systems.
Programmers Viewpoint
As mentioned above, programmers are not particularly in a hurry to make 64-bit versions of their applications. Although all the tools for this are already available - there are compilers for 64-bit applications for most programming languages (both from
Intel and
Microsoft ), there are third-party tools (such as, for example, the
PVS-Studio code analyzer, designed to detect errors specific to 64-bit and parallel applications).
The main reason why programmers are not in a hurry is the need to support two versions of the program - 32-bit and 64-bit. In theory, it is enough just to compile a 32-bit application for a 64-bit system, but in practice there are numerous nuances. Because of what, and have to support two versions. And while you can do with only one (as for example, for 32-bit games), then they try to do with one version of the application.
Perspectives
Obviously, the 64-bit world will come to us. How fast it will be - it depends on both programmers and users. But it is already clear that those software companies that release 64-bit versions of their applications faster will be able to get ahead in the competition. And users who quickly switch to 64-bit technologies will be able to appreciate these advantages a bit earlier.
What is on the 64-bit network?
1. Forum of Intel company "
Development of 64-bit applications " in Russian.
2. Article "
20 pitfalls of porting C ++ code on a 64-bit platform ."
3.
Resources for developers of 64-bit and parallel programs in Russian.
4.
PVS-Studio tool - search for problems in 64-bit and parallel programs.