Sign in with
Sign up | Sign in
Your question

64 vrs 32 bit?

Tags:
Last response: in CPUs
Share
February 13, 2007 3:54:38 AM

Hi i was wondering what is the big advantage of having a 64 bit system over a 32 bit system is and what the future of these systems are. Like if u have to exact processors but ones 32 bit and the other is 64 how much of a performance gain are you going to get and what are really the pros and cons. Thankyou

More about : vrs bit

February 13, 2007 4:22:30 AM

You can no longer avoid buying a 64 bit CPU, so don't bother trying to. However, at this point in time, I cannot faithfully recommend Vista 64 bit. And this is coming from someone who's using Vista 64 bit. I've had a lot of problems... as mplich said, the driver support is still atrocious, especially for enthusiast level systems.

My recommendation is to get Vista 32 bit and then send in the $10 and voucher to M$ for a 64 bit copy as well. This voucher is only available on the full retail version of Vista (I think).
February 13, 2007 4:41:52 AM

2 to the 64th = 18446744073709551616
Related resources
February 13, 2007 4:44:14 AM

I've had two systems running vista x64 since enterprise rtm was released in November.

Since Nvidia and ATI have now released functional drivers I've had no problems with most games, you have to be carefull wilth certain apps, nero and powerdvd for example, but I have the same functunality I did with XP with only minor fixes and tweaks.

Some old games won't install thanks to the installers, however the compatibility modes have worked great so far for most issues.

x64 is snapper than x32 for some things, but it's not particularly "faster" even with x64 apps.

If you don't mind tweaking, go x64, it's cheaper in the longrun as the "free" upgrades are generally a waste of money compared to just getting home premium oem.
February 13, 2007 4:54:23 AM

x86 processors are not 64 bit. They are 32 bit processors with 64 bit extended instruction sets, to allow larger memory usage, and to add some 64 bit data instructions.

True 64 bit processors, like the IBM power pc, the Sun sparc's, are generally RISC (reduced instruction set CPU's) processors that will natively handle memory out to 64 bits (2 to the 64th), and will handle computational processing faster overall. Large databases need these processors, as does high end graphics procesing.

As to what your really asking, (since I doubt you are talking about a power pc WS) MPJesse has it right at least for now. Vista 64 is not for the faint of heart. If XP is anything to judge by, it will never be.

Kinda makes one wonder why Apple dropped the power pc chip for the mac.

I have a Sun WS at work that will run say Solaris 10 at twice the speed of this pc despite having one fourth the RAM and one third the processor speed...
February 13, 2007 5:18:29 AM

