For anyone who is looking for more detailed explanation: HT is a technology to utilize empty bubles on pipeline. On a pipelined processor instruction goes through multiple hardware pipeline stages to get executed. Not every instructions use every stage of pipelines, which creates unused pipeline stage bubles on execution (parts of core hardware). HT rearranges code instructions on software level to execute another instruction which uses the empty pipeline stages but not the ones already utilised back to back. So for CPU performs fuller by utilizing all the pipeline stages. Since you can’t execute the next instruction of the same thread most of the time, you can effectively only utilize another thread. That’s why you will see CPU exposing itself as a multicore processor to the operating system, which by the way requirea OS to support such technology. Performance gain by this optimisation is generally %10-30, depending on pipeline bubles on the executed code at the time. Those threads would run nearly simultaneously on the instruction level, together but slightly shifted on pipeline level. The extra core you see is just scavenging of the non utilized hardware parts of the physical core.
For a deeper explanation, each single instruction utilizes specific CPU registers per clock cycle, while other registers go unused. These registers perform tasks and output info to subsequent registers for further logical operations and outputs. That is basically the instruction pipeline within CPUs. What the CPU, BIOS, and operating system does, is allow for the insertion of code for multiple instructions into a single instruction, which will therefore use more CPU registers. The output is then a single 64-bit instruction (for x64), but the OS will separate the secondary instruction from that single instruction. So, for an 8 bit CPU, instead of, for example, two instructions of 11110000 and 10110000. You can have 11111011 (1111 + 1011) as one instruction. The system makes use of the unused bits in each 8-bit instruction to make space for an 8-bit amalgamation (combination). The system will then separate 11111011 into 1111 and 1011 for two separate instructions. The 1111000 code will progress through a pipeline unused by the 10110000 code in the 8-bit CPU, and vice versa. Therefore, there will be two instructions processed simultaneously, and two simultaneous outputs. Obviously, only the right combination of sequential instructions can be hyperthreaded, as there needs to be enough space to fit both instructions, and also, the CPU needs to be sure that the second instruction will follow a different pipeline. But even if at some point, the instruction pipelines merge, the second instruction will be further along its processing, when it gets the opportunity to merge into the other pipeline, than if it had to wait in line for the first instruction in a non hyperthreaded CPU. Anyway, I hope I explained it clearly. This should provide even further clarity on the process.
The best layman’s explanation I ever heard was: “Imagine you are in a hotdog eating contest. You have one mouth, that is your single core. Now, you have one hand tied behind your back. If you become hyper threaded, you’ll be able to use both arms again. Still just one mouth, but you can handle two instructions with your hands. Feel free to take that into the gutter if you want, I’m sure it will happen in record timing hahaha
This sounds like circular logic with all due respect to your likes. If I may parallel your example. Imagine you have one engine with two gas lines. Now imagine if one gas lines becomes blocked. Hyperthreading unblocks the gas line or does it create a third gas line? If it creates a third what ever happens to the blocked gas line? If the engine remains at two gas lines then why did one line get blocked and how does hyperthreading force the line back open again? That's where I am confused in your analogy.
@@toddvanmeter6815 I try to picture a cloak room as a core. If you have one person serving customers, a queue develops. If you have two people in one cloak room serving, you reduce the queue. Also, each person's request is independent of the others. If one person's request is blocking, the next person (via scheduler) can go to the other line. Also, if the owner of the cloak room teaches his/her workers to be smarter (from experience) - there may be preemptive efficiencies adopted to move the requests through faster (cache).
You are changing lives dude! Idk how you do it, but when you talk, it sticks and it's clear as daylight! KEEP IT UP! I appreciate your vids so freaking much man!!!!
this channel is so underrated. Simpel but great information, good animation and no screaming or 'funny stuff' in the animation. Well done guys! You should have a lot more likes and subscribes thumbs up
Glomo Absolutely! I felt the exact same way when I found this channel about 10 months ago. I then preceded to binge-watch 40+ videos over a few days lol 😂 The thing is, I've been an IT Consultant for over 16 years, and this channel & content is still educational for me. That's the best part; the content is well structured, well presented, and beneficial to those with experience AND without. Cheers! -H.B.
@@techotopo _cool story bro._ You are, without a doubt, the epidemy of the Dunning-Kruger effect. I suppose you 'just know' everything auto-magically, and pitty us mere mortals who still learn things. Or even worse, ENJOY knowledge. *fasepalm*
finally i am glad i got some techy who explains the hectic terms in much simpler words and with better presentation.THANK YOU so much for all your efforts.
Thank god. Your the only person who made me understand hyperthreading. Other people were explaining it WAY too fast. But you kept it simple and spoke clearly and calmly.
Oh man! You won't believe how very much I've learned on this Channel without a single video from this channel I had to watch as many videos i wish this will the biggest channel on RUclips 👍
I just saw a run cmd shirt for sale. I saw the same shirt for sale at microcenter. Here i thought these videos were made by one guy. Looks like this is the official channel of a major organization.
This would be my first comment on any video ever!..but your videos are too good not to be appreciated. Thank you for making complexity sound so simple both through your videos and through your voice.
You should have noted that hyper-threading doesn't directly translate to "two times" the physical CPU's performance without hyper threading. But other than that, it was a great video.
You are The one I was searching for last 2 years … @PowerCert Animated Videos Please make more videos on network connections and network traffic (incoming & outgoing) and also on CPU vs Memory usage and how it is calculated etc.
Excellent set of 48 videos. The 1thing left is making a video on different types of processors/cores like i3,i5,i7 + generations of processors like 5th Gen , 7th Gen , 10th Gen along with differences on both. Please make such a video so that our knowledge on basic computer stuff is complete.
thanks a lot whoever u are your channel helped me a lot to understand different confusion about different topics I am preparing for CompTIA A+ 202 -1001 I feel much more confident and its all thanks to your knowledge sharing I have a request that if you can further make more videos on Comtia A+ 202-1002 Windows server and CompTIA other certifications such as Network + and security. thanks best regards Muhammad Bilal
Enabling hyper-threading can diminish performance, depending on how you are using your computer. Here is why: With hyper-threading enabled, each virtual core has ½ of the capacity of the physical core (that was split into two virtual cores). So, if you are running a single application (that is not designed to run over multiple cores or multiple threads -- and there are countless applications like this), then that application will run at ½ speed, because it will be able to use only one core (and that one core is now a virtual core, which is ½ of the actual physical core). Just about any modern CPU has a minimum of 2 cores, and very likely 4 (or more) cores. These are real, physical cores. This means that your applications can consume 100% of a core's processing power, and the remaining cores will be yawning. So in this example, hyper-threading has no value. Unless you are running multiple applications, that specifically take advantage of all of your cores, then hyper-threading is unnecessary. In fact, enabling hyper-threading is giving your computer more overhead. Hyper-threading must, itself, be maintained, and uses resources. In the days of single-core CPUs, where a single application could tie up (or even lock up) your computers, then hyper-threading made sense (while one virtual core is fully busy, the other core is available to, for example, kill the run-away process that is hogging the system). For home users, I cannot think of an advantage to enabling hyper-threading. I see only performance hits. For a business, there are probably legitimate uses. But even in a server room, the business would likely split their processing load over multiple servers. Also note that with today's operating systems, it would be very difficult to bring your computer to its knees. Today's 64 bit operating systems, with (real physical) multi-core CPUs, are processing multiple threads, anyway. Cheers!
Even after spending a huge time researching for a good video I was not able to found any good explanation on this topic . Until I found yours video which is so simple yet so up to the point. Thanks a ton. God bless you .
Additionally, AMD's earlier FX series of processors (Bulldozer/Zambezi and Piledriver/Vishera architecture) use hybrid cores that each individually have an integer unit, but share a floating-point unit with another core. Windows sees the shared floating-point units, calling them "physical cores," and sees the individual integer cores, calling them "logical cores."
For a deeper explanation, each single instruction utilizes specific CPU registers per clock cycle, while other registers go unused. These registers perform tasks and output info to subsequent registers for further logical operations and outputs. That is basically the instruction pipeline within CPUs. What the CPU, BIOS, and operating system does, is allow for the insertion of code for multiple instructions into a single instruction, which will therefore use more CPU registers. The output is then a single 64-bit instruction (for x64), but the OS will separate the secondary instruction from that single instruction. So, for an 8 bit CPU, instead of, for example, two instructions of 11110000 and 10110000. You can have 11111011 (1111 + 1011) as one instruction. The system makes use of the unused bits in each 8-bit instruction to make space for an 8-bit amalgamation (combination). The system will then separate 11111011 into 1111 and 1011 for two separate instructions. The 1111000 code will progress through a pipeline unused by the 10110000 code in the 8-bit CPU, and vice versa. Therefore, there will be two instructions processed simultaneously, and two simultaneous outputs. Obviously, only the right combination of sequential instructions can be hyperthreaded, as there needs to be enough space to fit both instructions, and also, the CPU needs to be sure that the second instruction will follow a different pipeline. But even if at some point, the instruction pipelines merge, the second instruction will be further along its processing, when it gets the opportunity to merge into the other pipeline, than if it had to wait in line for the first instruction in a non hyperthreaded CPU. Anyway, I hope this provides sufficient clarity on how this works, at a deeper level.
@referral madness not really since it used different instruction set compared to the main cpu, it was very similar to mmx and 3dnow on pentium and amd k6 chips respectively. The vector units on the ps2 emotion engine could count since vu0 could act as a Co-processor or a dedicated vector processor
Imagine you're a worker. You run very fast back and forth across an assembly line and you need to fill up a bag. This bag contains instructions. There is another worker who is the same as you but has two bags and loads them both up before moving. Sure, that worker is slowed down but overall it is more efficient in some scenarios, scenarios that matter anyway....
@referral madness He should just have reinforced the aspect that i criticized, as an educative video he needs to be carefull about it to not give the wrong impression afterall an enourmous amount of "noobs" will learn from it.
@@MarceloTezza Okay, "expert". Why not you help us all here by explaining it a bit. Not everyone watches this video is enrolling in electronic engineering courses. Simple explanation like this helps us "noobs" understand a bit about computers we are buying.
@@MarceloTezza "Hyper threading is the act of taking a core and hyper threading it so it's now hyper threaded" then repeated 40 times. "Don't forget, when you take 1 core and hyper thread it, you now have 2 so your OS sees 2 logical cores since it's been *magically* hyperthreaded". What a waste of 4 minutes.
@@Sgtcanadian The code needs to be multi threaded to begin with, thats the whole point of my comment hyper thread alone will not make code hyperthreaded nor transform a single threaded code in a higher performing one.
"Lighter applications such as loading a web page, you're not gonne see much of an advantage of having a hyperthreaded cpu" Google Chrome: Hold my beer, im about to end this man whole career.
@referral madness No it is not, SMT is a way for a CPU to more efficiently schedule and execute instructions from multiple threads. SSE is where a single instruction operates on a large amount of data. SMT can allow you to run many instructions from various threads while the CPU is waiting to execute the SSE.
@referral madness SSE = Streaming SIMD Extensions aka Streaming Single Instruction Multiple Data Extensions. I am not a programmer and do not know how much SSE there is in any given game or any software, nor how often it is used.
You don't need individual applications to demand it for you to benefit. Long before HT or multicore existed existed there was contention from multiple processes simultaneously demanding constrained resources. Advances in process scheduling was necessary to give the impression of simultaneous multi-tasking
hyperthreading only works when there is enough headroom left over for virtual cores to be used. if your cpu's are maxing out at 100% hyperthreading will not be utilized because there is no headroom left over.
weird I didn't find this very helpful. It's the basics, but I need to know how it works to determin if the processor has any advantages when HT is disabled.
Benni3D explained it way better than the video and quicker. Every 5 seconds the video was repeating him repeating himself about the same thing he just said
Well Ra Mand... I gotta tell ya, I found this VERY helpful tho. You see, I'm no top notch computer builder nerd guy, but after 20 years of tinkering with computers, this kinda stuff does turn me on (even tho I dont know where I'll apply this knowledge at yet) LOL - Its just good to know
It depends on your use case. Hyperthreading means two threads are sent through a single pipeline. Having more than one thread is advantageous in itself, if the program allows, but Hyperthreading is most advantageous if: 1. If there are unused resources in the execution core. 2. If the pipeline is not running at full IPC (instructions per clock). One instruction per clock being the highest current architectures can handle. 3. If the software has a second thread available. So if the program that you want to run, runs your CPU at 0.5 IPC, half of your execution core is idle and a second independent thread exists, then Hyperthreading makes most sense. Games, typically, do not fall in that category.
yeah, i thought there had to be a catch22 there... making the same core process two or more threads can't just magically mean performance is always better and you can keep adding more and more processes. there's a limit, and i figure resource-intensive applications [like games] would be it. the other gotcha is programs designed to be multi-threaded don't work well on processors that aren't, or can't run so many threads. minecraft finally became basically unplayable on my desktop because of that. i really wish devs would better consider when and if to use these fancy innovations and maybe work within limits like the old school developers did. just like pushing hardware acceleration, trying to make it mandatory. bad shaders can cause considerably worse issues than slow software rendering, which just slows/hangs the process usually. [besides it's absolutely a myth that even a 3D rendering system strictly requires them to have any performance.]
Hi PowerCert Animated Videos, Thank you for your explanation in this video. Now I'm getting clear with hyper threading meaning. I really want you to explain about what is core and thread in the processor. I hope you will take sometime to create another video with this request. I would appreciate that. I love your channel. Thank you!
For anyone who is looking for more detailed explanation: HT is a technology to utilize empty bubles on pipeline. On a pipelined processor instruction goes through multiple hardware pipeline stages to get executed. Not every instructions use every stage of pipelines, which creates unused pipeline stage bubles on execution (parts of core hardware). HT rearranges code instructions on software level to execute another instruction which uses the empty pipeline stages but not the ones already utilised back to back. So for CPU performs fuller by utilizing all the pipeline stages. Since you can’t execute the next instruction of the same thread most of the time, you can effectively only utilize another thread. That’s why you will see CPU exposing itself as a multicore processor to the operating system, which by the way requirea OS to support such technology. Performance gain by this optimisation is generally %10-30, depending on pipeline bubles on the executed code at the time. Those threads would run nearly simultaneously on the instruction level, together but slightly shifted on pipeline level. The extra core you see is just scavenging of the non utilized hardware parts of the physical core.
nice explanation. was wondering how 1 core can work on 2 tasks simultaneously.
this was exacly what i was looking for. thanks
For a deeper explanation, each single instruction utilizes specific CPU registers per clock cycle, while other registers go unused. These registers perform tasks and output info to subsequent registers for further logical operations and outputs. That is basically the instruction pipeline within CPUs. What the CPU, BIOS, and operating system does, is allow for the insertion of code for multiple instructions into a single instruction, which will therefore use more CPU registers. The output is then a single 64-bit instruction (for x64), but the OS will separate the secondary instruction from that single instruction. So, for an 8 bit CPU, instead of, for example, two instructions of 11110000 and 10110000. You can have 11111011 (1111 + 1011) as one instruction. The system makes use of the unused bits in each 8-bit instruction to make space for an 8-bit amalgamation (combination). The system will then separate 11111011 into 1111 and 1011 for two separate instructions. The 1111000 code will progress through a pipeline unused by the 10110000 code in the 8-bit CPU, and vice versa. Therefore, there will be two instructions processed simultaneously, and two simultaneous outputs. Obviously, only the right combination of sequential instructions can be hyperthreaded, as there needs to be enough space to fit both instructions, and also, the CPU needs to be sure that the second instruction will follow a different pipeline. But even if at some point, the instruction pipelines merge, the second instruction will be further along its processing, when it gets the opportunity to merge into the other pipeline, than if it had to wait in line for the first instruction in a non hyperthreaded CPU. Anyway, I hope I explained it clearly. This should provide even further clarity on the process.
@@thatfirstoneonly 1 month ago but a perfect response, thank you
@@thatfirstone But are there any drawbacks on enabling Hyper Threading on BIOS? Intel will be ending it soon, so that's why I was wondering.
The OS magnifying glass bit was genius. I love it, you rock!
Thanks. That was the most time consuming part to make.
The best layman’s explanation I ever heard was:
“Imagine you are in a hotdog eating contest. You have one mouth, that is your single core. Now, you have one hand tied behind your back. If you become hyper threaded, you’ll be able to use both arms again. Still just one mouth, but you can handle two instructions with your hands.
Feel free to take that into the gutter if you want, I’m sure it will happen in record timing hahaha
That is really helpful! Thank you:)
This sounds like circular logic with all due respect to your likes. If I may parallel your example. Imagine you have one engine with two gas lines. Now imagine if one gas lines becomes blocked. Hyperthreading unblocks the gas line or does it create a third gas line? If it creates a third what ever happens to the blocked gas line? If the engine remains at two gas lines then why did one line get blocked and how does hyperthreading force the line back open again? That's where I am confused in your analogy.
that was told by linus!
@@toddvanmeter6815 I try to picture a cloak room as a core. If you have one person serving customers, a queue develops. If you have two people in one cloak room serving, you reduce the queue. Also, each person's request is independent of the others. If one person's request is blocking, the next person (via scheduler) can go to the other line. Also, if the owner of the cloak room teaches his/her workers to be smarter (from experience) - there may be preemptive efficiencies adopted to move the requests through faster (cache).
beautifully explained.
I've ordered on eBay a pentium 4 processor with hyper-threading technology. This video really made things simple for me. Thank you so much!!
You are changing lives dude! Idk how you do it, but when you talk, it sticks and it's clear as daylight! KEEP IT UP! I appreciate your vids so freaking much man!!!!
this channel is so underrated.
Simpel but great information, good animation and no screaming or 'funny stuff' in the animation.
Well done guys! You should have a lot more likes and subscribes
thumbs up
I've found a gold mine channel!
Glomo I agree, incredibly thankful for this channel. I’m learning a shitload.
Glomo Absolutely! I felt the exact same way when I found this channel about 10 months ago. I then preceded to binge-watch 40+ videos over a few days lol 😂
The thing is, I've been an IT Consultant for over 16 years, and this channel & content is still educational for me. That's the best part; the content is well structured, well presented, and beneficial to those with experience AND without.
Cheers!
-H.B.
I thought that its a new generation sewing machine.
@@humanbeing_ this stuff is very very basic and superficial, it's actually sad that it can be educational for someone with 16 years of exp
@@techotopo _cool story bro._ You are, without a doubt, the epidemy of the Dunning-Kruger effect. I suppose you 'just know' everything auto-magically, and pitty us mere mortals who still learn things. Or even worse, ENJOY knowledge. *fasepalm*
You have the best videos I have not found a person that can compare to your videos, We need teachers like you.
The video explains what hyper-threading is perfectly. This channel is worth its weight in gold!!!
finally i am glad i got some techy who explains the hectic terms in much simpler words and with better presentation.THANK YOU so much for all your efforts.
Thank god. Your the only person who made me understand hyperthreading. Other people were explaining it WAY too fast. But you kept it simple and spoke clearly and calmly.
Oh man! You won't believe how very much I've learned on this Channel without a single video from this channel I had to watch as many videos i wish this will the biggest channel on RUclips 👍
Am so lucky to land on this channel !!! Holy cow how is the knowledge even free ??
CompTIA is a non-profit trade association.
@Poff Nada Dick.
@Poff Nada Smooth Brain
I haven't turned off adblocker to support someone in a while. this is a great channel
Crystal clear educative video on CPU core. Many thanks.
I appreciate your videos and the way there presented so precisely man, i passed my 901 because of you!
Thank you. Congrats on passing your exam!
simply gold -- this channel
I just saw a run cmd shirt for sale. I saw the same shirt for sale at microcenter. Here i thought these videos were made by one guy. Looks like this is the official channel of a major organization.
This would be my first comment on any video ever!..but your videos are too good not to be appreciated. Thank you for making complexity sound so simple both through your videos and through your voice.
Thank you :)
While in the task manager, 3:50 you can right click on the CPU graph and show all threads and their utilization percentage.
What a nice explanations of CPU features. Subscribed and thumbs ups for you. Thanks from Venezuela.
You should have noted that hyper-threading doesn't directly translate to "two times" the physical CPU's performance without hyper threading.
But other than that, it was a great video.
wow, the explanation and animations are impeccable
You are The one I was searching for last 2 years …
@PowerCert Animated Videos
Please make more videos on network connections and network traffic (incoming & outgoing) and also on CPU vs Memory usage and how it is calculated etc.
This is easily the best tech channel on youtube by my standards
Thank you
Thank you for the Video, Good Explained!
Thank you :)
This is the exact channel which I am looking for!! Best for learning core concepts!! Great job!! Keep posting!!
I love your vids man, currently self though computer engineering 17 yrs old. Just to learn new things and skills. Anyways thank you very much
what are you currently doing ?
This explanation was perfect and the visual representations really enhanced the material as well. Thanks so much.
You're explaining is best.
Very Nicely Explained
You have an excellent way of showing us how these work! Thank you!!!
Excellent set of 48 videos. The 1thing left is making a video on different types of processors/cores like i3,i5,i7 + generations of processors like 5th Gen , 7th Gen , 10th Gen along with differences on both. Please make such a video so that our knowledge on basic computer stuff is complete.
beautifully explained well, I always find this channel explainer video worth to watch.
Amazing channel I am studying for A + and your explanation style is better than any book I am reading to study. Thank you!! God Bless!!
Nobody can teach better than this way keep it up bro
Such a simple, crystal clear explanation ... thanks a lot for all your efforts and time ...
awesome explanation. the best IT tutor followed by Professor Messer
Your videos are just perfect. Keep posting!
God damn that's a good video. Subbed
I love your videos, so simple and easy to understand unlike others who talk ridiciously fast for anyone to understand what is being said.
Great explanation. Thanks 👍🏻
you are the best. Simple, direct and clear.
I love your videos, the way how you explain stuff in your videos makes it easy to understand
Thanks for the clear explanation.
Thanks for the vid - nice clean explanations -
I’ve watched several videos on CPUs, threads, cores, etc etc and I liked this one the best. I loved the graphics
Outstanding explanation again, thank you, like to hear more.
Every single time I see your video, I just have one word for you “awesome” !!! Plz keep up the good work!!!
Thanks :)
Your videos are great! They help me a lot! Thank you for your work!
Manuel Alvarez hey man how you doing remember me?
your explanation is great
This channels is brilliant. Informative content and clear explanation. Keep uploading more videos please
Absolutely brilliant!
Very informative.. thankyou for your videos, finaly! "somebody who knows how to explain things" well done sir! (subscribed)
Awesome clear and concise instructions as always, along with first class animations! Where were you when I was in school? Lol
Very good explanation, thank you a lot
thanks a lot whoever u are your channel helped me a lot to understand different confusion about different topics I am preparing for CompTIA A+ 202 -1001 I feel much more confident and its all thanks to your knowledge sharing I have a request that if you can further make more videos on Comtia A+ 202-1002 Windows server and CompTIA other certifications such as Network + and security. thanks best regards Muhammad Bilal
Enabling hyper-threading can diminish performance, depending on how you are using your computer.
Here is why:
With hyper-threading enabled, each virtual core has ½ of the capacity of the physical core (that was split into two virtual cores).
So, if you are running a single application (that is not designed to run over multiple cores or multiple threads -- and there are countless applications like this), then that application will run at ½ speed, because it will be able to use only one core (and that one core is now a virtual core, which is ½ of the actual physical core).
Just about any modern CPU has a minimum of 2 cores, and very likely 4 (or more) cores. These are real, physical cores.
This means that your applications can consume 100% of a core's processing power, and the remaining cores will be yawning. So in this example, hyper-threading has no value.
Unless you are running multiple applications, that specifically take advantage of all of your cores, then hyper-threading is unnecessary. In fact, enabling hyper-threading is giving your computer more overhead. Hyper-threading must, itself, be maintained, and uses resources.
In the days of single-core CPUs, where a single application could tie up (or even lock up) your computers, then hyper-threading made sense (while one virtual core is fully busy, the other core is available to, for example, kill the run-away process that is hogging the system).
For home users, I cannot think of an advantage to enabling hyper-threading. I see only performance hits.
For a business, there are probably legitimate uses. But even in a server room, the business would likely split their processing load over multiple servers.
Also note that with today's operating systems, it would be very difficult to bring your computer to its knees. Today's 64 bit operating systems, with (real physical) multi-core CPUs, are processing multiple threads, anyway.
Cheers!
What about Animation CGI VFX and 3D Gaming programming?
@@RiversBliss I do not know.
Even after spending a huge time researching for a good video I was not able to found any good explanation on this topic . Until I found yours video which is so simple yet so up to the point. Thanks a ton. God bless you .
Thanks :)
Excellent explanation
hyper threading is named by intel, the same technology is named SMT by amd.
Additionally, AMD's earlier FX series of processors (Bulldozer/Zambezi and Piledriver/Vishera architecture) use hybrid cores that each individually have an integer unit, but share a floating-point unit with another core. Windows sees the shared floating-point units, calling them "physical cores," and sees the individual integer cores, calling them "logical cores."
I like this presentation it is very easy to understand every single word u say. Clear explaination, keep it up brother !
You are the best explainer.
This is my favourite channel at the moment. even better I have i7 4790, si i can say it is close to the i7 4790k used as example.
Thank you very much you are videos very clearly thank you so much
For a deeper explanation, each single instruction utilizes specific CPU registers per clock cycle, while other registers go unused. These registers perform tasks and output info to subsequent registers for further logical operations and outputs. That is basically the instruction pipeline within CPUs. What the CPU, BIOS, and operating system does, is allow for the insertion of code for multiple instructions into a single instruction, which will therefore use more CPU registers. The output is then a single 64-bit instruction (for x64), but the OS will separate the secondary instruction from that single instruction. So, for an 8 bit CPU, instead of, for example, two instructions of 11110000 and 10110000. You can have 11111011 (1111 + 1011) as one instruction. The system makes use of the unused bits in each 8-bit instruction to make space for an 8-bit amalgamation (combination). The system will then separate 11111011 into 1111 and 1011 for two separate instructions. The 1111000 code will progress through a pipeline unused by the 10110000 code in the 8-bit CPU, and vice versa. Therefore, there will be two instructions processed simultaneously, and two simultaneous outputs. Obviously, only the right combination of sequential instructions can be hyperthreaded, as there needs to be enough space to fit both instructions, and also, the CPU needs to be sure that the second instruction will follow a different pipeline. But even if at some point, the instruction pipelines merge, the second instruction will be further along its processing, when it gets the opportunity to merge into the other pipeline, than if it had to wait in line for the first instruction in a non hyperthreaded CPU. Anyway, I hope this provides sufficient clarity on how this works, at a deeper level.
Hyperthreading came before dual core CPU so it's slightly historically inaccurate. HT was introduced in Pentium 4 single core processors.
did you watch after 3:20 ?
@referral madness not really since it used different instruction set compared to the main cpu, it was very similar to mmx and 3dnow on pentium and amd k6 chips respectively. The vector units on the ps2 emotion engine could count since vu0 could act as a Co-processor or a dedicated vector processor
Excellent content.
YOur videos are life saver don't stop making ; please make more videos on networking topics and all
I love this channel! Please don't stop making great educational videos..Is the best out there hands down....
Cheers!
explanation perfect thank you
Great explanation
it really helped a lot :)
Perfect Explanation. Thank you so much
Imagine you're a worker. You run very fast back and forth across an assembly line and you need to fill up a bag. This bag contains instructions. There is another worker who is the same as you but has two bags and loads them both up before moving. Sure, that worker is slowed down but overall it is more efficient in some scenarios, scenarios that matter anyway....
MUY BUENA EXPLICACION,THANK.
Thank you brother for such a wonderful explanation.
I think that was way too simplistic, and gave visually somewhat the ideia that the CPU core is able to divide 1 thread in 2 threads...
@referral madness He should just have reinforced the aspect that i criticized, as an educative video he needs to be carefull about it to not give the wrong impression afterall an enourmous amount of "noobs" will learn from it.
@@MarceloTezza Okay, "expert". Why not you help us all here by explaining it a bit. Not everyone watches this video is enrolling in electronic engineering courses. Simple explanation like this helps us "noobs" understand a bit about computers we are buying.
@@aizat27 Just read what i wrote, its enough...
Noob.
@@MarceloTezza "Hyper threading is the act of taking a core and hyper threading it so it's now hyper threaded" then repeated 40 times. "Don't forget, when you take 1 core and hyper thread it, you now have 2 so your OS sees 2 logical cores since it's been *magically* hyperthreaded".
What a waste of 4 minutes.
@@Sgtcanadian The code needs to be multi threaded to begin with, thats the whole point of my comment hyper thread alone will not make code hyperthreaded nor transform a single threaded code in a higher performing one.
Wonderful. Please do a video on Turbo Boost.
Super Explaination...
You are Amazing man ! Thanx !
"Lighter applications such as loading a web page, you're not gonne see much of an advantage of having a hyperthreaded cpu"
Google Chrome: Hold my beer, im about to end this man whole career.
The technology itself is technically called Simultaneous Multithreading. Hyperthreading is just Intel's name for it.
@referral madness No it is not, SMT is a way for a CPU to more efficiently schedule and execute instructions from multiple threads. SSE is where a single instruction operates on a large amount of data. SMT can allow you to run many instructions from various threads while the CPU is waiting to execute the SSE.
@referral madness SSE = Streaming SIMD Extensions aka Streaming Single Instruction Multiple Data Extensions. I am not a programmer and do not know how much SSE there is in any given game or any software, nor how often it is used.
Ultimate explaination
I really love this channel ❤️❤️❤️❤️❤️❤️
Thank you sir ❤️ we Learn a lot
Really intersting buddy
dude you're amazing
U r the best 👍💯....
You don't need individual applications to demand it for you to benefit. Long before HT or multicore existed existed there was contention from multiple processes simultaneously demanding constrained resources. Advances in process scheduling was necessary to give the impression of simultaneous multi-tasking
Thanks for this awesome video.
THANKS FOR TRYING HERE
hyperthreading only works when there is enough headroom left over for virtual cores to be used. if your cpu's are maxing out at 100% hyperthreading will not be utilized because there is no headroom left over.
exactly!
Thank you for the info video. 📹👍
Nicely explained thanks brah
weird I didn't find this very helpful. It's the basics, but I need to know how it works to determin if the processor has any advantages when HT is disabled.
Benni3D explained it way better than the video and quicker. Every 5 seconds the video was repeating him repeating himself about the same thing he just said
Well Ra Mand... I gotta tell ya, I found this VERY helpful tho.
You see, I'm no top notch computer builder nerd guy, but after 20 years of tinkering with computers, this kinda stuff does turn me on (even tho I dont know where I'll apply this knowledge at yet) LOL - Its just good to know
It depends on your use case. Hyperthreading means two threads are sent through a single pipeline.
Having more than one thread is advantageous in itself, if the program allows, but Hyperthreading is most advantageous if:
1. If there are unused resources in the execution core.
2. If the pipeline is not running at full IPC (instructions per clock). One instruction per clock being the highest current architectures can handle.
3. If the software has a second thread available.
So if the program that you want to run, runs your CPU at 0.5 IPC, half of your execution core is idle and a second independent thread exists, then Hyperthreading makes most sense.
Games, typically, do not fall in that category.
yeah, i thought there had to be a catch22 there...
making the same core process two or more threads can't just magically mean performance is always better and you can keep adding more and more processes. there's a limit, and i figure resource-intensive applications [like games] would be it.
the other gotcha is programs designed to be multi-threaded don't work well on processors that aren't, or can't run so many threads. minecraft finally became basically unplayable on my desktop because of that.
i really wish devs would better consider when and if to use these fancy innovations and maybe work within limits like the old school developers did. just like pushing hardware acceleration, trying to make it mandatory. bad shaders can cause considerably worse issues than slow software rendering, which just slows/hangs the process usually. [besides it's absolutely a myth that even a 3D rendering system strictly requires them to have any performance.]
Because this guy is saying bullshit:) he knows nothing about hyperthreading
Please do SMT or simultaneous multi threading!
Well done
Wow. I’m learning so much from your videos and it’s clicking, u like other instructors. ❤️
Hi PowerCert Animated Videos, Thank you for your explanation in this video. Now I'm getting clear with hyper threading meaning. I really want you to explain about what is core and thread in the processor. I hope you will take sometime to create another video with this request. I would appreciate that. I love your channel. Thank you!
nice one