Have an account?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Wednesday, February 23, 2011

Intel Hyper-Threading Technology - Deep Explanations

OK guys, this post will consume lots of my energy. If you really need to know detailed about what is Hyper-Threading is please continue to read. If you don't you will wasting lots of knowledge here, your time on reading and my time of explaining.

Okay now. what we know about Hyper-Threading is when Intel promotes up their Core i series which is the Core i3 , Core i5 and the high end Core i7. On each of them, they implemented a technology which is called Hyper-Threading. This technology allows us to use a single core processing 2 different/similar task on the same time.

So, with a single core hyper-threaded = You can scan viruses and listen to your favorite Mp3 without having decrease in performance.

That's what been used in the back years then. The Pentium 4 with HT Technology.

Have you recognized this logo? Yeah its attached to your old PC back then. Been years wondering what is it? Now you wont.

So starting in Intel Pentium 4, we have utilized the power of multitasking. That's the time we usually didn't know anything about Dual-core or Quad-core processor.

Info : Intel Pentium 4 - 1 core - Hyper-threading Enabled - 2 Threads

Say? Pentium is a model way before Core 2 series, Pentium Dual-core series and Pentium D series right? Therefore it should have the Hyper-threading right? Nope. Starting in those series I mention before, its the time we revolt to Multi-Core Technology.

[From Left-Up to Clockwise]
Info : Intel Pentium D - 2-Chip-Dies Processor - 2 Cores - 2 Threads
Info : Intel Pentium Dual-core - 1-Chip-Die Processor - 2 Cores - 2 Threads
Info : Intel Core 2 Duo - 1-Chip-Die Processor - 2 Cores - 2 Threads
Info : Intel Core 2 Quad - 2-Chip-Die Processor - 4 Cores - 4 Threads
Info : All stated above didn't include Hyper-Threading Technology.

Since Dual-core processor have succeeded well against Hyper-Threading, all model starting Pentium D to now does not have the Hyper-Threading.

But now, Intel new chips that arrived in 2009 until now were integrated again with the Hyper-Threading Technology. Why? Here some cool info.

Since Intel competing with all their rival such as AMD and IBM who also making processor. Intel know that if we upgrade the processor up to more than 4 cores which is 6 - 8 - 12 - 16 and so on will increase the heat generated from the processor.

Info : Higher heat = Faster Processor Aging = Lost in Performance in short term

So, to compete and raise the high level of multitasking, they re-integrate their Hyper-Threading into their latest Core i Series which currently most of people are using it now. Also most people were aware to it.

Why it so sudden people grabbing the Core i Series? Because their way of promoting stuff. Intel says that in Intel Core i7, people can use Quad-Core processor like Octa-Core in multitasking.

Info : Quad-Core = 4 cores
Info : Octa-Core = 8 cores

Yes. This is proven that the new Core i7 can do like 8-cores processor just using 4-cores. Then starting from this, people tend to miss figured  out the meaning. So rumors to rumors. In the mind of people in community, Core i7 is an 8-cores processor.

After again and again explaining, people get what its mean by Hyper-Threading. But not clearly well informed. They didn't know how did the Hyper-Threading works in the processor. So, to update yourself kindly watch the videos I include in.

So you've heard em from Intel itself. By applying Hyper-Threading Technology into Multi-Core Technology. We can use multiple of software in a time. Run games while downloading while converting while opening up documents and so on.

In real world... Did you use that kind of multitasking? Oh what playing games while opening up your assignment and document notes? I'm not. In fact, what I used to multitask is like this.

Info : While converting some videos, I listen up to my music, browse the internet while downloading something, also having my Adobe Photoshop running 24/7 as well.

How did you do in multitasking? Tell up at comments either in here or the Facebook Fan Page. I like to hear some of it as my data collection for future use.

Simply can't figure out what is multitasking is what about? I got a video nice and neat to explain you about real life implementation of multitasking.

Info : Multitask. Multi - Many; Task - Work = Many work done in a time.

Did it open your eyes out? Yeah I know this rather cool way to show people what is Hyper-Treading and Multitasking all about. Hahaha I hope this cleared out your point about Hyper-Threading.

