SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
SPIM: a MIPS simulator

                                           Michele Chinosi
                                   michele.chinosi@uninsubria.it
                                       University of Insubria - Varese (IT)


                                                 26.11.2008




Michele Chinosi (Univ. Insubria)               SPIM: a MIPS simulator         26.11.2008   1 / 22
Outline



1   Introduction
       Getting started with SPIM
       SPIM installation
       Documentation


2   XSPIM
      Getting started with xspim
      Load and execute programs


3   Conclusions




    Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   2 / 22
The SPIM simulator



SPIM
SPIM is a MIPS R2000/R3000 RISC computer simulator

Website
http://www.cs.wisc.edu/∼larus/spim.html

Version
The current version of SPIM is 7.3 (August 2006)




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   3 / 22
A screenshot of SPIM




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   4 / 22
Some features



SPIM:
     can read and immediately execute files containing assembly language
     provides a simple debugger and minimal set of operating system services
     does not execute binary (compiled) programs
     implements almost the entire MIPS32 assembler-extended instruction set
     comes with complete source code and documentation
     implements both a simple, terminal-style interface and a grafical user
     interface




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator            26.11.2008   5 / 22
User interfaces




Unix, Linux, Mac OS X
On Unix, Linux and Mac OS X the spim program provides a simple terminal
interface and the xspim program provides the windowing interface

Microsoft Windows
On Microsoft Windows the spim program provides a console interface and the
PCSpim program provides a Windows interface




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator      26.11.2008   6 / 22
Terminal-style interface




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   7 / 22
Xspim interface




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   8 / 22
PCSpim interface




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   9 / 22
How to install SPIM on Microsoft Windows




It’s very simple!
  1      Download SPIM from
         http://www.cs.wisc.edu/∼larus/SPIM/pcspim.zip and save it on your
         machine
  2      Unzip the file
  3      Click on the setup.exe program




      Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   10 / 22
How to install SPIM on Unix, Linux and Mac OS X



It’s not so simple...
  1      Download SPIM from
         http://www.cs.wisc.edu/∼larus/SPIM/spim.tar.gz
  2      Move the file spim.tar.gz to the directory in which you want to build spim
         and decompress it:
         $ tar -zxvf spim.tar.gz
  3      It will create a directory named spim-7.3 (or the most recent version number)
  4      The simple terminal interface is contained in the spim-7.3/spim directory and
         the X-window interface is in the spim-7.3/xspim directory




      Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator           26.11.2008   11 / 22
How to install SPIM on Unix, Linux and Mac OS X (2)

It’s not so simple...
  5      You must set the directories in which spim will be installed by editing the
         Makefile (the file that contains instructions on building spim).
         xspim → xspim/Imakefile
         spim → spim/Makefile.
         3 pathnames: EXCEPTION DIR, BIN DIR, MAN DIR.
  6      If you are using Imakefile file, change to the spim-7.3/xspim dir and type:
         $ xmkmf
         $ make
  7      If you do not have X-windows, change to the spim-7.3/spim dir and type:
         $ make
  8      To run spim or xspim, you have to install the exception handler
         (exceptions.s). Thus, become root and type:
         # make install
  9      To test that spim is correctly build, from spim-7.3/spim type:
         $ make test

      Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator            26.11.2008   12 / 22
How to install SPIM on Unix, Linux and Mac OS X (3)



But...
If you are using a Debian-based distribution (like Ubuntu, Mepis, Xandros,
Knoppix), it is enough to run:


user@system:$ sudo apt-get install spim


or the equivalent package management system for your Linux distro:
     synaptic
     aptitude
     ...




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator          26.11.2008   13 / 22
How to install SPIM




That’s it!
For further information, please visit:
http://www.cs.wisc.edu/∼larus/spim.html




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   14 / 22
Documentation


