Back to 课程

Computer-science_A-level_Cie

0% Complete
0/0 Steps
  1. computers-and-components
    6 主题
  2. logic-gates-and-logic-circuits
    2 主题
  3. central-processing-unit-cpu-architecture
    6 主题
  4. assembly-language-
    4 主题
  5. bit-manipulation
    1 主题
  6. operating-systems
    3 主题
  7. language-translators
    2 主题
  8. data-security
    3 主题
  9. data-integrity
    1 主题
  10. ethics-and-ownership
    3 主题
  11. database-concepts
    3 主题
  12. database-management-systems-dbms-
    1 主题
  13. data-definition-language-ddl-and-data-manipulation-language-dml
    1 主题
  14. computational-thinking-skills
    1 主题
  15. algorithms
    14 主题
  16. data-types-and-records
    2 主题
  17. arrays
    2 主题
  18. files
    1 主题
  19. introduction-to-abstract-data-types-adt
    1 主题
  20. programming-basics
    1 主题
  21. constructs
    2 主题
  22. structured-programming
    1 主题
  23. program-development-life-cycle
    2 主题
  24. program-design-
    2 主题
  25. program-testing-and-maintenance
    3 主题
  26. user-defined-data-types
    1 主题
  27. file-organisation-and-access-
    3 主题
  28. floating-point-numbers-representation-and-manipulation
    3 主题
  29. protocols
    2 主题
  30. circuit-switching-packet-switching
    1 主题
  31. processors-parallel-processing-and-virtual-machines
    5 主题
  32. boolean-algebra-and-logic-circuits
    4 主题
  33. purposes-of-an-operating-system-os
    3 主题
  34. translation-software
    3 主题
  35. encryption-encryption-protocols-and-digital-certificates
    3 主题
  36. artificial-intelligence-ai
    4 主题
  37. recursion
    1 主题
  38. programming-paradigms
    4 主题
  39. object-oriented-programming
    7 主题
  40. file-processing-and-exception-handling
    2 主题
  41. data-representation
    5 主题
  42. multimedia
    3 主题
  43. compression
    2 主题
  44. networks-and-the-internet
    11 主题
课 Progress
0% Complete

F-E stages

What is the fetch-execute cycle?

  • The fetch-execute cycle is the process that the CPU goes through repeatedly to process instructions

  • There are 3 stages:

    • Fetching an instruction from memory – supplying the address and receiving the instruction from memory

    • Decoding the instruction – interpreting the instruction and then reading and retrieving the required data from their addresses

    • Executing the instruction – the CPU carries out the required action

the-cpu

How are registers used in the fetch-execute cycle?

  • In the section below, registers and CPU components appear in bold and assembly language is in italics

  • During the fetch-execute cycle, the following steps happen:

  • Fetch

    • The PC is loaded with 0

    • The value from the PC (0) is copied to the MAR

    • The address in the MAR is sent via the address bus, and a read instruction is sent on the control bus

    • The data from that memory location is sent down the data bus to the MDR

    • The PC is incremented by 1, ready for the next instruction

  • Decode

    • The data from the MDR is copied to the CIR

    • The CIR splits the instruction into opcode and operand

    • The instruction is sent to the CU, which decodes what to do next

  • Execute

    • The registers used will depend on the instruction:

      • INP – value from input device is stored in the ACC

      • OUT – value currently in the ACC is sent to the output

      • LDA – loads value from RAM into the MDR, then to the ACC

      • STA – takes the value from the ACC, moves it to the MDR, then stores it in RAM (location in MAR)

      • ADD/SUB – value in RAM is loaded into the MDR, then the calculation happens in the ALU, result stored in the ACC

      • BRA/BRZ/BRP – branching instructions are handled by the ALU to check if conditions are met, and the PC is updated accordingly

Register Transfer Notation (RTN)

  • Register Transfer Notation (RTN) is a way of describing how data moves between registers in a CPU during the fetch–execute cycle

  • It uses symbols to represent registers, and the arrow symbol to show data being transferred from one place to another

  • It is a shorthand way to show what’s happening inside the CPU

Symbol

Meaning

Data is transferred into a register

PC

Program Counter

MAR

Memory Address Register

MDR

Memory Data Register

CIR

Current Instruction Register

ACC

Accumulator

RAM[ ]

Memory location (RAM[address])

Fetch

MAR ← PC ; Copy address from Program Counter to MAR

MDR ← RAM[MAR] ; Read instruction from memory into MDR

PC ← PC + 1 ; Increment PC for the next instruction

CIR ← MDR ; Copy instruction from MDR to CIR

Decode

  • No specific register transfer, the CU decodes the instruction in the CIR

Execute examples

  • LDA X (Load value from memory location X into ACC):

MAR ← operand ; Load address X into MAR

MDR ← RAM[MAR] ; Load data from RAM into MDR

ACC ← MDR ; Copy data into ACC

  • STA X (Store value from ACC into memory location X):

MAR ← operand ; Load address X into MAR

MDR ← ACC ; Copy data from ACC to MDR

RAM[MAR] ← MDR ; Store MDR value into memory

  • ADD X (Add value from memory location X to ACC):

MAR ← operand

MDR ← RAM[MAR]

ACC ← ACC + MDR

  • BRZ X (Branch to X if ACC = 0):

If ACC = 0 then PC ← operand

Responses

您的邮箱地址不会被公开。 必填项已用 * 标注