-
Notifications
You must be signed in to change notification settings - Fork 3
/
TODO
76 lines (44 loc) · 2.82 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
-*- Mode: text; fill-column: 90 -*-
o Check everywhere I set arithmetic flags from ALU flags and everywhere I don't. I think
I may need to write a new diagnostic for this. Check the diagnostic against the KLH10
but also ask on comp.sys.pdp10 if anyone can run it on real hardware. Note: see pages
81,82 of the 1973 PRM.
o Do I set the ALU flags during an interrupt instruction? Probably shouldn't.
o Pipeline the procesesor. Then implement branch prediction.
o Implement floating-point.
o Check that I can execute instructions out of the Accumulators
o Write diagnositcs for CIRC.
o The diagnostics for ASH and LSH are woefully incomplete. Write some more.
o See about eliminating the BP registers and just adding some ALU operations to handle bytes.
o Learn how the timing analysis work so I can find out how fast I can run.
o Changes to KI front-panel: user/exec mode, page fault, paging enabled, double fault
o Make sure that all the various interrupt and UUO handling sets mem_user correctly.
o Think about what I want to do with Unassigned Codes. Currently I have them acting like
MUUOs so they pass Dave's diagnostics.
o Implement and test the PAG feature of relocating locations 0-17 separately.
o Write a 4-way set associative cache.
o Add stats to the cache.
o Verify that PAG clears the AGE bit correctly.
o Implement the quantum timer in PAG. Does it really need to only increment when the APR
is in PI 0?
o Check that MUUOs and LUUOs read from the appropriate memory space.
o Decide if I want BLT to count as one instruction or once for each iteration
o Write diagnostic to test that the processor does the right thing when a higher-priority
interrupt happens in between the two instructions of a two instruction interrupt
vector.
o Write diagnostic to check that processor flags aren't set in the case of a memory fault
o JSR and PUSHJ (and JSP?) could benefit by putting PSW,PCnext on Mmux
o Make B be the low word to M instead of A
o Write diagnostic to test interrupt processing: second instruction, skip instructions,
nested interrupts
o Implement and then test XCTRI.
o The PC input to the Amux could easily be removed. Could get rid of ACswap as it's only
used for BLT and would only add one cycle each time around the loop.
o Handle NXD. Test NXD.
o Make sure cycles and instruction_count work when not in the simulator and make them
readable from software. Also, figure out some clever way to display the ratio without
having to do a division.
o Make the console work, either the PiDP-10 or even a real KA10 console if I can get
one. Also, make sure it works without a console ... somehow.
o Design the indicator panels and write the Verilog to support them.
o Write diagnostic to check that DPB and IDPB work with indexing and indirect.