Where to find some other references
     Patterson & Hennessy, Computer Organization and Design: The
     hardware/software interface, Appendix A
     MIPS32 Architecture for Programmers Volume I,II,III, the official
     documentation provided by MIPS Inc.
     Other two books edited by Morgan Kaufmann:
             See MIPS run, written by Dominic Sweetman
             The MIPS programmer’s handbook, written by Erin Farquhar and Philip Bunce
     Getting started with [spim|xspim|PCSpim], a simple overview of these three
     alternatives
     SPIM Command-Line Options, a simple tutorial
     http://www.google.com




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator               26.11.2008   15 / 22
Let’s start using xspim


How to start xspim
To start xspim go to spim-7.3/xspim directory and type:
$ xspim


When xspim starts up, it pops up a large window on your screen. This window is
divided into five panes:
     Register display
     Control buttons
     text segment
     data and stack segment
     SPIM messages




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator        26.11.2008   16 / 22
Xspim window




 Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator   26.11.2008   17 / 22
Xspim window (ctd.)


Register display
This pane shows the values of all registers in the MIPS CPU and FPU. This
display is updated whenever your program stops running

Control buttons
These buttons let us interact with simulator. We will discuss more in details about
them later on.

Text segments
This pane displays instructions from both your program and the system code that
is loaded automatically when xspim starts running.




   Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator          26.11.2008   18 / 22
Xspim window (ctd.)




Data and Stack segments
This pane displays the data loaded into your program’s memory and the data on
the program’s stack.

SPIM messages
The bottom pane is used by xspim to write messages. This is where error
messages appear.




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator        26.11.2008   19 / 22
Load and Run



Load program into xspim
Once you have started xspim, you can load a new program simply clicking on
Load button.
Then select the file you want to execute and confirm.
SPIM loads your program into text segment, and redraws panes to see program
data.

Run program
To run your program, simply click on Run button.
If you don’t see your instruction in the text segment click on the scrollbar on the
left of panes.




   Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator            26.11.2008   20 / 22
spim and PCSpim




The instructions for command-line version and Microsoft Windows version are on
documents already presented.

It is recommended that you read carefully all the documentation provided with
SPIM simulator in order to execute properly your programs.




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator         26.11.2008   21 / 22
Conclusions




Which of the three version of SPIM you have to use?
You are free to use simple command-line spim version rather than PCSpim version
or xspim verson.
It is suggested to use xspim.


And now... let’s play with SPIM!




  Michele Chinosi (Univ. Insubria)   SPIM: a MIPS simulator        26.11.2008   22 / 22

Más contenido relacionado

La actualidad más candente

Image classification using CNN
Image classification using CNNImage classification using CNN
Image classification using CNNNoura Hussein
 
What is Deep Learning?
What is Deep Learning?What is Deep Learning?
What is Deep Learning?NVIDIA
 
Image classification using cnn
Image classification using cnnImage classification using cnn
Image classification using cnnDebarko De
 
Adversarial Attacks and Defense
Adversarial Attacks and DefenseAdversarial Attacks and Defense
Adversarial Attacks and DefenseKishor Datta Gupta
 
Transfer Learning -- The Next Frontier for Machine Learning
Transfer Learning -- The Next Frontier for Machine LearningTransfer Learning -- The Next Frontier for Machine Learning
Transfer Learning -- The Next Frontier for Machine LearningSebastian Ruder
 
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...Symeon Papadopoulos
 
Creating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLICreating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLIDenys Chamberland
 
Skin lesion detection from dermoscopic images using Convolutional Neural Netw...
Skin lesion detection from dermoscopic images using Convolutional Neural Netw...Skin lesion detection from dermoscopic images using Convolutional Neural Netw...
Skin lesion detection from dermoscopic images using Convolutional Neural Netw...Adrià Romero López
 
Prospects of Deep Learning in Medical Imaging
Prospects of Deep Learning in Medical ImagingProspects of Deep Learning in Medical Imaging
Prospects of Deep Learning in Medical ImagingGodswll Egegwu
 
Case Studies (Questions and Answers)
Case Studies (Questions and Answers)Case Studies (Questions and Answers)
Case Studies (Questions and Answers)113068
 
