支持硬件非对齐存储访问的RISC处理器加载/存储单元制造技术

技术编号:11131707 阅读:110 留言:0更新日期:2015-03-12 01:26
一种支持硬件非对齐存储访问的RISC处理器加载/存储单元,包括地址计算单元、对齐控制单元、请求控制单元和请求数据单元,在地址计算单元完成访问地址计算后,对齐控制单元根据该指令的数据位宽对该地址进行检测,若检测到非对齐访问则启动拆分操作机制;根据访问具体地址、数据位宽和指令类型进行最优化拆分。本发明专利技术支持硬件非对齐存储访问、大大提高访问效率、存储利用率较高、提升处理器性能。

【技术实现步骤摘要】
支持硬件非对齐存储访问的RISC处理器加载/存储单元
本专利技术涉及一种RISC处理器,尤其是一种RISC处理器加载/存储单元。
技术介绍
近年来随着低功耗高性能的RISC处理器在嵌入式平台不断发展,使用RISC处理器作为核心的低成本低功耗应用不断增多。对于这种成本敏感特别是存储空间敏感的应用,在软件层面存储空间管理上往往会偏向于连续分配存储空间的技术使存储利用率尽量最优,而这样对于硬件来说就会频繁出现地址非对齐的存储访问。 所谓非对齐的存储访问,主要指一次存储访问的请求地址不在该次访存大小的边界上对齐,比如一个字大小的加载访问,而次访问的请求地址不是字对齐的,就称之为非对齐的存储访问。 在处理器设计技术的不断革新的进程中,面向嵌入式应用的处理器性能不断提高,而通常作为限制处理器性能的加载/存储单元的设计尤为关键。在未对齐访问的处理上,如果采用抛出异常然后交由软件拆分的方式处理,往往要额外耗费十几个甚至几十个处理器周期才能完成。这就导致,在存储器空间成本敏感的嵌入式平台设计中,非对齐存储访问的效率成为很大的性能瓶颈。
技术实现思路
为了克服已有RISC处理器在处理非对齐的存储访问时的访问效率低下、存储利用率较低、制约处理器性能的不足,本专利技术提供了一种支持硬件非对齐存储访问、大大提高访问效率、存储利用率较高、提升处理器性能的支持硬件非对齐存储访问的RISC处理器加载/存储单元。 本专利技术解决其技术问题所采用的技术方案是: —种支持硬件非对齐存储访问的RISC处理器加载/存储单元,包括:地址计算单元,根据具体指令信息将基址和偏移量相加计算访存地址;对齐控制单元,连接到地址计算单元的输出端,检测访问地址对齐性,判断到非对齐后启动拆分过程,地址对齐则启动正常请求过程;请求控制单元,连接到对齐控制单元,根据对齐控制单元的状态,产生对总线接口的请求控制信号,指令完成时向处理器退休单元发起退休控制信号;请求数据单元,连接到地址计算单元和对齐控制单元,产生对总线接口的请求数据信号,加载指令完成时向处理器退休单元发送回写数据;根据加载/存储的具体地址和请求数据位宽决定拆分子操作的位宽和数目,针对不同情况在最小资源下进行最优化拆分,所述最优化拆分操作是指: 对于非对齐半字加载指令,若低位地址未跨越字界限则只拆分一次字加载子操作,若低位地址跨越字界限则拆分两次字加载子操作; 对于非对齐字加载指令,一律拆分两次字加载子操作; 对于非对齐半字存储指令,一律拆分为两次字节存储子操作; 对于非对齐字存储指令,若低位地址半字对齐则拆分为两次半字存储子操作,若低位地址半字也非对齐则依次拆分为一次字节加载子操作,一次半字加载子操作和一次字节加载子操作。 进一步,加载指令的各次拆分子操作分别单独回写目标寄存器的对应部分,即支持通用寄存器分块回写,所述通用寄存器分块回写是指:对非对齐加载指令的拆分操作,每次子操作从存储器取回数据后直接回写目标寄存器的对应部分,无需对每次子操作的结果进行暂存。 再进一步,检测到非对齐访问指令地址,在当前处理器执行周期内马上开始进行拆分并发出第一次拆分子操作请求。 更进一步,拆分子操作的各次请求地址计算采用位拼接方式,复用加载/存储单元原来的地址计算加法器。 非对齐访问最后一次子操作请求被总线接收后当前周期即可快速退休该加载/存储请求。 非对齐访问拆分操作过程中处理器能够快速响应中断请求,非对齐存储访问的拆分过程中,一旦有中断请求发起,拆分过程可以立即被打断并响应中断请求,若响应中断请求时拆分操作已经完成则中断请求处理完毕执行该加载/存储指令的下条指令,如果拆分操作未完成则中断请求处理完毕后重新执行该加载/存储指令。 非对齐访问拆分操作过程中一旦检测到处理器访问异常,指令立即退休响应异堂巾O 本专利技术的技术构思为:支持硬件非对齐存储访问的RISC处理器加载/存储单元是应用在存储空间敏感的嵌入式平台领域中,对存储空间连续分配,非对齐访问有迫切要求同时对于硬件性能也有较高要求的一个解决方案。通过硬件高效拆分执行并且快速退休的机制实现了高性能的非对齐地址存储访问。 本专利技术的有益效果主要表现在:在硬件层面解决了 RISC处理器目标地址非对齐访问的问题,提高了非对齐地址的访问速度,同时允许软件更加高效地管理存储空间,提高空间敏感设计中的存储利用率。 【附图说明】 图1是带拆分机制加载/存储单元流水线示意图。 [0021 ] 图2是拆分机制针对加载指令请求类型拆分操作图。 图3是拆分机制针对存储指令请求类型拆分操作图。 图4是拆分机制分块回写寄存器示意图。 图5是拆分请求地址复用加法器机制示意图。 【具体实施方式】 下面结合附图对本专利技术作进一步描述。 参照图1?图5,一种支持硬件非对齐存储访问的RISC处理器加载/存储单元,通过硬件拆分子操作的方式支持非对齐地址的访存操作,所述RISC处理器加载/存储单元包括: 地址计算单元,根据具体指令信息将基址和偏移量相加计算访存地址,主要包括操作数逻辑和地址加法器; 对齐控制单元,连接到地址计算单元的输出端,检测访问地址对齐性,判断到非对齐后启动拆分过程,地址对齐则启动正常请求过程,主要包括对齐检测逻辑和控制状态机; 请求控制单元,连接到对齐控制单元,根据对齐控制单元的状态,产生对总线接口的请求控制信号,指令完成时向处理器退休单元发起退休控制信号,主要包括总线请求控制逻辑和退休请求控制逻辑; 请求数据单元,连接到地址计算单元和对齐控制单元,产生对总线接口的请求数据信号,加载指令完成时向处理器退休单元发送回写数据,包括总线请求数据逻辑和退休请求回写逻辑。 根据加载/存储的具体地址和请求数据位宽决定拆分子操作的位宽和数目,针对不同情况在最小资源下进行最优化拆分;所述的根据加载/存储地址具体指令类型、访问位宽、低位地址,进行最优化拆分操作是指:对于非对齐半字加载指令,若低位地址未跨越字界限则只拆分一次字加载子操作,若低位地址跨越字界限则拆分两次字加载子操作;对于非对齐字加载指令,一律拆分两次字加载子操作;对于非对齐半字存储指令,一律拆分为两次字节存储子操作;对于非对齐字存储指令,若低位地址半字对齐则拆分为两次半字存储子操作,若低位地址半字也非对齐则依次拆分为一次字节加载子操作,一次半字加载子操作和一次字节加载子操作。 加载指令的各次拆分子操作分别单独回写目标寄存器的对应部分,即支持通用寄存器分块回写;所述的通用寄存器分块回写是指:对非对齐加载指令的拆分操作,每次子操作从存储器取回数据后直接回写目标寄存器的对应部分,无需对每次子操作的结果进行暂存。 检测到非对齐访问指令地址,在当前处理器执行周期内马上开始进行拆分并发出第一次拆分子操作请求;所述的当前处理器执行周期发起拆分子操作请求:加载/存储指令的访存地址在加载/存储单元的执行周期被计算得到并进行地址非对齐检测,若访问地址非对齐,则在当前周期进行拆分并向总线发起第一次子操作请求。 拆分子操作的各次请求地址计算采用位拼接方式,复用加载/存储单元原来的地址计算加法器;所述的未增加额外的加法器资源实现拆分地址计算:每次子操作请求的地址计算复用加本文档来自技高网...

