the virtutech simics platform - uppsala university€¦ · rbs bsc bts cs cf mgcf media gateway/s g...

42
Virtutech Simics Jakob Engblom, PhD Business Development Manager Virtutech [email protected]

Upload: others

Post on 09-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Virtutech Simics

Jakob Engblom, PhDBusiness Development Manager [email protected]

Page 2: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 2

Our Technology

Backplane

CPU

RAM

Device

FLASH

Device

DSP

Device

CPU

RAM

Device

FLASH

Device

Enet

Device

Enet

DevelopmentHardware

Virtual DevelopmentPlatform

Simics Model

CPU

RAM

Device

FLASH

Device

DSP

Device

CPU

RAM

Device

FLASH

Device

Enet

Device

Enet

Backplane

, PhD

Full system simulation– Networking, backplanes– System-level from the beginning

Runs complete software stack– Firmware, device drivers, OS, etc…

Very high performance– Typically 100s of MIPS– Multiple GIPS top benchmark

Page 3: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 3

Our Technology: Full-System Simulation

Operating system

User program

MiddlewareDBServer

Drivers Firmware

Completeproductionsoftware

Simulatedhardware

Application

Service

Control

Connectivity

MSC

SGSN

HSS GMSC/Transit

User dataControl

Application Service CapabilityServers

Media Gateway PSTN/ISDN

GSM/EDGE

WCDMA

Backbone Switches/Routers

InternetIntranets

GGSN

RNCRBS

BSC

BTS

CSCF MGCF

Media Gateway/S

G

TSP

AXDCPP

AXE WPP

Page 4: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 4

Hardware

Our Technology: Full-System Simulation

CPU

Operating system

User program

RAM FLASH

MiddlewareDBServer

Completeproductionsoftware

LCD

ASICROM

PCI

I2C

BusCPU

Drivers Firmware

The software can’t tell the difference

Network net

Identical build tools chain

Timer

DiskSimulatedhardware

Runs binaries from real target

Page 5: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 5

Page 6: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 6

Host hardwareHost: PC

Host operating systemHost OS: Windows XP (32-bit)

SimicsSimicsebony1: 10.10.0.70

What You Just Saw

Ebony PPC440GP Card

VxWorks

shell

orange0: 10.10.0.51

Artesyn PMPPC 750 Card

Montavista Linux

bash

ebony0: 10.10.0.50

Ebony PPC440GP Card

Montavista Linux

bash/web server

Simics Network

Simulation

Page 7: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 7

Simulation Levels

Functional instruction-set & device behavior

Timing-correct cycle-level (SystemC)

Implementation-level (VHDL/Verilog)

Operating system API (VxSim)

Service API (Java library)

Operating System API Standard (POSIX)

Abs

tract

ion

HW/SW interfaceHW/SW interface

Stable & narrow interface, enables

fast simulation

Stable & narrow interface, enables

fast simulation

Excessive details gives

very slow simulation

Excessive details gives

very slow simulation

Not same binaries as

target

Not same binaries as

target

Too abstract to provide information on actual

target behavior

Too abstract to provide information on actual

target behavior

Cycle-accurate instruction-set

Page 8: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 8

Complete Virtualization

Host hardwareHost hardware

Host operating systemHost operating system

SimicsSimics

Simulated target hardware

Target operating system

User program

PC (32- & 64-bit) or Sparc

PC (32- & 64-bit) or Sparc

Linux, Solaris, Windows

Linux, Solaris, Windows

Arbitrary; currentlysupports Alpha, AMD64,

ARM, IA64, MIPS, PowerPC, Sparc, x86,

TI C6400, msp430

Arbitrary; currentlysupports Alpha, AMD64,

ARM, IA64, MIPS, PowerPC, Sparc, x86,

TI C6400, msp430

All software: arbitrary & unmodified. Same as on a

real system.

All software: arbitrary & unmodified. Same as on a

real system.

Page 9: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 9

Simics Modeling Level: Processor

• Instruction-set simulation (ISS)• Complete and correct processor functionality

