the processor and main memory chapter 4, Exploring the Digital Domain The Development and Basic Organization of Computers
based on stored program design Processor memory input/output system –input/output devices –secondary storage Electronic Digital Computers Processor
manages the instruction-execution cycle FETCH – DECODE – EXECUTE coordinates the activities of other devices The Processor
(fast access) storage device for preserving binary data and instructions memory is divided into units or words each is usually a standard size or fixed- length each memory word has a unique address for random access Main Memory
Random Access Memory (RAM) –readable –writable –usually volatile (e.g., Dynamic RAM or DRAM) –general storage Read Only Memory (ROM) –readable –permanent –nonvolatile –special-purpose storage for data and instructions Main Memory
Temporary Holding Locations inside the Processor Let us talk about temporary holding locations inside the processor These locations can hold “address” or “data” or “instruction” while the same is being used For example, when we want to read the value stored at a memory location, we use an address This address is held in a processor register while it is being applied to the memory’s address decoding logic
The Processor and Main Memory
Some Registers PC: Always holds the address of the next instruction to be executed MAR: Always used by the processor when addressing the memory MDR: Data from the memory arrives here first IR: Instruction is held here while it is decoded and executed ACC: Scratch Register for ALU
Inside the Processor
memory address register memory address register Inside the Processor
memory address register memory address register memory data register memory data register Inside the Processor
memory address register memory address register memory data register memory data register program counter program counter Inside the Processor
memory address register memory address register instruction register instruction register memory data register memory data register program counter program counter Inside the Processor
memory address register memory address register instruction register instruction register memory data register memory data register program counter program counter arithmetic logic unit arithmetic logic unit Inside the Processor
memory address register memory address register instruction register instruction register memory data register memory data register program counter program counter accumulator (work register) accumulator (work register) arithmetic logic unit arithmetic logic unit Inside the Processor
memory address register memory address register instruction register instruction register memory data register memory data register program counter program counter accumulator (work register) accumulator (work register) arithmetic logic unit arithmetic logic unit system clock system clock Inside the Processor
1. address of the next instruction is transferred from PC to MAR 2. the instruction is located in memory 1. address of the next instruction is transferred from PC to MAR 2. the instruction is located in memory FETCH the instruction
3. instruction is copied from memory to MDR 3. instruction is copied from memory to MDR FETCH the instruction
instruction is transferred to and decoded in the IR instruction is transferred to and decoded in the IR DECODE the instruction
control unit sends signals to appropriate devices to cause execution of the instruction control unit sends signals to appropriate devices to cause execution of the instruction EXECUTE the instruction
Execute the Instruction The instruction is executed in the ALU ALU is a 2-input single output unit that can accept one or two operands and produce a result
Data Movement Operations –moving data from memory to the CPU –moving data from memory to memory –input and output Arithmetic and Logical Operations –integer arithmetic –comparing two quantities –shifting, rotating bits in a quantity –testing, comparing, and converting bits Types of Processor Operations
Program Control –starting a program –halting a program –skipping to other instructions –testing data to decide whether to skip over some instructions Types of Processor Operations