True, my SGI O2 runs maya 5 (yeah I know it's old) almost as quick as my A64 3700 with 2 gig of ram, and it's not even 200Mhz with only 192MB RAM.

But at the same time, I've got a couple 32bit power pc's that are slooooooow.
February 13, 2007 5:35:26 AM

32 bit power pc's? Never seen one and don't think I want to.

OTOH, I just recovered a couple of old Digital Alpha servers that have outlived their usefulness. I'll be pleased to add them to my 'lab' and see what they can do. The way that the Dec Alpha approached computations should make these boxes nice number crunchers.
February 13, 2007 10:48:05 AM

Quote:
2 to the 64th = 18446744073709551616


That is the theoretical limit of the address registers used in the CPU. That is not, however, anywhere near the reality that you will likely ever see in a system built during the "64-bit era" of desktop computing. We will eventually see systems supporting 128 GB of memory and possibly even 1 TB, but we will have to have a major shift away from DIMM's before we will ever see either amount happen on the average desktop.
February 13, 2007 12:36:35 PM

The first x86 CPU to deploy RISC techniques was the NextGen Nx586, released in 1994, and it did this by expanding the majority of the CISC instructions into multiple simpler RISC operations. Internally the Nx586, Intel P6, AMD K5 and Cyrix 6x86 are RISC machines that emulate a CISC architecture.

So I am not following you when you said "True 64 bit processors, like the IBM power pc, the Sun sparc's, are generally RISC."

Intel and AMD are RISC CPUs, emulating x86 chips.

Now, if they would stop emulating the x86 instructions, we might see huge increase in performance... (If they let their RISC chips run as RISCs)

This link holds a wealth of information and should explain the history of modern processors.

http://en.wikipedia.org/wiki/RISC
February 13, 2007 1:04:47 PM

Quote:
Intel and AMD are RISC CPUs, emulating x86 chips.


I cannot find any information from AMD or Intel to back that up.
February 13, 2007 1:19:14 PM

the only real reason for running 64bit is in server situations.

however i have played the 64bit version of far cry and it did run quicker despite haveing more detail than the 32bit version.

i forsee a lot more usage on 64bit in the near future hopefully games like alan wake and crysis will come with native 64 bit support so that the extra benefits will be immediate
February 13, 2007 1:24:40 PM

Quote:
Intel and AMD are RISC CPUs, emulating x86 chips.


I cannot find any information from AMD or Intel to back that up.

And you likely won't. Back in the day RISC versus CISC was a legitimate argument about performance (and architecture), but it is no longer today. The existence of micocode pretty much turns a CISC into a RISC from a design standpoint. People used to think there were limitations to how fast a CISC processor could go compared to a RISC processor. Today there is little doubt that those limitations are non-existent.

But, honestly, what does it matter so long as the things run fast and are compatible with the software you use?
February 13, 2007 1:36:20 PM

Quote:
And you likely won't. Back in the day RISC versus CISC was a legitimate argument about performance (and architecture), but it is no longer today. The existence of micocode pretty much turns a CISC into a RISC from a design standpoint. People used to think there were limitations to how fast a CISC processor could go compared to a RISC processor. Today there is little doubt that those limitations are non-existent.

But, honestly, what does it matter so long as the things run fast and are compatible with the software you use?


Yeah, I found the terms but no indication of how they classify their chips. Either way, I agree with your last point.
February 13, 2007 1:43:35 PM

I read an article from Intel a long time ago and it said that all their chips were RISC based and emulated the x86. So I shared that cloudy memory with the masses.

To be honest, I really don't care.... As long as I can surf the net, frag some 12 year old at least 1 out 50 times :oops:  . And have an overall great time on my PC doing 5 - 20 things at the same time...


PS

If I remember correctly, that link near the end touches on the INTEL\AMD RISC architecture.


PSS

R600 is taking it's sweet time!!!!!!! :roll:
February 13, 2007 1:47:03 PM

Internally, the Athlon was a fully seventh generation x86 processor, the first of its kind. The CPU was designed by a combination of AMD engineers and newly-hired ex-DEC engineers, and the result was a merging of technologies from AMD's earlier CPUs and the DEC Alpha 21264. Like the AMD K5 and K6, the Athlon is a RISC microprocessor which decodes x86 instructions into its own internal instructions at runtime.
February 13, 2007 1:49:53 PM

But back to you orginal question, the step to 64bit will be much like the step to 32bit (remember Win 95 launch?). Slow and applications over time make use of it.
a c 103 à CPUs
February 13, 2007 1:55:26 PM

Quote:
Like if u have to exact processors but ones 32 bit and the other is 64 how much of a performance gain are you going to get and what are really the pros and cons. Thankyou


32bit cpu communicates with the memory modules through the Northbridge chipset creating a performance bottleneck, the 64bit cpu directly communicates with the memory modules, eliminating the bottleneck.



So the performance increases with a 64bit cpu even with a 32bit operating system.
February 13, 2007 2:13:32 PM

Quote:
x86 processors are not 64 bit. They are 32 bit processors with 64 bit extended instruction sets, to allow larger memory usage, and to add some 64 bit data instructions.

True 64 bit processors, like the IBM power pc, the Sun sparc's, are generally RISC (reduced instruction set CPU's) processors that will natively handle memory out to 64 bits (2 to the 64th), and will handle computational processing faster overall. Large databases need these processors, as does high end graphics procesing.

As to what your really asking, (since I doubt you are talking about a power pc WS) MPJesse has it right at least for now. Vista 64 is not for the faint of heart. If XP is anything to judge by, it will never be.

Kinda makes one wonder why Apple dropped the power pc chip for the mac.

I have a Sun WS at work that will run say Solaris 10 at twice the speed of this pc despite having one fourth the RAM and one third the processor speed...


I'm still looking for a "True 64bit CPU definition" Maybe it's just address space and instruction bits wide.
February 13, 2007 2:17:13 PM

Quote:
x86 processors are not 64 bit. They are 32 bit processors with 64 bit extended instruction sets, to allow larger memory usage, and to add some 64 bit data instructions.