【技术保护点】
一种支持硬件非对齐存储访问的RISC处理器加载/存储单元,包括:地址计算单元,根据具体指令信息将基址和偏移量相加计算访存地址;对齐控制单元,连接到地址计算单元的输出端,检测访问地址对齐性,判断到非对齐后启动拆分过程,地址对齐则启动正常请求过程;请求控制单元,连接到对齐控制单元,根据对齐控制单元的状态,产生对总线接口的请求控制信号,指令完成时向处理器退休单元发起退休控制信号;请求数据单元,连接到地址计算单元和对齐控制单元,产生对总线接口的请求数据信号,加载指令完成时向处理器退休单元发送回写数据;其特征在于:根据加载/存储的具体地址和请求数据位宽决定拆分子操作的位宽和数目,针对不同情况在最小资源下进行最优化拆分,所述最优化拆分操作是指:对于非对齐半字加载指令,若低位地址未跨越字界限则只拆分一次字加载子操作,若低位地址跨越字界限则拆分两次字加载子操作;对于非对齐字加载指令,一律拆分两次字加载子操作;对于非对齐半字存储指令,一律拆分为两次字节存储子操作;对于非对齐字存储指令,若低位地址半字对齐则拆分为两次半字存储子操作,若低位地址半字也非对齐则依次拆分为一次字节加载子操作,一次半字加载子操作和一次字节加载子操作。...

