Something I find quite interesting is how the transistors (and
area) of the Megaprocessor splits among the different kind of
activity. In particular we think of processors as being all about
doing calculations but the ALU forms only a small part of this
processor.
Looking at the transistors for the processor (leaving out the RAM)
the counts are:
Activity
|
Transistor
Count
|
Proportion
(%)
|
Multiplexing |
5174 |
34 |
Control Logic |
4031 |
27 |
Adders, Logic, Shifters |
2280 |
15 |
Cosmetic (module bus input display) |
1904 |
13 |
Registers |
1808 |
12 |
The biggest proportion of transistor usage, a third, is steering
the data around . We have also about a third of the transistors
dedicated to working out what we're supposed to be doing. Only
about a sixth of the processor is actually doing productive work.
I don't quite know where to go with the observation, but I find it
interesting....
One thing I certainly should have done (hindsight is great) is
given the PC its own dedicated adder. It did have early on but the
adder migrated into the ALU (it became ADDER2) so I could share it
with other operations. This was a mistake. Adders are big, but so
are the multiplexors. And there's also the yards and yards of
ribbon cables I needed to move data from the PC to the ALU and
then bring the answer back.