Xeon E3-1220V3 VS AMD 8350 VS i5-4570

I want a really in-depth comparison between these 3 processor, and which processor would do better at certain tasks than the other. For example, the 8350 would do great at multi tasking a lot of things. 

I hope the people of the forum understand what I want to know, and could give me really great answers, not only for myself, but also, for everyone else who is wondering the same thing.

Thank you to everyone who inputs information about this.

Surely we could start a discussing, but where people with limited knowledge on CPU architecture wont be able to debate nor understand the conversation.

 

I think it would be a better solution for you to say your preferred budget and usages,
that would make anything easier.

 

If you however would like to hear the difference, that surely is okay to.

 

Because it is not as simple as saying: Intel good for single-threaded and AMD for multi-threaded.
Far from even.

 

I don't wanna hear something like "The 8350 is the best, don't go Intel" or something like that. I want an actual comparison between them all and when each CPU will do better or worse. 

I hope everyone understands be enough to start a great conversation out of this. 

I know I'm not being entirely clear, but I'm not sure how else I would word this. Also, I don't plan to have this directed at me, I want it to be for everyone so everyone can use the information to decide which CPU is best for them. 

When you buy any hardware product, do you care who makes it (for warranty purposes, general customer care, previous track record with regards to reliability)? Because I strongly believe this should also be taken into account, not just benchmark numbers or in-depth, detailed and expert opinions about the architecture.

Okay lets go:
(This is the basics)

Branch predictor, predicts the what to fetch in the future. Haswell have a far superior branch predictor than piledriver. This can be critical when running larger loads. If the branch predictor guess wrong, it could cause a pipeline flush. It will flush the entire pipeline(ironical right?) which is a bad things, and cause things so slow down.

 

Fetch: Fetch data, and queue them.

 

Decoders: Decode instructions. Intel have AMD uses different kinds of decoders. Intel have 2 kinds: Simple decoder and advance decoder. General in the perspective of 3:1. Simple is for smaller decodes, which dont require much, whereof complex is for longer and more complex decodes, which require more time.
AMD is using 4 of the same decoders, which are slightly stronger than Intels simple decoders.

 

Now the executing part.


Haswell core contain: 4 ALUs. 3 256bit SIMD.


Piledriver module(2 cores) contain: 4 ALUs. 2 128bit SIMD.


Intel and AMD have different kinds of cores, have different kinds of concepts of cores.

One may argue that the fx 8xx0 isn't a 8 core, but in fact a 4 cores. AMD is using CMT. AMD have cluster-cores. 1 cluster core is 1 module.

The fx 8xx0 have 4 modules. These module is a core with duplicated component like the ALU and memory pipeline. (SR did add additional decoders). Means that the '2 cores' are sharing the fetch, decoders(not in SR), FPU and l2 cache.

The general cluster-concept is really strong, but AMD made some mistakes which is pulling it down on stronger loads.

Piledrivers branch predictor have a hard time on heavier load, and for it to function to it fullest, it require it to be running a predictive stream of instructions.

Decoders also had a hardtime not starving the cores(reason why they added them in SR), which was noticed when both cores ran at higher loads.

If you noticed, Intel have far better SIMD. This is Intels strongest site, reason why an i5-4670k can outperform an 8350 in gaming and streaming.

Piledriver having to share its FPU, can in some scenarios cause huge-fallback.

AMD cannot compete on the SIMD level, which is the primary reason the bought themselves into the HSA foundations.

Not even to mention cache management, where AMD is so far behind.

All units are generally never in use at the same time, this is essentially why hyper-threading exist.

Hyper-threading is Intels implementation of SMT. It is as simple: Let another thread run on the core. Non are giving the priority over the other. This can also have some fallback on the bandwidth, but 9.5/10 times it is faster.

 

Then there is the whole GHz. Amount of cycles per second. Here you will notice difference between architectures.

AMD is using a longer pipeline which naturally provides higher cycles per second, but takes more cycles to perform a instructions. CPI. A small pipeline will perform better with higher clockspeed.

