开发者学堂课程【高校精品课-大连理工大学-计算机组织与结构:E906的存储系统】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/3/detail/16053
E906的存储系统
内容介绍
一、高速缓存
二、指令高速缓存
三、内存模型
四、内存暂存特性
一、高速缓存
ロE906采用哈佛结构的一级缓存,包含独立的指令高速缓存和
数据高速缓存
ロ处理器复位后,指令和数据 Cache 会自动进行无效化操作,指令和数据 Cache 默认关闭。E906扩展了对 Cache 操作的相关控制指令。
高速缓存就是在CPU内部设计一块由静态的随机存储器构成的存储区域,他会把内存当中一块内容提前放到高速缓存中,CPU 无论取值还是取数据,优先从高速缓存中去寻找,一旦命中就可免去访问慢速的内存,这样可以大幅提高系统的工作速度,这就是它的基本的原理。高速缓存也称作 Cache。E906采用了哈佛结构的一级缓存,指令cache和数据 cache 分开,这个叫做哈佛结构,包含独立的指令高速缓存和数据高速缓存。指令开始和数据开始这二者是分立的处理器,复位以后指令和数据开始会自动进行无效化操作,把里面的内容全清空指令和数据开始默认是关闭的,E906还扩展了对 cache 操作的相关控制指令。
实际上对一般程序员来说是透明的,不需要去控制它是由硬件自动做 Cache 的管理工作,E1906提供了 cache操作的一些指令,一方面对 Cache 操作更加精细,另一方面对程序员来说不再完全透明。
二、指令高速缓存
ロL1指令高速缓存的主要特征如下
-指令高速缓存大小可配置,支持2KB-32KB
-2路组相联, Cache 行大小为32字节
-32比特数据位宽
-采用先进先出的替换策略
-支持对整个指令高速缓存的无效操作,支持对单条缓存行的无效操作
-支持分支预测
指令高速缓存大小是可以配置的,支持2K 到32K,两路组相联 Cache 行大小是32字节采用先进先出的替换策略是一种非常简单的替换策略,这和瑞思的处理器整体的设计思路有关,优先替换掉不采用这种略带复杂性的替换策略。支持对整个指令高速缓存的无效操作支持对单条缓存块儿的无效操作支持分支预测,这是指令高速缓存。L1的数据高速缓存它的主要特征基本跟指令高速缓存是一样的,区别在于它支持对整个指令高速缓存除了无效化操作呢,还有清除操作。支持对单条缓存行的无效和清除操作,它有一个写策略的支持,包括四种写策略,这就是对一级的数据高速缓存而言。
三、内存模型
E906支持两种内存模型:存储、外设
口外设类型
-具有 Strong Order 属性, CPU 对该地址空间的访问顺序必须和指令序列顺序完全一致,不可使用高速缓存。
口存储类型
-具有 Weak Order 属性,支持配置为可采用 Cache 或不可采用 Cache
内存模型只在一段地址空间内,每一块区域安排的是内存还是外设就是所谓的内存模型。
E906支持两种内存模型,一个是存储,一个是外设。外设类型具有 strong order 属性就是一个墙内存续,它是指CPU对该地址空间的访问顺序必须和指令序列的访问顺序完全一致,不能用高速缓存,也说明对这块空间的访问其实是不允许乱序访问的,程序员看到的顺序就应该是实际访问的顺序,这个就称作强内存。第二个是存储类型,它具有week order 的属性就是若没存续,那么可支持配置为可采用 Cache 或者是不可采用 Cache 那么弱内存续呢,它的特点就是程序员看到的指令顺序和他持续访存顺序可以不一样,也就是指令在这个区域内可以是乱序执行的,在一定程度上就能够解决各种流水线的相关问题,有利于提高整体的运行速度。
四、内存暂存特性
ロE906支持对内存配置为是否可暂存的内存
ロ可暂存
-对于 bufferable 的内存空间写操作时,总线写响应可由总线直接返回,而不必等待 E906访问的 slave 上写操作完成后再返回。
ロ不可暂存
-对于 non - bufferable 的内存空间,E906对该地址空间的写操作的响应必须在 E906访问的 slave 上写操作完成后由该 slave 返回给E906
E906支持对内存配置为是否可暂存的内存,对于 Barbara 拨就可暂存的内存空间做写操作的时候总线写响应可由总线直接返回,发起一个写操作总线以后就可以再做去做别的事,不必等待整个内存写操作完成以后再返回,一定程度上可以提高写的效率。另一种不可暂存就是对于 non - bufferable 的内存空间,E906对地址空间上的写操作的响应必须得等他写完了以后才能返回响应所以是不可暂存的。