lazy learners and other classication methods
lazy learners and other classication methodslazy learners and other classication methods
lazy learners and other classication methodsrajshreemuthiah
 
steganography using visual cryptography_report
steganography using visual cryptography_reportsteganography using visual cryptography_report
steganography using visual cryptography_reportSaurabh Nambiar
 
Cloud computing lab experiments
Cloud computing lab experimentsCloud computing lab experiments
Cloud computing lab experimentsrichendraravi
 
Bayesian networks in AI
Bayesian networks in AIBayesian networks in AI
Bayesian networks in AIByoung-Hee Kim
 
Non-maximum suppression using fewer than two comparison per pixels
Non-maximum suppression using fewer than two comparison per pixelsNon-maximum suppression using fewer than two comparison per pixels
Non-maximum suppression using fewer than two comparison per pixelsTuan Q. Pham
 
Sparse matrix computations in MapReduce
Sparse matrix computations in MapReduceSparse matrix computations in MapReduce
Sparse matrix computations in MapReduceDavid Gleich
 
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Universitat Politècnica de Catalunya
 

La actualidad más candente (20)

Image classification using CNN
Image classification using CNNImage classification using CNN
Image classification using CNN
 
What is Deep Learning?
What is Deep Learning?What is Deep Learning?
What is Deep Learning?
 
EMOTION DETECTION USING AI
EMOTION DETECTION USING AIEMOTION DETECTION USING AI
EMOTION DETECTION USING AI
 
Image classification using cnn
Image classification using cnnImage classification using cnn
Image classification using cnn
 
Adversarial Attacks and Defense
Adversarial Attacks and DefenseAdversarial Attacks and Defense
Adversarial Attacks and Defense
 
Transfer Learning -- The Next Frontier for Machine Learning
Transfer Learning -- The Next Frontier for Machine LearningTransfer Learning -- The Next Frontier for Machine Learning
Transfer Learning -- The Next Frontier for Machine Learning
 
Minimax
MinimaxMinimax
Minimax
 
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
DeepFake Detection: Challenges, Progress and Hands-on Demonstration of Techno...
 
Creating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLICreating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLI
 
Skin lesion detection from dermoscopic images using Convolutional Neural Netw...
Skin lesion detection from dermoscopic images using Convolutional Neural Netw...Skin lesion detection from dermoscopic images using Convolutional Neural Netw...
Skin lesion detection from dermoscopic images using Convolutional Neural Netw...
 
Prospects of Deep Learning in Medical Imaging
Prospects of Deep Learning in Medical ImagingProspects of Deep Learning in Medical Imaging
Prospects of Deep Learning in Medical Imaging
 
Case Studies (Questions and Answers)
Case Studies (Questions and Answers)Case Studies (Questions and Answers)
Case Studies (Questions and Answers)
 
lazy learners and other classication methods
lazy learners and other classication methodslazy learners and other classication methods
lazy learners and other classication methods
 
steganography using visual cryptography_report
steganography using visual cryptography_reportsteganography using visual cryptography_report
steganography using visual cryptography_report
 
Bitcoin Price Prediction
Bitcoin Price PredictionBitcoin Price Prediction
Bitcoin Price Prediction
 
Cloud computing lab experiments
Cloud computing lab experimentsCloud computing lab experiments
Cloud computing lab experiments
 
Bayesian networks in AI
Bayesian networks in AIBayesian networks in AI
Bayesian networks in AI
 
Non-maximum suppression using fewer than two comparison per pixels
Non-maximum suppression using fewer than two comparison per pixelsNon-maximum suppression using fewer than two comparison per pixels
Non-maximum suppression using fewer than two comparison per pixels
 
Sparse matrix computations in MapReduce
Sparse matrix computations in MapReduceSparse matrix computations in MapReduce
Sparse matrix computations in MapReduce
 
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
 

Destacado

Spim Mips Simulator 08 02
Spim Mips Simulator 08 02Spim Mips Simulator 08 02
Spim Mips Simulator 08 02Michele Chinosi
 
