diff --git a/I%2FO.md b/I%2FO.md new file mode 100644 index 0000000..4628058 --- /dev/null +++ b/I%2FO.md @@ -0,0 +1,17 @@ +## IO? Many many questions. + +- How shall the processor talk to external IO devices? +- What types of devices shall be connected? +- Where do we implement DMA, does each IO bus get its own mini microprocessor? + (We should look for a book specifically on I/O and how microprocessors typically handle it.) +- How do we solve problems with Virtual Memory and Cache Coherence? *See*~[Patterson, 2009](#) for some suggestions. + +### Types of devices to be connected +Note that for each item we will have to work out what the simplest standard method of connection is, whether we can use pre-written libraries or ICs to handle communications etc. + +- Serial +- Keyboard +- RAM +- ROM (for firmware etc.) +- Screens/Framebuffers (complex) +- Hard Drives \ No newline at end of file