True 64 bit processors, like the IBM power pc, the Sun sparc's, are generally RISC (reduced instruction set CPU's) processors that will natively handle memory out to 64 bits (2 to the 64th), and will handle computational processing faster overall. Large databases need these processors, as does high end graphics procesing.

As to what your really asking, (since I doubt you are talking about a power pc WS) MPJesse has it right at least for now. Vista 64 is not for the faint of heart. If XP is anything to judge by, it will never be.

Kinda makes one wonder why Apple dropped the power pc chip for the mac.

I have a Sun WS at work that will run say Solaris 10 at twice the speed of this pc despite having one fourth the RAM and one third the processor speed...


I'm still looking for a "True 64bit CPU definition" Maybe it's just address space and instruction bits wide.

I 100% agree. Pure versus "impure" 64-bit is more than just a moot point, it is like flinging mud at your enemies during a nuclear war.
February 13, 2007 2:56:27 PM

Quote:
So the performance increases with a 64bit cpu even with a 32bit operating system.


You can't make a blanket statement like that. It all depends on the application, and it could definitely be slower.
a c 103 à CPUs
February 13, 2007 4:00:34 PM

Quote:
You can't make a blanket statement like that. It all depends on the application, and it could definitely be slower.


Well if I'm wrong prove it, and I'll retract the statement.
February 13, 2007 4:29:39 PM

Quote:
Like if u have to exact processors but ones 32 bit and the other is 64 how much of a performance gain are you going to get and what are really the pros and cons. Thankyou


32bit cpu communicates with the memory modules through the Northbridge chipset creating a performance bottleneck, the 64bit cpu directly communicates with the memory modules, eliminating the bottleneck.



So the performance increases with a 64bit cpu even with a 32bit operating system.
Isn't it only for K8 CPUs; I know Intel CPUs still use the northbridge and FSB, ALL of them.
a c 103 à CPUs
February 13, 2007 4:33:39 PM

Quote:
Isn't it only for K8 CPUs;



OOPs Yes :oops: 
February 13, 2007 5:20:55 PM

Quote:

Kinda makes one wonder why Apple dropped the power pc chip for the mac.


the economies of scale, and the intense battle between AMD & Intel meant that freescale could not offer Jobs the same performance for the $. the power pc platform lives on in multi processor areas - but that's where the dynamic duo are looking at now.
a b à CPUs
February 13, 2007 5:34:37 PM

Quote:
Like if u have to exact processors but ones 32 bit and the other is 64 how much of a performance gain are you going to get and what are really the pros and cons. Thankyou


32bit cpu communicates with the memory modules through the Northbridge chipset creating a performance bottleneck, the 64bit cpu directly communicates with the memory modules, eliminating the bottleneck.

So the performance increases with a 64bit cpu even with a 32bit operating system.

What?! What brand or type of 64bit processor are you referring to?

Intel still uses a fsb and that it a 64bit capable processor. A 32bit application runs no faster or slower on a 64bit capable proc than it does on a 32bit proc.
February 13, 2007 6:03:25 PM

I've used 64 bit and 32 bit vista(non-release). I've had no problems with 32 bit and can't say such with 64 bit. However I'm hoping they cleared these bugs up within the release version or at least by SP1.
February 13, 2007 6:48:50 PM

Quote:
You can't make a blanket statement like that. It all depends on the application, and it could definitely be slower.


Well if I'm wrong prove it, and I'll retract the statement.

I'm not the one making the statement that 64-bit is always faster. Unless you have tested the majority of the software on both platforms, I do not see how you can generalize performance.

But, for the record, I will tell you that I found my Oracle software to not run as well on 64-bit hardware with 64-bit Windows 2003. However, it ran faster when moved to 64-bit Linux. So, you see you can't just say 64-bit is faster. It all depends on the application, OS, and drivers.
a c 103 à CPUs
February 13, 2007 7:45:55 PM

Quote:
I'm not the one making the statement that 64-bit is always faster.



Didn't say always, did I?
a c 103 à CPUs
February 13, 2007 7:48:36 PM

Quote:
What?! What brand or type of 64bit processor are you referring to?


AMD K8 series, Is there any other kind ? :lol: 
February 13, 2007 8:39:36 PM

