com.cmpware.cmp.models
Class FastSimple

java.lang.Object
  extended by com.cmpware.cmp.Memory
      extended by com.cmpware.cmp.Processor
          extended by com.cmpware.fastmodel.FastModel
              extended by com.cmpware.cmp.models.FastSimple
All Implemented Interfaces:
ReadWriteInterface

public class FastSimple
extends FastModel

This is the 'Simple' processor produced using the FastModel data-driven interface. Note that this model relies on the use of local (as opposed to global) data in the exec() methods. The exec() method may reference globlal data such as registers, but all fields extracted from the instruction word must be local to the Instruction class.

Copyright (c) 2008 Cmpware, Inc. All Rights Reserved.

Author:
SAG

Nested Class Summary
 class FastSimple.ADD
          The ADD instruction
 class FastSimple.ADDI
          The ADDI instruction
 class FastSimple.AND
          The AND instruction
 class FastSimple.BNZ
          The BNZ instruction
 class FastSimple.BR
          The BR instruction
 class FastSimple.Branch
          The Branch instruction type
 class FastSimple.BranchImm
          The Branch Immediate instruction type
 class FastSimple.BZ
          The BZ instruction
 class FastSimple.Immediate
          The Immediate instruction type
 class FastSimple.LD
          The LD instruction
 class FastSimple.LoadStore
          The Load Store instruction type
 class FastSimple.NOT_
          The NOT_ instruction
 class FastSimple.OR
          The OR instruction
 class FastSimple.RegToReg
          The Register to Resister instruction type
 class FastSimple.SHL
          The SHL instruction
 class FastSimple.SHR
          The SHR instruction
 class FastSimple.ST
          The ST instruction
 class FastSimple.SUB
          The SUB instruction
 class FastSimple.Unary
          The Unary instruction type
 class FastSimple.XOR
          The XOR instruction
 
Field Summary
static java.lang.String copyright
          Copyright string
 
Fields inherited from class com.cmpware.fastmodel.FastModel
instructionSizes
 
Fields inherited from class com.cmpware.cmp.Processor
bkpt, branchAddr, branchDelay, breakpointHit, currentBranchDelay, currentInstrCode, cycleCount, elf, idlePower, iMix, instructionSize, name, noop, opcodeName, pc, prevInstr, prevInstrCode, r, regName, runningPower, sr, sregName, stall, stallCount
 
Fields inherited from class com.cmpware.cmp.Memory
BIG, LITTLE
 
Constructor Summary
FastSimple()
          The constructor
 
Method Summary
static void main(java.lang.String[] args)
          This main() method is optional and enables the stand-alone assembler and disassembler.
 void reset()
          This method resets the processor.
 
Methods inherited from class com.cmpware.fastmodel.FastModel
branch, branch, branchNoDelay, branchNoDelay, dasm, dasm, decode, defineInstructions, execute, fetch, getBreakpoints, getInstruction, getInstructions, getInstructionSizes, getNewInstruction, getPC, getSymbolNames, instrMatch, isBreakpoint, isBreakpoint, main, postLoad, removeAllBreakpoints, removeBreakpoint, removeBreakpoint, setBreakpoint, setBreakpoint, setPC, statistics, step
 
Methods inherited from class com.cmpware.cmp.Processor
advancePC, defineBranchDelay, defineBreakpoint, defineInstructionSize, defineName, defineNoop, defineOpcodeNames, defineRegisterNames, defineRegisters, defineSpecialRegisterNames, defineSpecialRegisters, fetch, get, getBreakpoint, getBreakpointData, getCycleCount, getDebugRegisters, getElf, getIdlePower, getInstructionMix, getInstructionSize, getName, getNoop, getOpcodeNames, getRegister, getRegisterNames, getRegisters, getRunningPower, getSpecialRegister, getSpecialRegisterNames, getSpecialRegisters, getStallCount, isStalled, load, setIdlePower, setRegister, setRunningPower, setSpecialRegister, stall
 
Methods inherited from class com.cmpware.cmp.Memory
addInput, addMemory, addOutput, getEndian, getLocalMemory, getMemoryManager, getMmio, getProfile, hexDump, hexDump, isReadable, isValidAddress, isWriteable, profile, read, read, read16, read24, read32, read64, removeMemory, resize, setEndian, size, toInt, toShort, write, write, write16, write24, write32, write64
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

copyright

public static final java.lang.String copyright
Copyright string

See Also:
Constant Field Values
Constructor Detail

FastSimple

public FastSimple()
The constructor

Method Detail

main

public static void main(java.lang.String[] args)
This main() method is optional and enables the stand-alone assembler and disassembler. The command line should be either: java com.cmpware.cmp.models.FastSimple -dasm or java com.cmpware.cmp.models.FastSimple -asm

Parameters:
args - the command line arguments.

reset

public void reset()
This method resets the processor. Note that super.reset() must me called to completely intialize the processor.

Overrides:
reset in class FastModel