• DocumentCode
    70871
  • Title

    Architecture Support for Task Out-of-Order Execution in MPSoCs

  • Author

    Chao Wang ; Xi Li ; Junneng Zhang ; Peng Chen ; Yunji Chen ; Xuehai Zhou ; Cheung, Ray C. C.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Sci. & Technol. of China, Hefei, China
  • Volume
    64
  • Issue
    5
  • fYear
    2015
  • fDate
    May 1 2015
  • Firstpage
    1296
  • Lastpage
    1310
  • Abstract
    Multi-processor system on chip (MPSoC) has been widely applied in embedded systems in the past decades. However, it has posed great challenges to efficiently design and implement a rapid prototype for diverse applications due to heterogeneous instruction set architectures (ISA), programming interfaces and software tool chains. In order to solve the problem, this paper proposes a novel high level architecture support for automatic out-of-order (OoO) task execution on FPGA based heterogeneous MPSoCs. The architecture support is composed of a hierarchical middleware with an automatic task level OoO parallel execution engine. Incorporated with a hierarchical OoO layer model, the middleware is able to identify the parallel regions and generate the sources codes automatically. Besides, a runtime middleware Task-Scoreboarding analyzes the inter-task data dependencies and automatically schedules and dispatches the tasks with parameter renaming techniques. The middleware has been verified by the prototype built on FPGA platform. Examples and a JPEG case study demonstrate that our model can largely ease the burden of programmers as well as uncover the task level parallelism.
  • Keywords
    application program interfaces; embedded systems; field programmable gate arrays; instruction sets; middleware; multiprocessing systems; parallel processing; scheduling; software tools; source code (software); system-on-chip; FPGA based heterogeneous MPSoC; ISA; OoO task execution; automatic out-of-order task execution; automatic task level OoO parallel execution engine; embedded systems; heterogeneous instruction set architectures; hierarchical OoO layer model; hierarchical middleware; high level architecture support support; intertask data dependency analysis; multiprocessor system on chip; parallel regions; parameter renaming techniques; programming interfaces; runtime middleware task-scoreboarding; software tool chains; source code generation; task dispatching; task level parallelism; task scheduling; Computational modeling; Computer architecture; Field programmable gate arrays; Hardware; IP networks; Middleware; Program processors; FPGA; MPSoC; Middleware; architecture support; data dependencies; out-of-order execution;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2014.2315628
  • Filename
    6785969