The operation of a memory unit was described in Sec. 2-7. The transfer of information from a memory word to the outside environment is called a read operation. The transfer of new information to be stored into the memory is called a write operation. A memory word will be symbolized by the letter M. The particular memory word among the many available is selected by the memory address during the transfer. It is necessary to specify the address of M when writing memory transfer operations. This will be done by enclosing the address in square brackets following the letter M.
Consider a memory unit that receives the address from a register, called the address register, symbolized by AR . The data are transferred to another register, called the data register, symbolized by DR . The read operation can be stated as follows:
Read: DR +- M[AR]
This causes a transfer of information into DR from the memory word M selected by the address in AR .
The write operation transfers the content of a data register to a memory word M selected by the address. Assume that the input data are in register Rl
R3 +-- R1 + R2 + 1
R2 is the symbol for the 1' s complement of R2. Adding 1 to the 1' s complement produces the 2' s complement. Adding the contents of R 1 to the 2' s complement of R2 is equivalent to R1 - R2.
The increment and decrement microoperations are symbolized by plusone and minus-one operations, respectively. These microoperations are implemented with a combinational circuit or with a binary up-down counter. The arithmetic operations of multiply and divide are not listed in Table 4- 3. These two operations are valid arithmetic operations but are not included in the basic set of microoperations. The only place where these operations can be considered as microoperations is in a digital system, where they are implemented by means of a combinational circuit. In such a case, the signals that perform these operations propagate through gates, and the result of the operation can be transferred into a destination register by a clock pulse as soon as the output signal propagates through the combinational circuit. In most computers, the multiplication operation is implemented with a sequence of add and shift microoperations. Division is implemented with a sequence of subtract and shift microoperations. To specify the hardware in such a case requires a list of statements that use the basic microoperations of add, subtract, and shift (see Chapter 10).