You see? Pouring a coffee jug into a mug is a single task. Pouring a coffee jug into 2 mugs, One by One is multitasking. Which means, you do 2 or more jobs rather than 1.

So? Hyper-Threading is enhancing the multitasking way by changing the head of the coffee jug into 2 different way apart so it can pour into 2 mugs in a single time.

Since the animation above kinda giving up clear view about Hyper-Threading. I'll use it as my explanations after this.

Info : Jug = Core ; Mug = Task

Info : A single core doing a single task. By means, the data (water) inside the core ( jug ) were transferred by pouring the water out causing a threads (water streams) processed from core ( jug ) into the task ( mugs ) given.

Info : While 2 thread simultaneously working. A single core can transfer data 2 different way to 2 different task.

Info : Dual-core with no Hyper-Threading | and | a Single-core with Hyper-Transport will have 2 threads. That means the processor can work 2 different task on a single time like explanation before.

Info : They abilities to multitask is the same because they have 2 threads.

But what the different between them? Now we try to compare it.

Info : The difference can be compare if we have them in the same core clock speed. Like now, lets have it both 3.2GHz. With same size of Cache and other component's speed as well.

Info : 1st of all. There is 2-core vs 1-core. 1-core = 3.2GHz. So Dual-core have the advantage of clock speed. The higher the clock speed, the faster the task complete in a single time.

Info : When we do a task, the speed of processing the data is what we concern about. That is from the core processed to the task. In Dual-core, each threads will have 3.2GHz of speed to process data. While the Hyper-threading need to share the single-core speed that is 3.2GHz. With 2 threads, each will have 1.6GHz of speed processing data.

Yes, we get more deep meaning into this. Let say we have 1 water tap and 1 hose, and another tap have 2 hoses connected by a Y-Connector. Open up the tap and let the water flow out. If you compare, which one will providing us the water faster? The single hose? Or the twin-headed hose?

Info : Single hose will reach the end first because they have all the pressure for itself. But the twin-headed hose will take longer time than the single one since they shared the pressure for 2-parts rather than 1.

Info : In a core, we have resources and caches inside it. They provide the data inside the core. Resources is the part where the core do self-revision on what-to-do-with-this-task or simply work like 'a manual'. While cache is the place they put all the processed things into a place before giving to a task ( Ques up the data before transfer )

At this time, things got little more complicated. I'll try to help you guys to understand the meaning inside it. Lets begin.

Info: Resource space is larger Dual-core than Single-core. Alas, resources is integrated inside the core. So more cores do have more resources than single-core do.

To make things clearer. Let say that in a bar, 2 person order up some drinks. PersonA wants coffee ( brown ), while PersonB just wants water ( blue ). So in Dual-core, the Bartender can provide water and coffee on a different jugs. Then the Bartender simple pours out 2 of them into 2 mugs differently.

But not on single core with Hyper-Threading.The Bartender need to separate up the single jug into 2 parts, insert up coffee and water and pour out into 2 mugs.

This cause inefficiency because by referring to the above image we can actually imagine that pouring 2 type of water in a single jug, into 2 mugs will cause the water tend to mix up at the end.

Well, this is just explanations but it does happening on Hyper-Threading processor. But they fix the part when 'the water and the coffee mix up in both mugs' by transferring/filtering the needs. In this case, MugA need coffee and MugB need water, both mugs will transfer up by what ever the Bartender can do.

I don't clear up things here. That's not really happening in real life right? 2 headed jugs with 2 different type of drinks? No way right? Okay

But in processing data, DataA and DataB can put up together like a book. Simple put A and B data next to each other. When the data complete, they rearrange, and place DataA in TaskA ( MugA ) while DataB in TaskB ( MugB ).

I hope you get what I mean up there. Because the next is the part where all the difficult things happen. I'll try to make you understand this! No worry! I'll try my best!

Info : After resourcing, we cache the data. Which means, save in a temporary place called Cache Memory and send it when necessary.

When we see here, the Dual-core on left have 2 different places to Cache. Because they have 2-cores. So they can placed up data inside it without mixing it with the another.

But Hyper-Threading is not. They are Single-core. So they have single Cache. So they also need to share place to put up things before send it when necessary.

