1. Computing architectures can be categorized as general purpose, domain-specific, or application-specific according to their flexibility. General purpose computers are based on the von Neumann architecture and can execute any computation but with reduced performance for some algorithms. Domain-specific processors are tailored for a class of applications to improve performance of common operations. Application-specific processors are tailored for a single application and have no instruction fetch or decode cycles, directly implementing the application in hardware.