This commit is contained in:
Paul Pan 2021-08-16 04:38:59 +08:00
parent b8a50b155f
commit a46f893896
5 changed files with 90 additions and 2 deletions

11
resources/pic/Cache.dot Normal file
View File

@ -0,0 +1,11 @@
digraph ICache{
splines=ortho
compound=true
node [shape=Mrecord]
edge [arrowhead=normal]
IDLE->LOOKUP[xlabel="req" weight=5 color=green]
LOOKUP->REPLACE[xlabel="~hit" color=blue]
LOOKUP->IDLE[xlabel="hit" color=red]
REPLACE->IDLE[xlabel="refilled" color=orange]
}

59
resources/pic/Cache.svg Normal file
View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (0)
-->
<!-- Title: ICache Pages: 1 -->
<svg width="137pt" height="191pt"
viewBox="0.00 0.00 136.50 191.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 187)">
<title>ICache</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-187 132.5,-187 132.5,4 -4,4"/>
<!-- IDLE -->
<g id="node1" class="node">
<title>IDLE</title>
<path fill="none" stroke="black" d="M20.5,-146.5C20.5,-146.5 50.5,-146.5 50.5,-146.5 56.5,-146.5 62.5,-152.5 62.5,-158.5 62.5,-158.5 62.5,-170.5 62.5,-170.5 62.5,-176.5 56.5,-182.5 50.5,-182.5 50.5,-182.5 20.5,-182.5 20.5,-182.5 14.5,-182.5 8.5,-176.5 8.5,-170.5 8.5,-170.5 8.5,-158.5 8.5,-158.5 8.5,-152.5 14.5,-146.5 20.5,-146.5"/>
<text text-anchor="middle" x="35.5" y="-160.8" font-family="Times,serif" font-size="14.00">IDLE</text>
</g>
<!-- LOOKUP -->
<g id="node2" class="node">
<title>LOOKUP</title>
<path fill="none" stroke="black" d="M12,-73.5C12,-73.5 59,-73.5 59,-73.5 65,-73.5 71,-79.5 71,-85.5 71,-85.5 71,-97.5 71,-97.5 71,-103.5 65,-109.5 59,-109.5 59,-109.5 12,-109.5 12,-109.5 6,-109.5 0,-103.5 0,-97.5 0,-97.5 0,-85.5 0,-85.5 0,-79.5 6,-73.5 12,-73.5"/>
<text text-anchor="middle" x="35.5" y="-87.8" font-family="Times,serif" font-size="14.00">LOOKUP</text>
</g>
<!-- IDLE&#45;&gt;LOOKUP -->
<g id="edge1" class="edge">
<title>IDLE&#45;&gt;LOOKUP</title>
<path fill="none" stroke="green" d="M26.5,-146.46C26.5,-146.46 26.5,-119.59 26.5,-119.59"/>
<polygon fill="green" stroke="green" points="30,-119.59 26.5,-109.59 23,-119.59 30,-119.59"/>
<text text-anchor="middle" x="17.5" y="-121.82" font-family="Times,serif" font-size="14.00">req</text>
</g>
<!-- LOOKUP&#45;&gt;IDLE -->
<g id="edge3" class="edge">
<title>LOOKUP&#45;&gt;IDLE</title>
<path fill="none" stroke="red" d="M44.5,-109.54C44.5,-109.54 44.5,-136.41 44.5,-136.41"/>
<polygon fill="red" stroke="red" points="41,-136.41 44.5,-146.41 48,-136.41 41,-136.41"/>
<text text-anchor="middle" x="37" y="-126.78" font-family="Times,serif" font-size="14.00">hit</text>
</g>
<!-- REPLACE -->
<g id="node3" class="node">
<title>REPLACE</title>
<path fill="none" stroke="black" d="M41,-0.5C41,-0.5 94,-0.5 94,-0.5 100,-0.5 106,-6.5 106,-12.5 106,-12.5 106,-24.5 106,-24.5 106,-30.5 100,-36.5 94,-36.5 94,-36.5 41,-36.5 41,-36.5 35,-36.5 29,-30.5 29,-24.5 29,-24.5 29,-12.5 29,-12.5 29,-6.5 35,-0.5 41,-0.5"/>
<text text-anchor="middle" x="67.5" y="-14.8" font-family="Times,serif" font-size="14.00">REPLACE</text>
</g>
<!-- LOOKUP&#45;&gt;REPLACE -->
<g id="edge2" class="edge">
<title>LOOKUP&#45;&gt;REPLACE</title>
<path fill="none" stroke="blue" d="M50,-73.46C50,-73.46 50,-46.59 50,-46.59"/>
<polygon fill="blue" stroke="blue" points="53.5,-46.59 50,-36.59 46.5,-46.59 53.5,-46.59"/>
<text text-anchor="middle" x="39" y="-48.82" font-family="Times,serif" font-size="14.00">~hit</text>
</g>
<!-- REPLACE&#45;&gt;IDLE -->
<g id="edge4" class="edge">
<title>REPLACE&#45;&gt;IDLE</title>
<path fill="none" stroke="orange" d="M88.5,-36.63C88.5,-75.64 88.5,-164 88.5,-164 88.5,-164 72.62,-164 72.62,-164"/>
<polygon fill="orange" stroke="orange" points="72.62,-160.5 62.62,-164 72.62,-167.5 72.62,-160.5"/>
<text text-anchor="middle" x="108.5" y="-112.06" font-family="Times,serif" font-size="14.00">refilled</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

17
resources/pic/drState.dot Normal file
View File

@ -0,0 +1,17 @@
digraph drState{
splines=polyline
compound=true
node [shape=Mrecord]
edge [arrowhead=normal]
IDLE -> REFILL [label=<write <br/> ~cached or hit>]
IDLE -> IDLE [label="cached & hit"]
IDLE -> WA [label=<cached <br/> ~hit <br/> ~axi.addr_ok>]
IDLE -> WD1 [label=<cached <br/> ~hit <br/> axi.addr_ok>]
WA -> WD1 [xlabel=" "]
WD1 -> WD2 [xlabel=" "]
WD2 -> WD3 [xlabel=" "]
WD3 -> WD4 [xlabel=" "]
WD4 -> REFILL[xlabel=" "]
}

View File

@ -29,7 +29,7 @@ INITLOCATE:
or t6, t6, k0
or t7, t7, k0
or t8, t8, k1
li t9, START
la t9, START
/* copy .text.ebase */
1:

View File

@ -1,5 +1,6 @@
#include <regdef.h>
#include <mipsregs.h>
#include <mipsregs.h>
#include <exception.h>
#include <game.h>
.set noreorder