2015•Unpublished venueRequires access

Multithreading CPU and Multicore CPU Design in Verilog HDL

Yamin Li

Open publisher page 0 citations

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.

About this research paper

What this paper is about

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.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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.

Key concepts: Multithreading, Multi-core processor, Computer science, Parallel computing, Central processing unit, Cache coherence, Simultaneous multithreading, Verilog

Related papers

Back to paper searchBrowse research topicsOriginal source
Multithreading CPU and Multicore CPU Design in Verilog HDL — Research Paper | ScholarLens