Академический Документы
Профессиональный Документы
Культура Документы
1. 2. 3. 4.
4 main components: Microprocessor Memory CPU Memory I/O Architecture Instruction cycle
Knowledge
of these components and their operation (interaction) offers insight into system bottlenecks, alternate pathways, magnitude of system failures, and opportunities for performance enhancement
The functions performed by the CPU: Fetch instructions Fetch data Process data Write data
Organizational requirements that are derived from these functions: ALU Control logic Registers Internal CPU bus
ALU: computation or processing of data (in the internal CPU memory only) Control logic: controls movement of data and instructions into/out of the CPU; and controls the operation of ALU Registers: internal temporary memory Internal CPU bus: Means to move data and instructions in and around the CPU
Memory in the computer system can be viewed in a hierarchy. (fig 3.3) Memory in CPU: registers.
2 main roles of registers:
1. 2.
To
minimize usage of main memory, controlled by machine or assembly-language program. be categorized into 4 main categories:
Can
General purpose Can be assigned a variety of functions Ideally, they are defined orthogonally to the operations within the instructions Data These registers only hold data
Address These registers only hold address information Examples: general purpose address registers, segment pointers, stack pointers, index registers Condition codes Visible to the user but values set by the CPU as the result of performing operations Example code bits: zero, positive, overflow Bit values are used as the basis for conditional jump instructions
General purpose registers maximize flexibility in instruction design Special purpose registers permit implicit register specification in instructions reduces register field size in an instruction No clear best design approach
More registers permit more operands to be held within the CPU -- reducing memory bandwidth requirements to some extent More registers cause an increase in the field sizes needed to specify registers in an instruction word Locality of reference may not support too many registers Most machines use 8-32 registers (does not include RISC machines)
Address registers should be wide enough to hold the longest address address! Data registers should be wide enough to hold most data types Would not want to use 64-bit registers if the vast majority of data operations used 16 and 32-bit operands Related to width of memory data bus Concatenate registers together to store longer formats
These
registers are used during the fetching, decoding and execution of instructions Many are not visible to the user/programmer Some are visible but can not be (easily) modified
Program counter Points to the next instruction to be executed Instruction register Contains the instruction being executed
Memory address register A special register containing the address of a word currently required
Memory data/buffer register Register of a computer's control unit that contains the contents of a register to fetch or store from or to the computer storage. Program status word(s) Superset of condition code register Interrupt masks, supervisory modes, etc. Status information