计算机组成原理-知识点随心记

知识点

Posted by Kingtous on September 6, 2019

指令系统

  • 堆栈

    push A
    push B
    ADD
    pop C
    
  • 累加器

    LOAD A
    ADD B
    STORE C
    
  • R-S

    LOAD R1,A
    ADD R1,B
    STORE C,R1
    
  • R-R

    • 只有store和add能访问内存
    LOAD R1,A
    LOAD R2,B
    ADD R3,R1,R2
    STORE C,R3
    

控制器的基本组成

  • 取指令(PC)
    • PC具有计数功能,$PC +1 \rightarrow PC$(1是指一个指令字节,实际可能加4,6等)
  • 分析指令(Intruction Register)
  • 执行指令(CU)

取数整个过程:

PC -> MAR ->存储体 -> MDR -> IR -> CU -> MAR(取指令数) -> 存储体 -> ACC

存数整个过程:

PC -> MAR ->存储体 -> MDR -> IR -> CU -> MAR(取地址) ->ACC -> MDR -> 存储体

机器字长

CPU一次能处理数据的位数

与CPU的寄存器的位数有关

运算速度

主频

  • 时钟频率

    每个时钟信号周期完成一步操作。并不是越高越快。

  • 吉普森法 其中$f_i$表示某种指令占全部操作的百分数,$τ_i$为其执行时间

Million Instruction Per Second

Cycle Per Instruction=$\frac{\mbox{测试程序的总时钟周期}}{\mbox{测试程序的指令总条数}}$

Instruction Per Cycle

Floating Point Operation Per Second

MFLOPS,GFLOPS,TFLOPS

加速比

  • 大概率事件优先

  • Amdahi定律(考研题)

    • 部件在计算机里越重要,加速比越大

      例题

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      
      # 定义
      # num_int 为程序int类型计算指令数
      # num_int_cyc 为int类型计算平均周期数
      num_int = 45000
      num_int_cyc = 1
      num_tran = 75000
      num_tran_cyc = 2
      num_float = 8000
      num_float_cyc = 4
      num_branch = 1500
      num_branch_cyc = 2
      computer_clock = 400000000 #MHz
      # 计算步骤
      all_num=(num_branch+num_float+num_tran+num_int)
      all_clock_cyc = num_int*num_int_cyc + num_tran*num_tran_cyc + num_float*num_float_cyc +num_branch*num_branch_cyc
      # 变量计算
      CPI = all_clock_cyc / all_num
      excution_time = all_clock_cyc / computer_clock
      MIPS = all_num / excution_time
      # 输出
      print("CPI:",CPI)
      print("MIPS:",MIPS/1000000,"MHz")
      print("excution_timeT:",excution_time*1000,"ms")
          
      """
      输出结果:
      CPI: 1.776061776061776
      MIPS: 225.21739130434784 MHz
      excution_timeT: 0.575 ms
      """
      

      ???授课PPT上的性能评价例题最后一题

  • 系统加速比依赖于

    • 可改进比例

      可改进系统运算时间比例。60s的程序中有20秒运算,比例则为20/60.

    • 部件加速比

芯片集成度:

  • 物理极限
  • 按几何级数递增的制作成本