Chapter 7 (Complete)
volatile memory
Volatile memory loses its contents when power is removed. The RAM used for regular memory is volatile. Both dynamic and static RAMs are volatile: their contents are lost when power is turned off.
address field
used in various ways: for most instructions, contained the two-digit address where data for the instruction could be found (e.g., LOAD) or was to be placed (STORE).
multipoint bus
Alternatively, a bus may be used to connect several points together. Such a bus is known as a multipoint bus, or sometimes as a multidrop bus.
Accumulator
In the CPU, the equivalent to the calculator
Memory
In the real computer, memory is actually separated both physically and functionally from the CPU.
logical shift
Logical shift instructions simply shift the data as you would expect, and zeros are shifted in to replace the bit spaces that have been vacated.
stack pointer
points to the "top" of the stack, that is, the most recent entry.
nonvolatile memory
retains its values when power is removed
shift operation
shift instructions move the data bits left or right one or more bits.
memory data register (MDR)
sometimes known as the memory buffer register, will hold a data value that is being stored to or retrieved from the memory location currently addressed by the memory address register.
instruction pointer
Also known as Program counter, which is a part of control unit. Contains the address of the current instruction
half-duplex line
A bidirectional line may carry data one direction at a time
point-to-point bus
A bus that carries signals from a single specific source to a single specific destination
broadcast bus
A bus that may be used to connect several points together. Such a bus is known as a multipoint bus, or sometimes as a multidrop bus.
memory management unit
A memory management unit within the control unit supervises the fetching of instructions and data from memory
Register
A register is a single, permanent storage location within the CPU used for a particular, defined purpose.
Stack
A stack is used to store data when the most recently used data will also be the first needed.
simplex line
A unidirectional line
Skew
Additionally, there is a slight difference in time delay on different lines, known as skew, as signals traverse the bus.
arithmetic shift
Arithmetic shift instructions are commonly used to multiply or divide the original value by a power of 2.
general-purpose register
As a result, modern CPUs provide several accumulators.
fetch-execute instruction cycle
As noted, much of the procedure consists of copying data from one register to another. You should always be aware that data copying does not affect the "from" register, but it obviously replaces the previous data in the "to" register with the new data being copied.
Firmware
At least some of the program code used to start a computer must be present in a nonvolatile segment of primary memory. (Otherwise there would be no program in memory to execute when the computer is powered up!)
privileged instruction
Because the operating system will frequently be controlling many tasks and users, these instructions must not be available to the users' application programs. Only the operating system can execute these instructions.
parallel bus
By definition, a parallel bus is simply a bus in which there is an individual line for each bit of data, address, and control being used. This means that all the bits being transferred on the bus can be transferred simultaneously.
Program Status Word (PSW)
Combination program counter and status-flag register, called the Program Status Word (PSW)
line (bus)
Each conductor in the bus
flash memory
Foremost among current nonvolatile memory technologies. Serves as an inexpensive form of nonvolatile secondary storage for portable computer storage, digital cameras, tablets, smartphones, and other electronic devices; however, with the exception of the memory used at system startup (see below), it is generally considered unsuitable for primary memory because it is not possible to write to a single memory location.
register file
Groups of similar registers are also sometimes referred to collectively as a register file.
SIMD
Multiple data instructions perform a single operation on multiple pieces of data simultaneously. For this reason they are also commonly known as SIMD instructions. As we noted earlier, SIMD stands for Single Instruction, Multiple Data. The SIMD instructions provided on current Intel processors are typical.
Saturation
One interesting characteristic of some multimedia arithmetic operations is that when the result of a calculation meets or exceeds a certain maximum value, the result is simply set to the maximum value, instead of overflowing.
application-level instructions
Other privileged instructions include memory management instructions, encryption and decryption instructions, and system administration instructions. Some computers provide multiple levels of protection. The instructions available to users are sometimes known as application-level instructions.
program counter (PC)
Part of control unit. (PC or IP ) Holds the address of the current instruction being executed.
Cable
Point-to-point buses that connect an external device to a connector
user space
Programs that execute without privileges are said to execute in user space.
RAM
RAM is an acronym that stands for random access memory, which is a slight misnomer, since other types of semiconductor memory can also be accessed randomly (i.e., their addresses can be accessed in any order). A more appropriate name would be read-write memory.
ROM
ROM, or read-only memory, is used for situations such as this, where the software is built semipermanently into the computer, is required as part of the computer's software, and is not expected to change over the life of the computer, except perhaps very infrequently.
bus protocol
Recall from Chapter 1 that a protocol is an agreement between two or more entities that establishes a clear, common path of communication and understanding between them. A bus protocol is simply a specification that spells out the meaning of each line and each signal on each line for this purpose.
rotate operation
Rotate instructions also shift the data bits left or right, but the bit that is shifted out of the end is placed into the vacated space at the other end.
user-accessible instructions
Same as Application Level instructions
program-visible register
Some vendors also refer to general-purpose registers as user-visible or program-visible registers to indicate that they may be accessed by the instructions in user programs.
user-visible register
Some vendors also refer to general-purpose registers as user-visible or program-visible registers to indicate that they may be accessed by the instructions in user programs.
static RAM
Static RAM does not require refreshing. Static RAM is also faster to access than dynamic RAM and is therefore useful in very-high-speed computers and for small amounts of high-speed memory, but static RAM is lower in bit density and more expensive.
central processing unit (CPU)
The ALU and CU together, an input/output (I/O) interface is also included.
bus interface unit
The I/O interface is also part of the control unit. In some CPUs, these two functions are combined into a single bus interface unit.
arithmetic/logic unit (ALU)
The arithmetic/logic unit is the component of the CPU where data is held temporarily and where calculations take place. It corresponds directly to the calculator in the Little Man Computer.
control unit (CU)
The control unit controls and interprets the execution of instructions. It does so by following a sequence of actions that correspond to the fetch-execute instruction cycle that was described in the previous chapter. Most of these actions are retrievals of instructions from memory followed by movements of data or addresses from one part of the CPU to another.
program counter register
The control unit determines the particular instruction to be executed by reading the contents of a program counter (PC), sometimes called an instruction pointer (IP), which is a part of the control unit. Like the Little Man's location counter, the program counter contains the address of the current instruction or the next instruction to be executed.
Flag
The control unit will also contain several 1-bit registers, sometimes known as flags, that are used to allow the computer to keep track of special conditions such as arithmetic carry and overflow, power failure, and internal computer error.
addressing modes
The different ways of establishing memory addresses within an instruction
Port
The internal connectors into which external cables can be plugged
CALL and RETURN instructions
The machine language CALL instruction works the same way. A jump to the starting location of the subprogram occurs, and execution continues from that point. The only difference between a CALL instruction and a normal BRANCH instruction is that the CALL instruction must also save somewhere the program counter address from which the jump occurred, so that the program may return to the instruction in the calling program following the call after the subprogram is completed. The RETURN instruction restores the original value to the program counter, and the calling program proceeds from where it left off. Operation of the CALL and RETURN instructions are illustrated in Figure 7.12.
Bus
The physical connection that makes it possible to transfer data from one location in the computer system to another is called a bus.
Operands
The sources and destinations of data for an instruction
status register
Usually, several flags are grouped into one or more status registers.
memory-mapped I/O
We note in passing that some computers do not provide I/O instructions. Instead, memory addresses outside the range of normal memory are used to identify the various device I/O addresses. Then, LOAD and STORE instructions are automatically redirected to the appropriate devices for input and output, respectively.
Multiplex
What this means is that the same line is used for both address and data at different times; if an address is required, for example, the address might be sent first, one bit at a time, followed by the data.
serial bus
a bus in which data is transferred sequentially, one bit at a time, using a single data line pair.
instruction register (IR)
holds the actual instruction being executed currently by the computer. In the Little Man Computer, this register was not used; the Little Man himself remembered the instruction he was executing.
memory address register (MAR)
holds the address of a memory location.
full-duplex line
in both directions simultaneously
explicit source address
is address fields in the instruction word. Explicit addresses in the Little Man Computer are always memory addresses (Like the LOAD instruction).
dynamic RAM
is less expensive, requires less electrical power, generates less heat, and can be made smaller, with more bits of storage in a single integrated circuit. Dynamic RAM also requires extra electronic circuitry that "refreshes" memory periodically; otherwise the data fades away after a while and is lost.
implicit (source address)
is part of the definition of the instruction itself. The destination address in this case is implicit: this instruction always uses the accumulator register as a destination. The Little Man ADD and SUBTRACT instructions require two sources and a destination.