Data unit design precedes controller design in complex cases where microcontrol may be justified.
Analyze the application domain(s) for which the processor is intended to answer the following questions:
Differentiate between counted (discrete) values for integers, and measured values (for reals or scaled integer representations). Is I/O ASCII? Are there collections of control signals (booleans)?
Example: What level of precision is required in the measurements or control in order to satisfy the application? For integer arithmetic are + and - sufficient? Is multiplication needed? Division? What is the meaning of "equals" for comparisons?
This strongly suggests a diagonal microinstruction format.
This entire process involves resource allocation, binding of logical resources and operators to physical resources (registers, buses, and ALUs)
Rev. 10/5/95 B. Huey