1 / 1

Nikola Markovic

Simulator for Hardware acceleration of STM www.bscmsrc.eu. Nikola Markovic. Motivation for building Simulator: X86 architecture (Intel, AMD) will become more pervasive in the many-core future Alltough many X86 simulators exist (M5, PTLSIM), no multi-core support exists

Download Presentation

Nikola Markovic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Simulator for Hardware acceleration of STM www.bscmsrc.eu Nikola Markovic • Motivation for building Simulator: • X86 architecture (Intel, AMD) will become more pervasive in the many-core future • Alltough many X86 simulators exist (M5, PTLSIM), no multi-core support exists • Goal: Extend M5 simulator to simulate multithreaded benchmarks for x86 architecture M5 Simulator: • Encompasses system-level architecture as well as processor microarchitecture • Implemented in Python and C++ • Distinguishing feature – Object Oriented Tool • Currently it provides three interchangeable CPU objects • A simple, functional, single CPI CPU • A detailed model of an out-of-order SMT capable CPU • A random memory-system tester • Specifically suited for cache architecture simulation What is done and current work: • We are adding support for executing multithreaded simulations for x86 architecture in M5 Simulator • Added several system calls to M5 simulator • Rt_sigprocmask • Rt_sigaction • Added functions that copy data from user space to simulator space and vice versa • Added two new microops, that were necessary for the proper implementation of xchg instruction, to x86 model in M5 simulator • Ldstl (load store locked) • Stl (store locked) • Implemented bus locking for x86 model of CPU in M5 by acquiring a bus token • Created simplified pthread library Future work: • Extend M5 Simulator to run all STAMP benchmarks – until now Labyrinth and Vacation benchmarks work • Extend M5 Simulator to run GHC (Glasgow Haskell Compiler) generated code • Explore hardware/software ideas in M5 simulator for speeding up TM in GHC M5 Simulator execution model Layer for TM extension

More Related