Two of the most common hardware specifications chipmakers disclose in the specification sheets of their processors are the number of cores and thread counts. Consumers also reference both to gauge the capabilities of a particular processor and compare across different alternatives. Even tech reviewers or vloggers and results of synthetic benchmark tests mention these two to assess the performance of processors. But what exactly is the difference between cores and threads and what is the significance of the number of cores and thread counts of a central processing unit or a graphics processing unit? This article discusses the difference between the two and explains how each defines the processing capabilities of a particular processor.
Cores vs Threads: Understanding the Difference Between Cores and Threads and the Significance of the Number of Cores and Thread Counts of Processors
Background
Researchers at Stanford University designed the first multicore processor in 1998. International Business Machines or IBM launched the Power4 processor in 2001. The design of this chip is based on the combination of two 64-bit microprocessors. It became the first commercial and general-purpose multicore microprocessor in the world.
The trend toward a multicore processor design expanded further. AMD launched the dual-core Athlon 64 X2 in 2005. It was the first native dual-core central processing unit and the first multicore central processing unit for the CISC-based x86 architecture. Intel responded to this with the introduction of dual-core Intel Pentium D.
Multithreaded processors first appeared in the 1950s. These were Honeywell, Bull Gamma 60, and Lincoln Labs TX-2. The first processor to feature simultaneous multithreading appeared in 1968. It was the ACS-360 from IBM. Multithreading became common across commercial and general-purpose microprocessors starting in the late 1990s.
Intel implemented the first desktop CPU with simultaneous multithreading in 2000 with the introduction of the Intel Pentium 4. A newer version was launched in 2002 that featured its hyperthreading technology. The dual-core AMD Athlon 64 X2 was also a multithreaded CPU. Each of its two cores could execute a single thread.
Nevertheless, following the earlier developments in processor design and architecture, almost all general-purpose processors, graphics processors, and other coprocessors in the consumer and enterprise markets now feature multicore and multithreaded designs. This has enabled the introduction of more complex computing requirements.
Specific artificial intelligence accelerators such as the Neural Engine from Apple or the Tensor Processing Unit from Google come in multiple cores. The CUDA, Tensor, and RT sets of cores of Nvidia graphics processors also demonstrate a multicore design. These graphics processors also bank on multithreading for better parallel computing.
Difference
The difference between a multicore design and a multithreaded design lies in the difference between multiprocessing and multithreading. The latter is when multiple cores in a processor work on different processes independently. Multithreading is when a single processor or a particular core works on multiple tasks simultaneously.
Furthermore, based on the definitions, it is also important to note the difference between cores and threads. A core is a hardware component. It is a physical and separate processing unit that reads and executes program instructions. A processor with multiple cores has multiple units that independently read and execute multiple instructions.
A thread is a software construct and a virtual unit that is created by an operating system. It handles a more specific task called a thread of execution. A thread of execution is the smallest sequence of programmed instructions or a particular task within a specific instruction or process. Multiple threads share the same resources of a single processor core.
Remember that a multicore and multithreaded design is not unique to central processing units. Modern graphics processing units also feature multiple cores and multithreading. They have dedicated graphics processing capabilities because they are better at running multiple and concurrent threads than general-purpose processors.
The purpose of multiple cores in graphics processors is to increase their processing powers in special-purpose and parallel computing. A particular GPU excels at executing the same operation because of its multiple cores and multithreading. Take note that graphics processors tend to have more cores and thread count than a general-purpose processor.
Nevertheless, to understand further the difference between cores and threads in processors, think of a multi-core processor as a single kitchen with multiple chefs. The threads or thread counts represent the multiple orders that a single chef can handle. A particular core in a processor with a multicore and multithreaded design can handle multiple tasks.
Pointers and Conclusion: The Importance of Understanding the Difference Between Cores and Threads in Choosing a Processor and Comparing Different Processors
The aforesaid difference between cores and threads can be summarized further. The former are hardware or physical units of a single processor that handles program instructions. The latter are virtual units or codes and software constructs that enable a processor or a particular core within a single processor to handle multiple tasks in a particular instruction.
A multi-core processor allows multiprocessing. It also follows that a processor with a multicore design has native capabilities for multithreading. Multiprocessing involves the simultaneous processing of different instructions through the cores. Multithreading centers on the processing of different tasks within an instruction through a single core.
The number of cores and the thread count of a particular processor determines its capabilities. However, when choosing between the two, the consensus is that having more physical cores is preferable to having more threads. An eight-core processor with eight threads would perform better than a dual-core processor with the same thread count.
A multicore design also equips a processor with more capabilities. Graphics processors such as the Nvidia GeForce RTX line, the AMD Radeon line, and the Intel Arc line have separate and dedicated sets of cores for general graphics processing and parallel computation, artificial intelligence acceleration, and native or hardware ray tracing.
It is important to note that the number of cores and thread count are not the only determinants of processor capabilities. The clock speed and power rating or rated power draw are also important factors to consider. Other important determinants are the microarchitecture, the instruction set architecture, and the overall system design of the processor.
Hence, considering the other factors, an eight-core and multithreaded processor would not still perform well when compared to one with a high clock speed or with a better microarchitecture and instruction set architecture. An example is the better overall performance of systems-on-chips used in iPhones compared to mid-range chips used in Android.