chapters and topics.They include the numbersystems, data routing circuits (adders/subtractors),timing, instructions, and operand/registers.In this topic, we discuss the instructions, timing,and operand/registers and how they apply to the ALUand the ALU operations. Figure 5-14 shows arepresentative block diagram of an ALU of amicrocomputer. Chapter 4 of this volume and NEETSModule 13, Introduction to Number Systems and LogicCircuits, provide a review of number systems,adder/subtracter circuits, timing, instructions, andoperands/registers. Also refer to NEETS 13 for detailedinformation of the types of number systems andinformation basic to all number systems; theiridentification, operations (addition and subtractionincluding radix-minus-1 complement andradix-minus-2 complement computations), andconversion. They are discussed in more detail, and itwould benefit you to review them to gain a betterunderstanding of how they apply in the ALUoperations.INSTRUCTIONSThe instructions tell the CPU which type ofmathematical or logical calculation the ALU willperform. They will also tell the CPU the location of thedata on which the ALU will perform the calculationsand where to store the results. Results can be usedimmediately or stored for use later. Special codeswithin the instructions can also affect arithmetic orlogical operations. They can be used for branching orsetting flag registers.TIMINGFigure 5-14.—Representative block diagram of an ALU.Timing in the ALU is provided by the CPU’s timingcircuits. Larger computers have their own arithmetictiming circuits independent of the CPU’s timingcircuits. In this case, arithmetic timing is initiated by acommand from the CPU’s main timing chain and thelength of the arithmetic timing chain is dependent uponthe specific instruction.OPERANDS/REGISTERSThe registers and operands provide the computerthe sources of the data needed to perform thecalculations. They also provide the destination forresults. Computers can be designed to include the useof whole-word,half-word, and quarter-wordoperands and the use of single-length a n ddouble-length word/operands to carry out thearithmetic operations. Double-length memory wordsor operands will be used for mathematical operations inwhich the size of the result would be greater than thelength of either of the two registers used to provideinputs to the ALU or the operands being input to theALU are larger than a single word. The sign bit indouble-length memory words or operands is the mostsignificant bit (msb). Flag registers of one to three bitsmay be used by the ALU to indicate the status of the lastarithmetic or logical operation. The last arithmetic orlogical calculation used to set a flag register is oftenfollowed by a branching operation. Some of the itemsindicated by flag registers include the following:Equal to zero (= 0)Greater than (>Less than (<)Positive sign (+)Negative sign (–)Carry or borrowOverflowOther items used in the ALU include selectors andcounters. The selectors are used to transfer the databetween the various registers (accumulators) used in theALU. Counters are used to keep track of shifts used inthe various arithmetic and logical calculations.5-19