1 / 16

COM906 Computer Application Seminar Lecture 1. What is Virtual Platform?

COM906 Computer Application Seminar Lecture 1. What is Virtual Platform?. Prof. Taeweon Suh Computer Science Education Korea University. Virtual Platform. Virtual Platform is a software model of a whole computing system

kaiya
Download Presentation

COM906 Computer Application Seminar Lecture 1. What is Virtual Platform?

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. COM906Computer Application SeminarLecture 1. What is Virtual Platform? Prof. Taeweon Suh Computer Science Education Korea University

  2. Virtual Platform • Virtual Platform is a software model of a whole computing system • Virtual Platform is very widely used for software development much before hardware is ready • The target computing systems have been for SoCs (System-on-chip), but it can be used for future PC systems • Fostered by ESL (Electronics System Level) community • Don’t be confused with Virtual Machine! • VM allows the sharing of the underlying physical machine resources between different virtual machines, each running its own OS • The software layer providing the virtualization is called a virtual machine monitor or hypervisor • x86 provides vmenter and vmexit instructions for virtualization

  3. Software models of new products on your PC Software running on new products SoC product in 2009 Firmware and RTOS porting to SoC Applications on SoC PC system in 2010 BIOS, Firmware and OS development Validation software development Virtual Platform (Cont.) Your PC

  4. Virtual Machine • Example: Xen

  5. SoC Market Dynamics SNUG: Synopsys Users Group Source: Synopsys

  6. SoC Design Challenges Source: TLM2.0 presentation from CoWare

  7. Software Determines Project Schedules Source: Synopsys

  8. Example • Automotive supply chain Source: Synopsys

  9. Advantages of VP • Early software development leading to a better TTM (Time-to-market) Source: Synopsys

  10. Advantages of VP (Cont.) Source: Synopsys

  11. How is it different from simulators? • In a broader sense, all the simulators may be viewed as virtual platform • Benchmarks and testvectors are running on virtual models (simulators) • However, simulators tend to model only specific components rather than a whole system (platform) • For example, Simplescalar doesn’t model peripheral devices. So, it is not feasible to run BIOS, DOS, OS (Windows) • http://www.simplescalar.com/

  12. How fast VP should run? • Performance comparisons & VP requirement • Hardware simulation (RTL) • Concurrent modeling • ~ IPS (Instruction / second) • Hardware emulation • Porting RTLs into reconfigurable machine (array of FPGAs (Field Programmable Gate Array) • KIPS ~ MIPS depending on what you emulate • Virtual platform • ~MIPS • We want to run real-applications on top of OS in reasonable time

  13. How to model VP? • Depending on the level of accuracy you want to achieve and your goal, there are different levels of abstractions • Level of abstractions • Cycle accurate model (CA) • Verification and HDL co-simulation • Architect view model (AV) • Identify and resolve bottlenecks in the organizations of SW and HW architectures • E.g., #of processor required, how different pieces of SV and algorithms will access main memory, what interconnect can deliver the required communication bandwidth • Programmer’s view model (PV, we focus on PV) • Highly abstracted mode • Register accurate model • Functionally correct

  14. What Language to model VP? • Verilog-HDL and VHDL • Used to model cycle-accurate model • Too slow (~IPS depending on complexity) • SystemC with TLM2.0 (Transactional-level Model) • C++ library • Provide the timing support • TLM2.0 provides interoperability and reuse • Can be used to do a cycle-accurate modeling • http://www.systemc.org/home • C, C++ • Used to model PV in general

  15. Focus of this class…. • We are going to talk about x86-based computer system • We want to utilize an existing simulator such as Bochs rather than designing from scratch • This is a project-based class • Students will have individual project of their choice (with Dr. Suh’s approval) or select one of the candidates

  16. Project Candidates • Bochs (PC-emulator) • http://bochs.sourceforge.net/ • Download source code, compile it and run hard-disk images • Add a PCIe device into the model and see if BIOS is recognizing the PCIe device • Probably most easy project! • Use Xen hypervisor to create virtual machine and run Bochs on top of it • http://www.xen.org/ • PTLSim is taking advantage of Xen hypervisor to do a x86 cycle-accurate simulation • http://www.ptlsim.org/ • PTLSim + Bochs’ MCH and ICH models (?) • Other suggestions

More Related