it depends on your hardware, i am running vista 64 bit and i have only had problems with 1 app everything else works fine, sound, video, NICs, and my other apps, so its situational. One thing you could try is dual booting 32 bit and 64 bit vista and dont put a cd key in and try each one for a month and see which one is better for you. once more 64 bit drivers and apps are written 64 bit should be better in most instances.
February 13, 2007 10:05:51 PM

Quote:
I've used 64 bit and 32 bit vista(non-release). I've had no problems with 32 bit and can't say such with 64 bit. However I'm hoping they cleared these bugs up within the release version or at least by SP1.

And that's when (windows) performance gets totally p!ssed. service packs usually add a noticeable performance penalty; just wonder what that would be under the already cumbersome Vista.
February 13, 2007 11:03:53 PM

One of the biggest advantages for the x86 64 bit model over 32 bit is 16 general purpose registers vs. 8 semi-general-dedicated registers. Using a good compiler (Intel) and a decent to good profiler, depending on the app, you will see anywhere from a 3-17% increase in performance. Some, like superpi, even higher.
a b à CPUs
February 14, 2007 12:30:11 AM

Me too so far most of the apps I want to use is working okay, but I
really can't tell if they truly are since I'm just using the RC2 64bit version of
Vista. The only thing that does not work for me is my scanner, but
it's not because of 64bit, it's just too old even 32bit won't work either.

BTW: As for having a powerful machine, it's those 2 girls in
Will14's avatar. :wink:
a c 102 à CPUs
February 14, 2007 1:37:52 AM

There are a bunch of 32-bit PowerPC CPUs:

PowerPC 601
Power PC 603
PowerPC 604
Power PC 7xx (G3)
PowerPC 7xxx (G4)

The only 64-bit CPUs sold as "PowerPC" were the PowerPC 970 series, aka the G5.
a c 102 à CPUs
February 14, 2007 1:42:23 AM

Quote:


32bit cpu communicates with the memory modules through the Northbridge chipset creating a performance bottleneck, the 64bit cpu directly communicates with the memory modules, eliminating the bottleneck.



So the performance increases with a 64bit cpu even with a 32bit operating system.


You're only talking about the Athlon 64s. Intel has made a ton of 64-bit (EM64T) CPUs, all of which access the memory modules through the northbridge's memory controller because they have a frontside bus as do all of Intel's CPUs. That can be a bottleneck in certain situations, but it has NOTHING to do with 32 vs. 64 bits.
February 14, 2007 1:44:10 AM

Quote:
Didn't say always, did I?


Well you surely didn't say "possibly", "usually", "sometimes", or anything else that would indicate otherwise:

Quote:
32bit cpu communicates with the memory modules through the Northbridge chipset creating a performance bottleneck, the 64bit cpu directly communicates with the memory modules, eliminating the bottleneck.

So the performance increases with a 64bit cpu even with a 32bit operating system.


That last line simply means "performance increases" no matter what. I'm not sure how you can read it otherwise.
a c 103 à CPUs
February 14, 2007 11:53:12 AM

OK OK Performance increases in some applications.

My fault OK, I was only running on half my brain function for the past 2 days, my wife and I were acquiring some land and the person we were getting the land from suddenly decided to back out and not sign the papers, so all the money we had invested in surveyor and lawyer fees just went out the window with our dreams and plans.

I should have better sense to post anything at all when I'm only working on a percentage of my capabilities, because to be quite honest with you this place right now is just a distraction, and I probably shouldn't be here right now anyway. Sorry Ryan
a c 103 à CPUs
February 14, 2007 11:55:14 AM

Quote:


32bit cpu communicates with the memory modules through the Northbridge chipset creating a performance bottleneck, the 64bit cpu directly communicates with the memory modules, eliminating the bottleneck.



So the performance increases with a 64bit cpu even with a 32bit operating system.


You're only talking about the Athlon 64s. Intel has made a ton of 64-bit (EM64T) CPUs, all of which access the memory modules through the northbridge's memory controller because they have a frontside bus as do all of Intel's CPUs. That can be a bottleneck in certain situations, but it has NOTHING to do with 32 vs. 64 bits.


Whatever.
February 14, 2007 12:58:17 PM

Quote:
OK OK Performance increases in some applications.

My fault OK, I was only running on half my brain function for the past 2 days, my wife and I were acquiring some land and the person we were getting the land from suddenly decided to back out and not sign the papers, so all the money we had invested in surveyor and lawyer fees just went out the window with our dreams and plans.

