Task of a computer designer
Determine the attributes important to the new machine
Design a machine to maximize performance while staying within cost constraints
Some important design aspects: Instruction set design, functional requirements, logic design, and implementation.
Design optimization involves a range of items from Compilers to Operating System to logic design and packaging.