the virtutech simics platform - uppsala · pdf file · 2005-09-22simulation levels...
Post on 09-Mar-2018
219 Views
Preview:
TRANSCRIPT
Virtutech Simics
Jakob Engblom, PhDBusiness Development Manager Virtutechjakob@virtutech.com
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
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
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
9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 5
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
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
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.
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
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
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
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
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
Some Example Systems
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
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
Some more Quick Demos
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
9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 19
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
9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 21
Simics in the CompSys Course
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
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
Helpful Simics Features
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
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
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
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
9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 30
Backup... and go forward again
The main path
Backup
Go forward again
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
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
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
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
Demo of Last Year’s OS
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
9/22/2005 Copyright © 1998-2005 Virtutech, All rights reserved. CONFIDENTIAL 37
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
Getting Simics
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
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
Thank You!
top related