I should have better sense to post anything at all when I'm only working on a percentage of my capabilities, because to be quite honest with you this place right now is just a distraction, and I probably shouldn't be here right now anyway. Sorry Ryan


Understood, but don't be sorry. It's really no big deal. I was being nitpicky about that statement, because so many times at work, someone comes up to me and gives me an idea on how to boost performance on our databases. Their idea is that, "hey it worked there, so it _must_ work here", when, in reality, you have to test to make sure.

I apologize for nitpicking that statement to death. Truce, friend?
February 14, 2007 1:35:38 PM

Quote:
One of the biggest advantages for the x86 64 bit model over 32 bit is 16 general purpose registers vs. 8 semi-general-dedicated registers. Using a good compiler (Intel) and a decent to good profiler, depending on the app, you will see anywhere from a 3-17% increase in performance. Some, like superpi, even higher.


How many registers there are in a CPU has nothing to do with its architecture (32bit vs 64 bit). It's just an additional fast memory slot in the CPU.
On the lowest level, 64 bit means that the base registers are now 64 bit. This helps 64 bit data calculations (instead of compilers transformaing a long*long (8 byutes * 8 bytes) to a 32 bit calculation). §Basically that's what SSE does... 128 bit calculations in a single clock cycle, except that they are streaming calculations.
If 64 bit CPUs added additional registers, and your code takes advantage of such registers (you declare a C variable as a register) and your compiler can optimise your code to take advantage of the additional registers (else it'll treat a register variable as a normal RAM variable), then you'll have additional gains...But you'd have to recompile your code.

I still remember the old times when some CPUs were 16 bit internally, but 32 bit externally, before the shift to 32 bit internally and externally.

Bottom line, 64 bit OS+64 bit CPU + 64 bit code (means your compiler treats integers as 8 byte data not 4 byte as it is on 32 bit CPUs and OSs) then you'll get a bonus if you need 64 bit calculations. Any other performance boost is not due to the 64bit vs 32 bit change.
You also have the additional theoretical 64 bit memory addressing advantage, very much needed for servers.

Modest opinion...correct me if I'm wrong.

PS: When Pentium came out, i read an article that said DEC Alpha is (was) 50% faster.
February 14, 2007 2:09:14 PM

for most people 64 bit will be effective in
spring 2009. most humans should avoid all the driver
issues at this time.
a c 103 à CPUs
February 14, 2007 6:10:40 PM

Quote:
I apologize for nitpicking that statement to death. Truce, friend?



No Problems friend! :) 
February 14, 2007 8:16:35 PM

Quote:
for most people 64 bit will be effective in
spring 2009. most humans should avoid all the driver
issues at this time.


Good to know. But where did it come from??
February 15, 2007 2:43:23 AM

Although I didn't make any mention of architecture, your correct that the number of registers in the processors is irrelevant architecturally, the TYPEs of registers i.e., dedicated vs. general purpose is fundamental architecture.

You may want to google articles of register file size effects on loops and function-procedure calls.

Registers aren't just fast memory. Virtually any time you load a register you cause the flags to be reset. Consequently you have to implement a method to deal with that. But, they are extremely fast memory. All caches have some delay whereas registers have none.

Your bottom line assumption is correct. Everything has to be 64 bit, OS, compiler, etc. to get the benefit. One might think that just a 64 bit compiler would be adequate but any interrupt service return would corrupt the upper 32 bits of the registers.

My experience has been that after every profiler run on cpu's with larger register files we would try to intuitively change the declared register variables after analyzing the histograms. Some guys are better at it than others, meaning they'd get an optimized set faster.

I don't remember any cpu that had a larger external data bus than internally. There were numerous smaller external, larger internal - 16 bit internal 8 external, 32 internal 16 external. Linkage?
February 15, 2007 7:27:53 AM

Quote:


I don't remember any cpu that had a larger external data bus than internally. There were numerous smaller external, larger internal - 16 bit internal 8 external, 32 internal 16 external. Linkage?