But the processor is not the one giving out the processes.

To support multi-threading the developer would need to code it to use(if not supported by the compile by default). So if you code your application to use 8 cores, it will use 8 cores.

You would also have to understand how windows schedules its processes.


Windows will use the least amount of cores possible, and will stack process on that core. Many people think windows schedules it out on many cores, but that is wrong. Incorrect, and would mean what core wouldn't have the ability to sleep.

 

Then there is ISA, but it would take days explaining each and everyone.

 

Many people think that haswell wasn't the huge upgrade from IV, they are wrong. Haswell have potential to perform 30-60% better than IV if carefully coded for, and peak to over 100%.

This surely would become the norm when compilers will have support for the various haswell features by default, and wouldn't need to be hardcoded.

 

Remember this is only the basics.

 

Would like to add: AMD simple cannot fix these things. AMD are not manufacturing their own products, reason why they just reached 28nm.

Why Intel is pricier: Intel is manufacturing their own products, which is heavily costly. AMD used to manufacturer their own products too, back then Intel and AMD was similar prices, AMD slightly cheaper because running on the same architecture-line-up.

Also Intel is a far bigger company than AMD, advertising much more than AMD and having more employees. Intel is starting to push AMD more and more forcing

AMD to lower their prices on their processors.

 

Both companies use defected parts. This is where piledriver shines. 1 core is defect(example)? Disable it and sell it as a 6xx0. Intel is doing the same thing, just not in the same scale. A 4770k with a defected cache can be sold as a 4670k(with hyper-threading disabled ofc).

 

Sorry for the long essay.

thank you long essay man :D

Woah. That was a huge amount of info. Some of which information I could not understand because I'm not very advanced with computers, but it was all very interesting. 

From what I read it seemed like you were comparing the architecture and how the CPUs are made and how much they differ. 

It was a really good read, but it doesn't seem to have much information about real world performance about the 3 different CPU's. That's what I was mostly aiming to know from this comversation. But still, thank you for that good read. 

To keep it simple:
Games rely mostly on the ALU. Games utilize generally 2-4 cores. Meaning you will generally be getting more performance in those on Intel. Games supporting 8 cores, will have similar performance as a 4670k, even so it in theory is only half the cores of a 8350(example).

For streaming, streaming can be very depending on the SIMD workload, which is the major reason why a 3570k have a harder time streaming compared to a 4670k and the reason the 4670k might be a better streaming CPU than 8350(example).

For something like encoding, which have almost perfect scaling over multiple cores, the piledriver is generally stronger than the 4670k and weaker than the 4770k.

 

My recommendation (Can change depending if you provide more information on usage):

E3 1230v3 > 4570 = 8350

I disagree on the 4670k being better for streaming than the 8350... but everything else is pretty on point...

If you want price/performance through daily tasks/gaming/Adobe suite, 4670k is the better choice... especially with a decent 4.5GHz overclock, just note that Z87 chipset, while loaded with features, is expensive for a mobo with strong VRMs...

The 8350 excels at all the applications the i7/Xeon does (encoding, virtualization, streaming etc), it just isn't as fast...  this is where you hear the general "singlethreading vs multithreading" argument... however, with the Xeon/i7 you also get the single-threaded performace through daily tasks...

Windows and several other "multi-threaded" applications can also use thread stashing or thread triggers... where a task sits dormant in the line of processes waiting for the trigger to process... in programs like these, you will notice a significant performance increase on Intel...

Most of the time, in real life, it isn't that noticeable unless you've worked with a lot of hardware... Intel in general is snappier... AMD is fast enough and cheaper... this goes back to "What are you using it for and what's your budget?"

In general, it's a lot easier to work in an 8350 and strong GPU into a build then it is to throw in a 4770k/mid-tier Z87 board/strong GPU... for this reason, a lot of people around here prefer the price/performance of the 8350...

If you're not overclocking... the Xeon/H87 or B85 chipset isn't much more than the 8350/AM3+ chipset, and is a strong recommendation for most people that have use for it...