Multithreading CPU and Multicore CPU Design in Verilog HDL
Yamin Li
Abstract
Yamin Li
Abstract
This chapter discusses the design issues of multithreading and multicore central processing units (CPUs), and gives two simple design examples: one for a multithreading CPU, and the other for a multicore CPU. It presents Verilog hardware description language (HDL) codes and the simulation waveforms of the two CPUs. The main function of multithreading CPUs is to simultaneously execute instructions that come from multiple threads on the shared functional units. In a multicore CPU, there are several identical cores, and each core can be considered as a traditional CPU. Instead of increasing the clock frequency, multicore CPUs improve performance by means of executing multiple, independent tasks on multiple cores simultaneously. All the cores in a multicore CPU share the main memory and have their own level 1 (L1) instruction and data caches. One of challenges in the design of multicore CPUs is in solving the cache coherence problem.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
This chapter discusses the design issues of multithreading and multicore central processing units (CPUs), and gives two simple design examples: one for a multithreading CPU, and the other for a multicore CPU. It presents Verilog hardware description language (HDL) codes and the simulation waveforms of the two CPUs. The main function of multithreading CPUs is to simultaneously execute instructions that come from multiple threads on the shared functional units. In a multicore CPU, there are several identical cores, and each core can be considered as a traditional CPU. Instead of increasing the clock frequency, multicore CPUs improve performance by means of executing multiple, independent tasks on multiple cores simultaneously. All the cores in a multicore CPU share the main memory and have their own level 1 (L1) instruction and data caches. One of challenges in the design of multicore CPUs is in solving the cache coherence problem.
Key concepts: Multithreading, Multi-core processor, Computer science, Parallel computing, Central processing unit, Cache coherence, Simultaneous multithreading, Verilog