8086 (that's old i know): 16 bit Expansion Bus, 16 bit External Bus, 8 bit Internal Bus
Pentium: 64 bit Expansion Bus, 64 bit External Bus, 32 bit Internal Bus (but because there were two 486 processors in there, 2*32=64)

For the rest of the processors i agree, Internal >=external. But i still don't see why , unless you use long integers for loop counters or your calculations, why you'd get additional benefits from having a 64 bit register holding your 32 bit data!
February 15, 2007 8:13:57 AM

Funny!
Noome has mentioned the extra tag for using the long registers, or that the "64 bit chips" can only address 40 bits (48 virtual).
The real plus of those chips will come when the OS allows it. The additional registers could be very usefull in multitasking, if the OS learned how to use them well.
Not vista though. Linux can, but it will take more than a service pack to fix windows.
February 15, 2007 11:07:28 AM

Quote:
The first x86 CPU to deploy RISC techniques was the NextGen Nx586, released in 1994, and it did this by expanding the majority of the CISC instructions into multiple simpler RISC operations. Internally the Nx586, Intel P6, AMD K5 and Cyrix 6x86 are RISC machines that emulate a CISC architecture.


I'm sorry this is a scary statement, you can not expand CISC instruction set into RISC the R stands for Reduced the idea is that by have a "Reduced" Instruction you are getting more data vs command in each action. Imagine a 32 bit bus where 6 of those bits are being used just to hold the instruction vs a 32 bit bus where only 1 of those bits are being used to hold the instruction.

Don't get me wrong there is more to RISC than just instruction effeciency there is also the idea that by having to cater to less instructions your chip can be more specilised.

Also don't believe the marketing modern CISC processors are very much CISC processors not RISC processors pretending to be CISC. People have a perception that RISC is better so marketing people have taken advantage of the modular design of modern processors where CISC instructions are broken down into sets of simpler instructions (a reduced instruction set) to say that there processors are a RISC archiecture emulating CISC however this is not true. Many of the "RISC" units teamed to perform CISC instructions are not mult-function in a true RISC architecture these RISC units could be used for other (ideally any) tasks.

The whole RISC vs CISC debate comes down to efficency of use vs specilisation.

In RISC you can use more of your processor more of the time as you have a simple instruction set however complex instructions can take multiple clock / memory cycle as they have to be broken into sets of simple instructions.

In CISC you can complete complex instructions in a single cycle as the processor is specilised however if there are no sutible instructions waiting that area of the processor will be un-used (the marketing "RISC" archiecture refers to the modern designs that try to reduce this risk by having multiple RISC areas in effect overlap or use common areas).

So in effect in the same die area on average a RISC processor would process more instructions than a CISC processor however the theory is the CISC processor would accomplish more with less instructions.

In reality there is not as much difference as there used to be most RISC instruction sets include a instruction that says look to the next x bits for the instruction (effectively turning RISC into CISC) and most CISC chips are designed to break instructions down into a few basic instructions.

On top of this all having an 4bit's being used for an instruction when you only had a 16bit bus was a huge problem, having 4bit being used when you have a 256bit or 512bit bus is allot less of a problem.
February 15, 2007 3:44:30 PM

Quote:
for most people 64 bit will be effective in
spring 2009. most humans should avoid all the driver
issues at this time.


Good to know. But where did it come from??


it is a projection that comes from a wide range of
feedback from people who have tested 64 bit systems.
for many it is a living nightmare ... leading to insanity ....

also from watching the slow development of 32 bit vista drivers . for example vista still does not recgonize dual graphic configurations on the 8800 graphic cards. it reads only one card. ( give nvidea a month to correct )
32 bit vista will probably be stabilized by summer with sp1. vista should
have debuted june 1, instead of rushing to meet the jan 30 deadline.
microsoft succumbed to pressure. i do not feel that microsoft is
effective in coordinating and motivating all the software developers etc
to work on all the 64 bit drivers that are needed. in addition , i question someof microsoft testing methods ... just a vision of what i see ....
February 15, 2007 8:16:48 PM

Actually, the 8086 is the base for all the x86 cpu's and derivatives, C2D and x64 are too. And it definetly was 16 bit everywhere except for the 20 bit segmented address space which still used 16 bit segment and 16 bit offset registers. The Pentium was 32 bit everywhere.

The advantage of 32 bits vs. 64 bits is generally small except for searches and sorts which can be significant. The advantage of 2+ times as many registers is in nested loops and function calls. When all the parameters can be passed in registers a stack frame doesn't have to be created, which can be a considerable overhead.
!