There is a level of detail where things sort of fall down. And I have fallen into that sticky pit a few times so I am getting better at recognizing it.
On the one hand, it is useful to know everything about the CPU construction, on the other it is efficient to use something with other people helping out.
My current plan is a compromise position, early in the project there are basic concepts on computation, but once the basic concepts are presented they are "mapped" over into an ARM implementation. This takes the reader from "Ok, I get how computers do their thing..." to "Ok, I see how this type of computer does its thing." At the end of the day I felt that both were important concepts, the how, and the how to match with existing practice concepts.
That said, my board design that goes along with this has an FPGA which is there to implement a simple frame buffer. That was before I found the STM32F429 which has its own simple frame buffer, and so I'm digressing at the moment trying to figure out if I should go that route or not. One of the benefits of having the FPGA on board was that for some definition of "easy" you do some stuff in the FPGA, the scare quotes though are there because FPGAs bring their own pile of complexity to the problem and that defeats some of my goals of keeping it only as complex as it needs to be.
On the one hand, it is useful to know everything about the CPU construction, on the other it is efficient to use something with other people helping out.
My current plan is a compromise position, early in the project there are basic concepts on computation, but once the basic concepts are presented they are "mapped" over into an ARM implementation. This takes the reader from "Ok, I get how computers do their thing..." to "Ok, I see how this type of computer does its thing." At the end of the day I felt that both were important concepts, the how, and the how to match with existing practice concepts.
That said, my board design that goes along with this has an FPGA which is there to implement a simple frame buffer. That was before I found the STM32F429 which has its own simple frame buffer, and so I'm digressing at the moment trying to figure out if I should go that route or not. One of the benefits of having the FPGA on board was that for some definition of "easy" you do some stuff in the FPGA, the scare quotes though are there because FPGAs bring their own pile of complexity to the problem and that defeats some of my goals of keeping it only as complex as it needs to be.