计算机体系结构

时间:2021-07-15 08:02:23

计算机体系结构(一)虚拟存储器

堆栈型替换算法

  • 1定义:
  • 2特点:随着分配给程序的主存页面增加,主存的命中率也要提高,至少不减少

命中率

  • 命中率与程序页面的访问顺序(页地址流)有关,和页面数目有关
  • 程序的页地址流与程序员编写的程序有关

页式虚拟存储器实现中的问题

  • 1页面失效的问题:
    出现原因:页面的划分是机械的等分,与程序的逻辑结构无关,可能造成跨页
    发生时间:一条指令的分析或执行过程中,是一种故障,必须马上处理
  • 2后援寄存器:
    把发生页面失效时指令的现场全部保存下来
    有的机器采用预判技术

提高虚拟存储器等效访问速度的措施

  • 1提高主存命中率
  • 2尽可能短的主存访问时间

快慢表

  • 快表:小容量,硬件实现
  • 慢表:快表中查不到,从慢表中查找按地址访问,软件实现
    散列函数
  • 目的:把相邻访问改成按地址访问

影响主存命中率和CPU效率的某些因素

颠簸现象:刚调出的页就被访问到了
影响主存命中率的因素:

  • 1程序执行过程中的页地址流分布情况
  • 2所采用的页面替换算法
  • 3页面大小:页面大小为某个值的时候,命中率最大
  • 4主存储器的容量:命中率随主存容量增大单调上升,到某个值后停止
  • 5所采用的页面调度算法:
    请求式(微机使用:用到的时候进行调入)
    预取式(大型计算机:把程序上次停止前用到的页面调入)

    高速缓冲存储器

    主要弥补主存速度的不足

地址的映像与变换

全相联映像
cache为什么快?cache全由硬件实现

LRU硬件算法实现替换:
堆栈法
比较对法

计算机系统结构(二)Cache

堆栈法

  • 用一个堆栈来记录组相联
  • 栈顶的是最近访问的,栈底是最久访问的
  • 寄存器堆栈可以从中间抽出,从上边压入,元素能依次下移(个人感觉类似双链表)
  • 堆栈的内容必须动态更新
  • 所需的硬件
  • 相联比较
  • 能全部下移
  • 速度较低,成本较高

比较对法

  • T_AB = 1则A比B先访问,否则B比A先访问
  • 需要触发器来实现,个数与比较对的数目相同

Cache存储器的透明性及性能分析

  • Cache存储器的透明性及性能分析
  • 写策略
  • 写直达法
  • 执行写的操作时,不仅写入Cache,也写入一级存储器
  • 写回法
  • 执行写操作时,只写入Cache,仅当块被改动的时候才写回主存,需要标志位
  • 减少写停顿的方法:写缓冲器

按写分配

  • 写不命中,先写到Cache,再调入
    不按写分配

2.Cache的取算法
3.预取:

  • 按需取:Cache不命中,取下一块
  • 恒预取:无论Cache是否命中,都把下一块去到Cache中
  • 不命中预取:Cache不命中,取本块和下一块

Cache的性能分析:
与命中率有关,命中率越高,提升的速度倍数越大

4.4三级存储体系

4.5存储系统的保护

区域保护:

  • 防止一个用户程序破坏其它程序或系统软件
  • 实现方法:
  • 界限寄存器方式:每个用户区域设置上下界
  • 特点:适用于用户区连续的情况
  • 页表保护:
  • 特点:是一种没有形成主存实地址前
  • 访问方式的保护:保证数据合法访问

重叠原理

重叠原理与一次重叠
访问主存的冲突
(1)操作数和指令分别存在两个独立编
多体交叉
指令缓冲寄存器