{"video_id":"aFJNK_j9glI","title":"A CPU With One HUGE Core","channel":"Techquickie","show":"Techquickie","published_at":"2023-05-05T14:58:16Z","duration_s":294,"segments":[{"start_s":0.0,"end_s":5.18,"text":"Cores, cores, cores. Whether you're an Intel fan or an AMD diehard,","speaker":null,"is_sponsor":0},{"start_s":5.18,"end_s":8.28,"text":"both of the big PC chip makers are trying to sell you","speaker":null,"is_sponsor":0},{"start_s":8.28,"end_s":11.36,"text":"on the idea that you need as many cores as possible.","speaker":null,"is_sponsor":0},{"start_s":11.36,"end_s":14.92,"text":"But wait a second, why can't we just have CPUs","speaker":null,"is_sponsor":0},{"start_s":14.92,"end_s":18.48,"text":"that have one lone super powerful core?","speaker":null,"is_sponsor":0},{"start_s":18.48,"end_s":22.04,"text":"Wouldn't that be a lot more straightforward? I mean, think about it.","speaker":null,"is_sponsor":0},{"start_s":22.04,"end_s":27.88,"text":"Those old school parallel ports that we used to use for printers carried lots of data streams at once,","speaker":null,"is_sponsor":0},{"start_s":27.96,"end_s":34.2,"text":"but they were actually very slow. Meanwhile, USB ports only handle one data stream","speaker":null,"is_sponsor":0},{"start_s":34.2,"end_s":39.6,"text":"at a time, but they're very fast. Couldn't we just apply that same idea to CPUs?","speaker":null,"is_sponsor":0},{"start_s":39.6,"end_s":44.56,"text":"To answer, we spoke with Eric Jihon, Intel's CPU SOC architecture lead,","speaker":null,"is_sponsor":0},{"start_s":44.56,"end_s":49.72,"text":"and we'd like to thank him along with Thomas Hannaford and Ben Benson for helping us out with this episode.","speaker":null,"is_sponsor":0},{"start_s":49.72,"end_s":53.32,"text":"As it turns out, a single core is certainly capable","speaker":null,"is_sponsor":0},{"start_s":53.32,"end_s":57.32,"text":"of juggling multiple programs at one time. This is done by scheduling,","speaker":null,"is_sponsor":0},{"start_s":57.32,"end_s":61.76,"text":"where each clock cycle of the CPU, and there are billions of those per second,","speaker":null,"is_sponsor":0},{"start_s":61.76,"end_s":66.84,"text":"is assigned to execute instructions from a certain program or multiple programs.","speaker":null,"is_sponsor":0},{"start_s":66.84,"end_s":72.76,"text":"Scheduling can be done by the operating system, or more optimally, it can be handled by the CPU's hardware.","speaker":null,"is_sponsor":0},{"start_s":72.76,"end_s":76.12,"text":"For example, simultaneous multi-threading or SMT","speaker":null,"is_sponsor":0},{"start_s":76.12,"end_s":81.0,"text":"has been with us since the early 2000s and actually makes your operating system see","speaker":null,"is_sponsor":0},{"start_s":81.0,"end_s":84.76,"text":"one physical core as two logical cores.","speaker":null,"is_sponsor":0},{"start_s":84.8,"end_s":88.16,"text":"With SMT then, the operating system will always make sure","speaker":null,"is_sponsor":0},{"start_s":88.16,"end_s":91.44,"text":"that each physical core has two instruction threads","speaker":null,"is_sponsor":0},{"start_s":91.44,"end_s":96.96,"text":"to work on so that if a single thread stalls, because the CPU has to wait for additional data,","speaker":null,"is_sponsor":0},{"start_s":96.96,"end_s":100.6,"text":"the CPU core can still work on the other thread.","speaker":null,"is_sponsor":0},{"start_s":100.6,"end_s":105.52,"text":"But even with SMT, scheduling still has inefficiencies.","speaker":null,"is_sponsor":0},{"start_s":105.52,"end_s":109.44,"text":"Each core can still handle only so many instructions per clock cycle,","speaker":null,"is_sponsor":0},{"start_s":109.44,"end_s":113.24,"text":"and if you're trying to run a ton of programs or processes,","speaker":null,"is_sponsor":0},{"start_s":113.24,"end_s":120.08,"text":"the whole scheduling paradigm can become overwhelmed, meaning that adding a second or third or fourth core","speaker":null,"is_sponsor":0},{"start_s":120.08,"end_s":125.76,"text":"can help remove the reliance on the scheduler and allow the CPU to actually do more work.","speaker":null,"is_sponsor":0},{"start_s":125.76,"end_s":129.28,"text":"But the fact that scheduling is an imperfect solution","speaker":null,"is_sponsor":0},{"start_s":129.28,"end_s":132.72,"text":"isn't the only reason that we can't just have one big core.","speaker":null,"is_sponsor":0},{"start_s":132.72,"end_s":136.24,"text":"You also have to think about how much CPUs cost.","speaker":null,"is_sponsor":1},{"start_s":136.24,"end_s":139.24,"text":"Higher end chips are already expensive enough,","speaker":null,"is_sponsor":1},{"start_s":139.24,"end_s":143.36,"text":"but if you tried to consolidate a modern, say, eight core chip","speaker":null,"is_sponsor":1},{"start_s":143.36,"end_s":147.64,"text":"into one big core, the price tag would be even higher.","speaker":null,"is_sponsor":1},{"start_s":147.64,"end_s":154.0,"text":"You see, in modern CPU fabrication, if you have one core that's bad due to a manufacturing defect,","speaker":null,"is_sponsor":1},{"start_s":154.0,"end_s":160.08,"text":"you can just disable it at the factory and then sell that chip as a model with fewer cores.","speaker":null,"is_sponsor":1},{"start_s":160.08,"end_s":163.44,"text":"But if you had one massive core and it was defective,","speaker":null,"is_sponsor":1},{"start_s":163.44,"end_s":169.6,"text":"you'd have to throw the whole thing away, meaning more waste and higher costs for the consumer.","speaker":null,"is_sponsor":1},{"start_s":169.6,"end_s":172.96,"text":"There's also the consideration of how you link up a CPU","speaker":null,"is_sponsor":0},{"start_s":172.96,"end_s":176.64,"text":"to the rest of your PC. A multi-core CPU is set up","speaker":null,"is_sponsor":0},{"start_s":176.64,"end_s":180.04,"text":"so that each core has its own connection or fabric.","speaker":null,"is_sponsor":0},{"start_s":180.04,"end_s":184.68,"text":"That gives it access to memory. As you make these fabrics wider and faster,","speaker":null,"is_sponsor":0},{"start_s":184.68,"end_s":189.24,"text":"it becomes more and more difficult to make a fabric that has the same signal integrity","speaker":null,"is_sponsor":0},{"start_s":189.24,"end_s":192.28,"text":"as the smaller ones that were designed for multi-core chips.","speaker":null,"is_sponsor":0},{"start_s":192.28,"end_s":196.12,"text":"But beyond all of these concerns regarding the CPU itself,","speaker":null,"is_sponsor":0},{"start_s":196.12,"end_s":200.44,"text":"the way we use computers these days really tilts the equation in favor","speaker":null,"is_sponsor":0},{"start_s":200.44,"end_s":206.72,"text":"of having multi-core processors. Although back in the days of Windows 95 and even XP,","speaker":null,"is_sponsor":0},{"start_s":206.72,"end_s":211.8,"text":"you could get away with a single core CPU. Modern versions of Windows are often running","speaker":null,"is_sponsor":0},{"start_s":211.8,"end_s":215.92,"text":"hundreds of processes and thousands of threads at once.","speaker":null,"is_sponsor":0},{"start_s":215.92,"end_s":219.08,"text":"And because PCs are such general-purpose machines","speaker":null,"is_sponsor":0},{"start_s":219.08,"end_s":224.56,"text":"that need to be able to adapt to a wide variety of workloads, it's better to have multiple cores","speaker":null,"is_sponsor":0},{"start_s":224.56,"end_s":228.88,"text":"rather than just hoping that your applications will be optimized enough to take advantage","speaker":null,"is_sponsor":0},{"start_s":228.88,"end_s":233.24,"text":"of one big single core, especially as it's becoming more and more common","speaker":null,"is_sponsor":0},{"start_s":233.24,"end_s":238.72,"text":"for programs and even games to actually be able to take advantage of more than one core.","speaker":null,"is_sponsor":0},{"start_s":238.72,"end_s":241.96,"text":"But there's one alternative that we didn't really talk about.","speaker":null,"is_sponsor":0},{"start_s":241.96,"end_s":245.24,"text":"If you want one huge core, you could just forget about CPUs","speaker":null,"is_sponsor":0},{"start_s":245.24,"end_s":249.68,"text":"and go cut open an avocado. That would solve your problem.","speaker":null,"is_sponsor":0},{"start_s":249.68,"end_s":254.48,"text":"And you wouldn't be hungry anymore. Thanks for watching. Leave a like or a dislike depending how you felt.","speaker":null,"is_sponsor":0},{"start_s":254.48,"end_s":259.08,"text":"Check out our other videos and leave a comment if you have a suggestion for a future fast as possible.","speaker":null,"is_sponsor":0}],"full_text":"Cores, cores, cores. Whether you're an Intel fan or an AMD diehard, both of the big PC chip makers are trying to sell you on the idea that you need as many cores as possible. But wait a second, why can't we just have CPUs that have one lone super powerful core? Wouldn't that be a lot more straightforward? I mean, think about it. Those old school parallel ports that we used to use for printers carried lots of data streams at once, but they were actually very slow. Meanwhile, USB ports only handle one data stream at a time, but they're very fast. Couldn't we just apply that same idea to CPUs? To answer, we spoke with Eric Jihon, Intel's CPU SOC architecture lead, and we'd like to thank him along with Thomas Hannaford and Ben Benson for helping us out with this episode. As it turns out, a single core is certainly capable of juggling multiple programs at one time. This is done by scheduling, where each clock cycle of the CPU, and there are billions of those per second, is assigned to execute instructions from a certain program or multiple programs. Scheduling can be done by the operating system, or more optimally, it can be handled by the CPU's hardware. For example, simultaneous multi-threading or SMT has been with us since the early 2000s and actually makes your operating system see one physical core as two logical cores. With SMT then, the operating system will always make sure that each physical core has two instruction threads to work on so that if a single thread stalls, because the CPU has to wait for additional data, the CPU core can still work on the other thread. But even with SMT, scheduling still has inefficiencies. Each core can still handle only so many instructions per clock cycle, and if you're trying to run a ton of programs or processes, the whole scheduling paradigm can become overwhelmed, meaning that adding a second or third or fourth core can help remove the reliance on the scheduler and allow the CPU to actually do more work. But the fact that scheduling is an imperfect solution isn't the only reason that we can't just have one big core. You also have to think about how much CPUs cost. Higher end chips are already expensive enough, but if you tried to consolidate a modern, say, eight core chip into one big core, the price tag would be even higher. You see, in modern CPU fabrication, if you have one core that's bad due to a manufacturing defect, you can just disable it at the factory and then sell that chip as a model with fewer cores. But if you had one massive core and it was defective, you'd have to throw the whole thing away, meaning more waste and higher costs for the consumer. There's also the consideration of how you link up a CPU to the rest of your PC. A multi-core CPU is set up so that each core has its own connection or fabric. That gives it access to memory. As you make these fabrics wider and faster, it becomes more and more difficult to make a fabric that has the same signal integrity as the smaller ones that were designed for multi-core chips. But beyond all of these concerns regarding the CPU itself, the way we use computers these days really tilts the equation in favor of having multi-core processors. Although back in the days of Windows 95 and even XP, you could get away with a single core CPU. Modern versions of Windows are often running hundreds of processes and thousands of threads at once. And because PCs are such general-purpose machines that need to be able to adapt to a wide variety of workloads, it's better to have multiple cores rather than just hoping that your applications will be optimized enough to take advantage of one big single core, especially as it's becoming more and more common for programs and even games to actually be able to take advantage of more than one core. But there's one alternative that we didn't really talk about. If you want one huge core, you could just forget about CPUs and go cut open an avocado. That would solve your problem. And you wouldn't be hungry anymore. Thanks for watching. Leave a like or a dislike depending how you felt. Check out our other videos and leave a comment if you have a suggestion for a future fast as possible."}