Chip multiprocessors (CMPs) aim to develop both instruction-level and thread-level parallelisms to boost a system's performance. However, according to previous research results, CMPs outperform superscalar processors only in floating-point applications. Therefore, we have proposed a novel microprocessor, supporting two execution modes, to allow users to manually choose an appropriate mode to execute an application according to the workload characteristics. In the first mode, the processor acts like a conventional CMP. The second mode is derived from aggregating multiple processing elements in the CMP into a wide superscalar. Furthermore, we extend this innovative microarchitecture to support a third execution mode, whereby the processor keeps switching between the first and second modes when executing an application, according to the characteristics of subsequent instructions. As a result, this third mode can use both the advantages of a CMP and of a superscalar to execute an application. According to the performance analysis, our processor can provide an optimum system performance for all benchmark programs, regardless of workload characteristics. Furthermore, our CMP outperforms a conventional CMP, exhibiting a speedup of up to 1.32.
All Science Journal Classification (ASJC) codes
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence