中都

风习袅袅,盈水展千华,飞檐亭角清铃响。犹记当初,你回眸莞尔,一笑倾城百日香。

博客园 首页 新随笔 联系 订阅 管理

六、计算机的高速缓存

1、高速缓存的工作原理

  • 字:指存放在一个存储单元中的二进制代码的组合;
  • 字块:存储在连续的存储单元中而被看作是一个单元的一组字;

 

例题:假设主存用户空间容量为 4G,字块大小为 4M,字长为 32 位,则对于地址中块地址 m 和 块内地址 b 的位数,至少应该为多少?
4G = 4096M
字块数: 4096 ÷ 4 = 1024 个
字块地址m:log₂1024 = 10
块内字数:4M ÷ 32bit = 1048576
块内地址:log₂1048576 = 20
所以: m ≧ 10,b ≧ 20

  • 命中率是衡量缓存的重要性能指标,访问效率也是一个性能指标;
  • 理论上CPU每次都能从高速缓存存取数据的时候,命中率为1;

2、高速缓存的替换策略

缓存的替换策略

  • 随机算法
  • 先进先出算法(FIFO)
  • 最不经常使用算法(LFU)
  • 最近最少使用算法(LRU)
 
Ⅰ 先进先出算法(FIFO)
算法的基本思想是,总是先淘汰那些驻留在内存时间最长的页面,即先进入内存的页面先被淘汰。这种算法实现起来比较简单,性能最差。
 
Ⅱ 最不经常使用算法(LFU)
  1. 优先淘汰掉最不经常使用的字块;
  2. 为了找出最不经常使用的字块,所以需要一个额外的空间来记录字块的使用频率;
 
Ⅲ 最近最少使用算法(LRU)
该算法是选择最近最久未使用的页面予以淘汰,系统在每个页面设置一个“计时”标记,用以记录这个页面自上次被访问以来所经历的时间T,当要淘汰一个页面时,选择T最大的页面。

 

 

七、计算机的指令系统

1、机器指令的形式

  • 主要由两个部分组成:操作码(指明指令需要完成的操作,操作码的位数反应了机器的操作种类)、地址码(给出操作数或者操作数地址,分三地址指令、二地址指令、一地址指令,就是说地址码字段有几个地址);
 

2、机器指令的操作类型

  • 数据左移(乘2)、数据右移(除2),完成数据在算术逻辑单元的必要操作;
  • 等待指令、停机指令、中断指令、空操作指令等;
 
控制指令、移位操作、算术逻辑操作指令、数据传输指令;
 

3、机器指令的寻址方式

  • 指令寻址(顺序寻址、跳跃寻址);
  • 数据寻址(立即寻址、直接寻址、间接寻址);
 
Ⅰ 立即寻址:
  • 指令直接获得操作数
  • 无需访问存储器
 
Ⅱ 直接寻址:
  • 直接给出操作数在主存的地址
  • 寻找操作数简单,无需计算操作数的地址
 
Ⅲ 间接寻址:
  • 指令地址码给出的是操作数地址的地址;
  • 需要一次或多次主存来获取数据;

八、计算机的控制器

 

 

  • 程序计数器:程序计数器用来存储下一条指令的地址,循环从程序计数器中拿出指令,当指令被拿出时,指向下一条指令;
  • 时序发生器:用于发送时序脉冲,CPU根据不同的时序脉冲有节奏的进行工作;
  • 指令译码器:计算机指令由操作码和地址码组成,指令译码器翻译操作码对应的操作及控制传输地址码对应的数据;
  • 指令寄存器:从主存或高速缓存取计算机指令;
  • 主存地址寄存器:保存当前CPU正要访问的内存单元的地址;
  • 主存数据寄存器:保存当前CPU正要读或写的主存数据;
  • 通用寄存器:拥有暂时存放或传送数据或指令,可保存ALU的运算中间结果,容量比一般的专用寄存器大

九、计算机的运算器

  • 数据缓冲器:分为输入缓冲和输出缓冲,输入缓冲暂时存放外设送过来的数据,输出缓冲暂时存放送往外设的数据;
  • ALU:算术逻辑单元,运算器的主要组成部分,常见的位运算(左右移、与或非等),算术运算(加减乘除等);
  • 通用寄存器:拥有暂时存放或传送数据或指令,可保存ALU的运算中间结果,容量比一般的专用寄存器大
  • 状态字寄存器:存放运算状态(条件码、进位、溢出、结果正负等),存放运算控制信息(调试跟踪标记位、允许中断等);

十、计算机指令的执行过程

1、指令的执行过程

注意:这样的指令执行过程,控制器和运算器不能同时工作,导致CPU的综合利用率并不高(所以引入了CPU的流水线设计);
 

2、CPU的流水线设计

 

 

posted on 2021-04-01 21:31  中都  阅读(565)  评论(0)    收藏  举报
Live2D