System-on -Chip: Next Generation Electronics

A hardware/software system can be defined as one in which hardware and software must be designed together, and must interact to properly implement system functionality. To be considered a hardware/software system, the design of hardware and software components must be dependent on each other. For example, a word processor application for a desktop computer is not a hardware/software system because the word processor software design is largely independent of the underlying hardware platform on which it is executed. The vast majority of practical electronic devices involve closely interacting hardware and software components and can therefore be classified as hardware/software. This includes virtually all consumer electronics (e.g. cellphones, MP3 players, automotive systems), medical electronics (e.g. CT scanners, heath monitoring devices) and military electronics (e.g. guidance systems, vehicle control systems).
The main benefit of using both hardware and software components is that using a varietyof components enables tight design constraints to be satisfied byusing components whose properties most exactlymatch the given design requirements. Hardware/software systems are built from a wide range of hardware and software components which are associated with different trade-offs in design characteristics, such as performance, cost and reliability. Typical computational components used in hardware/software codesign include the following.
Interpreted/scripting software: This class includes code in scripting language such as Perl and CSH, and also interpreted languages such as Java...