Arch.Y86.Machine
Class AbstractY86CPU
java.lang.Object
java.util.Observable
Machine.AbstractCPU
Arch.Y86.Machine.AbstractY86CPU
- Direct Known Subclasses:
- CPU, CPU, CPU, CPU, CPU, CPU
public abstract class AbstractY86CPU
- extends AbstractCPU
Methods inherited from class java.util.Observable |
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
R_ESP
protected static final int R_ESP
- See Also:
- Constant Field Values
R_EBP
protected static final int R_EBP
- See Also:
- Constant Field Values
R_NONE
protected static final int R_NONE
- See Also:
- Constant Field Values
I_NOP
protected static final int I_NOP
- See Also:
- Constant Field Values
I_HALT
protected static final int I_HALT
- See Also:
- Constant Field Values
I_RRMOVL
protected static final int I_RRMOVL
- See Also:
- Constant Field Values
I_IRMOVL
protected static final int I_IRMOVL
- See Also:
- Constant Field Values
I_RMMOVL
protected static final int I_RMMOVL
- See Also:
- Constant Field Values
I_MRMOVL
protected static final int I_MRMOVL
- See Also:
- Constant Field Values
I_OPL
protected static final int I_OPL
- See Also:
- Constant Field Values
I_JXX
protected static final int I_JXX
- See Also:
- Constant Field Values
I_CALL
protected static final int I_CALL
- See Also:
- Constant Field Values
I_RET
protected static final int I_RET
- See Also:
- Constant Field Values
I_PUSHL
protected static final int I_PUSHL
- See Also:
- Constant Field Values
I_POPL
protected static final int I_POPL
- See Also:
- Constant Field Values
I_IADDL
protected static final int I_IADDL
- See Also:
- Constant Field Values
I_LEAVE
protected static final int I_LEAVE
- See Also:
- Constant Field Values
I_JMPI
protected static final int I_JMPI
- See Also:
- Constant Field Values
A_ADDL
protected static final int A_ADDL
- See Also:
- Constant Field Values
A_SUBL
protected static final int A_SUBL
- See Also:
- Constant Field Values
A_ANDL
protected static final int A_ANDL
- See Also:
- Constant Field Values
A_XORL
protected static final int A_XORL
- See Also:
- Constant Field Values
J_NC
protected static final int J_NC
- See Also:
- Constant Field Values
J_LE
protected static final int J_LE
- See Also:
- Constant Field Values
J_L
protected static final int J_L
- See Also:
- Constant Field Values
J_E
protected static final int J_E
- See Also:
- Constant Field Values
J_NE
protected static final int J_NE
- See Also:
- Constant Field Values
J_GE
protected static final int J_GE
- See Also:
- Constant Field Values
J_G
protected static final int J_G
- See Also:
- Constant Field Values
p
protected AbstractY86CPU.ProcessorState p
w
protected AbstractY86CPU.WriteBackStageState w
m
protected AbstractY86CPU.MemoryStageState m
e
protected AbstractY86CPU.ExecuteStageState e
d
protected AbstractY86CPU.DecodeStageState d
f
protected AbstractY86CPU.FetchStageState f
NORMAL
protected static final Register.ClockTransition NORMAL
BUBBLE
protected static final Register.ClockTransition BUBBLE
STALL
protected static final Register.ClockTransition STALL
AbstractY86CPU
public AbstractY86CPU(java.lang.String aName,
AbstractMainMemory aMem,
boolean anIsPipelined)
createProcessorState
protected AbstractY86CPU.ProcessorState createProcessorState()
- Called by AbstractY86CPU constructor. Override in subclass to extend this register set.
createFetchStageState
protected AbstractY86CPU.FetchStageState createFetchStageState()
- Called by AbstractY86CPU constructor. Override in subclass to extend this register set.
createDecodeStageState
protected AbstractY86CPU.DecodeStageState createDecodeStageState()
- Called by AbstractY86CPU constructor. Override in subclass to extend this register set.
createExecuteStageState
protected AbstractY86CPU.ExecuteStageState createExecuteStageState()
- Called by AbstractY86CPU constructor. Override in subclass to extend this register set.
createMemoryStageState
protected AbstractY86CPU.MemoryStageState createMemoryStageState()
- Called by AbstractY86CPU constructor. Override in subclass to extend this register set.
createWriteBackStageState
protected AbstractY86CPU.WriteBackStageState createWriteBackStageState()
- Called by AbstractY86CPU constructor. Override in subclass to extend this register set.
setPC
public void setPC(int aPC)
- Description copied from class:
AbstractCPU
- Set PC to value
- Overrides:
setPC
in class AbstractCPU
cycleSeq
protected void cycleSeq()
throws AbstractCPU.InvalidInstructionException,
AbstractMainMemory.InvalidAddressException,
AbstractCPU.MachineHaltException
- Throws:
AbstractCPU.InvalidInstructionException
AbstractMainMemory.InvalidAddressException
AbstractCPU.MachineHaltException
cyclePipe
protected void cyclePipe()
throws AbstractCPU.InvalidInstructionException,
AbstractMainMemory.InvalidAddressException,
AbstractCPU.MachineHaltException
- Throws:
AbstractCPU.InvalidInstructionException
AbstractMainMemory.InvalidAddressException
AbstractCPU.MachineHaltException
fetch
protected abstract void fetch()
throws AbstractCPU.InvalidInstructionException,
AbstractMainMemory.InvalidAddressException
- Throws:
AbstractCPU.InvalidInstructionException
AbstractMainMemory.InvalidAddressException
decode
protected abstract void decode()
throws RegisterSet.InvalidRegisterNumberException
- Throws:
RegisterSet.InvalidRegisterNumberException
execute
protected abstract void execute()
memory
protected abstract void memory()
throws AbstractMainMemory.InvalidAddressException
- Throws:
AbstractMainMemory.InvalidAddressException
writeBack
protected abstract void writeBack()
throws AbstractCPU.MachineHaltException,
RegisterSet.InvalidRegisterNumberException
- Throws:
AbstractCPU.MachineHaltException
RegisterSet.InvalidRegisterNumberException
nextPC
protected void nextPC()
fetch_SelectPC
protected void fetch_SelectPC()
pipelineHazardControl
protected void pipelineHazardControl()