Tech Support banner
Status
Not open for further replies.
1 - 16 of 16 Posts

·
Registered
Joined
·
128 Posts
Discussion Starter · #1 ·
Hey all!

In the new mobo/proc I've purchased (ECS KN3 SLI2 w/ AMD Athlon 64 X2 4600+ Windsor 2.4GHz) there is x64 architecture.

But what the heck is it? I know that currently OS' and drivers are 32-bit, but was does this allow? Should I buy x64 OS? If I do, will I need to get all x64 software, or only drivers?

I guess this boils down to: for a residential user/gamer, when will x64 be important, and (more importantly), widely available and easy to use?

Thanks!
 

·
Registered
Joined
·
399 Posts
64 bit is the amount of registers in memory the cpu can adress at a time. 64 bit is slightly faster in cpu-intensive applications, but support is still lacking. you dont need to get all 64 bit software, but somethings like antivirus will not work unless theyre 64 bit. everything else, like games or office apps will work with some minor bugs in a few programs, but then again whats the point of 64 bit if your software is 32 bit? sure the os will be slightly faster, but not by much. 64 bit will only be important when there are a substantial amount of apps that you will use that are 64 bit. for gamers/home users, that will probably not come for another year or two. a 64 bit cpu still runs 32bit natively, so theres no worry about your cpu not working as fast as it can in 32 bit, although obviously not to its fullest potential as 64 bit is faster.
 

·
Registered
Joined
·
211 Posts
To put simply, x64 defines the amount of data a processor can work with individually. Hence, a x64 processor can work with 8 bytes, a 80386 can work with 4 bytes, a 8086 can work with 2 bytes, ect...

Another explaination could be, x64 (ect...) defines the maximum amount of data that can be processed within a single instruction.

Unfortunately, applications must specify the amount of data they will be working with. So, 32-bit applications will be working with 4-bytes of data at time, and therefor you will be not implementing the maximum potential of a 64-bit processor.

So why aren't applications written for 64-bit? Well, it's all to do with writing software which is suitable to the average consumer. And at the moment, the standard is 32-bit. Writing an application for a 64-bit processor and running it on a 32-bit machine will not work.

But, a 32-bit application will still work upon a 64-bit processor but there will be a significant performance loss due to 32-bit applications are only supported through emulation (ex; WOW64).

Overall, a 64-bit machine (with the accompanied 64-bit OS) will perform far better than a 32-bit machine.
 

·
Registered
Joined
·
399 Posts
mattbro, 32 bit never runs in emulation, even on a 64 bit os... in a 32bit os, 32 bit runs the same on a 64bit processor as it would on a 32 bit processor. in a 64 bit os, the 32 bit program is still run natively through launching a compatibility mode (basically a 32 bit kernel), so 32 bit code still runs full speed, although extra ram is used. what youre confusing is itanium, which has to emulate 32 bit, as its not x86 native.
 

·
Registered
Joined
·
211 Posts
And compatibility means emulation. WOW64 (Upon Windows) is used to emulate a 32-bit enviorment on a 64-bit machine to run 32-bit applications. For this to be accomplished, every routine call must be converted to the 64-bit calling scheme along with a handful of other required operations.

Intel itself released the founding emulation software for OS designers to implement themselves so that 32-bit applications could be supported upon 64-bit machines.
 

