Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System

碩士 === 國立中山大學 === 電機工程學系研究所 === 97 === With the improvement in VLSI technology, realization of multiple processor cores on a single chip becomes easier. Therefore, more and more users execute applications on current multi-core architectures. The multi-core system has a brilliant performance in execu...

Full description

Bibliographic Details
Main Authors: Yu-ren Lai, 賴鈺仁
Other Authors: Jih-chin Chiu
Format: Others
Language:zh-TW
Published: 2009
Online Access:http://ndltd.ncl.edu.tw/handle/y6at3w
id ndltd-TW-097NSYS5442059
record_format oai_dc
spelling ndltd-TW-097NSYS54420592019-05-29T03:42:53Z http://ndltd.ncl.edu.tw/handle/y6at3w Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System 以單指令派發亂序執行之指令管道設計適用於嵌入式系統之超純量雙核心架構 Yu-ren Lai 賴鈺仁 碩士 國立中山大學 電機工程學系研究所 97 With the improvement in VLSI technology, realization of multiple processor cores on a single chip becomes easier. Therefore, more and more users execute applications on current multi-core architectures. The multi-core system has a brilliant performance in executing multi-threaded applications, but this system could not gain any performance in single-threaded applications. This paper proposes a multi-core architecture for enhancing single-threaded performance in embedded system, and focuses on four points: 1. Construct a simple out-of-order execution core. 2. Design a dynamically scheduled instruction analyzer. 3. Design a mechanism for sharing operands between two cores. 4. Design a mechanism for committing instructions synchronously between two cores. The architecture of each core is single-issue out-of-order instruction pipe. First, instruction analyzer will fetch instructions and generate instruction dependence tags by detecting the dependencies among the fetched instructions, then schedule instructions dynamically and dispatch to the cores. In the core, instructions can know where to get required operands according to the information of instruction tags, this mechanism enables data can be shared between two cores. Instructions are executed by data-driven approach, but in-order complete to maintain the correctness of the program order. Based on ARM instruction set, this paper tries to explore ways to achieve interaction control mechanisms between two cores and to accelerate a single-thread in the dual-core architecture. We write a simulation model of the proposed architecture in C language as our trace-driven simulation framework and the MediaBench suite is selected for the experiments. According simulation result, the architecture can obtain average 40% performance speedup comparing to the five-stage pipelined architecture. Jih-chin Chiu 邱日清 2009 學位論文 ; thesis 77 zh-TW
collection NDLTD
language zh-TW
format Others
sources NDLTD
description 碩士 === 國立中山大學 === 電機工程學系研究所 === 97 === With the improvement in VLSI technology, realization of multiple processor cores on a single chip becomes easier. Therefore, more and more users execute applications on current multi-core architectures. The multi-core system has a brilliant performance in executing multi-threaded applications, but this system could not gain any performance in single-threaded applications. This paper proposes a multi-core architecture for enhancing single-threaded performance in embedded system, and focuses on four points: 1. Construct a simple out-of-order execution core. 2. Design a dynamically scheduled instruction analyzer. 3. Design a mechanism for sharing operands between two cores. 4. Design a mechanism for committing instructions synchronously between two cores. The architecture of each core is single-issue out-of-order instruction pipe. First, instruction analyzer will fetch instructions and generate instruction dependence tags by detecting the dependencies among the fetched instructions, then schedule instructions dynamically and dispatch to the cores. In the core, instructions can know where to get required operands according to the information of instruction tags, this mechanism enables data can be shared between two cores. Instructions are executed by data-driven approach, but in-order complete to maintain the correctness of the program order. Based on ARM instruction set, this paper tries to explore ways to achieve interaction control mechanisms between two cores and to accelerate a single-thread in the dual-core architecture. We write a simulation model of the proposed architecture in C language as our trace-driven simulation framework and the MediaBench suite is selected for the experiments. According simulation result, the architecture can obtain average 40% performance speedup comparing to the five-stage pipelined architecture.
author2 Jih-chin Chiu
author_facet Jih-chin Chiu
Yu-ren Lai
賴鈺仁
author Yu-ren Lai
賴鈺仁
spellingShingle Yu-ren Lai
賴鈺仁
Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System
author_sort Yu-ren Lai
title Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System
title_short Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System
title_full Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System
title_fullStr Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System
title_full_unstemmed Design of the Superscalar Dual-Core Architecture using Single-Issue Out-of-Order Instruction Pipe for Embedded System
title_sort design of the superscalar dual-core architecture using single-issue out-of-order instruction pipe for embedded system
publishDate 2009
url http://ndltd.ncl.edu.tw/handle/y6at3w
work_keys_str_mv AT yurenlai designofthesuperscalardualcorearchitectureusingsingleissueoutoforderinstructionpipeforembeddedsystem
AT làiyùrén designofthesuperscalardualcorearchitectureusingsingleissueoutoforderinstructionpipeforembeddedsystem
AT yurenlai yǐdānzhǐlìngpàifāluànxùzhíxíngzhīzhǐlìngguǎndàoshèjìshìyòngyúqiànrùshìxìtǒngzhīchāochúnliàngshuānghéxīnjiàgòu
AT làiyùrén yǐdānzhǐlìngpàifāluànxùzhíxíngzhīzhǐlìngguǎndàoshèjìshìyòngyúqiànrùshìxìtǒngzhīchāochúnliàngshuānghéxīnjiàgòu
_version_ 1719193074367725568