Microprocessors
Arbitrary computations
- arbitrary control structures
- arbitrary data structures
- specify function at high-level and exploit compilers and debuggers
To save hardware
- if function requires too much logic when implemented with gates/FFs
- operations are too complex, better broken down as instructions
- lots of data manipulation (memory)
- if function does not require higher performance of customized logic
- ever-increasing performance of processors puts more and more applicationsin this category
- minimize the amount of external logic