·
Registered
Joined
·
211 Posts
The first rule of writing performance-intensive software is to avoid unnecessary function calls due to their implicit overhead (Primarily pushing it's arguments onto the stack and constructing a call frame).

Emulation dictates that every function call must be reconstructed, which itself will amount to a considerable performance loss. And if the software is written poorly (Such as passing a large structure as an argument), the performance loss is going to be even greater.
 

·
Registered
Joined
·
211 Posts
Well x64 is a neutral term, I wasn't aware we were being company-specific.
 

·
Registered
Joined
·
399 Posts
how many people here run ia64? and i dont know about linux and 32 bit, but i doubt its much more complicated, though i honestly have no idea, except that linux backwards compatibility is alot more problematic than windows.
 

·
Registered
Joined
·
211 Posts
I have no idea.
 

·
Registered
Joined
·
18,118 Posts
IA64 is Intel's early version of a 64-bit desktop-class CPU. The nature of it, though, made it hard to write applications for so it wasn't widely accepted. AMD's Athlon 64 series changed all that by creating an x86 CPU that could easily run both 32- and 64-bit applications with speed. Microsoft adopted this architecture and Intel was forced to follow, thus flip-flopping the old "AMD just copies Intel's design" way of thinking.

64-bit applications being used in a 64-bit OS on a 64-bit system WILL run much faster than 32-bit anything.
 

·
Registered
Joined
·
13,828 Posts
64 bit linux is now very common, and of course, in most situations, free. Since Linux is more CPU/RAM intensive as opposed to Windows which is more CPU/Hard Disk intensive, you will probably notice more of a difference in Linux, but still a big improvement in both. But keep in mind the limited selection of 64 bit programs for Windows and Linux, and it is especially hard to find 64 bit Linux video drivers.

Essentilly, any 64 bit OS will run at or close to twice as fast as the 32 bit version because the CPU is processing twice as many instructions. It is literally like having your CPU run twice as fast as it previously did. AMD created the AMD64 instruction set, and the Intel equivalent is the EM64T instruction set.
 

·
Registered
Joined
·
399 Posts
lol, some programs get close to twice as fast, maybe 80%, but most programs get around a 10-20% boost at most in 64 bit, youre not going to get twice the performance in 64bit... also, the cpu doesnt process more instructions, it has wider integer registers, so it can adress a larger amount of memory. its useful in mutlimedia/scientific apps, but its no big deal for office/games, which dont really use large files.
 

·
Registered
Joined
·
211 Posts
Essentilly, any 64 bit OS will run at or close to twice as fast as the 32 bit version because the CPU is processing twice as many instructions. It is literally like having your CPU run twice as fast as it previously did. AMD created the AMD64 instruction set, and the Intel equivalent is the EM64T instruction set.
That isn't precisely true. The most notible differences between a 32-bit processor and a 64-bit processor is: Extended registers (RAX, RDX, ect...) which are used to manipulate data on the CPU itself, a wider CPU bus, and the ability to address 2^64 individual memory locations.

Therefor, performance is only truely increased when it comes to software written specifically for a 64-bit enviroment. There will be a fundamental increase in performance due to the underlying API will take advantage of 64-bit capabilities. For a cheap example, the "ZeroMemory(...)" routine on Windows nullifies a range of bytes in memory to zero. This algorithm works by loading a 32-bit register with 0, and then 'sending' that 4-byte block to the memory range which is to be nullified, over and over until the desired amount of memory has been filled with zeros. Under a 64-bit machine, performance would literally be doubled due to 8-byte blocks could be 'sent' instead of 4.

One important thing to note about 32vs64-bit is that, the 32-bit architecture implements a memory organization technique called 'segmentation'. Segmentation divides total virtual memory into individual segments, allowing each application to have it's own segment(s). This enabled the kernel to provide security measures so that applications could not interfer with each others data. But, it also required that addresses generated by an application be translated (Logical Address + Segment Address + [Paging Translation]).

Under the 64-bit architecture, segmentation to large extent has been dropped (Now is a variant of the flat-memory model) and therefor the need for address translation (partly) is no longer needed. Thus, providing a fundamental performance gain.


-Matt
 

·
Registered
Joined
·
13,828 Posts
floydfan, remember that registers store data and instructions as well as address memory where data and instructions are stored. (I probably should have said that it processes instructions faster, and therefore processes more instructions in a set amount of time.) And the performance increase will also depend on how much RAM you have. Having more than 2048 MB of RAM in a 64 bit environment will be useful because the larger address register will be able to store the locations of more data and instructions for the CPU to faster process.

Matt, also remember that virtual memory is still very slow compared to RAM, and especially in linux, more data is cached on the RAM in a 64 bit environment (not so much more data, but larger chunks of data).
 
1 - 16 of 16 Posts
Status
Not open for further replies.
Top