|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
mars.tools.AbstractMarsToolAndApplication
mars.tools.CacheSimulator
public class CacheSimulator
A data cache simulator. It can be run either as a stand-alone Java application having access to the mars package, or through MARS as an item in its Tools menu. It makes maximum use of methods inherited from its abstract superclass AbstractMarsToolOrApp. Pete Sanderson, v 1.0: 16-18 October 2006, v 1.1: 7 November 2006. v 1.2: 23 December 2010.
Version 1.2 fixes a bug in the hit/miss animator under full or N-way set associative. It was animating the block of initial access (first block of set). Now it animates the block of final access (where address found or stored). Also added log display to GUI (previously System.out).
Nested Class Summary |
---|
Nested classes/interfaces inherited from class mars.tools.AbstractMarsToolAndApplication |
---|
AbstractMarsToolAndApplication.ConnectButton, AbstractMarsToolAndApplication.EnterKeyListener |
Nested classes/interfaces inherited from class javax.swing.JFrame |
---|
JFrame.AccessibleJFrame |
Nested classes/interfaces inherited from class java.awt.Frame |
---|
Frame.AccessibleAWTFrame |
Nested classes/interfaces inherited from class java.awt.Window |
---|
Window.AccessibleAWTWindow |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary |
---|
Fields inherited from class mars.tools.AbstractMarsToolAndApplication |
---|
connectButton, isBeingUsedAsAMarsTool, theWindow, thisMarsApp |
Fields inherited from class javax.swing.JFrame |
---|
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled |
Fields inherited from class java.awt.Frame |
---|
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface javax.swing.WindowConstants |
---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
CacheSimulator()
Simple constructor, likely used by the MARS Tools menu mechanism |
|
CacheSimulator(String title,
String heading)
Simple constructor, likely used to run a stand-alone cache simulator. |
Method Summary | |
---|---|
protected JComponent |
buildMainDisplayArea()
Method that constructs the main cache simulator display area. |
String |
getName()
Required MarsTool method to return Tool name. |
protected void |
initializePostGUI()
The only post-GUI initialization is to create the initial cache object based on the default settings of the various combo boxes. |
protected void |
initializePreGUI()
Initialize all JComboBox choice structures not already initialized at declaration. |
static void |
main(String[] args)
Main provided for pure stand-alone use. |
protected void |
processMIPSUpdate(Observable memory,
AccessNotice accessNotice)
Apply caching policies and update display when connected MIPS program accesses (data) memory. |
protected void |
reset()
Method to reset cache, counters and display when the Reset button selected. |
protected void |
updateDisplay()
Updates display immediately after each update (AccessNotice) is processed, after cache configuration changes as needed, and after each execution step when Mars is running in timed mode. |
Methods inherited from class mars.tools.AbstractMarsToolAndApplication |
---|
action, addAsObserver, addAsObserver, addAsObserver, buildButtonAreaMarsTool, buildButtonAreaStandAlone, buildHeadingArea, deleteAsObserver, deleteAsObserver, getHelpComponent, go, isObserving, performSpecialClosingDuties, update |
Methods inherited from class java.awt.Frame |
---|
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.awt.MenuContainer |
---|
getFont, postEvent |
Constructor Detail |
---|
public CacheSimulator(String title, String heading)
title
- String containing title for title barheading
- String containing text for heading shown in upper part of window.public CacheSimulator()
Method Detail |
---|
public static void main(String[] args)
public String getName()
getName
in interface MarsTool
getName
in class AbstractMarsToolAndApplication
protected JComponent buildMainDisplayArea()
buildMainDisplayArea
in class AbstractMarsToolAndApplication
protected void processMIPSUpdate(Observable memory, AccessNotice accessNotice)
processMIPSUpdate
in class AbstractMarsToolAndApplication
memory
- the attached memoryaccessNotice
- information provided by memory in MemoryAccessNotice objectprotected void initializePreGUI()
initializePreGUI
in class AbstractMarsToolAndApplication
protected void initializePostGUI()
initializePostGUI
in class AbstractMarsToolAndApplication
protected void reset()
reset
in class AbstractMarsToolAndApplication
protected void updateDisplay()
updateDisplay
in class AbstractMarsToolAndApplication
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |