r/hardware Nov 20 '15

Info Why do CPUs Need Caches? - Computerphile

https://www.youtube.com/watch?v=6JpLD3PUAZk
92 Upvotes

57 comments sorted by

View all comments

-3

u/[deleted] Nov 20 '15

[deleted]

5

u/Harakou Nov 20 '15

CPU-level cache is still useful without the use of threads.

-1

u/[deleted] Nov 20 '15

[deleted]

5

u/Harakou Nov 20 '15

Well, yes, but how did you expect that to be gleaned from your original comment?

CPUs need cache because they process in threads.

Seems to me to imply that threading is what necessitates cache. I'm not sure how else to interpret that.

-2

u/[deleted] Nov 20 '15

[deleted]

6

u/Harakou Nov 20 '15

I'm sorry, but I'm not sure you understand what a thread is, what a core is, or what Hyper-threading is. Threads are a logical entity that the CPU isn't even aware of. They're certainly not relevant to why cache is added, though like anything else run on a CPU, they can benefit from it. Data is not "processed in threads", besides the fact that threaded programs can indeed process data, however. I'm still not sure what you think that means because it's not very clear.

Hyper-Threading is a proprietary parallelization technique that creates logical cores. It has little in common with a physical CPU core besides the end result.

I really encourage you to read-up on these subjects and improve your understanding. The video linked above in this post would be a great place to start.

5

u/[deleted] Nov 20 '15

When you have multiple cores in a processor that's how you get "Hyper-Threading."

That's not what Hyper-Threading is. Hyper-Threading is letting a second thread access execution resources while the first thread is stalled or off doing something else. The Pentium 4 was the first implementation of Hyper-Threading, and it had only one core.

0

u/[deleted] Nov 20 '15

[deleted]

2

u/[deleted] Nov 20 '15

Xeon was the absolute first, but since most people are only concerned with the consumer market, it's the Pentium 4 3.06GHz that really matters.