52高速缓冲存储器( Cache) 三地址映象与地址变换 地址映象 是指把主存储器地址空间映象到 Cache地址空 间,具体地说,就是把存放在主存储器中的指 令和数据按照某种规则装入 Cache中,并建立 主存储器地址与 Cache地址之间的对应关系。 地址变换 则是指当程序已经装入到 Cache中之后,在实 际运行过程中,将主存储器地址转换为 Cache 地址的过程
5.2 高速缓冲存储器(Cache) 三.地址映象与地址变换 ◼ 地址映象 是指把主存储器地址空间映象到Cache地址空 间,具体地说,就是把存放在主存储器中的指 令和数据按照某种规则装入Cache中,并建立 主存储器地址与Cache地址之间的对应关系。 ◼ 地址变换 则是指当程序已经装入到Cache中之后,在实 际运行过程中,将主存储器地址转换为Cache 地址的过程
52高速缓冲存储器( Cache) 全相联映象及变换 全相联映象方式 块0 块1 块0 块1 块i 块N-1 块M-1 Cache 主存储器 主存储器中的任意一块可以映象到 Cache中的任意一块上
5.2 高速缓冲存储器(Cache) 1.全相联映象及变换 • 全相联映象方式 Cache 块0 块1 ┇ 块N-1 主存储器 块M-1 ┇ 块i ┇ 块1 块0 主存储器中的任意一块可以映象到 Cache中的任意一块上
52高速缓冲存储器( Cache) 全相联映象方式的地址变换过程 主存地址 块号B 块内地址W 相联比较| Cache地址 块号b 块内地址w 命中 为 表示映 B 象关系 有为 效 0”, 表示映 主存块号B BTCh块号b数包 象关 目录表(存放在相联存储器中)
5.2 高速缓冲存储器(Cache) • 全相联映象方式的地址变换过程 命中 Cache地址 主存地址 相联比较 目录表(存放在相联存储器中) 块号B 块内地址W 块号b 块内地址w B b 1 主存块号B Cache块号b 有效位 为“1” , 表示映 象关系 有效; 为“0” , 表示映 象关系 无效
52高速缓冲存储器( Cache) 当CPU要访问 Cache时送出主存地址, Cache 的控制逻辑用主存地址中的块号B与目录表中 的主存块号字段进行相联比较。 如果发现有相等的,表示要访问的数据已经被 装入到 Cache里了,称为命中。 如果在相联比较中没有发现相等,表示要访问 的那个块不在 Cache中,也称为未命中 优点:块冲突小,控制简单, Cache的利用率 高。 ■缺点:需相联存储器
5.2 高速缓冲存储器(Cache) ◼ 当CPU要访问Cache时送出主存地址,Cache 的控制逻辑用主存地址中的块号B与目录表中 的主存块号字段进行相联比较。 如果发现有相等的,表示要访问的数据已经被 装入到Cache里了,称为命中。 如果在相联比较中没有发现相等,表示要访问 的那个块不在Cache中,也称为未命中。 ◼ 优点:块冲突小,控制简单,Cache的利用率 高。 ◼ 缺点:需相联存储器
52高速缓冲存储器( Cache) 2.直接映象方式及其地址变换 ■直接映象方式 主存储器 块0 块 区0 块N-1 Cache 块N 块0 块N+1 区 块1 2N-1 块N 「块KN 块KN+1 区K 快(K+1)N-1
5.2 高速缓冲存储器(Cache) 2.直接映象方式及其地址变换 ◼ 直接映象方式 块0 块1 块N-1 块0 块1 块N-1 块N 块N+1 块2N-1 块KN 块KN+1 块(K+1)N-1 区0 区1 区K Cache 主存储器