This is one of a number of posts on my work on reverse engineering the armv1 processor. The first in the series, and an index of the other articles can be found here.
My first post in this series described in some detail a one-bit slice of the ALU, and identified quite a number of control signals that feed all 32 bit slices which determine how the ALU operates. Now that I’ve reverse-engineered the overall instruction decoding and sequencing mechanism we now have enough context to make a start on reverse-engineering the circuitry that generates the ALU’s control signals. This turns out to be more complex than I first expected and a full understanding of what’s happening will probably have to wait until other parts of the processor have also been reverse-engineered.
More details at Dave’s Hacks blog.