OK, it's all a lot less sexy than I had imagined.
I was hoping that there would be some brilliant combination of gates that allows all of the functions we need to come through a single set of gates... however, it's really not like that. It's not a synthesis of many functions into one streamlined thing. It's a tetris-style smashing of isolated things that may perform nearly identical functions all crammed next to each other.
In short, the whole thing is basically copy/paste over and over again.
I guess that's the practical result of abstraction, but I never saw the big picture.
This has seriously fizzled my enthusiasm.
E.g. a half-adder is 1 AND and 1 XOR gate. a full adder is 2 of those in a row, which allows for the carry bit from the adder next to it. There is a full adder for each bit.
So create a half-adder. Copy/Paste it into a full adder. Copy/paste that n times to make an n-bit adder. Then copy/paste that anywhere in the chipset where addition is required.
Even a "simple" processor has a minimum of 5 n-bit adders (typically more than twice that), which may have different values of n, based on their specific function.
E.g. A flip-flop or latch can be used to store a single bit-state. Copy/paste those so that you can store bytes. Then copy/paste those and you can store many bytes. That's a memory register.
I'm a bit confused as to whether the memory registers available to the CU and ALU are within the chipset, or if they are the system RAM.
Anyway, the processor has access to a load of registers... including registers which hold addresses of registers, so that relatively small amounts of data can be used to retrieve relatively large amounts of data.
I still need to figure out how the memory registers and address pointers all work.
Also, I still haven't gotten to the bottom of accumulators.




Reply With Quote