Using animated color graphics to illustrate software and hardware organizations (abstract only)

Computer color graphics is a powerful medium to illustrate abstract concepts and dynamic behavior of systems. It is especially effective to describe the operation of hardware and software systems.This discussion is based on my work on the use of animated color graphics to demonstrate the dynamic operation of digital hardware components, state machines, and concurrent processing concepts. In all these cases one deals with specific states, which can be color coded. The partially developed system has been used with success.The hardware demonstration part of the system uses the color codes red, for the logic level 1, and green, for the level 0. It displays the dynamic operation of logic gates, combinational circuits and sequential circuits. The sequential circuits are designed to use variable speed clock pulses and positive edge triggering. The system also includes data transfer mechanism between the registers and the bus in a computer, the function of a basic memory element, and the organization and operation of a RAM module. The primary benefit of these models is that one can follow through the logic levels at various points along the circuit under different input conditions.A screen display to illustrate how source registers are connected to the data bus using multiplexers, is shown in figure 1. The control lines x and y, select a register which put its contents on the data bus. In this illustration the registers are loaded with 5, 10, 12, and 3. The equivalent binary values are shown in dark (logic 1) and light (logic 0) boxes within the registers. Similarly, the logic levels of the data lines are also shown in dark and light shades. On the computer screen these logic levels appear in red and green colors. In figure 1 the data bus has the value from register B.The system also has the capability to show the generation of control functions during the execution of instructions. In this case all the CPU registers of a simple computer and its assembly language instructions are displayed side by side on the screen. The user may choose to enter his own program or can select a program from the data base. After giving the program, the user can execute each instruction using fetch, indirect, and execute cycles. During this execution, the register contents are updated. At the end of a cycle, the operator may switch to a 'hardware mode' in which the system displays the control unit along with the active binary signals and the resulting control function.In the case of a software system, it is first represented using state diagrams or Petri nets. Then different colors are use to show the different states of the system, during its operation. In a state diagram the active mode and the transition take red color, while the inactive branches take green color. Depending on the user input to the system, the active and inactive branches of the state diagram switch to the assigned color.These color coded dynamic models have been developed for the computer organization and software design courses at the Mississippi State University. These can be expanded to use as a design and debugging tool.