summaryrefslogtreecommitdiff
path: root/Plan
diff options
context:
space:
mode:
authorJulian Blake Kongslie2022-11-19 16:50:04 -0800
committerJulian Blake Kongslie2022-11-19 16:50:04 -0800
commitbc9f0f70444c92f234b13060d46eb323a1431599 (patch)
treedffad8747d1ab1e9161d0c47b97481359ece4fbb /Plan
parentPipelined microarchitecture, which even almost works! (diff)
downloadbiggolf-bc9f0f70444c92f234b13060d46eb323a1431599.tar.xz
Nefarious scheming
Diffstat (limited to 'Plan')
-rw-r--r--Plan35
1 files changed, 35 insertions, 0 deletions
diff --git a/Plan b/Plan
new file mode 100644
index 0000000..c7e833c
--- /dev/null
+++ b/Plan
@@ -0,0 +1,35 @@
1vim: set sw=8 noet :
2
3 * Checker should let us check data
4 * Fetch load
5 * Indirect load
6 * Indirect store
7 * Exec load
8 * Exec store
9 * Checker should print mismatches on its own instead
10 of depending on the caller
11 * Make it complete
12 * Make it pretty
13 * D-side cache
14 * Store forwarding
15 * Cache consistency between I and D side
16 * Senior store commit
17 * Shared between exec and indir stages
18 * Arbitration to reduce total port count
19 * Alternative: make separate indir and exec caches, depend on
20 cache consistency protocol
21 * Eliminate "unstores"
22 * SMC support
23 * Stores should snoop all upstream instruction PCs and restart if overlap
24 * Statistics about instruction mix
25 * Indirect loads
26 * Autoincrements
27 * Exec loads
28 * Exec stores
29 * Instructions with both exec load and exec store
30 * Instructions with both indirect and any exec memory
31 * Instructions with *three memory operations*
32 * Instructions with ~*all four memory operations*~
33 * Maybe histogram support, instructions with N memory ops
34 * Control register writes
35 * Per control register / bit