The Central Processor Unit

The Central Processor Unit

Systems Architecture The Central Processing Unit The Central Processing Unit – p. 1/11 The Computer System Application High-level Language Operating System Assembly Language Machine level Microprogram Digital logic Hardware / Software Interface The Central Processing Unit – p. 2/11 CPU Structure External Memory MAR: Memory MBR: Memory Address Register Buffer Register Address Incrementer R15 / PC R11 R7 R3 R14 / LR R10 R6 R2 R13 / SP R9 R5 R1 R12 R8 R4 R0 User Registers Booth’s Multiplier Barrel IR Shifter Control Unit CPSR 32-Bit ALU The Central Processing Unit – p. 3/11 CPU Registers Internal Registers Condition Flags PC Program Counter C Carry IR Instruction Register Z Zero MAR Memory Address Register N Negative MBR Memory Buffer Register V Overflow CPSR Current Processor Status Register Internal Devices User Registers ALU Arithmetic Logic Unit Rn Register n CU Control Unit n = 0 . 15 M Memory Store SP Stack Pointer MMU Mem Management Unit LR Link Register Note that each CPU has a different set of User Registers The Central Processing Unit – p. 4/11 Current Process Status Register • Holds a number of status flags: N True if result of last operation is Negative Z True if result of last operation was Zero or equal C True if an unsigned borrow (Carry over) occurred Value of last bit shifted V True if a signed borrow (oVerflow) occurred • Current execution mode: User Normal “user” program execution mode System Privileged operating system tasks Some operations can only be preformed in a System mode The Central Processing Unit – p. 5/11 Register Transfer Language NAME Value of register or unit ← Transfer of data MAR ← PC x: Guard, only if x true hcci: MAR ← PC (field) Specific field of unit ALU(C) ← 1 (name), bit (n) or range (n:m) R0 ← MBR(0:7) Rn User Register n R0 ← MBR num Decimal number R0 ← 128 2_num Binary number R1 ← 2_0100 0001 0xnum Hexadecimal number R2 ← 0x40 M(addr) Memory Access (addr) MBR ← M(MAR) IR(field) Specified field of IR CU ← IR(op-code) ALU(field) Specified field of the ALU(C) ← 1 Arithmetic and Logic Unit The Central Processing Unit – p. 6/11 Control Unit • Controls operation of CPU • Decodes op-code field of IR • Two methods of implementation: Microcode: Random Logic: • Fairly slow • Very fast • Easy to design • Difficult to design • Very flexible • Fixed design The Central Processing Unit – p. 7/11 Control Unit Implementation • Microcode CPU within a CPU Execute RTL-like microinstructions op-code is pointer to microcode program Has own microprogram ROM and CU microCU implemented in random logic • Random Logic Not Random rather different for each design op-code decoded directly by boolean logic All CPU control via boolean logic using control, data, and address busses The Central Processing Unit – p. 8/11 Assembler Code Terminology Mnemonic Label / Directive Operands Comment z }| { z }| { z }| { z }| { Main MOV r0, #0 ; move 0 into R0 label Give a name to the location of the instruction mnemonic Human readable name given to an instruction MOV (Move) or LDR (Load Register) operands Arguments for a given instruction effective address (Data or Memory) directive Instructions to the assembler END (End of program source) The Central Processing Unit – p. 9/11 Fetch / Execute Cycle To perform a function the CPU must first fetch the instruction from the main store before it can execute it. For the instruction adds r0, r1, #2 the CPU would execute: FETCH MAR ← PC move contents of PC to MAR PC ← PC + 4 increment contents of PC MBR ← M(MAR) read instruction from memory IR ← MBR move instruction to IR CU ← IR(op-code) move op-code from IR to CU EXECUTE ALU(0) ← R1 load ALU from R1 ALU(1) ← IR(op2) load ALU from second operand ALU(cmd) ← add ask ALU to add values R0 ← ALU(ans) copy answer to R0 hSi: CPSR ← ALU(flags) copy flags to PSR The Central Processing Unit – p. 10/11 Instruction Format • All instructions include an operation code (op-code) field • Instructions fall into different “groups” • Each group of instructions has a different format • Instructions groupings in order of use: Data Movement 45.28% Logical 3.91% Flow Control 28.73% Shift 2.92% Arithmetic 10.75% Bit Manipulation 2.05% Compare 5.92% I/O & Others 0.44% The Central Processing Unit – p. 11/11.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us