General purpose computers are designed to perform a wide variety of tasks and can be found in various forms, from small personal computers and smartphones (microcomputers) to large mainframe computers and supercomputers. This wide variation in size and processing power is a defining characteristic of general-purpose computing.