A computer components & hardware forum. HardwareBanter

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.

Go Back   Home » HardwareBanter forum » General Hardware & Peripherals » General
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

64 bit processors



 
 
Thread Tools Display Modes
  #1  
Old December 14th 04, 02:31 AM
external usenet poster
 
Posts: n/a
Default 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??
  #3  
Old December 14th 04, 04:52 AM
General Schvantzkoph
external usenet poster
 
Posts: n/a
Default

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.

  #5  
Old December 14th 04, 05:18 PM
CBFalconer
external usenet poster
 
Posts: n/a
Default

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  
Old December 14th 04, 06:12 PM
Steve Wolfe
external usenet poster
 
Posts: n/a
Default

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  
Old December 14th 04, 06:45 PM
Jerry G.
external usenet poster
 
Posts: n/a
Default

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  
Old December 14th 04, 07:51 PM
Wes Newell
external usenet poster
 
Posts: n/a
Default

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  
Old December 15th 04, 02:17 AM
General Schvantzkoph
external usenet poster
 
Posts: n/a
Default


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  
Old December 15th 04, 02:26 AM
Gregory Toomey
external usenet poster
 
Posts: n/a
Default

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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

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


All times are GMT +1. The time now is 11:50 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 HardwareBanter.
The comments are property of their posters.