Data Storage
The character data is received by the CPU from the keyboard, or other interface, in parallel form, via the internal data bus. It is stored in a CPU register and then copied back to RAM. RAM locations are numbered and accessed via the system address bus, a set of lines that select a location as a binary number. This is why the CPU has so many pins: for speed of transfer, all data and address pins, and control lines, are separately connected to the northbridge controller via the frontside bus, and hence to the RAM. The data is stored in RAM as charge on the gate of an electronic switch, a field effect transistor (FET; see Appendix B). When charged, the FET is switched on, and this state can be read back at a later time. The addressing system accesses an array of these switches in rows and columns to store and retrieve bits of data. Each byte has a unique address.
Data Processing
The data processing in the CPU required by a simple text editor is minimal; the input characters are simply stored as binary code and displayed, with a separate graphics processor converting the character code to a corresponding symbol on the screen. Nevertheless, the word-processor program has to handle different fonts, word wrapping at the end of lines and so on. It also has to handle text, page and document formatting, menu systems and the user interface. Editing embedded graphics is a bit more complex, since each pixel needs handling separately. The most demanding applications are those where the real world is simulated in a computer model in order to make predictions about the behavior of complex systems. Weather forecasting is an extreme example; the fact that we can still only forecast accurately a few days ahead illustrates the limitations of such system modeling, even on the most powerful computers.
The circuit simulation software used in this book, Proteus VSM, combining traditional circuit analysis with an interactive interface, is a good example of system modeling in a PC. It takes a circuit created as a schematic and applies network analysis (lots of simultaneous equations) to predict its operation when constructed. For digital elements, logic modeling is needed, and then the analogue and digital domains are co-simulated. Component
characteristics and input variables are typically represented by 32-bit binary numbers, which correspond to decimal numbers in exponential form (as on a scientific calculator).
The processor needs to be able to manipulate these circuit variables simultaneously to represent the circuit conditions at a series of points in time. The output is calculated and displayed via animated circuit components or virtual instruments, or graphically. Numerous examples are to follow!