This can tends to mess up. Since cached data is not permanent. Old data will be discarded and replaced by new one. This is called Cache Trashing. It occurs when old data where cached is thrown away and deleted.

They do more work than they usually do. Because if the cache were full in usage, there are NEW DATA still need to saved/cached before sending, they'll kick and delete the old data. What if? The OLD DATA is still not been sent?

Then the processor need to re-process, checks up resources and make a new OLD DATA. If the cache still full? Then this process will loop and loop until they finally get the OLD DATA completely and discard the OLD DATA caches out.

This causing the processor need to work more, and more.

Info : More process/work = Generate more heat = Higher heat = Faster Processor Aging = Lost in Performace in short term [Remember this part ? Check above as I mention it before.]

While having this kind of heavy processing, laptop batteries will die out fast than they could ever withstand. But that's not really affecting much on a battery life as if the battery was good enough and well branded. If not? Then we got 'that' problem in our pockets.

So, in more detailed and clear. I'll try to make up summary on this. This will not long as I sure. Here goes the picture.

Info : Cases to be checked. When we comparing a True Dual-core design and a Dual-core with Hyper-Threading.
Info : Dual-core - 2-cores - 2 Threads
Info : Dual-core - 2-cores - Hyper-Threading Enabled - 4 Threads

Info : Dual-core | Quad-Core | With Hyper-Threading Enabled = Implemented in all Core i Series. [Core i3, Core i5 and Core i7.]

Dual-core with Hyper-Threading will give us power in multitasking. In this case Dual-core Hyper-Threaded processor will have 4 threads rather than pure or true Dual-core design that provide us just 2 threads which doesn't have the Hyper-Threading.

But the True Dual-Core processor will have less power consumption than the Dual-Core Hyper-Threaded processor. I just explain on it why they consume power more right? I hope you get that.

If you saying that I'm talking bottomless without source. You can check it by yourself at Wikipedia. Here's the link.
-- http://en.wikipedia.org/wiki/Hyper-threading#Drawback

Choices? Which one you need? You are the User. Think what you wanna do, and what you didn't do. They buy the necessary things.

One more thing I want to give a reminder. If you read and understand the part oh Cache Trashing. When there is Dual-core Hyper-Threaded, it doubles number the Cache Trashing to occur. Quad-core Hyper-Threaded? OH SHI-----

Info : Intel have that in Core i7 and Core i5. A Quad-core Hyper-Threading Processor. Giving you 8 Threads to multitask.

Info : Cases to be checked. When we comparing a true Quad-core design and a Dual-Core with Hyper-Threading.
Info : Quad-core - 4-cores - 4 Threads
Info : Dual-core - 2-cores - Hyper-Threading Enable - 4 Threads
Info : Both processor will giving 4 Threads power to multitask.

By this case, True Quad-core model will giving you the multitask you want. That is 4 Threads. Save your power usage and benefits your cash paying for it.

Instead of the Dual-core Hyper-Threaded, you still get 4 Thread multitask, but not fast as Quad-core.

So that's all the this that I need you to know! I hope this review will sprout some light above your minds about Intel Hyper-Threading Technology.

For someone who understand this more than me, kindly warn me if there is miss judged ideas about this. I'll try to fix it and re-post it again.

Please, if you find this contributing, kindly like / follow / this website. If you like give it to other, I'll be please. Share this to the public. Let the community know.

Photo of jugs, mugs in this post were originated from the video itself. I just 1-2-3-4 clicks and extract it. If someones wonder bout it...

1 comment:

  1. Kent Bong: tinggal last yg pasal jug air itu...
    tapi hyoer threading lagi cepat la
    berbanding dengan dual core...

    .X//aXis: Dual core vs Single core hyperthreading
    = Dual-core wins
    Dual core vs Dual core hyperthreading
    = Dual-core hyperthreading wins

    Kent Bong: but skrg intel i series semua Dual core kan...?

    .X//aXis: yep. Dual core and above

    Kent Bong: dgn hyper treading sekali

    .X//aXis: yes

    Kent Bong: macam itu ok la...
    but still cepat panas kan...?

    .X//aXis: yup
    too much work done in caching


Use Name/URL profile if you are not have any Blogger ID. With that, we can recognize you if you are the same person replying. Thanks in advance for commenting! We love it!