2014 MIPS Progrmming for NTUIM
2014 MIPS Progrmming for NTUIM 2014 MIPS Progrmming for NTUIM
2014 MIPS Progrmming for NTUIM imetliao
 
Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementationkavitha2009
 
The March to MIPS
The March to MIPSThe March to MIPS
The March to MIPSPYA, P.C.
 
Chapter 1 Microeconomics Intro
Chapter 1 Microeconomics IntroChapter 1 Microeconomics Intro
Chapter 1 Microeconomics IntroNasriQ YaziD
 
Microeconomics: Introduction and basic concepts
Microeconomics: Introduction and basic conceptsMicroeconomics: Introduction and basic concepts
Microeconomics: Introduction and basic conceptsPie GS
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 

Destacado (11)

Spim Mips Simulator 08 02
Spim Mips Simulator 08 02Spim Mips Simulator 08 02
Spim Mips Simulator 08 02
 
MIPS-SPIM Taiwan
MIPS-SPIM TaiwanMIPS-SPIM Taiwan
MIPS-SPIM Taiwan
 
Mips Assembly
Mips AssemblyMips Assembly
Mips Assembly
 
2014 MIPS Progrmming for NTUIM
2014 MIPS Progrmming for NTUIM 2014 MIPS Progrmming for NTUIM
2014 MIPS Progrmming for NTUIM
 
Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementation
 
Mips
MipsMips
Mips
 
Mips 64
Mips 64Mips 64
Mips 64
 
The March to MIPS
The March to MIPSThe March to MIPS
The March to MIPS
 
Chapter 1 Microeconomics Intro
Chapter 1 Microeconomics IntroChapter 1 Microeconomics Intro
Chapter 1 Microeconomics Intro
 
Microeconomics: Introduction and basic concepts
Microeconomics: Introduction and basic conceptsMicroeconomics: Introduction and basic concepts
Microeconomics: Introduction and basic concepts
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similar a Spim Mips Simulator

Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...Scilab
 
Se ii unit1-se_ii_intorduction
Se ii unit1-se_ii_intorductionSe ii unit1-se_ii_intorduction
Se ii unit1-se_ii_intorductionAhmad sohail Kakar
 
Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...
Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...
Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...Anne Nicolas
 
Unikraft Landing Page Master Slides
Unikraft Landing Page Master SlidesUnikraft Landing Page Master Slides
Unikraft Landing Page Master SlidesThe Linux Foundation
 
CS403: Operating System : Lec 3 Popular types of OS (2).pptx
CS403: Operating System : Lec 3 Popular types of OS (2).pptxCS403: Operating System : Lec 3 Popular types of OS (2).pptx
CS403: Operating System : Lec 3 Popular types of OS (2).pptxAsst.prof M.Gokilavani
 
Inspectrum vs the doorbell
Inspectrum vs the doorbellInspectrum vs the doorbell
Inspectrum vs the doorbellPamela O'Shea
 
Emulation and simulation
Emulation and simulationEmulation and simulation
Emulation and simulationNebalAlJamal
 
Ecdl v5 module 2 print
Ecdl v5 module 2 printEcdl v5 module 2 print
Ecdl v5 module 2 printMichael Lew
 

Similar a Spim Mips Simulator (20)

Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
Faster Time to Market using Scilab/XCOS/X2C for motor control algorithm devel...
 
Damn Simics
Damn SimicsDamn Simics
Damn Simics
 
Assembler.ppt
Assembler.pptAssembler.ppt
Assembler.ppt
 
Experimentos lab
Experimentos labExperimentos lab
Experimentos lab
 
Nido
NidoNido
Nido
 
MultiSim.pptx
MultiSim.pptxMultiSim.pptx
MultiSim.pptx
 
Mpi.net tutorial
Mpi.net tutorialMpi.net tutorial
Mpi.net tutorial
 
Michele Italy Talk
Michele Italy TalkMichele Italy Talk
Michele Italy Talk
 
