计算机组成原理(五)

简介: 计算机组成原理(五)

3.理解主存储器与CPU的连接原理;

 主存通过数据总线、地址总线和控制总线与CPU连接;

 数据总线的位数与工作频率的乘积正比于数据传输率;

 地址总线的位数决定了可寻址的最大内存空间;

 控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻。


47b12c15b20a420f89fdef7a81502820.png


4.掌握Cache的功能、基本原理和命中率计算方法;

Cache存储阵列由高速存储器构成,用于存放主存信息副本,容量小于主存,编址方式、物理单元长度均与主存相同;

功能:提高存储器的平均访问速度,从而使存储器的速度和CPU的速度相匹配。

原理:程序访问的局部性;

命中率计算方法:CPU要访问的内容在Cache中的比率;Cache命中率一般高于85%

 总命中次数为Nc,访问主存次数为Nm,CPU访问Cache的命中率为H:H=Nc/(Nc+Nm)

 命中率与程序行为、Cache的容量、Cache的组织和地址映射方式、块的大小有关。


5.理解Cache的几种地址映射的原理和特点;

Cache中存放数据的部分称为数据Cache,存放指令的部分称为指令Cache,二者统称内容Cache;

Cache中有专门实现主存地址与Cache地址映像的机构,一般由相联存储器组成,其中记录主存内容存入Cache时两者地址对应关系的部件称为标识Cache;

替换策略实现机构是在Cache未命中又没有空闲空间是,按照某种替换算法,调出某一Cache块,然后从内存中装入所需的块;

直接映像方式:

 任何一块主存块只能复制到某一固定的Cache块中;

 当CPU访存时,给出20位主存地址,高14位是主存块号(高6位是主存区号,低8位是区内块号即Cache块号,用于实现与Cache间的地址映像与变换),低6位是块内的字节地址;

 主存块在Cache中的位置固定,一个主存块只能对应一个Cache块,故标识Cache中只需存储每一个块所对应的主存区号;

 访存时,以主存块号为地址定位到标识Cache的相应位置,将主存中的区号与标识Cache中的区号好比较,

   若一样,则Cache命中,主存块号和块内地址变换为Cache块号和块内地址;

   若不同,则表示所需块未装入Cache,此时需要将所需块从主存复制到Cache中并修改对应的标识Cache。

 特点:硬件实现简单,地址变换速度快,主存块在Cache中位置固定,没有替换策略问题,块的冲突率高,Cache利用率降低。

全相联映像方式:

 任意主存单元的数据或指令可以存放到Cache的任意单元中去;

 进行地址变换时,主存地址被分为两部分,高14位为主存块号,低6位为块内地址。Cache标记也为14位,用于指示装入Cache对应块中的主存块号;

 访存时,主存块号也Cache标记相联比较,

   若一样,则表示被访主存块已装入Cache,根据Cache块号访问Cache;

   若不同,则被访主存块未复制到Cache中,

     若此时Cache中有空块,则从主存调入所需块并建立标记;

     若Cache中无空块,则淘汰某一Cache块,再调入新快并修改Cache标记。

 特点:空间利用率高,只有Cache中的块全部装满后才会出现块冲突,块冲突概率小,硬件逻辑复杂,价格高;

组相联映像方式:

 将Cache进行分组,每组块数固定,主存按照Cache的块尺寸分割成若干块。主存中的任何一块只能存放到Cache中的某一固定组中,但存放在该组的哪一块是灵活的;

 12位Cache地址分为3部分,6位组号,2位组内块号和6位块内地址;

 20位主存地址高14位为块号(高8位作为标记存储在表示Cache中,低6位为所在的Cache组号),低6位为块内地址;

 标识Cache中存放每块对应的Cache组内块号,便于地址映像机构形成Cache地址。组的映像是直接映像,主存块号的低6位可以直接作为Cache的组号,不用在表示Cache中指明;

 访存时,地址先被分为两部分,14位块号(8位标记和6位Cache组号)和6位块内地址,根据主存地址中的组号查找表示Cache,在标识Cache中将对应组的4个标记与主存地址中的相联比较,

   若一样,则Cache命中,将匹配块的Cache组内块号取出与主存地址中的组号和块内地址拼接得到访问内容的Cache地址;

   若不同,则未命中,对主存进行访问,将主存中的块调入Cache,将主存地址中的标记写入标识Cache,改变地址映像关系;

 Cache中组的大小为1,则组相联映像就变成直接映像。若Cache只有一个组,则组相联映像就变成全相联映像;

 用多个相等比较器来代替相联访问,以加快查表的速度,这种组相联映像方式称为多路组相联,如:每组中有4块,就被称为四路组相联。


6.理解Cache的几种替换算法;理解Cache的写操作策略;

Cache刷新:Cache存放满了之后,必须要替换掉Cache一个块中的数据或指令,来存放新的数据或指令;

替换算法:

 最近最久未使用算法LRU:将近一段时间内CPU最久未使用的数据替换掉;

 最近最少使用算法LFU:让Cache控制器记录Cache中每块数据最近使用的次数,替换最近使用次数最少的数据块;

 随机替换算法;

 顺序替换算法;

 先进先出替换算法FIFO;

Cache写策略:

 写直达法:数据被同时写入主存和Cache中,保证了内存中的数据总是最新的,但是增加了CPU占用系统总线的时间;

 写回法:CPU将最新的数据写入Cache中,不写入内存,仅当Cache要替换数据时才写入内存。Cache中增加了一位状态位,称为修改位。要替换数据时先查看修改位,

   若修改位为0,则Cache中的数据未修改过可以直接舍弃;

   若修改位为1,则Cache中的数据是新数据,需要写入内存,然后修改位清0。写回法必要时才更新内存的内容,减少CPU占用系统总线的时间。


目录
相关文章
【计算机组成原理】计算机组成原理(三)
计算机组成原理(三) 奇偶校验码: 校验原理:
91 0
|
6月前
|
存储
【计算机组成原理】指令系统
【计算机组成原理】指令系统
219 0
【计算机组成原理】指令系统
|
C语言
【计算机组成原理】综合测试
【计算机组成原理】综合测试
144 0
|
C语言
计算机组成原理相关知识
计算机组成原理相关知识
103 0
|
存储 算法 芯片
|
存储 编译器 图形学
计算机组成原理(三)
计算机组成原理(三)
138 0
|
存储 芯片 内存技术
计算机组成原理(四)
计算机组成原理(四)
176 0
|
存储
计算机组成原理(二)
计算机组成原理(二)
148 0
|
存储 开发框架 Unix
计算机组成原理(一)
计算机组成原理(一)
112 0