【技术特征摘要】
1.一种支持硬件非对齐存储访问的RISC处理器加载/存储单元,包括:地址计算单元,根据具体指令信息将基址和偏移量相加计算访存地址;对齐控制单元,连接到地址计算单元的输出端,检测访问地址对齐性,判断到非对齐后启动拆分过程,地址对齐则启动正常请求过程;请求控制单元,连接到对齐控制单元,根据对齐控制单元的状态,产生对总线接口的请求控制信号,指令完成时向处理器退休单元发起退休控制信号;请求数据单元,连接到地址计算单元和对齐控制单元,产生对总线接口的请求数据信号,加载指令完成时向处理器退休单元发送回写数据;其特征在于:根据加载/存储的具体地址和请求数据位宽决定拆分子操作的位宽和数目,针对不同情况在最小资源下进行最优化拆分,所述最优化拆分操作是指: 对于非对齐半字加载指令,若低位地址未跨越字界限则只拆分一次字加载子操作,若低位地址跨越字界限则拆分两次字加载子操作; 对于非对齐字加载指令,一律拆分两次字加载子操作; 对于非对齐半字存储指令,一律拆分为两次字节存储子操作; 对于非对齐字存储指令,若低位地址半字对齐则拆分为两次半字存储子操作,若低位地址半字也非对齐则依次拆分为一次字节加载子操作,一次半字加载子操作和一次字节加载子操作。2.如权利要求1所述的支持硬件非对齐存储访问的RISC处理器加载/存储单元,其特征在于:加载指令的各次拆分子操作分别单独回写目标寄存器的对应部分,即支持通用寄存器分块回写,所...

【专利技术属性】
技术研发人员:丁永林黄欢欢瞿仙淼
申请(专利权)人:杭州中天微系统有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1