SACHINDOC
SACHINDOCSACHINDOC
SACHINDOC
 
Install operating system
Install operating systemInstall operating system
Install operating system
 
Impl installation manual
Impl installation manualImpl installation manual
Impl installation manual
 
Computer basics
Computer basicsComputer basics
Computer basics
 
Se ii unit1-se_ii_intorduction
Se ii unit1-se_ii_intorductionSe ii unit1-se_ii_intorduction
Se ii unit1-se_ii_intorduction
 
Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...
Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...
Kernel Recipes 2018 - CLIP OS: Building a defense-in-depth OS around Linux ke...
 
Unikraft Landing Page Master Slides
Unikraft Landing Page Master SlidesUnikraft Landing Page Master Slides
Unikraft Landing Page Master Slides
 
CS403: Operating System : Lec 3 Popular types of OS (2).pptx
CS403: Operating System : Lec 3 Popular types of OS (2).pptxCS403: Operating System : Lec 3 Popular types of OS (2).pptx
CS403: Operating System : Lec 3 Popular types of OS (2).pptx
 
Inspectrum vs the doorbell
Inspectrum vs the doorbellInspectrum vs the doorbell
Inspectrum vs the doorbell
 
Emulation and simulation
Emulation and simulationEmulation and simulation
Emulation and simulation
 
Ecdl v5 module 2 print
Ecdl v5 module 2 printEcdl v5 module 2 print
Ecdl v5 module 2 print
 
ES UNIT-I.pptx
ES UNIT-I.pptxES UNIT-I.pptx
ES UNIT-I.pptx
 

Más de Michele Chinosi

Babbo Natale va in vacanza?
Babbo Natale va in vacanza?Babbo Natale va in vacanza?
Babbo Natale va in vacanza?Michele Chinosi
 
BPMN Usage Survey: Tables
BPMN Usage Survey: TablesBPMN Usage Survey: Tables
BPMN Usage Survey: TablesMichele Chinosi
 
BPMN Usage Survey: Results
BPMN Usage Survey: ResultsBPMN Usage Survey: Results
BPMN Usage Survey: ResultsMichele Chinosi
 
Why To Consider BPMN 2.0
Why To Consider BPMN 2.0Why To Consider BPMN 2.0
Why To Consider BPMN 2.0Michele Chinosi
 
Workflow Modeling in EU GENESIS Project
Workflow Modeling in EU GENESIS ProjectWorkflow Modeling in EU GENESIS Project
Workflow Modeling in EU GENESIS ProjectMichele Chinosi
 
Modeling and Validating BPMN Diagrams
Modeling and Validating BPMN DiagramsModeling and Validating BPMN Diagrams
Modeling and Validating BPMN DiagramsMichele Chinosi
 
Modeling Requirements for the Management of Electronic Records
Modeling Requirements for the Management of Electronic RecordsModeling Requirements for the Management of Electronic Records
Modeling Requirements for the Management of Electronic RecordsMichele Chinosi
 
Representing Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design MethodologyRepresenting Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design MethodologyMichele Chinosi
 
BPeX: A New Approach to BPMN Model Portability - Updated Version
BPeX: A New Approach to BPMN Model Portability - Updated VersionBPeX: A New Approach to BPMN Model Portability - Updated Version
BPeX: A New Approach to BPMN Model Portability - Updated VersionMichele Chinosi
 
Integrating Privacy Policies into Business Processes
Integrating Privacy Policies into Business ProcessesIntegrating Privacy Policies into Business Processes
Integrating Privacy Policies into Business ProcessesMichele Chinosi
 
Novelle: A collaborative open source writing tool software
Novelle: A collaborative open source writing tool softwareNovelle: A collaborative open source writing tool software
Novelle: A collaborative open source writing tool softwareMichele Chinosi
 
BPeX: A New Approach to BPMN Model Portability
BPeX: A New Approach to BPMN Model PortabilityBPeX: A New Approach to BPMN Model Portability
BPeX: A New Approach to BPMN Model PortabilityMichele Chinosi
 

