威尼斯人棋牌-威尼斯欢乐娱人城-首页

一种降低ESPI总线开销的方法和设备与流程

文档序号:24942045发布日期:2021-05-04 11:35
一种降低ESPI总线开销的方法和设备与流程

本领域涉及计算机领域,并且更具体地涉及一种降低espi总线开销的方法和设备。



背景技术:

在服务器领域,intel发布的eaglestream新平台上,pch(平台控制器)使用espi总线(是intel开发用于取代lpc总线的一个新型总线)与主板上其他外设通信。espi总线集成之前平台上的lpc、smbus、spiflash访问以及其他并行边带信号的功能,并且速率灵活,管脚数量少,功耗低的优势。cpld是主板上首先上电可控的器件,并对主板上其他设备的上电进行控制。

现有方案中,pch通过espi总线直接与主板上其他外设通信。在与不同外设通信时,由于不同外设器件所能支撑的总线速率不同,pch需要根据不同的外设,调整总线数据速率。总线上的设备,各自按照espi协议,进行数据解析,校验。除了espi总线,pch还需要处理usb、sata、pcie总线及与cpu的交互。如果espi总线处理进程占用较长时间,espi总线开销大,则会影响其他总线处理的及时性,降低整体的数据处理速率。当pch与espi总线上数据速率较慢的外设进行通信时,或者当监测到有数据错误需要重新传输时,会占用较长的时间处理espi总线。

另外,在上电初期,板卡未完成初始化时,总线信号不稳定,容易造成对espi外设的误操作;或者当系统宕机,总线流程卡死、反复实行、进程跳转异常造成错误实行总线操作,都会对espi外设造成不利影响。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种降低espi总线开销的方法和设备,通过使用本发明的技术方案,能够降低pch处理espi总线进程的开销,释放了部分pch的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时espi总线的误操作,保证了系统的可靠性。

基于上述目的,本发明的实施例的一个方面提供了一种降低espi总线开销的方法,包括以下步骤:

将pch的待写入的数据以阈值速率经由espi总线写入cpld(复杂可编程逻辑器件)中;

cpld基于写入的数据以匹配速率经由espi总线访问相应的外接设备并暂停pch与cpld之间的数据传输;

响应于接收到相应外接设备返回的数据,cpld对返回的数据进行校验;

响应于校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

根据本发明的一个实施例,还包括:

响应于校验不通过,cpld基于写入的数据以匹配速率经由espi总线再次访问相应的外接设备;

响应于接收到相应外接设备返回的数据,cpld对返回的数据再次进行校验;

响应于再次校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

根据本发明的一个实施例,还包括:

响应于再次校验不通过,发出错误警告。

根据本发明的一个实施例,还包括:

响应于pch向cpld再次写入相同的数据,将cpld中存储的数据发送到pch。

根据本发明的一个实施例,阈值速率为espi总线传输的最大速率,匹配速率为espi总线向外接设备分配的速率。

本发明的实施例的另一个方面,还提供了一种降低espi总线开销的设备,设备包括:

写入模块,写入模块配置为将pch的待写入的数据以阈值速率经由espi总线写入cpld中;

暂停模块,暂停模块配置为cpld基于写入的数据以匹配速率经由espi总线访问相应的外接设备并暂停pch与cpld之间的数据传输;

校验模块,校验模块配置为响应于接收到相应外接设备返回的数据,cpld对返回的数据进行校验;

恢复模块,恢复模块配置为响应于校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

根据本发明的一个实施例,还包括再次校验模块,再次校验模块配置为:

响应于校验不通过,cpld基于写入的数据以匹配速率经由espi总线再次访问相应的外接设备;

响应于接收到相应外接设备返回的数据,cpld对返回的数据再次进行校验;

响应于再次校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

根据本发明的一个实施例,还包括报警模块,报警模块配置为:

响应于再次校验不通过,发出错误警告。

根据本发明的一个实施例,还包括读取模块,读取模块配置为:

响应于pch向cpld再次写入相同的数据,将cpld中存储的数据发送到pch。

根据本发明的一个实施例,阈值速率为espi总线传输的最大速率,匹配速率为espi总线向外接设备分配的速率。

本发明具有以下有益技术效果:本发明实施例提供的降低espi总线开销的方法,通过将pch的待写入的数据以阈值速率经由espi总线写入cpld中;cpld基于写入的数据以匹配速率经由espi总线访问相应的外接设备并暂停pch与cpld之间的数据传输;响应于接收到相应外接设备返回的数据,cpld对返回的数据进行校验;响应于校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中的技术方案,能够降低pch处理espi总线进程的开销,释放了部分pch的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时espi总线的误操作,保证了系统的可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地先容,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为根据本发明一个实施例的降低espi总线开销的方法的示意性流程图;

