Thoughts on DMA
I’ve been reading through Linkers and Loaders for the last couple months, and my brain is very full with toolchain stuff so I figured I’d think about hardware again for a little bit. I think DMA will probably just be […]
I’ve been reading through Linkers and Loaders for the last couple months, and my brain is very full with toolchain stuff so I figured I’d think about hardware again for a little bit. I think DMA will probably just be […]
Quick update today, I’m in the process of moving off of my current laptop (a MacBook Late 2008) and figured I should look at moving the development/test environment into the cloud (senCloud that is) since there’s no real reason to […]
Looking into the toolchain more, the next step after the assembler seemed to be a disassembler. LLVM handles a lot of the details of this using the same data tables created for the assembler, so it seemed like it wouldn’t […]
I took a break for a few days from working on the design itself, to work on a tool to generate a graph of the simulator signal flow. The signal flow in parts of the CPU is getting complicated enough […]
The next thing to implement is going to be exceptions, or traps, or faults, I haven’t really decided what to call them yet. We’ll need them for syscalls, page faults, breakpoints, and probably things I haven’t realized yet. My current […]
After a year away from the project (we adopted a puppy and then there’s been a pandemic), I got back into it today and picked up where I left off in 2019. I’d realized that the stack instructions had been […]
Spent a bunch of today working on microcode and a unit test for interrupts, and got it all working! There are now 8 working interrupt lines that support separate ISRs for each and have a priority system, and there’s a […]
Finished off the rewrite of the microcode assembler yesterday, the new one has now taken over as the reference implementation and is the primary microcode assembler used by the simulator. I still want to implement some optimization features later on, […]
I’ve spent a bit of time over the past couple of months re-implementing the microcode assembler from scratch. The original microcode assembler was thrown together to save me from typing 64 ones and zeroes for every word of microcode (which […]
I implemented the microcode for the 16 bit, 8 bit low, and 8 bit high variants of AND, OR, and XOR this evening, which went smoothly (if a bit tediously). At this point 47 instructions are implemented in microcode, and […]