[发明专利]一种CPU的硬件优化方法有效
申请号: | 201310450768.4 | 申请日: | 2013-09-29 |
公开(公告)号: | CN103500107A | 公开(公告)日: | 2014-01-08 |
发明(设计)人: | 朱钟琦;曾田;阮航;王炜 | 申请(专利权)人: | 中国船舶重工集团公司第七0九研究所 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 武汉金堂专利事务所 42212 | 代理人: | 胡清堂 |
地址: | 430074 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 硬件 优化 方法 | ||
技术领域
本发明涉及处理器的硬件设计领域,尤其涉及CPU(中央处理器)数据传输的硬件优化设计。
背景技术
数据传输部件一直是CPU的重要组成部分,对它的优化工作一直是处理器设计中性能优化的重点之一。国内处理器设计中对数据传输部件设计的优化主要通过提高Cache(高速缓存器)执行效率、解决读写相关、增加DMAC(直接内存访问控制器)部件等方式来进行,对数据传输指令的执行流程的优化极少提及。以32位X86指令集的数据传输指令为例,执行流程全部是按照传统的逐一传输的方式,将byte(字节),word(字)或double word(双字)一个个顺序从源地址传到目的地址。这类指令会大量占据总线,造成CPU流水线的停顿和总线带宽负载的增加。
以32位X86指令为例,图一和图二分别是存储器到存储器数据传输的典型指令REP MOVS(串传输指令)和存储器到寄存器传输的典型指令POPA(出栈指令)的流程图。对于REP MOVS而言,假设ECX值为100,则此指令需要重复一百次步骤1-步骤5才能完成。可以看出这类指令执行效率低下,对总线带宽负载较高。
本智力成果通过对X86指令集的数据传输指令进行详细分析,提出了针对其中的连续数据传输指令进行硬件优化的方法,减少数据传输指令的执行周期和CPU对总线访问(特别是写访问)的次数,有效提高了CPU的指令执行速度。
发明内容
本发明在于提供一种数据传输指令的硬件优化方法,旨在提高数据传输指令的执行效率,进而提升处理器的性能。其地址参数设定简单,可以仅在系统初始化(例如BIOS设定)时设定一次,也可以根据客户需要在系统执行过程中更改参数设定;性能提高明显,优化后的数据传输指令通常有一倍以上的效率提升。
本发明一种CPU的硬件优化方法,包括:
(1)、设计系统的硬件:系统由总控制器、存储控制器、外部总线接口等模块构成:其中,总控制器为系统的主体部分,是能够针对不同访存地址执行不同方式的存储操作的CPU,具体来说,这种CPU能够通过BIOS程序或者设置内部寄存器值的方式来设定可burst地址区,对于可burst区访存按优化后的指令方案执行,不可burst区按原指令方案执行,存储控制器通过接收总控制器数据信息和控制信息,对存储器进行读写操作,能够支持burst读写和非burst读写。外部总线接口则用于CPU内部和外部的数据通信。硬件优化后的信息包括:数据传输的源地址信息、目的地址信息、数据长度信息、控制信息、数据信息。
(2)、设定burst区域。通过burst地址编辑器,可以简单的设定内存中的burst区和不可burst区。可burst区和不可burst区是根据用户的内存分配方式决定的可配置区域。可burst区和不可burst区并不要求完全连续,系统的内存地址可以分配为多个可burst区和多个不可burst区。是否采用burst模式可以通过硬件和软件两种方式配置。外部可以通过单个开关开启或关闭burst模式,内部可以通过设置特定寄存器值决定是否开启burst模式。除了使用burst编辑器以外,用户还可以通过特定程序设定可burst区。通常在系统初始化时通过BIOS设定一次即可,也可以根据需要在程序运行时重新设定burst区。执行的数据传输指令的源地址、目的地址处于burst区域中时,启用优化的指令方案。
(3)、使用burst模式。当数据长度大于32位时,即可启用burst模式。Burst模式不依赖于是否开启cache功能,最多可支持一条cache行大小的数据的内存读写。一次burst最多支持一条cache行大小的数据这一要求并非固定的,在本智力成果中之所以选择一个cache行的大小作为最大值,是方便开cache模式下和cache模块进行数据交换,burst实际可取最大字节数并无硬性要求。当CPU的内部和外部进行数据传输时,读取内存时,可以一次将一条cache行的数据读到数据传输单元的burst寄存器中,然后进行寄存器赋值等操作;写入内存时,首先将需要写入的数据暂存在数据传输单元的burst寄存器中,然后一次性地写入内存。开启cache功能对burst读写功能有很大的帮助,能够有效提高CPU执行效率。
通过burst读写减少了CPU总线访问的次数,传统的指令执行流程被缩短,对特定指令(如REP MOVSB)优化后指令流程可减少至传统流程的1/16(依cache行所含字节数而定)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七0九研究所,未经中国船舶重工集团公司第七0九研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310450768.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:装有稳腿部件的站立式独轮车
- 下一篇:轻量化汽车钢板