Más de Michele Chinosi (12)

Babbo Natale va in vacanza?
Babbo Natale va in vacanza?Babbo Natale va in vacanza?
Babbo Natale va in vacanza?
 
BPMN Usage Survey: Tables
BPMN Usage Survey: TablesBPMN Usage Survey: Tables
BPMN Usage Survey: Tables
 
BPMN Usage Survey: Results
BPMN Usage Survey: ResultsBPMN Usage Survey: Results
BPMN Usage Survey: Results
 
Why To Consider BPMN 2.0
Why To Consider BPMN 2.0Why To Consider BPMN 2.0
Why To Consider BPMN 2.0
 
Workflow Modeling in EU GENESIS Project
Workflow Modeling in EU GENESIS ProjectWorkflow Modeling in EU GENESIS Project
Workflow Modeling in EU GENESIS Project
 
Modeling and Validating BPMN Diagrams
Modeling and Validating BPMN DiagramsModeling and Validating BPMN Diagrams
Modeling and Validating BPMN Diagrams
 
Modeling Requirements for the Management of Electronic Records
Modeling Requirements for the Management of Electronic RecordsModeling Requirements for the Management of Electronic Records
Modeling Requirements for the Management of Electronic Records
 
Representing Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design MethodologyRepresenting Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design Methodology
 
BPeX: A New Approach to BPMN Model Portability - Updated Version
BPeX: A New Approach to BPMN Model Portability - Updated VersionBPeX: A New Approach to BPMN Model Portability - Updated Version
BPeX: A New Approach to BPMN Model Portability - Updated Version
 
Integrating Privacy Policies into Business Processes
Integrating Privacy Policies into Business ProcessesIntegrating Privacy Policies into Business Processes
Integrating Privacy Policies into Business Processes
 
Novelle: A collaborative open source writing tool software
Novelle: A collaborative open source writing tool softwareNovelle: A collaborative open source writing tool software
Novelle: A collaborative open source writing tool software
 
