If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
64 bit processors
I have a question about the line of true 64 bit processors. When they
are running 32 bit software, do they take the instructions, data, etc. 2 blocks at a time or is there half of the cpu that is not being used?? Where this is leading, is to the question is it better to have a super hi speed 32 bit cpu and OC it, or is it better to have a 64 bit cpu of less speed. Om that case would they be about equal? In other words, is it worth it to buy a 64 bit cpu now, even if it is only running 32 bit software and may still be doing that for some time?? |
#2
|
|||
|
|||
|
#3
|
|||
|
|||
On Mon, 13 Dec 2004 20:31:43 -0600, Jmonahan wrote:
I have a question about the line of true 64 bit processors. When they are running 32 bit software, do they take the instructions, data, etc. 2 blocks at a time or is there half of the cpu that is not being used?? Where this is leading, is to the question is it better to have a super hi speed 32 bit cpu and OC it, or is it better to have a 64 bit cpu of less speed. Om that case would they be about equal? In other words, is it worth it to buy a 64 bit cpu now, even if it is only running 32 bit software and may still be doing that for some time?? 64 bits refers to the address size not to data sizes, a 32 bit CPU can address 4 billion bytes, a 64 bit CPU can address 4 billion X 4 billion bytes, i.e. 2^64 or 1.6 * 10^18 bytes. We've reached the point where 4GBytes of real memory is not only possible but is even affordable so the 4Gbyte limit of a 32 bit address is a problem. By increasing the address space to 64 bits the virtual address space becomes so large that the we won't have to worry about it limiting the amount of RAM that you can put into a system for another 50 years, probably much much longer than 50 years but if you make the wildly optimistic prediction that Moores law continues to hold forever then at the rate of 1.5 years per bit (the historical Moore rate) then it will take 48 years to use up the new address bits. |
#4
|
|||
|
|||
|
#5
|
|||
|
|||
Chip wrote:
"Wes Newell" wrote in message On Mon, 13 Dec 2004 23:52:45 -0500, General Schvantzkoph wrote: 64 bits refers to the address size not to data sizes, Now that's a new one and I thought I'd heard them all.:-) Actually, this is incorrect too though. The A64 address bus is 40bits, 48 virtual. a 32 bit CPU can address 4 billion bytes Tell me why my 32bit 68000 cpu can only address 16MB then (1 clue, it has a 24bit address bus). I really haven't checked, but it's very possible to have a 32bit cpu address more than 4GB. the amount of directly addressable ram is controlled by the size of the address bus, and has nothing to do with 32, 64, or 128 bit cpu's. The view posted by General Whateverhisnameis may be incorrect, but its an *incredibly* common misconception. I can't count the number of articles I have read that was lyrical about the benefits of 64-bit being the increased address space. Presumably the author having no clue that it would be perfectly possible to have a 16-bit (let alone 32-bit) processor with a 48-bit or 64-bit address bus. There are several factors here. First is the address field in the actual instructions, which are very likely to be (or to become) 64 bits. Second is the address field in the physical i/o interface, which is likely to be 32 bits, or capable of 4G of physical memory. Third is the actual memory attached, which I will assume to be the common 1G. These three quantities must be strictly decreasing (or same) in the order I have given them. The operating system will be the only thing actually aware of the real physical limits. It will arrange to map all 64 bit addresses (via tables) into one of: a) disk location b) real memory location c) invalid. The hardware (or even the OS software) will arrange that any access to b) is intercepted and converted into a), while any c) is flagged as a gross error and something serious done about it. At the same time it can map process specific virtual addresses (in a known address space) into the larger physical address space, giving the ability to write all programs as if they had a machine to themselves. The efficiency of this mapping is crucial to the apparent speed of the system under load. -- Chuck F ) ) Available for consulting/temporary embedded and systems. http://cbfalconer.home.att.net USE worldnet address! |
#6
|
|||
|
|||
Tell me why my 32bit 68000 cpu can only address 16MB then (1 clue, it
has a 24bit address bus). I really haven't checked, but it's very possible to have a 32bit cpu address more than 4GB. the amount of directly addressable ram is controlled by the size of the address bus, and has nothing to do with 32, 64, or 128 bit cpu's. The view posted by General Whateverhisnameis may be incorrect, but its an *incredibly* common misconception. I can't count the number of articles I have read that was lyrical about the benefits of 64-bit being the increased address space. Presumably the author having no clue that it would be perfectly possible to have a 16-bit (let alone 32-bit) processor with a 48-bit or 64-bit address bus. Here's what's going on: A 32-bit processer really can only address 4 gigabytes of memory in a single address space. There are hacks like PAE that let you put more than 4 gigs in a machine, but a single process can only see 4 gigs of memory. That's it, there's no way around it. If you disagree, don't argue, try getting a single process to allocate more than 4 gigs on the OS of your choice on a 32-bit processer. Come back when you've done it. The A64/Opterons, being 64 bit processers, can address up to a 64-bit memory address, which is unfathomably huge. However, I believe that they currently have only a 48-bit memory bus, which is still a boat-load of memory. However, going from a 32-bit instruction set to a 64-bit instruction set with all other items equal can (and does) incur a slight overhead, as you have to pump more bits around to get the same things accomplished. It's generally along the lines of 1%-3% real-world performance. However, in the case of the A64/Opteron, all other items are NOT equal - in 64-bit mode, the new instruction set allows you to utilize a larger number of registers, which gives you a real-world performance BOOST of around 10% in most apps. steve |
#7
|
|||
|
|||
Without getting complicated, you are always using the full CPU capability.
You are not using 1/2 a CPU to do the work. When the 64 bit CPU runs 32 bit software, it will function as if it was a 32 bit unit. I would only spend the extra amount if I was having the necessity of a 64 bit CPU. You will need the 64 bit operating system to take advantage of it from an operating system point of view. If you are not running 64 bit capable software's there will also not be any advantage. Very few software's at this time are written in the 64 bit format. If you are buying this for future investment, this is not a good idea from the point of view, that next year or whatever, the 64 bit machines may be different, and some other need will arise, still making your machine obsolete in it own way. Buy what you need for now to get your job done the way you require it to be done. To some extent, you can do upgrades to the existing system as they are required. When your system becomes too obsolete, in let's say about 3 years from now, then it would be worth to start over again on a new system with the same philosophy. -- Jerry G. ====== wrote in message ... I have a question about the line of true 64 bit processors. When they are running 32 bit software, do they take the instructions, data, etc. 2 blocks at a time or is there half of the cpu that is not being used?? Where this is leading, is to the question is it better to have a super hi speed 32 bit cpu and OC it, or is it better to have a 64 bit cpu of less speed. Om that case would they be about equal? In other words, is it worth it to buy a 64 bit cpu now, even if it is only running 32 bit software and may still be doing that for some time?? |
#8
|
|||
|
|||
On Tue, 14 Dec 2004 08:50:44 -0500, General Schvantzkoph wrote:
On Tue, 14 Dec 2004 09:26:40 +0000, Wes Newell wrote: On Mon, 13 Dec 2004 23:52:45 -0500, General Schvantzkoph wrote: 64 bits refers to the address size not to data sizes, Now that's a new one and I thought I'd heard them all.:-) Actually, this is incorrect too though. The A64 address bus is 40bits, 48 virtual. a 32 bit CPU can address 4 billion bytes Tell me why my 32bit 68000 cpu can only address 16MB then (1 clue, it has a 24bit address bus). I really haven't checked, but it's very possible to have a 32bit cpu address more than 4GB. the amount of directly addressable ram is controlled by the size of the address bus, and has nothing to do with 32, 64, or 128 bit cpu's. The physical address space of a CPU is almost never identical to the virtual address. The virtual address space is what the programmer sees, so in a 32 bit architecture that's 4G and in 64 bit architecture it's 1.6*10^19. The physical address space is determined by the width of the Address Translation Unit RAM and the address pins on the CPU. The physical address space is a choice that the CPU designers make for each design. Pins and RAM cost money so you don't want to support a physical address space that's larger than the maximum amount of RAM that the particular CPU is ever likely to have. When the 68000 came out the biggest DRAM was 64K, the CPU designers would have figured that at the end of life of the chip the biggest DRAM would be the 1M DRAM so they picked 16M as the physical address space because it was confortably larger then any real memory system that it would ever have to support without being excessively expensive. When you get to the end of an architecture's life, as we are now with the 32 bit x86 architecture, it becomes possible to have more real memory then virtual memory. The way this is handled is that CPUs can support multiple virtual address spaces, each of which can have it's own DRAM space. So a Xeon might have 16 separate threads each of which can address 4G of RAM for a total of 64G of real memory. Each thread is still limited to 4G but you can have lots of them. There are also ways to give programmers access to more memory by using segmentation registers which allows the programmers to manage multiple virtual memory spaces within one process, that's what the 80286 did to extend the 16 bit address space of the 8086. Segmentation is a horrible way to handle memory, a larger linear address space is much easier for programmers to deal with. The AMD64 architecture is now back to where we were in the 68K days. The virtual address space is so large that all the RAMs in the world couldn't fill it. The programmer sees the 64 bit space but the actual amount of physical RAM supported is much smaller, I'm not sure what the exact size is but I suspect it's around 40 bits (1 terabyte) which would be confortably larger than the amount of RAM that this generation of chips is likely to have to support (assuming 4G and maybe even 16G RAMs by the time the last current generation A64s are unplugged). Aha, so now they consider the bitness of the cpu to be the maximum possible address space within the architecture if you're sumize is correct. I wonder who keeps changing the nomenclature. In the beginning it was defined by the data bus size, then it changed to register size (I think Intel was the first to do this, with the 8088). Motorola redefined thier 16bit 68000 to calling it a 32bit later. And now we have a bitness that virtually has nothing to do with anything speed wise, actual ram address size or anything of any value. Next thing you know they'll be adding up all the bus widths of the cpu and calling it an xxxx bit cpu. Got to one up the competition. -- Abit KT7-Raid (KT133) Tbred B core CPU @2400MHz (24x100FSB) http://mysite.verizon.net/res0exft/cpu.htm |
#9
|
|||
|
|||
Aha, so now they consider the bitness of the cpu to be the maximum possible address space within the architecture if you're sumize is correct. I wonder who keeps changing the nomenclature. In the beginning it was defined by the data bus size, then it changed to register size (I think Intel was the first to do this, with the 8088). Motorola redefined thier 16bit 68000 to calling it a 32bit later. And now we have a bitness that virtually has nothing to do with anything speed wise, actual ram address size or anything of any value. Next thing you know they'll be adding up all the bus widths of the cpu and calling it an xxxx bit cpu. Got to one up the competition. It's always been the virtual address space that defined the bitness of a CPU architecture. I've been in the business for 30 years and I spent the first half of my career designing CPUs. Some marketing types in the early days of microprocessors may have used bus size to define the bitness of a microprocessor but no computer architect ever did that. The problem with using register width or bus width is that it isn't consistant even within a single CPU. The floating point registers in a 16 bit minicomputer were 64 bits wide, that didn't make the computer a 64 bit computer. The same thing goes for the memory datapath. The 939 pin Athlon 64s have two 64 bit memory buses, does that make them a 128 bit processor? of course not. By the same token as serial buses like PCI express and SATA replace parallel buses does that make the machines 1 bit processors? It is true that the integer registers generally are the same width as the address because you use the integer registers to compute addresses in most architectures. However it's not required, you could use a pair of registers to hold an address pointer. You can also have specialized registers that are used only for addresses and other registers that are used for general purpose integer arithmetic. In fact the base x86 architecture does use a god awful collection of single purpose registers rather than a uniform general purpose register set. |
#10
|
|||
|
|||
Jerry G. wrote:
Very few software's at this time are written in the 64 bit format. Linux & some BDSs have been running 64 bit for years eg MIPS. There are 64 bit builds of linux for Athlon 64. gtoomey |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Using 133FSB processors in a 100FSB board (Intel L440GX) | James Smith | General | 2 | May 25th 04 10:36 PM |
AMD Processors | hu man | General | 12 | May 17th 04 06:31 PM |
Advice on AMD processors please. | Jonathan Bishop | General | 0 | January 1st 04 10:11 AM |
64 bit Processors | Just Wondering | General | 3 | October 5th 03 11:06 PM |
Advantages/Disadvantages of Mobile Processors compared to Normal Processors | Luke | General | 4 | August 17th 03 07:15 AM |