– All instructions semantics bit-correct vs real machine– Supervisor-mode & user-mode– Runs the complete target instruction set

• Including Altivec, SSE, 3dNow, VIS, etc. extensions

– All accessible values represented• User-level registers• Supervisor-level registers• Model-specific registers, ASIs, debug register, etc.

• Memory-management unit• Timing abstracted

– Add details if required

Page 10: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 10

Simics Modeling Level: Devices

• Hardware modeled as a set of devices– Memory map of machine (as seen by processor)– At the programming register level

• Model the program-visible behavior– Configuration registers– Control register – Data transmitted & received

• Transaction-level modeling– Reads, writes, DMA transfers, network packets

• ASICs & FPGAs– Model programming interface behavior– Not detailed implementation

• Detailed timing can be added if required

Page 11: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 11

Simics Modeling: No Arbitrary Limits

• Boards/machines:– Single processor– Multiprocessor – Shared memory, local memories

• Backplane/interconnect:– Network (ATM, Ethernet, FibreChannel, ...)– Shared memory

• System level:– Multiple boards and machines– Heterogeneous processors, boards, machines

• Scalability:– Always allows 64-bit memory space– Simulation can be distributed

Page 12: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 12

Network Simulation with Simics

Real network of physical machines

Interface to real network: mix simulated &

real machines

Interface to real network: mix simulated &

real machines

Simulated network of simulated machines:

no topologicalrelation to the

physical network

Simulated network of simulated machines:

no topologicalrelation to the

physical networkSimulatedmachines, one or

more per hostmachine

Simulatedmachines, one or

more per hostmachine

Page 13: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 13

Simics Network Timing

• Globally synchronized timing– Across processors– Across machines– Across the network– One processor stops all stop

• Correct relative speed– 500 MHz processor will execute 10 times more

instructions than a 50 MHz processor, in the same time• Virtualized & controlled time

– Insulated from external time– Time does not advance when simulation is stopped– Slower or faster than real world time– Global across the simulated network

Page 14: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Some Example Systems

Page 15: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 15

CardCardCardCard

Example Model Built with Simics: Telecom

• Telecomms Switch– ATM Backplane– 10+ different card types

• Control cards• Compute cards• Line cards• Timer units• Multimedia cards

– 20+ cards in a rack

Rack Backplane

Control

PPC

FLASHPQ

Compute

PPC

Line Card

PPC

atmasic

PPC

PPC PPC

– Multiple processor types• PowerQUICC II • PowerPC 750 • PowerPC 405• TI C64 DSP

– Multiple network types• ATM, Ethernet, Serial

Page 16: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 16

Example Simics Model: Single Board

• Aerospace board– Single processor

• PowerPC 750gx

– Integrated system unit• Memory controller• Ethernet network• Serial ports• PCI

– On-board memory• FLASH• RAM

– PCI/X connections– VxWorks, in-house OS– Multiple cards networked

Board

PPC

FLASH

mem RAM

eth

ser

PCI

Board

PPC

FLASH

mem RAM

eth

ser

PCI

Page 17: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Some more Quick Demos

Page 18: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 18

Booting a Machine

Host hardwareHost: PC

Host operating systemHost OS: Windows XP

SimicsSimics

Ebony PPC440GP Board

Montavista Linux 2.1

Shell

Simics Simics consoleconsole

Target Target consoleconsole

Page 19: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 19

Page 20: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 20

Opening a Checkpoint & Controlling Time

Host hardwareHost: PC

Host operating systemHost OS: Windows XP

SimicsSimics

Pentium 4 PC + Voodoo3 GPU

Windows NT 4.0

Date and Time

Simics Simics consoleconsole

Page 21: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 21

Page 22: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Simics in the CompSys Course

Page 23: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 23

Virtual MIPS Computer

• Processor• Memory• Serial port• LCD

• Simpler than most real-world boards = easy to program• Runs on Sparc workstations & PCs

mips-simple board

MIPS 4kc CPU

RAM

Serial port

Malta LCD

Page 24: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 24

Hardware of the Simulated Machine

• Counter– Built into the MIPS processor– Use for periodic interrupts