图2为根据本发明一个实施例的降低espi总线开销的设备的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种降低espi总线开销的方法的一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法可以包括以下步骤:

s1将pch的待写入的数据以阈值速率经由espi总线写入cpld中,该阈值速率为espi总线传输的最大速率,pch经由espi总线访问外接设备时,先将pch写入的数据按最高速率写入到cpld中;

s2cpld基于写入的数据以匹配速率经由espi总线访问相应的外接设备并暂停pch与cpld之间的数据传输,该匹配速率为espi总线向外接设备分配的速率,然后经由cpld访问相应的外接设备,并将pch写入到cpld中的数据写入到相应的外接设备,并等待相应的外接设备返回数据,这时pch暂停与cpld的espi所有交互,处理pch内部其他进程;

s3响应于接收到相应外接设备返回的数据,cpld对返回的数据进行校验,cpld对返回的数据进行校验,如果校验不同过则重发请求,例如,当某个外设返回的数据校验错误时,cpld会自动对齐错误数据,并对外设进行重新读取,而返回给pch的是最终正确的数据,校验、重发过程无需消耗pch自身资源,反之,pch数据发送错误时,cpld也会类似校验重发,无需外设参与;

s4响应于校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

通过本发明的技术方案,能够降低pch处理espi总线进程的开销,释放了部分pch的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时espi总线的误操作,保证了系统的可靠性。

在本发明的一个优选实施例中,还包括:cpld上电复位后,pch及其他espi外接设备的器件还未完成上电,此时cpld将espi总线控制为无效状态,不响应、不进行任何读写操作,防止电源不稳造成的误操作,espi总线所有设备完成上电后,cpld侦测各个espi外设的数据速率,并按照espi最高速率相应pch访问。

在本发明的一个优选实施例中,还包括:

响应于校验不通过,cpld基于写入的数据以匹配速率经由espi总线再次访问相应的外接设备;

响应于接收到相应外接设备返回的数据,cpld对返回的数据再次进行校验;

响应于再次校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

在本发明的一个优选实施例中,还包括:

响应于再次校验不通过,发出错误警告。如果再次校验不通过还可以增加校验的次数,也相应增加cpld访问相应外接设备的次数,直到外接设备返回的数据正确,再将正确的数据返回到pch中。

在本发明的一个优选实施例中,还包括:

响应于pch向cpld再次写入相同的数据,将cpld中存储的数据发送到pch。当出现反复读写相同数据时,cpld优先使用内部缓存数据回应读操作,并屏蔽短时间内的反复写入操作。当检查到espi数据流异常停止时,cpld自动使用无效数据结束当前流程,防止espi设备内部状态机挂死。

在本发明的一个优选实施例中,阈值速率为espi总线传输的最大速率,匹配速率为espi总线向外接设备分配的速率。

通过本发明的技术方案,能够降低pch处理espi总线进程的开销,释放了部分pch的处理能力,提高了系统整体的数据传输效率,同时防止了在系统上电初期或者异常时espi总线的误操作,保证了系统的可靠性。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在实行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由cpu实行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu实行时,实行本发明实施例公开的方法中限定的上述功能。

基于上述目的,本发明的实施例的第二个方面,提出了一种降低espi总线开销的设备,如图2所示,设备200包括:

写入模块,写入模块配置为将pch的待写入的数据以阈值速率经由espi总线写入cpld中;

暂停模块,暂停模块配置为cpld基于写入的数据以匹配速率经由espi总线访问相应的外接设备并暂停pch与cpld之间的数据传输;

校验模块,校验模块配置为响应于接收到相应外接设备返回的数据,cpld对返回的数据进行校验;

恢复模块,恢复模块配置为响应于校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

在本发明的一个优选实施例中,还包括再次校验模块,再次校验模块配置为:

响应于校验不通过,cpld基于写入的数据以匹配速率经由espi总线再次访问相应的外接设备;

响应于接收到相应外接设备返回的数据,cpld对返回的数据再次进行校验;

响应于再次校验通过,将返回的数据保存在cpld中并恢复pch与cpld之间的数据传输并将返回的数据传输到pch中。

在本发明的一个优选实施例中,还包括报警模块,报警模块配置为:

响应于再次校验不通过,发出错误警告。

在本发明的一个优选实施例中,还包括读取模块,读取模块配置为:

响应于pch向cpld再次写入相同的数据,将cpld中存储的数据发送到pch。

在本发明的一个优选实施例中,阈值速率为espi总线传输的最大速率,匹配速率为espi总线向外接设备分配的速率。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

威尼斯人棋牌|威尼斯欢乐娱人城

XML 地图 | Sitemap 地图