RISC-V Tejas: A RISC-V Port of the Tejas Architectural Simulator

Slides:



Advertisements
Similar presentations
Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Advertisements

MIPS assembly. Review  Lat lecture, we learnt  addi,  and, andi, or, ori, xor, xori, nor,  beq, j, bne  An array is stored sequentially in the memory.
CS/COE0447 Computer Organization & Assembly Language
Lecture 8 Sept 23 Completion of Ch 2 translating procedure into MIPS role of compilers, assemblers, linking, loading etc. pitfalls, conclusions Chapter.
ELEN 468 Advanced Logic Design
Systems Architecture Lecture 5: MIPS Instruction Set
CPE 731 Advanced Computer Architecture Instruction Set Principles Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University of California,
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Number One Tom Bozic Ian Nuber Greg Ramsey Henry Romero Matt Unangst.
1 Lecture 2: MIPS Instruction Set Today’s topic:  MIPS instructions Reminder: sign up for the mailing list cs3810 Reminder: set up your CADE accounts.
RISC Concepts, MIPS ISA and the Mini–MIPS project
Lecture 5 Sept 14 Goals: Chapter 2 continued MIPS assembly language instruction formats translating c into MIPS - examples.
The PTX GPU Assembly Simulator and Interpreter N.M. Stiffler Zheming Jin Ibrahim Savran.
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
A Survey on Virtualization Technologies
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
A Comparison of Software and Hardware Techniques for x86 Virtualization Keith Adams Ole Agesen Oct. 23, 2006.
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
A Survey on Virtualization Technologies. Virtualization is “HOT” Microsoft acquires Connectix Corp. EMC acquires VMware Veritas acquires Ejascent IBM,
CDA 3101 Fall 2012 Introduction to Computer Organization Instruction Set Architecture MIPS Instruction Format 04 Sept 2013.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
1 Branches and Procedure Calls Lecture 14 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier, 2007.
Memory/Storage Architecture Lab Computer Architecture MIPS Instruction Set Architecture.
April 23, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Assemblers, Linkers, and Loaders * Jeremy R. Johnson Mon. April 23,
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Virtual Memory Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Electrical and Computer Engineering University of Cyprus LAB 2: MIPS.
Chapter 2 Decision-Making Instructions (Instructions: Language of the Computer Part V)
Chapter 2 CSF 2009 The MIPS Assembly Language. Stored Program Computers Instructions represented in binary, just like data Instructions and data stored.
Full and Para Virtualization
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Introduction Why are virtual machines interesting?
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
1 Lecture 6: Assembly Programs Today’s topics:  Large constants  The compilation process  A full example  Intro to the MARS simulator.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
ARM7 Architecture What We Have Learned up to Now.
Computer Architecture & Operations I
Virtualization for Cloud Computing
Virtual Machine Monitors
Virtualization D. J. Foreman 2009.
Electrical and Computer Engineering University of Cyprus
Lecture 3: MIPS Instruction Set
Lecture 6: Assembly Programs
A Survey of Virtual Machine Research
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Virtual Machines: Versatile Platforms for Systems and Processes
Lecture 4: MIPS Instruction Set
ELEN 468 Advanced Logic Design
Processor Instructions set. Learning Objectives
RISC Concepts, MIPS ISA Logic Design Tutorial 8.
CS 286 Computer Organization and Architecture
Assembly Programming using MIPS R3000 CPU
Computer Architecture (CS 207 D) Instruction Set Architecture ISA
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
ECE/CS 552: Instruction Sets – MIPS
OS Virtualization.
Appendix A Classifying Instruction Set Architecture
Lecture 4: MIPS Instruction Set
A Survey on Virtualization Technologies
Information Security - 2
Virtual machines benefits
Flow of Control -- Conditional branch instructions
Assembly Programming using MIPS R3000 CPU
MIPS Assembly.
Flow of Control -- Conditional branch instructions
Virtualization Dr. S. R. Ahmed.
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
9/27: Lecture Topics Memory Data transfer instructions
Presentation transcript:

RISC-V Tejas: A RISC-V Port of the Tejas Architectural Simulator Dr. Smruti R. Sarangi Department of Computer Science and Engineering Indian Institute of Technology Delhi

The RISC-V ISA Most popular open ISA Initially purely academic, now enjoying industry interest

The RISC-V ISA Most popular open ISA Governed by the RISC-V Foundation Companies supporting the foundation include Google, Microsoft, IBM, HP, NXP, NVIDIA, Qualcomm, Micron, Huawei, AMD

The RISC-V ISA Most popular open ISA Governed by the RISC-V Foundation Expected to increase the quality of both software and hardware Open standards increase competition

The RISC-V ISA Most popular open ISA Governed by the RISC-V Foundation Expected to increase the quality of both software and hardware Expected initial thrust is in the embedded domain Being a RISC ISA, cores can be simpler, thereby consuming low power

The RISC-V ISA NVIDIA has begun developing RISC-V based cores The Shakti group at IIT Madras is developing 7 classes of RISC-V based cores Low power embedded version High performance server class version Fault Tolerant version

Design a Processor Simulate

RISC-V Tejas

Steps to Realize RISC-V Tejas (1) Emulating RISC-V applications

Emulating RISC-V Applications X86 App App Intel Pin OS x86 applications Qemu Full system simulation Kernel Java App GPU Ocelot Jikes RVM GPU workloads Java applications RISC-V App RISC-V App OS (Linux/FreeBSD) Spike RISCVEMU Application only mode Full System Simulation mode

Steps to Realize RISC-V Tejas (1) Emulating RISC-V applications (2) Translating to VISA

Translating RISC-V to VISA Elegant correspondence between RISC-V and VISA VISA is also a RISC ISA RISC-V VISA Instruction formats: Register-register, register-immediate, register-register-immediate, immediate Register-register, register-immediate, immediate Computational instructions: ADD, SUB, SLT, SLL, SRL, SRA, AND, OR, XOR, LUI, AUIPC, NOP INTEGERALU, MOV, NOP (complete coverage in terms of modeling compute latencies, and inter-instruction dependencies) Control transfer instructions: JAL, JALR, BEQ, BNE, BLT, BGE JUMP, BRANCH (complete coverage) Memory instructions: LOAD, STORE (load-store architecture) LOAD, STORE (also a load-store architecture) Memory model: FENCE

(RISC-V to VISA translation) X86 instruction Spike (RISC-V to VISA translation) Input Application (RISC-V) load %x1, %x2, #16, %x3 Translator Input Application: X86 Simulation Engine: VISA Spike VISA instruction (static) VISA static load <%reg1, ?>, %reg2, %reg3 Runtime information Fuse Packet <IP,value,target> (0x10, memread, 0x1234) VISA instruction (dynamic) VISA dynamic load <%reg1, 0x1234 >, %reg2, %reg3

Guest OS VMM Guest H/W Guest H/W RISCVEMU RISCVEMU Native OS Native OS RISCVEMU (Full System Mode) App1 App2 App1 App2 Guest OS1 Guest OS2 Guest OS VMM Guest H/W Guest H/W RISCVEMU RISCVEMU Native OS Native OS Native H/W Native H/W Important for studying the execution of different workloads in native as well as virtualized environments

Guest OS Guest H/W RISCVEMU RISCVEMU Emulation (Full System Mode) Translation App1 App2 Guest OS Guest H/W RISCVEMU ip, assembly, load %x1, %x2, #16, %x3 ip, memread, addr X Mapping Available ? Yes load <%reg1, X>, %reg2, %reg3 Translate And cache No Fuse

Guest OS Guest H/W RISCVEMU RISCVEMU (Framework) Traces contain: Regular (memory, and branch) Assembly text of each instruction OS Events System call ID Interrupt ID Privilege level switches in x86 Research specific (OS instrumentation) App1 App2 Guest OS Guest H/W RISCVEMU

Steps to Realize RISC-V Tejas (1) Emulating RISC-V applications (2) Translating to VISA The rest remains unchanged!