BPeX: A New Approach to BPMN Model Portability
BPeX: A New Approach to BPMN Model PortabilityBPeX: A New Approach to BPMN Model Portability
BPeX: A New Approach to BPMN Model Portability
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Spim Mips Simulator

  • 1. SPIM: a MIPS simulator Michele Chinosi michele.chinosi@uninsubria.it University of Insubria - Varese (IT) 26.11.2008 Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 1 / 22
  • 2. Outline 1 Introduction Getting started with SPIM SPIM installation Documentation 2 XSPIM Getting started with xspim Load and execute programs 3 Conclusions Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 2 / 22
  • 3. The SPIM simulator SPIM SPIM is a MIPS R2000/R3000 RISC computer simulator Website http://www.cs.wisc.edu/∼larus/spim.html Version The current version of SPIM is 7.3 (August 2006) Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 3 / 22
  • 4. A screenshot of SPIM Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 4 / 22
  • 5. Some features SPIM: can read and immediately execute files containing assembly language provides a simple debugger and minimal set of operating system services does not execute binary (compiled) programs implements almost the entire MIPS32 assembler-extended instruction set comes with complete source code and documentation implements both a simple, terminal-style interface and a grafical user interface Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 5 / 22
  • 6. User interfaces Unix, Linux, Mac OS X On Unix, Linux and Mac OS X the spim program provides a simple terminal interface and the xspim program provides the windowing interface Microsoft Windows On Microsoft Windows the spim program provides a console interface and the PCSpim program provides a Windows interface Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 6 / 22
  • 7. Terminal-style interface Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 7 / 22
  • 8. Xspim interface Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 8 / 22
  • 9. PCSpim interface Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 9 / 22
  • 10. How to install SPIM on Microsoft Windows It’s very simple! 1 Download SPIM from http://www.cs.wisc.edu/∼larus/SPIM/pcspim.zip and save it on your machine 2 Unzip the file 3 Click on the setup.exe program Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 10 / 22
  • 11. How to install SPIM on Unix, Linux and Mac OS X It’s not so simple... 1 Download SPIM from http://www.cs.wisc.edu/∼larus/SPIM/spim.tar.gz 2 Move the file spim.tar.gz to the directory in which you want to build spim and decompress it: $ tar -zxvf spim.tar.gz 3 It will create a directory named spim-7.3 (or the most recent version number) 4 The simple terminal interface is contained in the spim-7.3/spim directory and the X-window interface is in the spim-7.3/xspim directory Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 11 / 22
  • 12. How to install SPIM on Unix, Linux and Mac OS X (2) It’s not so simple... 5 You must set the directories in which spim will be installed by editing the Makefile (the file that contains instructions on building spim). xspim → xspim/Imakefile spim → spim/Makefile. 3 pathnames: EXCEPTION DIR, BIN DIR, MAN DIR. 6 If you are using Imakefile file, change to the spim-7.3/xspim dir and type: $ xmkmf $ make 7 If you do not have X-windows, change to the spim-7.3/spim dir and type: $ make 8 To run spim or xspim, you have to install the exception handler (exceptions.s). Thus, become root and type: # make install 9 To test that spim is correctly build, from spim-7.3/spim type: $ make test Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 12 / 22
  • 13. How to install SPIM on Unix, Linux and Mac OS X (3) But... If you are using a Debian-based distribution (like Ubuntu, Mepis, Xandros, Knoppix), it is enough to run: user@system:$ sudo apt-get install spim or the equivalent package management system for your Linux distro: synaptic aptitude ... Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 13 / 22
  • 14. How to install SPIM That’s it! For further information, please visit: http://www.cs.wisc.edu/∼larus/spim.html Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 14 / 22
  • 15. Documentation Where to find some other references Patterson & Hennessy, Computer Organization and Design: The hardware/software interface, Appendix A MIPS32 Architecture for Programmers Volume I,II,III, the official documentation provided by MIPS Inc. Other two books edited by Morgan Kaufmann: See MIPS run, written by Dominic Sweetman The MIPS programmer’s handbook, written by Erin Farquhar and Philip Bunce Getting started with [spim|xspim|PCSpim], a simple overview of these three alternatives SPIM Command-Line Options, a simple tutorial http://www.google.com Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 15 / 22
  • 16. Let’s start using xspim How to start xspim To start xspim go to spim-7.3/xspim directory and type: $ xspim When xspim starts up, it pops up a large window on your screen. This window is divided into five panes: Register display Control buttons text segment data and stack segment SPIM messages Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 16 / 22
  • 17. Xspim window Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 17 / 22
  • 18. Xspim window (ctd.) Register display This pane shows the values of all registers in the MIPS CPU and FPU. This display is updated whenever your program stops running Control buttons These buttons let us interact with simulator. We will discuss more in details about them later on. Text segments This pane displays instructions from both your program and the system code that is loaded automatically when xspim starts running. Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 18 / 22
  • 19. Xspim window (ctd.) Data and Stack segments This pane displays the data loaded into your program’s memory and the data on the program’s stack. SPIM messages The bottom pane is used by xspim to write messages. This is where error messages appear. Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 19 / 22
  • 20. Load and Run Load program into xspim Once you have started xspim, you can load a new program simply clicking on Load button. Then select the file you want to execute and confirm. SPIM loads your program into text segment, and redraws panes to see program data. Run program To run your program, simply click on Run button. If you don’t see your instruction in the text segment click on the scrollbar on the left of panes. Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 20 / 22
  • 21. spim and PCSpim The instructions for command-line version and Microsoft Windows version are on documents already presented. It is recommended that you read carefully all the documentation provided with SPIM simulator in order to execute properly your programs. Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 21 / 22
  • 22. Conclusions Which of the three version of SPIM you have to use? You are free to use simple command-line spim version rather than PCSpim version or xspim verson. It is suggested to use xspim. And now... let’s play with SPIM! Michele Chinosi (Univ. Insubria) SPIM: a MIPS simulator 26.11.2008 22 / 22