• Serial port– Use for text input and output– Interrupt-driven use mandatory

• Malta LCD– Output-only, use for fun features

• Memory– Used to store your code– 8 MB default, should be plenty

Page 25: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Helpful Simics Features

Page 26: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 26

Handy Features of Simulation

• Checkpointing – Store current state; pick up and continue later– Position workload once, use many times– Distribute a system state to multiple developers

• Determinism– Same initial state gives same execution– Repeat the same execution any number of times– Investigate a problem time after time– Add instrumentation and reexecute

Page 27: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 27

Handy Features of Simulation

• Visibility (insight without intrusion)– All state can be observed

• And used to set breakpoints

– All events can be traced and logged• Including interrupts, status register changes, ...

– Input and output visible• Log activity, trace accesses, break on IO

• Controllability– Any part of machine or state can be changed– Fault injection

Page 28: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 28

Handy Features of Simulation

• Virtual time– Time is completely virtual – Machine does not run away

• Backwards debugging– Roll back execution to previous state– Step backwards in time– Reverse breakpoints– Set bookmarks in time

Page 29: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 29

Ultimate Debug Tool – Simics Hindsight

• Going forwards: any debugger

• Back up and find out what happened: Hindsight

Page 30: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 30

Backup... and go forward again

The main path

Backup

Go forward again

Page 31: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 31

Backup... and try a different path

The main path

Backup

Take a different path

Page 32: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 32

Summary: Simics Features not only Simulation

SimicsSimics

Processors Standard Devices

CustomDevices

Target Operating System

Programs Superficially, the simulated hardware is

what you get with Simics

Superficially, the simulated hardware is

what you get with Simics

Page 33: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 33

Summary: Simics Features not only Simulation

SimicsSimics32/64-bit & endian

handling Networking GUI Hindsight

Distribution

Large Memories

Multimachine

Multiprocessor

Configuration handling

Visibility

Determinism

Checkpointing

CLI

Events

Scripting

Proven API

Symbolic debug

Advanced Breakpoints

Profiling

Tracing

Processors Standard Devices

CustomDevices

Target Operating System

Programs Infrastructure & genericfeatures applicable to all

targets, the result of many years of development

Infrastructure & genericfeatures applicable to all

targets, the result of many years of development

Page 34: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 34

Host hardwareHost hardware

Host operating systemHost OS

SimicsSimics Simics

Debugger

Debug Server with Simics

Target hardware

Target operating system

User programIP-based

connectionIP-based

connection

gdbserver

Fully external to the target

hardware: not visible in target

Fully external to the target

hardware: not visible in target

Page 35: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Demo of Last Year’s OS

Page 36: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 36

Booting a Machine

Host hardwareHost: PC

Host operating systemHost OS: Windows XP

SimicsSimics

Simple MIPS machine

Student OS

Shell

Simics Simics consoleconsole

Serial Serial consoleconsole

Page 37: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 37

Page 38: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 38

Features Used

• Serial port activity logging

• LCD activity logging

• IO trace, break

• Exception trace, break

• Control register trace, break

• Hindsight

• Starting & stopping

• Console scripting, programmed input

Page 39: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Getting Simics

Page 40: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 40

Simics installation at Uppsala

• Used in Erik Hagersten’s research group• Runs on all machines at MIC

• Current: Simics 1.6, 2.0, 2.2 installed

• Simics 3.0 will be installed in time for the course– This is what you will be using– Includes Hindsight backwards debugger– Awaiting final release from Virtutech

Page 41: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 41

Simics Academic Licensing

• Simics is offered to academia for free• Academia gets the full Simics tool, all targets

• Personal licenses– Free, renewable yearly– Node-locked to a single computer– Obtain via www.simics.net

• Site licenses– Free– 10000 licenses baseline, floating– Much cheaper than buying specialized hardware labs

Page 42: The Virtutech Simics Platform - Uppsala University€¦ · RBS BSC BTS CS CF MGCF Media Gateway/S G TSP CPP AXD ... – Interrupt-driven use mandatory • Malta LCD – Output-only,

Thank You!