CN113568848B - 处理器、信号调整方法及计算机系统 - Google Patents

处理器、信号调整方法及计算机系统 Download PDF

Info

Publication number
CN113568848B
CN113568848B CN202010745753.0A CN202010745753A CN113568848B CN 113568848 B CN113568848 B CN 113568848B CN 202010745753 A CN202010745753 A CN 202010745753A CN 113568848 B CN113568848 B CN 113568848B
Authority
CN
China
Prior art keywords
signal
target
processor core
processor
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010745753.0A
Other languages
English (en)
Other versions
CN113568848A (zh
Inventor
仇连根
杨宝尧
龚彬阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010745753.0A priority Critical patent/CN113568848B/zh
Priority to PCT/CN2021/108763 priority patent/WO2022022537A1/zh
Priority to EP21850815.8A priority patent/EP4184335A4/en
Publication of CN113568848A publication Critical patent/CN113568848A/zh
Priority to US18/160,164 priority patent/US20230176751A1/en
Application granted granted Critical
Publication of CN113568848B publication Critical patent/CN113568848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)

Abstract

一种处理器、信号调整方法及计算机系统,属于计算机技术领域。该处理器包括:内存控制器;该内存控制器包括内存物理接口和第一处理器核,该第一处理器核与该内存物理接口连接;该第一处理器核,用于在包含该处理器的计算机系统启动之后的运行过程中,调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系。本申请有助于保证目标信号与同步信号之间的时序对齐,从而有助于提高目标信号采样的准确性。

Description

处理器、信号调整方法及计算机系统
技术领域
本申请涉及计算机技术领域,特别涉及一种处理器、信号调整方法及计算机系统。
背景技术
计算机系统通常处理器和内存芯片,该处理器中包括内存控制器,该内存控制器中包括内存物理接口,该内存物理接口用于该处理器与该内存芯片之间传输信号。内存接口信号是指处理器与内存芯片之间通过该内存物理接口传输的信号,内存接口信号可以包括目标信号和该目标信号的同步信号。
在计算机系统的启动过程中,可以通过对计算机系统进行内存训练来调整目标信号与该目标信号的同步信号之间的时序关系,使该目标信号与该同步信号之间的时序对齐,保证该目标信号的采样窗口最大化,从而保证对该目标信号的正确采样。示例地,目标信号是数据(data,DQ)信号,DQ信号的同步信号是双向数据选通(bidirectional datastrobe,DQS)信号,可以通过对计算机系统进行内存训练来调整DQ信号与DQS信号之间的时序关系,使DQS信号的采样沿与DQ信号的中心位置对齐,保证DQ信号的采样窗口最大化。
但是,在计算机系统启动之后的运行过程中,受供电电压、环境温度等外界因素的影响,内存接口信号的延时可能会发生变化,导致计算机系统的启动过程中训练得到的目标信号与其同步信号之间的时序关系发生变化,影响目标信号采样的准确性。
发明内容
本申请提供了一种处理器、信号调整方法及计算机系统,有助于保证内存物理接口的目标信号与其同步信号之间的时序对齐,从而有助于提高目标信号采样的准确性。本申请的技术方案如下:
一方面,提供了一种处理器,包括:内存控制器;该内存控制器包括内存物理接口和第一处理器核,该第一处理器核与该内存物理接口连接;该第一处理器核,用于在包含该处理器的计算机系统启动之后的运行过程中,调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,该目标信号和该同步信号均为通过该内存物理接口传输的信号。
本申请提供的技术方案,由于在包含处理器的计算机系统启动之后的运行过程中,该处理器的内存控制器中的第一处理器核能够调整该处理器的内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,因此有助于保证该目标信号与该同步信号之间的时序对齐,从而有助于保证该目标信号采样的准确性和可靠性。
可选地,该第一处理器核,具体用于在该计算机系统启动之后的运行过程中,当满足训练条件时,通过内存训练的方式调整该目标信号与该同步信号之间的时序关系。
本申请提供的技术方案,由于第一处理器核通过内存训练的方式调整目标信号与其同步信号之间的时序关系,因此有助于保证该目标信号与其同步信号之间的时序对齐。
可选地,该训练条件包括以下至少一项:距离前一次进行内存训练的时长达到第一预设时长;该处理器连接的内存芯片上的延时检测电路检测到的延时变化量大于预设变化量;该处理器连接的内存芯片处于空闲状态的时长达到第二预设时长。
可选地,该第一处理器核,具体用于在该计算机系统启动之后的运行过程中,基于初始训练结果,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系,该初始训练结果是在本次进行内存训练之前对该计算机系统进行内存训练得到的训练结果。
本申请提供的技术方案,由于第一处理器核基于初始训练结果,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系,因此有助于减小第一处理器核进行内存训练的计算量,缩短第一处理器核调整该目标信号与该同步信号之间的时序关系的耗时。
可选地,该初始训练结果包括该目标信号的采样窗口的初始左边界和初始右边界;该第一处理器核,具体用于通过执行下述训练步骤,以基于该初始训练结果,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系;其中,该训练步骤包括:基于该初始左边界确定该目标信号的采样窗口的目标左边界;基于该初始右边界确定该目标信号的采样窗口的目标右边界;基于该目标左边界和该目标右边界,确定该目标信号的采样窗口的目标中心位置。
本申请提供的技术方案,由于第一处理器核基于初始左边界确定目标左边界,基于初始右边界确定目标右边界,因此有助于减少第一处理器核确定目标左边界和目标右边界需要测试的延时值,缩短第一处理器核确定目标左边界和目标右边界的耗时。
可选地,基于初始左边界确定目标信号的采样窗口的目标左边界,包括:基于该初始左边界执行目标信号的读写测试;如果读写测试成功,以目标步进长度向左调整该采样窗口的左边界,并基于调整后的左边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界;如果读写测试失败,以目标步进长度向右调整该采样窗口的左边界,并基于调整后的左边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界。
可选地,基于初始右边界确定目标信号的采样窗口的目标右边界,包括:基于该初始右边界执行目标信号的读写测试;如果读写测试成功,以目标步进长度向右调整该采样窗口的右边界,并基于调整后的右边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界;如果读写测试失败,以目标步进长度向左调整该采样窗口的右边界,并基于调整后的右边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界。
可选地,内存物理接口包括与目标信号对应的影子寄存器以及与该目标信号对应的过渡寄存器,该采样窗口的左边界和右边界中的每个边界对应一个延时值;该第一处理器核,还用于在每次执行目标信号的读写测试之前,将本次执行读写测试所基于的该采样窗口的边界对应的延时值配置到该目标信号对应的过渡寄存器中;以及,在每次执行目标信号的读写测试时,将该目标信号对应的过渡寄存器中的延时值加载到该目标信号对应的影子寄存器中;相应地,该第一处理器核,具体用于基于该目标信号对应的影子寄存器中的,本次执行该目标信号的读写测试时采样窗口的边界对应的延时值,执行该目标信号的读写测试。
本申请提供的技术方案,由于第一处理器核在执行目标信号的读写测试之前,将采样窗口的边界对应的延时值配置到过渡寄存器中,在执行目标信号的读写测试时,仅需将该过渡寄存器中的延时值加载到影子寄存器中,因此有助于缩短第一处理器核向影子寄存器中配置延时值的耗时,降低第一处理器核进行内存训练的过程对处理器的性能影响。
可选地,该内存物理接口包括与目标信号对应的影子寄存器,该初始训练结果还包括该目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,第一处理器核在执行训练步骤之前,该初始中心位置对应的延时值在该影子寄存器中;该第一处理器核,还用于在确定该目标信号的采样窗口的目标中心位置之后,以该目标中心位置对应的延时值更新该影子寄存器中的延时值。
本申请提供的技术方案,由于第一处理器核在确定目标中心位置之后以该目标中心位置对应的延时值更新影子寄存器中的延时值,因此可以便于处理器后续使用该目标中心位置对应的延时值进行数据读写。
可选地,该第一处理器核,还用于在确定目标信号的采样窗口的目标左边界和目标右边界之后,将该目标左边界对应的延时值和该目标右边界对应的延时值存储至与该处理器连接的非易失性存储器中。其中,该非易失性存储器可以是闪存(flash)、串行高级技术附件(serial advanced technology attachment,SATA)硬盘、固态驱动器(solid statedrive,SSD)硬盘或磁盘(disk)等。
本申请提供的技术方案,由于第一处理器核在确定目标信号的采样窗口的目标左边界和目标右边界之后,将该目标左边界对应的延时值和该目标右边界对应的延时值存储至非易失性存储器中,因此可以便于该第一处理器核后续使用该目标左边界作为初始左边界以及使用该目标右边界作为初始右边界对计算机系统进行内存训练,且能够保证该计算机系统断电时,该目标左边界对应的延时值和该目标右边界对应的延时值不会丢失。
可选地,该处理器还包括第二处理器核,该第二处理器核可以是该处理器的主处理器核,第一处理器核可以是该处理器的从处理器核;该第一处理器核,还用于在调整目标信号与该目标信号的同步信号之间的时序关系之前,向该第二处理器核发送暂停信号;该第二处理器核,用于在接收到该暂停信号时,停止向该处理器连接的内存芯片发送读写指令。
本申请提供的技术方案,由于第一处理器核在调整目标信号与该目标信号的同步信号之间的时序关系之前向第二处理器核发送暂停信号,该第二处理器核在接收到该暂停信号时停止向该处理器连接的内存芯片发送读写指令,因此在该第一处理器核调整该目标信号与该同步信号之间的时序关系的过程中,该第二处理器核不会向内存芯片发送读写指令,有助于避免该第二处理器核的数据读写过程出错。
可选地,该第一处理器核,还用于在调整该目标信号与该同步信号之间的时序关系之后,向该第二处理器核发送恢复信号;该第二处理器核,还用于在接收到该恢复信号时,恢复向该处理器连接的内存芯片发送读写指令。
本申请提供的技术方案,由于第一处理器核在调整该目标信号与该同步信号之间的时序关系之后,向该第二处理器核发送恢复信号使该第二处理器核恢复向处理器连接的内存芯片发送读写指令,因此有助于该第二处理器核进行数据读写。
可选地,第一处理器核,还用于在向第二处理器核发送暂停信号之前,对该第二处理器核的工作参数进行备份。
本申请提供的技术方案,由于第一处理器在向第二处理器核发送暂停信号之前对该第二处理器核的工作参数进行备份,因此便于该第二处理器核在接收到该第一处理器核发送的恢复信号后,恢复该第二处理器核的工作参数,从而便于该第二处理器核继续进行数据读写。
可选地,内存物理接口包括与目标信号对应的过渡寄存器;第一处理器核,具体用于在向第二处理器核发送暂停信号之前,将该第二处理器核的工作参数备份至该过渡寄存器中。
本申请提供的技术方案,由于第一处理器在向第二处理器核发送暂停信号之前将该第二处理器核的工作参数备份至目标信号对应的过渡寄存器中,因此可以便于该第一处理器核对该第二处理器核的工作参数的快速备份。
可选地,第一处理器核,具体用于在执行目标信号的读写测试之前,向第二处理器核发送暂停信号;在执行n次目标信号的读写测试之后,向该第二处理器核发送恢复信号,n≥1,且n为整数。
本申请提供的技术方案,由于第一处理器核在执行目标信号的读写测试之前向第二处理器核发送暂停信号,使该第二处理器核暂停向内存芯片发送读写指令,该第一处理器核在执行n次目标信号的读写测试之后向第二处理器核发送恢复信号,使该第二处理器核恢复向内存芯片发送读写指令,因此第一处理器核可以将整个内存训练过程分成多个阶段进行,避免内存训练过程耗时较长对处理器的性能的影响。
可选地,该初始训练结果还包括目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,该第一处理器核在执行训练步骤之前,该初始中心位置对应的延时值存储在该目标信号对应的影子寄存器中,第二处理器核的工作参数可以包括该初始中心位置对应一个延时值;该第一处理器核,具体用于在向第二处理器核发送暂停信号之前,对该影子寄存器中的该初始中心位置对应的延时值进行备份;该第一处理器核,还用于在执行n次目标信号的读写测试之后且向该第二处理器核发送恢复信号之前,将备份的初始中心位置对应的延时值加载到影子寄存器中。
本申请提供的技术方案,由于第一处理器核在向第二处理器核发送暂停信号之前对初始中心位置对应的延时值进行备份,在执行n次读写测试之后且向该第二处理器核发送恢复信号之前将备份的初始中心位置对应的延时值加载到影子寄存器中,因此可以便于第二处理器核恢复数据读写过程,避免内存训练过程导致第二处理器核无法继续进行数据读写。
可选地,该第一处理器核,具体用于在向第二处理器核发送暂停信号之前,将该影子寄存器中的该初始中心位置对应的延时值备份至该过渡寄存器中;以及,在执行n次目标信号的读写测试之后且向该第二处理器核发送恢复信号之前,将该过渡寄存器中备份的该初始中心位置对应的延时值加载到该影子寄存器中。
本申请提供的技术方案,第一处理器核可以利用过渡寄存器实现初始中心位置对应的延时值的备份,避免内存训练过程导致第二处理器核无法继续进行数据读写。
可选地,该内存控制器还包括存储电路,该存储电路与第一处理器核连接;该处理器还包括第二处理器核;该第二处理器核,用于向该存储电路写入调用信息,该调用信息为用于实现调整该目标信号与该同步信号之间的时序关系的信息;该第一处理器核,具体用于在该计算机系统启动之后的运行过程中,从该存储电路中读取该调用信息并执行该调用信息。其中,第二处理器核可以是处理器的主处理器核,第一处理器核可以是该处理器的从处理器核,第一处理器核可以是具有逻辑计算能力的逻辑电路(或模块),能够基于第二处理器核的调用调整目标信号与该目标信号的同步信号之间的时序关系。可选地,该存储电路包括寄存器(register,REG)和静态随机存储器(static random access memory,SRAM)中的至少一种。
可选地,该第一处理器核的固件存储于与该处理器连接的非易失性存储器且可被更新,该固件包括该调用信息。
本申请提供的技术方案,由于第一处理器核的固件包括该调用信息,且该第一处理器核的固件可被更新,因此可以通过固件升级来更新调用信息,例如可以新增、减少、修改调用信息中的指令,从而可以实现内存训练的拓展和灵活配置。
可选地,该内存控制器包括至少一个内存通道和至少一个第一处理器核,每个内存通道包括内存物理接口,每个内存通道中的内存物理接口用于与至少一个内存芯片连接,该至少一个内存通道中的内存物理接口与该至少一个第一处理器核连接;该至少一个第一处理器核用于在计算机系统启动之后的运行过程中,调整该至少一个内存通道中的内存物理接口的目标信号与该目标信号的同步信号之间的时序关系。
本申请提供的技术方案,由于至少一个内存通道中的内存物理接口与至少一个第一处理器核连接,因此可以利用该至少一个第一处理器核通过对该至少一个内存通道进行内存训练来调整该内存通道中的内存物理接口的目标信号与其同步信号之间的时序关系。
可选地,该至少一个内存通道与该至少一个第一处理器核一一对应,每个内存通道中的内存物理接口与相应的第一处理器核连接;每个第一处理器核用于在计算机系统启动之后的运行过程中,调整相应的内存通道中的内存物理接口的目标信号与同步信号之间的时序关系。
本申请提供的技术方案,由于至少一个内存通道与至少一个第一处理器核一一对应,因此利用该至少一个第一处理器核一一对应对该至少一个内存通道进行内存训练来调整相应的内存通道中的内存物理接口的目标信号与其同步信号之间的时序关系。
可选地,当目标信号为DQ信号或数据屏蔽(data mask,DM)信号时,同步信号为DQS信号;当目标信号为控制(control,CTL)信号或命令(command,CMD)信号时,同步信号为时钟(clock,CK)信号。
另一方面,提供一种信号调整方法,应用于处理器,该处理器包括内存控制器,该内存控制器包括内存物理接口和第一处理器核,该第一处理器核与该内存物理接口连接,该方法包括:该第一处理器核在包含该处理器的计算机系统启动之后的运行过程中,调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,该目标信号和该同步信号均为通过该内存物理接口传输的信号。
可选地,该第一处理器核在包含该处理器的计算机系统启动之后的运行过程中,调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,包括:该第一处理器核在该计算机系统启动之后的运行过程中,当满足训练条件时,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系。
可选地,该训练条件包括以下至少一项:距离前一次进行内存训练的时长达到第一预设时长;该处理器连接的内存芯片上的延时检测电路检测到的延时变化量大于预设变化量;该处理器连接的内存芯片处于空闲状态的时长达到第二预设时长。
可选地,该第一处理器核在包含该处理器的计算机系统启动之后的运行过程中,调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,包括:该第一处理器核在该计算机系统启动之后的运行过程中,基于初始训练结果,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系,该初始训练结果是在本次进行内存训练之前对该计算机系统进行内存训练得到的训练结果。
可选地,该初始训练结果包括该目标信号的采样窗口的初始左边界和初始右边界;该第一处理器核基于初始训练结果,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系,包括:该第一处理器核通过执行下述训练步骤,以基于该初始训练结果,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系;其中,该训练步骤包括:基于该初始左边界确定该目标信号的采样窗口的目标左边界;基于该初始右边界确定该目标信号的采样窗口的目标右边界;基于该目标左边界和该目标右边界,确定该目标信号的采样窗口的目标中心位置。
可选地,基于初始左边界确定目标信号的采样窗口的目标左边界,包括:基于该初始左边界执行目标信号的读写测试;如果读写测试成功,以目标步进长度向左调整该采样窗口的左边界,并基于调整后的左边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界;如果读写测试失败,以目标步进长度向右调整该采样窗口的左边界,并基于调整后的左边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界。
可选地,基于初始右边界确定目标信号的采样窗口的目标右边界,包括:基于该初始右边界执行目标信号的读写测试;如果读写测试成功,以目标步进长度向右调整该采样窗口的右边界,并基于调整后的右边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界;如果读写测试失败,以目标步进长度向左调整该采样窗口的右边界,并基于调整后的右边界执行目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界。
可选地,内存物理接口包括与目标信号对应的影子寄存器以及与该目标信号对应的过渡寄存器,该采样窗口的左边界和右边界中的每个边界对应一个延时值;该方法还包括:第一处理器核在每次执行目标信号的读写测试之前,将本次执行读写测试所基于的该采样窗口的边界对应的延时值配置到该目标信号对应的过渡寄存器中;第一处理器核在每次执行目标信号的读写测试时,将该目标信号对应的过渡寄存器中的延时值加载到该目标信号对应的影子寄存器中;相应地,第一处理器核执行目标信号的读写测试,包括:该第一处理器核基于该目标信号对应的影子寄存器中的,本次执行目标信号的读写测试时该采样窗口的边界对应的延时值,执行该目标信号的读写测试。
可选地,内存物理接口包括与目标信号对应的影子寄存器,初始训练结果还包括该目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,第一处理器核在执行训练步骤之前,该初始中心位置对应的延时值在该影子寄存器中;该方法还包括:该第一处理器核在确定该目标信号的采样窗口的目标中心位置之后,以该目标中心位置对应的延时值更新该影子寄存器中的延时值。
可选地,该方法还包括:该第一处理器核在确定该目标信号的采样窗口的目标左边界和目标右边界之后,将该目标左边界对应的延时值和该目标右边界对应的延时值存储至与该处理器连接的非易失性存储器中。其中,该非易失性存储器可以是闪存、SATA硬盘、SSD硬盘或磁盘等。
可选地,该处理器还包括第二处理器核,该第二处理器核可以是该处理器的主处理器核,第一处理器核可以是该处理器的从处理器核;该方法还包括:该第一处理器核在调整目标信号与同步信号之间的时序关系之前,向该第二处理器核发送暂停信号;该第二处理器核根据接收到的暂停信号,停止向该处理器连接的内存芯片发送读写指令。
可选地,该方法还包括:该第一处理器核在调整该目标信号与该同步信号之间的时序关系之后,向该第二处理器核发送恢复信号;该第二处理器核根据接收到的该恢复信号,恢复向该处理器连接的内存芯片发送读写指令。
可选地,该方法还包括:该第一处理器核在向该第二处理器核发送该暂停信号之前,对该第二处理器核的工作参数进行备份。
可选地,内存物理接口包括与目标信号对应的过渡寄存器;第一处理器核在向第二处理器核发送暂停信号之前,对该第二处理器核的工作参数进行备份,包括:该第一处理器核在向该第二处理器核发送暂停信号之前,将该第二处理器核的工作参数备份至该过渡寄存器中。
可选地,第一处理器核在调整目标信号与同步信号之间的时序关系之前,向第二处理器核发送暂停信号,包括:该第一处理器核在执行目标信号的读写测试之前,向该第二处理器核发送暂停信号;该第一处理器核在调整目标信号与同步信号之间的时序关系之后,向第二处理器核发送恢复信号,包括:该第一处理器核在执行n次目标信号的读写测试之后,向该第二处理器核发送恢复信号,n≥1,且n为整数。
可选地,该初始训练结果还包括该目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,该第一处理器核在执行该训练步骤之前,该初始中心位置对应的延时值存储在该目标信号对应的该影子寄存器中,第二处理器核的工作参数可以包括该初始中心位置对应一个延时值;第一处理器核在向第二处理器核发送暂停信号之前,对该第二处理器核的工作参数进行备份,包括:该第一处理器核在向该第二处理器核发送暂停信号之前,对该影子寄存器中的该初始中心位置对应的延时值进行备份;该方法还包括:该第一处理器核在执行n次目标信号的读写测试之后且向该第二处理器核发送恢复信号之前,将备份的初始中心位置对应的延时值加载到该影子寄存器中。
可选地,第一处理器核在向第二处理器核发送暂停信号之前,对该影子寄存器中存储的该初始中心位置对应的延时值进行备份,包括:该第一处理器核在向该第二处理器核发送该暂停信号之前,将该影子寄存器中的该初始中心位置对应的延时值备份至该过渡寄存器中;该第一处理器核在执行n次目标信号的读写测试之后且向该第二处理器核发送该恢复信号之前,将备份的该初始中心位置对应的延时值加载到该影子寄存器中,包括:该第一处理器核在执行n次目标信号的读写测试之后且向该第二处理器核发送恢复信号之前,将该过渡寄存器中备份的该初始中心位置对应的延时值加载到该影子寄存器中。
可选地,该内存控制器还包括存储电路,该存储电路与第一处理器核连接;该处理器还包括第二处理器核;该方法还包括:该第二处理器核向该存储电路写入调用信息,该调用信息为用于实现调整目标信号与同步信号之间的时序关系的信息;该第一处理器核在包含该处理器的计算机系统启动之后的运行过程中,调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,包括:该第一处理器核在该计算机系统启动之后的运行过程中,从该存储电路中读取该调用信息并执行该调用信息,以调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系。其中,该存储电路包括REG和SRAM中的至少一种。
可选地,该第一处理器核的固件存储于与该处理器连接的非易失性存储器且可被更新,该固件包括该调用信息。
可选地,该内存控制器包括至少一个内存通道和至少一个第一处理器核,每个内存通道包括内存物理接口,每个内存通道中的内存物理接口用于与至少一个内存芯片连接,该至少一个内存通道中的内存物理接口与该至少一个第一处理器核连接;该至少一个第一处理器核用于在该计算机系统启动之后的运行过程中,调整该至少一个内存通道中的内存物理接口的目标信号与该目标信号的同步信号之间的时序关系。
可选地,该至少一个内存通道与该至少一个第一处理器核一一对应,每个内存通道中的内存物理接口与相应的第一处理器核连接;每个第一处理器核用于在计算机系统启动之后的运行过程中,调整相应的内存通道中的内存物理接口的目标信号与同步信号之间的时序关系。
可选地,当目标信号为DQ信号或DM信号时,同步信号为DQS信号;当目标信号为CTL信号或CMD信号时,同步信号为CK信号。
需要指出的是,该另一方面提供的信号调整方法的技术效果可以参考前述一方面提供的处理器的技术效果,本申请在此不再赘述。
再一方面,提供一种计算机系统,该计算机系统包括如上述一方面中提供的处理器;以及,与该处理器耦合的内存芯片。示例地,该计算机系统既可以是电脑主板,也可以是笔记本电脑、手机、数码相机等电子设备。
本申请提供的技术方案带来的有益效果是:
本申请提供的处理器、信号调整方法及计算机系统,由于在包含该处理器的计算机系统启动之后的运行过程中,该处理器的内存控制器中的第一处理器核能够调整内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,因此有助于保证该目标信号与该同步信号之间的时序对齐,从而有助于保证目标信号采样的准确性和可靠性。
附图说明
图1是本申请实施例提供的一种计算机系统的结构示意图;
图2是本申请实施例提供的一种DQS信号和DQ信号的时序图;
图3是本申请实施例提供的另一种DQS信号和DQ信号的时序图;
图4是本申请实施例提供的一种计算机系统的结构示意图;
图5是本申请实施例提供的一种基于初始左边界确定目标左边界的流程图;
图6是本申请实施例提供的一种基于初始右边界确定目标右边界的流程图;
图7是本申请实施例提供的一种确定目标左边界和目标右边界的示意图;
图8是本申请实施例提供的一种内存物理接口的结构示意图;
图9是本申请实施例提供的一种处理器的结构示意图;
图10是本申请实施例提供的另一种计算机系统的结构示意图;
图11是本申请实施例提供的再一种计算机系统的结构示意图;
图12是本申请实施例提供的一种信号调整方法的流程图。
具体实施方式
在计算机系统的启动过程中,往往需要对计算机系统内部的各个硬件模块(例如内存、显卡等)进行初始化,以保证计算机内部的各个硬件模块能够稳定运行。内存初始化是计算机系统启动过程中的重要一环,内存初始化过程通常包括内存侦测、内存配置、内存训练和内存测试等。其中,内存训练是内存初始化过程中最重要的环节,内存训练包括根据不同的单板走线、温度、电压等影响,通过调整不同内存接口信号之间的时序关系,使该不同内存接口信号之间的时序对齐,保证内存物理接口的时序裕量,实现正常读写。例如,频率为6.4GHz(吉赫兹)的DQS信号的周期为0.3125纳秒,由于在DQS信号的上升沿和下降沿都要进行DQ信号采样(也即是在半个DQS周期内就要进行一次DQ信号采样),但半个DQS周期内不是任何时刻都能对DQ信号正确采样,因此,可以通过内存训练的方式调整DQ信号的延时,使DQS信号的采样沿与DQ信号的中心位置对齐,保证DQ信号的采样窗口的最大化,从而使得在半个DQS周期(0.1562纳秒)内能够对DQ信号正确采样。其中,采样窗口包括左边界和右边界,该左边界和该右边界为能够正确采样信号与无法正确采样信号的两个边界位置点,在该左边界与右边界之间的位置点均能够正确采样信号,在该左边界向左的位置点以及该右边界向右的位置点均无法正确采样信号。
通常,在计算机系统的启动过程中,可以由计算机系统中的处理器,例如中央处理器(central processing unit,CPU),来对该计算机系统进行内存训练。示例地,请参考图1,其示出了本申请实施例提供的一种计算机系统00的结构示意图,该计算机系统00包括:处理器01和至少一个内存芯片,图1以该至少一个内存芯片包括内存芯片1至内存芯片k(也即是内存芯片1、内存芯片2、内存芯片3...内存芯片k)为例说明,k≥1,且k为整数。在一些场景中,内存芯片也可以称为内存条,本申请实施例对此不做限定。
如图1所示,处理器01包括内存控制器02和q个内核(core),q≥1,且q为整数,图1以该q个内核包括内核1至内核q(也即是内核1、内核2、内核3...内核q)为例说明。其中,每个内核皆可以实现逻辑运算功能,当q大于1时,处理器01也可以称为多核处理器,在此情况下,处理器01中的多个内核可以进行并行逻辑运算,以提高处理器01的运算速度。其中,该内存控制器02可以控制内存芯片1至内存芯片k,例如,内存控制器02可以执行对内存芯片1至内存芯片k的读写操作、刷新操作等。示例地,该内存控制器02可以是双倍数据速率(double data rate,DDR)子系统。
如图1所示,内存控制器02包括m个内存通道,m≥1,且m为整数,该图1以该m个内存通道包括内存通道1至内存通道m(也即是内存通道1、内存通道2...内存通道m)为例说明。其中,每个内存通道可以对应至少一个内存芯片,每个内存通道可以控制与其对应的内存芯片,例如,每个内存通道对应两个内存芯片或者一个内存芯片。可选地,每个内存通道包括DDR管理控制器(DDR management controller,DMC)和内存物理接口,该内存物理接口可以是物理层接口(physical interface,PHY)。每个内存通道中的内存物理接口与该内存通道对应的内存芯片连接,每个内存通道中的DMC分别与内核1至内核q以及该内存通道中的内存物理接口连接,每个内存通道中的DMC根据内核1至内核q发送的指令,通过该内存通道中的内存物理接口控制对应的内存芯片,例如,每个内存通道中的DMC根据内核1至内核q发送的读写请求,通过该内存通道中的内存物理接口向对应的内存芯片中读写数据。
以每个内存通道对应两个内存芯片为例说明,如图1所示,内存通道1包括DMC1和PHY1,PHY1与内存芯片1和内存芯片2(内存芯片1和内存芯片2均与内存通道1对应)连接,DMC1分别与PHY1以及内核1至内核q连接,DMC1可以根据内核1至内核q发送的读写请求,通过PHY1从内存芯片1和内存芯片2中读写数据;内存通道2包括DMC2和PHY2,PHY2与内存芯片3和内存芯片4(内存芯片3和内存芯片4均与内存通道2对应)连接,DMC2分别与PHY2以及内核1至内核q连接,DMC2可以根据内核1至内核q发送的读写请求,通过PHY2从内存芯片3和内存芯片4中读写数据;依次类推,内存通道m包括DMCm和PHYm,PHYm与内存芯片k-1和内存芯片k(内存芯片k-1和内存芯片k均与内存通道m对应)连接,DMCm分别与PHYm以及内核1至内核q连接,DMCm可以根据内核1至内核q发送的读写请求,通过PHYm从内存芯片k-1和内存芯片k中读写数据。
如图1所示,该处理器01还包括本地代理(home agent,HA)元件,该HA元件位于内核1至内核q与DMC1至DMCm之间的物理链路上,内核1至内核q可以通过该HA元件向DMC1至DMCm发送读写请求,以使DMC1至DMCm根据该读写请求从内存芯片1至内存芯片k中读写数据,本申请实施例对此不做限定。
本领域技术人员容易理解,内存物理接口(例如PHY)用于处理器与内存芯片之间传输信号,内存物理接口中包括多根信号走线,每根信号走线可以对应一个信号,处理器发往内存芯片的信号以及内存芯片发往处理器的信号均经过内存物理接口中相应的信号走线传输。在本文中,将处理器与内存芯片之间通过内存物理接口传输的信号定义为内存接口信号。示例地,内存接口信号包括DQ信号、DQS信号、DM信号、CTL信号、CMD信号以及CK信号等等。在本文中,内存接口信号可以包括目标信号以及该目标信号的同步信号,例如,DQ信号可以是目标信号,DQS信号是DQ信号的同步信号;再例如,DM信号可以是目标信号,DQS信号是DM信号的同步信号;还例如,CTL信号可以是目标信号,CK信号是CTL信号的同步信号等。在计算机系统00的启动过程中,可以由处理器01对计算机系统00进行内存训练,来调整每个内存物理接口的目标信号与其同步信号的时序关系,使该目标信号与其同步信号之间的时序能够对齐,保证根据该同步信号对该目标信号进行采样的准确性和可靠性。可选地,处理器01的q个内核中存在一个内核为主核,在计算机系统00的启动过程中,由该主核对计算机系统00进行内存训练。在一个示例中,假设内核1为主核,内核1可以按顺序依次对m个内存通道进行内存训练,来调整该m个内存通道中的PHY的目标信号与其同步信号的时序关系。例如,内核1可以先通过对内存通道1进行内存训练来调整PHY1的目标信号与其同步信号的时序关系,再对通过内存通道2进行内存训练来调整PHY2的目标信号与其同步信号的时序关系,最后通过对内存通道m进行内存训练来调整PHYm的目标信号与其同步信号的时序关系;在另一个示例中,内核1同时对m个内存通道进行内存训练,来调整该m个内存通道中的PHY的目标信号与其同步信号的时序关系,本申请实施例对此不做限定。
以通过内存训练调整DQ信号与DQS信号的时序关系为例。计算机系统的内存物理接口中包括多根DQ走线和多根DQS走线,DQS信号通过DQS走线在处理器与内存芯片之间传输(具体是在该处理器中的DMC与内存芯片之间传输),DQ信号通过DQ走线在处理器与内存芯片之间传输(具体是在该处理器中的DMC与内存芯片之间传输),一根DQS走线需要同时采样多根DQ走线(也即是一根DQS走线传输的DQS信号需要同时作为多根DQ走线传输的DQ信号的同步信号),例如,一根DQS走线需要同时采样4根DQ走线或8根DQ走线,具体根据内存芯片的数据位宽确定。以写方向(也即是处理器的DMC向内存芯片中写数据)为例,在DMC向内存芯片中写DQ数据时,DMC为DQ信号的发送端,内存芯片为DQ信号的接收端,DMC向内存芯片发送DQ信号的同时,还向DMC发送DQS信号。由于DMC输出信号的驱动能力受供电电压、环境温度等外界因素的影响,而且一根DQS走线采样的多根DQ走线不可能完全等长,DQS走线与DQ走线也不可能完全等长,因此在未进行内存训练的情况下,DMC向内存芯片发送DQS信号和多个DQ信号时,该多个DQ信号中的有些DQ信号会在DQS信号的采样沿到来之前到达内存芯片,有些DQ信号会在DQS信号的采样沿到来之后到达内存芯片,这就容易导致在内存芯片侧,该多个DQ信号的中心位置无法同时与该DQS信号的采样沿对齐,导致内存芯片无法正确采样该多个DQ信号。通过内存训练,可以调整该多个DQ信号的延时,使DQS信号的采样沿能够同时与该多个DQ信号的中心位置对齐,这样该多个DQ信号能够同时在DQS信号的采样沿到来之前到达内存芯片,易于内存芯片正确采样该多个DQ信号。
示例地,请参考图2和图3,图2和图3示出了本申请实施例提供的两种信号时序图,图2和图3均示出了一个DQS信号和p个DQ信号(包括DQ信号1、DQ信号2...DQ信号p),DQS信号的周期与该p个DQ信号的周期相同,p≥1,且p为整数,例如,p=4或8。其中,图2是在内存训练之前,DMC向内存芯片发送的一个DQS信号和p个DQ信号到达该内存芯片时的时序图,图3是在内存训练之后,DMC向内存芯片发送的一个DQS信号和p个DQ信号到达该内存芯片时的时序图。内存芯片在DQS信号的采样沿(包括上升沿和下降沿)对该p个DQ信号进行采样。如图2所示,该p个DQ信号中,仅DQ信号1的中心位置与DQS信号的采样沿对齐,其余DQ信号的中心位置均与DQS信号的采样沿错开,内存芯片可能无法基于该DQS信号正确采样该p个DQ信号。如图3所示,该p个DQ信号的中心位置均与DQS信号的采样沿对齐,内存芯片能够基于该DQS信号正确采样该p个DQ信号。在本申请实施例中,DQS信号的采样沿包括上升沿和下降沿,上升沿为DQS信号从低电平变化为高电平的边沿,下降沿为DQS信号从高电平变化为低电平的边沿,由于电平的变化需要一定时长,因此如图2和图3所示,DQS信号的上升沿和下降沿均具有一定坡度,从而DQS信号的采样沿具有一定坡度,本申请实施例中所述的DQ信号的中心位置与DQS信号的采样沿对齐指的是DQ信号的高电平的中心位置与DQS信号的采样沿的中心位置对齐,本申请实施例对此不做限定。
需要指出的是,经过内存训练得到的可以是目标信号(例如DQ信号)的采样窗口的中心位置,该中心位置对应一个延时值,该延时值是目标信号相对于其同步信号的延时值,例如是DQ信号的中心位置相对于DQS信号的采样沿的延时值。内存物理接口(例如PHY)中包括与该目标信号对应的影子寄存器和延迟电路(例如延迟锁相环(delay-locked loop,DLL)),在经过内存训练之后,可以将每个目标信号的采样窗口的中心位置对应的延时值配置到相应的影子寄存器中,使该内存物理接口中的延迟电路能够基于该影子寄存器中存储的延时值对该目标信号进行延迟,从而使该目标信号在从发送端(例如DMC)到达接收端(例如内存芯片)时,该目标信号与其同步信号之间的时序能够对齐,便于接收端对该目标信号正确采样。可以理解的是,本申请实施例中,目标信号与其同步信号之间的时序对齐指的是目标信号与其同步信号在到达接收端时,该目标信号与其同步信号之间的时序对齐,在写方向(也即是DMC向内存芯片中写数据)上,DMC是发送端,内存芯片是接收端,在读方向(也即是处理器的DMC从内存芯片读写数据)上,内存芯片是发送端,DMC是接收端。
本领域技术人员容易理解,调整DQS信号与DQ信号之间的时序关系只是内存训练的一部分任务,除了调整DQS信号和DQ信号的时序关系外,在内存训练的过程中,还需要调整其他信号的时序关系。例如,调整DQS信号与DM信号的时序关系,使DQS信号的采样沿与DM信号的中心位置对齐;再例如,调整CTL信号与CK信号的时序关系,使CK信号的采样沿与CTL信号的中心位置对齐等等,本申请实施例对此不做限定。此外,在内存训练的过程中,还可以调整内存通道中终结电阻的大小、参考电压值等等,使内存通道中终结电阻的大小、参考电压值与该内存通道匹配,以及,还可以调整内存芯片的刷新率、时钟频率等等,使内存芯片的刷新率、时钟频率与内存芯片的规格匹配,本申请实施例不再一一列举。
以上描述的是在计算机系统的启动过程中,通过内存训练调整内存接口信号的时序关系的相关内容。在计算机系统启动之后的运行过程中,受供电电压、环境温度等外界因素的影响,内存接口信号的延时可能会发生变化,导致计算机系统启动过程中训练得到的目标信号与其同步信号之间的时序关系发生变化,影响信号采样的准确性。例如,在计算机系统的启动过程中,经过内存训练,内存控制器向内存芯片发送的DQS信号和p个DQ信号的时序如图3所示,但是在计算机系统启动之后的运行过程中,受供电电压、环境温度等外界因素的影响,DQS信号与该p个DQ信号的时序关系发生变化,导致该p个DQ信号的中心位置无法与DQS信号的采样沿对齐。
计算机系统的内存芯片中设置有DQS间隔振荡器,目前,为了保证计算机系统启动之后的运行过程中能够对信号正确采样,在计算机系统启动之后的运行过程中,可以通过内存芯片中DQS间隔振荡器检测测试信号的延时变化量,根据测试信号的延时变化量对内存接口信号进行延时补偿,以使内存物理接口的目标信号与其同步信号之间的时序对齐。示例地,在计算机系统启动之后(也即是进行了启动阶段的内存训练之后)的运行过程中,在固定时长内,测试信号经过DQS间隔振荡器可以循环1000次(例如测试信号在DQS间隔振荡器中传输1000个周期),在计算机系统启动之后的运行过程中,当外界因素发生变化时,在相同的固定时长内,测试信号经过该DQS间隔振荡器只能循环900次,这就说明测试信号的延时发生了变化,可以据此计算测试信号的延时变化量,根据测试信号的延时变化量对内存接口信号进行延时补偿。例如,根据测试信号的延时变化量对DQ信号进行延时补偿,使DQ信号的中心位置与DQS信号的采样沿对齐。但是,在外界因素的影响下,内存接口信号的延时变化量与测试信号的延时变化量可能并不相同,因此根据测试信号的延时变化量对内存接口信号进行延时补偿的准确性较低,影响目标信号采样的准确性和可靠性。
有鉴于此,本申请实施例提供一种处理器、信号调整方法及计算机系统,通过在处理器的内存控制器中增加第一处理器核,在包含该处理器的计算机系统启动之后的运行过程中,该第一处理器核能够调整内存物理接口的目标信号与其同步信号之间的时序关系,使得该目标信号与该同步信号在到达接收端时,该目标信号与该同步信号之间的时序对齐,因此有助于保证目标信号采样的准确性和可靠性。需要指出的是,本申请实施例提供的处理器可以是,例如但不限于CPU、图形处理器(graphics processing unit,GPU)、应用专用集成电路(application-specific integrated circuit,ASIC)、片上系统(system onchip,SoC)或电子控制单元(electronic control unit)等等,下述实施例中为了便于描述,将该处理器应用于计算机系统为例介绍,该计算机系统可以是,例如但不限于智能手机、平板电脑、笔记本电脑、台式电脑、多媒体播放器、电子阅读器、可穿戴式设备、自动驾驶车辆、服务器等等,本申请实施例对此不做限定。下面对结合附图对本申请实施例提供的方案进行说明。
示例地,请参考图4,其示出了本申请实施例提供的一种包含处理器20的计算机系统10的结构示意图,该计算机系统10还包括与该处理器20连接的内存芯片30。
如图4所示,该处理器20包括内存控制器21;该内存控制器21包括内存物理接口211和第一处理器核212,该第一处理器核212与该内存物理接口211连接;该第一处理器核212用于在包含该处理器20的计算机系统10启动之后的运行过程中,调整该内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系,该目标信号和该同步信号均为通过该内存物理接口211传输的信号。可选地,该目标信号和该同步信号均为处理器20与内存芯片30之间通过该内存物理接口211传输的信号,如图4所示,该内存控制器21还包括DMC213,DMC 213分别与内存物理接口211和第一处理器核212连接,内存芯片30与内存物理接口211连接(也即是处理器20通过内存物理接口211与内存芯片30连接),该目标信号和该同步信号可以为DMC 213与内存芯片30之间通过该内存物理接口211传输的信号。
在本申请实施例中,该第一处理器核212通过调整该内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系,可以使该目标信号与该同步信号之间的时序对齐,也即是,使该目标信号和该同步信号在到达接收端时,该目标信号与该同步信号之间的时序对齐。示例地,该目标信号可以是DQ信号,该同步信号可以是DQS信号,该第一处理器核212用于在包含该处理器20的计算机系统10启动之后的运行过程中,调整DQ信号和DQS信号之间的时序关系,使DQS信号的采样沿与DQ信号的中心位置对齐。
综上所述,本申请实施例提供的处理器,由于在包含该处理器的计算机系统启动之后的运行过程中,该处理器的内存控制器中的第一处理器核能够调整内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,因此有助于保证该目标信号与该同步信号之间的时序对齐,从而有助于保证该目标信号采样的准确性和可靠性。
可选地,该第一处理器核212,具体用于在包含该处理器20的计算机系统10启动之后的运行过程中,当满足训练条件时,通过内存训练的方式来调整该内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系。在本申请实施例中,在包含该处理器20的计算机系统10启动之后的运行过程中,该处理器20可以检测是否满足训练条件,当满足该训练条件时,该处理器20的第一处理器核212通过内存训练的方式来调整该内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系,当不满足该训练条件时,该处理器20的第一处理器核212不调整该内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系,该处理器20继续检测是否满足训练条件。可选地,可以由该第一处理器核212检测是否满足训练条件,或者,如图4所示,该处理器20还包括第二处理器核22,也可以由该第二处理器核22检测是否满足训练条件,本申请实施例对此不做限定。其中,第二处理器核22可以是处理器20的主处理器核,第一处理器核212可以是该处理器20的从处理器核,第一处理器核212可以是具有逻辑计算能力的逻辑电路(或模块)。
可选地,该训练条件包括以下至少一项:距离前一次进行内存训练的时长达到第一预设时长;与该处理器20连接的内存芯片(例如内存芯片30)上的延时检测电路检测到的延时变化量大于预设变化量;与该处理器20连接的内存芯片(例如内存芯片30)处于空闲(idle)状态的时长达到第二预设时长。其中,第一预设时长、第二预设时长以及预设变化量均可以是在该第一处理器核212执行内存训练之前已经配置在该处理器20中的,该第一预设时长、第二预设时长以及预设变化量的具体取值可以根据实际情况设置。
可选地,该处理器20内部设置有计时器(timer),该计时器可以每隔第一预设时长向该第一处理器核212发送触发信号,该第一处理器核212接收到该计时器发送的触发信号时,该第一处理器核212确定满足训练条件。其中,该计时器可以设置在内存控制器21中(例如该计时器可以设置在内存物理接口211或第一处理器核212中),也可以设置在第二处理器核22中,本申请实施例对此不做限定。示例地,该第一处理器核212每次进行内存训练之后,可以设置该计时器倒计时第一预设时长,在该计时器倒计时结束时,该计时器向该第一处理器核212发送触发信号,以触发该第一处理器核212通过内存训练的方式来调整该内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系。
可选地,该处理器20连接的内存芯片(例如内存芯片30)中设置有延时检测电路,该延时检测电路可以检测测试信号的延时变化量,该第一处理器核212可以检测该测试信号的延时变化量是否大于预设变化量,当该第一处理器核212确定该测试信号的延时变化量大于预设变化量时,该第一处理器核212确定满足训练条件。示例地,该延时检测电路可以是DQS间隔振荡器。
可选地,该第一处理器核212可以对该处理器20连接的内存芯片(例如内存芯片30)进行状态监控,该第一处理器核212通过对该处理器20连接的内存芯片(例如内存芯片30)进行状态监控确定该内存芯片(例如内存芯片30)处于空闲状态的时长,之后该第一处理器核212检测该内存芯片(例如内存芯片30)处于空闲状态的时长是否大于第二预设时长,当该第一处理器核212确定该内存芯片(例如内存芯片30)处于空闲状态的时长大于第二预设时长时,该第一处理器核212确定满足训练条件。示例地,内存芯片处于空闲状态是指该内存芯片没有数据写入和读出的状态。
需要指出的是,处理器20可以连接至少一个内存芯片,且具体是处理器20的内存物理接口与内存芯片连接,每个内存芯片上可以设置有延时检测电路,每个内存芯片上的延时检测电路均可以检测测试信号的延时变化量,并且处理器20可以对每个内存芯片进行状态监控。在本申请实施例中,由与内存物理接口211连接的第一处理器核检测与该内存物理接口211连接的内存芯片上的延时检测电路检测到的延时变化量是否大于预设变化量,以及由与该内存物理接口211连接的第一处理器核对与该内存物理接口211连接的内存芯片进行状态监控,当处理器20连接的任一内存芯片上的延时检测电路检测到的延时变化量大于预设变化量,或处理器20连接的任一内存芯片处于空闲状态的时长达到第二预设时长,第一处理器核212确定满足训练条件,上述内存芯片30可以是与处理器20连接的任一内存芯片。
可选地,该第一处理器核212,具体用于在包含该处理器20的计算机系统10启动之后的运行过程中,基于初始训练结果,通过内存训练的方式来调整目标信号与其同步信号之间的时序关系,该初始训练结果是在本次进行内存训练之前对该计算机系统10进行内存训练得到的训练结果。示例地,该初始训练结果可以是该计算机系统10的启动过程中,对该计算机系统10进行内存训练得到的训练结果,也即是,该初始训练结果是对该计算机系统10进行初始化的过程中训练得到的训练结果;或者,该初始训练结果可以是在计算机系统10启动之后的运行过程中,本次进行内存训练的前一次对该计算机系统10进行内存训练得到的训练结果,并且,在该计算机系统10的启动过程中,可以由该第一处理器核212对计算机系统10进行内存训练,也可以由第二处理器核22对该计算机系统10进行内存训练,本申请实施例对此不做限定。在本申请实施例中,该第一处理器核212基于初始训练结果,通过内存训练的方式来调整目标信号与其同步信号之间的时序关系,有助于减小内存训练过程的计算量,缩短第一处理器核212调整目标信号与其同步信号之间的时序关系的耗时。可选地,由于在计算机系统启动之后的运行过程中,该计算机系统至少经过了初始化过程的内存训练,因此在该计算机系统启动之后的运行过程对该计算机系统进行内存训练可以认为是对该计算机系统进行再次训练,在一些场景中,在该计算机系统启动之后的运行过程中对该计算机系统执行的内存训练也称为重新训练(retrain)。
可选地,该初始训练结果包括目标信号的采样窗口的初始左边界和初始右边界;该第一处理器核212,具体用于通过执行下述训练步骤,以基于该初始训练结果,通过内存训练的方式来调整该目标信号与该同步信号之间的时序关系。其中,该训练步骤包括:基于该初始左边界确定该目标信号的采样窗口的目标左边界;基于该初始右边界确定该目标信号的采样窗口的目标右边界;基于该目标左边界和该目标右边界,确定该目标信号的采样窗口的目标中心位置。示例地,该目标中心位置与该同步信号的采样沿对齐,该目标中心位置相对于该同步信号的采样沿的延时为0,也即是,该目标中心位置所处的时刻与该同步信号的采样沿所处的时刻相同。可选地,可以将该目标左边界与该目标右边界的中心位置确定为该目标中心位置。在本申请实施例中,目标信号的采样窗口具有左边界和右边界,初始左边界指的是初始训练结果中包括的采样窗口的左边界,初始右边界指的是初始训练结果中包括的采样窗口的右边界,目标左边界指的是基于该初始左边界进行内存训练确定的采样窗口的左边界,目标右边界指的是基于该初始右边界进行内存训练确定的采样窗口的右边界。该初始左边界、该初始右边界、该目标左边界、该目标右边界以及该目标中心位置中的每个位置点对应一个延时值,该延时值是目标信号相对于其同步信号的延时值,该目标左边界对应的延时值与该目标右边界对应的延时值之和除以2即为该目标中心位置对应的延时值。示例地,该初始左边界、该初始右边界、该目标左边界、该目标右边界以及该目标中心位置中的每个位置点对应的延时值可以是该位置点所处的时刻与该目标信号的同步信号的采样沿所处的时刻之间的差值,例如,初始左边界对应的延时值为该初始左边界所处的时刻与该目标信号的同步信号的采样沿所处的时刻之间的差值。
可选地,请参考图5,其示出了本申请实施例提供的一种基于初始左边界确定目标信号的采样窗口的目标左边界的流程图,参见图5,基于初始左边界确定目标信号的采样窗口的目标左边界可以包括如下几个步骤:
步骤501、基于目标信号的采样窗口的初始左边界执行该目标信号的读写测试。
可选地,该初始左边界可以对应一个延时值,第一处理器核212首先控制DMC 213根据该延时值向与内存物理接口211连接的内存芯片(例如内存芯片30)中写入目标数据,之后控制DMC 213根据该延时值从内存芯片30中读取目标数据,以此来基于该初始左边界执行该目标信号的读写测试。
可选地,第一处理器核212控制DMC 213根据该延时值向内存芯片30中写入目标数据可以包括:第一处理器核212根据该延时值向DMC 213发送写入指令,DMC 213根据该写入指令,通过内存物理接口211向内存芯片30发送目标信号(例如DQ信号)以及该目标信号的同步信号(例如DQS信号),该目标信号在经过内存物理接口211的过程中,该内存物理接口211中的延迟电路根据该延时值对该目标信号进行延时,使该目标信号相对与其同步信号的延时等于该延时值;当该目标信号和该同步信号到达内存芯片30时,内存芯片30基于该同步信号对该目标信号进行采样得到目标数据。
可选地,第一处理器核212控制DMC 213根据该延时值从内存芯片30中读取目标数据可以包括:第一处理器核212根据该延时值向DMC 213发送读取指令,DMC 213根据该读取指令,从该内存芯片30中读取目标数据。示例地,DMC 213根据该读取指令触发内存芯片30向DMC 213发送目标信号(例如DQ信号)以及该目标信号的同步信号(例如DQS信号),该目标信号在经过内存物理接口211的过程中,该内存物理接口211中的延迟电路根据该延时值对该目标信号进行延时,使该目标信号相对与其同步信号的延时等于该延时值;当该目标信号和该同步信号到达DMC 213时,DMC 213基于该同步信号对该目标信号进行采样得到目标数据。
步骤502、检测读写测试是否成功。如果读写测试成功,执行步骤503至步骤504;如果读写测试失败,执行步骤505至步骤506。
第一处理器核212可以检测DMC 213向内存芯片30中写入的目标数据与DMC 213从内存芯片30中读取的目标数据是否相同,如果DMC 213向内存芯片30中写入的目标数据与DMC 213从内存芯片30中读取的目标数据相同,则第一处理器核212确定读写测试成功,如果DMC 213向内存芯片30中写入的目标数据与DMC 213从内存芯片30中读取的目标数据不相同,则第一处理器核212确定读写测试失败。
步骤503、以目标步进长度向左调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试,直至读写测试失败。
如果在步骤502中第一处理器核212确定读写测试成功,第一处理器核212确定当目标信号相对于其同步信号的延时值等于该初始左边界对应的延时值时,能够对该目标信号进行正确采样,因此该初始左边界对应的延时值可用,第一处理器核212向左调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试。可选地,第一处理器核212以目标步进长度向左调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试,直至读写测试失败。本领域技术人员容易理解,第一处理器核212以目标步进长度向左调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一左边界读写测试失败,说明该左边界对应的延时值不可用,该左边界左侧的位置点对应的延时值也不可用,因此第一处理器核212停止调整采样窗口的左边界以及读写测试。
可选地,第一处理器核212每调整一次采样窗口的左边界,调整后的左边界对应一个延时值,第一处理器核212首先控制DMC 213根据该延时值向内存芯片30中写入目标数据,之后控制DMC 213根据该延时值从内存芯片30中读取目标数据,以此来基于该调整后的左边界执行该目标信号的读写测试。第一处理器核212基于调整后的左边界执行该目标信号的读写测试的具体实现过程可以参考步骤501,本申请实施例在此不再赘述。
可选地,目标步进长度可以根据目标信号的同步信号的周期长度确定,或者根据处理器20的时钟信号的周期长度确定。例如,将该同步信号的周期长度T分成i等份,该目标步进长度可以等于任一等份的长度T/i,i>1,且i为整数。示例地,目标信号为DQ信号,该目标信号的同步信号为DQS信号,可以将该DQS信号的周期长度T分成512等份,则该目标步进长度可以等于T/512。本领域技术人员容易理解,本申请实施例关于目标步进长度的描述仅仅是示例性的,实际应用中,该目标步进长度可以灵活调整,多次调整采样窗口的边界所采用的目标步进长度可以相等或不相等。例如,第2次调整左边界时采用的目标步进长度与第1次调整左边界时采用的目标步进长度相等,第3次调整左边界时采用的目标步进长度等于第2次调整左边界时采用的目标步进长度的2倍,本申请实施例对此不做限定。
步骤504、将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界。
其中,该读写测试失败时的左边界的上一左边界也即是,在该失败的读写测试之前且距离该失败的读写测试最近的一次成功的读写测试对应的左边界,该上一左边界是读写测试成功的左边界。
本领域技术人员容易理解,第一处理器核212以目标步进长度向左调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一左边界读写测试失败,说明该左边界对应的延时值不可用,该左边界左侧的位置点对应的延时值也不可用,该左边界右侧的上一测试成功的左边界对应的延时值可用,因此第一处理器核212将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界。
步骤505、以目标步进长度向右调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试,直至读写测试失败。
如果在步骤502中第一处理器核212确定读写测试失败,第一处理器核212确定当目标信号相对于其同步信号的延时值等于该初始左边界对应的延时值时,无法对目标信号进行正确采样,因此该初始左边界对应的延时值不可用,第一处理器核212向右调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试。可选地,第一处理器核212以目标步进长度向右调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试,直至读写测试失败。本领域技术人员容易理解,第一处理器核212以目标步进长度向右调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一左边界读写测试失败,说明该左边界对应的延时值不可用,该左边界右侧的位置点对应的延时值也不可用,因此第一处理器核212停止调整采样窗口的左边界以及读写测试。
可选地,第一处理器核212每调整一次采样窗口的左边界,调整后的左边界对应一个延时值,第一处理器核212首先控制DMC 213根据该延时值向内存芯片30中写入目标数据,之后控制DMC 213根据该延时值从内存芯片30中读取目标数据,以此来基于该调整后的左边界执行该目标信号的读写测试。第一处理器核212基于调整后的左边界执行该目标信号的读写测试的具体实现过程可以参考步骤501,本申请实施例在此不再赘述。
步骤506、将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界。
其中,该读写测试失败时的左边界的上一左边界也即是,在该失败的读写测试之前且距离该失败的读写测试最近的一次成功的读写测试对应的左边界,该上一左边界是读写测试成功的左边界。
本领域技术人员容易理解,第一处理器核212以目标步进长度向右调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一左边界读写测试失败,说明该左边界对应的延时值不可用,该左边界右侧的位置点对应的延时值也不可用,该左边界左侧的上一测试成功的左边界对应的延时值可用,因此第一处理器核212将读写测试失败时的左边界的上一左边界确定为该采样窗口的目标左边界。
可选地,请参考图6,其示出了本申请实施例提供的一种基于初始右边界确定目标信号的采样窗口的目标右边界的流程图,参见图6,基于初始右边界确定目标信号的采样窗口的目标右边界可以包括如下几个步骤:
步骤601、基于目标信号的采样窗口的初始右边界执行该目标信号的读写测试。
可选地,该初始右边界可以对应一个延时值。第一处理器核212基于目标信号的采样窗口的初始右边界执行该目标信号的读写测试的过程可以参考前述步骤501,在此不再赘述。
步骤602、检测读写测试成功是否成功。如果读写测试成功,执行步骤603至步骤604;如果读写测试失败,执行步骤605至步骤606。
步骤603、以目标步进长度向右调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试,直至读写测试失败。
如果在步骤602中第一处理器核212确定读写测试成功,第一处理器核212确定当目标信号相对于其同步信号的时延等于该初始右边界对应的延时值时,能够对目标信号进行正确采样,因此该初始右边界对应的延时值可用,第一处理器核212向右调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试。可选地,第一处理器核212以目标步进长度向右调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试,直至读写测试失败。本领域技术人员容易理解,第一处理器核212以目标步进长度向右调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一右边界读写测试失败,说明该右边界对应的延时值不可用,该右边界右侧的位置点对应的延时值也不可用,因此第一处理器核212停止调整采样窗口的右边界以及读写测试。
步骤604、将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界。
其中,该读写测试失败时的右边界的上一右边界也即是,在该失败的读写测试之前且距离该失败的读写测试最近的一次成功的读写测试对应的右边界,该上一右边界是读写测试成功的右边界。
本领域技术人员容易理解,第一处理器核212以目标步进长度向右调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一右边界读写测试失败,说明该右边界对应的延时值不可用,该右边界右侧的位置点对应的延时值也不可用,该右边界左侧的上一测试成功的右边界对应的延时值可用,因此第一处理器核212将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界。
步骤605、以目标步进长度向左调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试,直至读写测试失败。
如果在步骤602中第一处理器核212确定读写测试失败,第一处理器核212确定当目标信号相对于其同步信号的时延等于该初始右边界对应的延时值时,无法对目标信号进行正确采样,因此该初始右边界对应的延时值不可用,第一处理器核212向左调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试。可选地,第一处理器核212以目标步进长度向左调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试,直至读写测试失败。本领域技术人员容易理解,第一处理器核212以目标步进长度向左调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一右边界读写测试失败,说明该右边界对应的延时值不可用,该右边界左侧的位置点对应的延时值也不可用,因此第一处理器核212停止调整采样窗口的右边界以及读写测试。
步骤606、将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界。
其中,该读写测试失败时的右边界的上一右边界也即是,在该失败的读写测试之前且距离该失败的读写测试最近的一次成功的读写测试对应的右边界,该上一右边界是读写测试成功的右边界。
本领域技术人员容易理解,第一处理器核212以目标步进长度向左调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试的过程中,如果第一处理器核212对某一右边界读写测试失败,说明该右边界对应的延时值不可用,该右边界左侧的位置点对应的延时值也不可用,该右边界右侧的上一测试成功的右边界对应的延时值可用,因此第一处理器核212将读写测试失败时的右边界的上一右边界确定为该采样窗口的目标右边界。
下面结合图7,以一个示例介绍第一处理器核212基于目标信号的采样窗口的初始左边界确定该采样窗口的目标左边界,以及,基于该目标信号的采样窗口的初始右边界确定该采样窗口的目标右边界的过程。参见图7,目标信号的采样窗口W的初始左边界为Lb,初始右边界为Rb,以第一处理器核212首先确定目标左边界,然后确定目标右边界为例说明。
第一处理器核212确定目标左边界的过程包括:第一处理器核212首先采用步骤501提供的方法基于初始左边界Lb执行目标信号的读写测试,然后采用步骤502提供的方法检测基于初始左边界Lb执行的读写测试是否成功;如果基于初始左边界Lb执行的读写测试成功,第一处理器核212基于步骤503至步骤504提供的方法确定采样窗口的目标左边界;如果基于初始左边界Lb执行的读写测试失败,第一处理器核212基于步骤505至步骤506提供的方法确定采样窗口的目标左边界。本文以第一处理器核212基于初始左边界Lb执行的读写测试成功为例说明,则第一处理器核212以目标步进长度S向左调整采样窗口的左边界,调整后的左边界为Lb1,第一处理器核212基于该左边界Lb1执行目标信号的读写测试;假设基于该左边界Lb1执行的读写测试成功,第一处理器核212继续以目标步进长度S向左调整采样窗口的左边界,调整后的左边界为Lb2,第一处理器核212基于该左边界Lb2执行目标信号的读写测试;假设基于该左边界Lb2执行的读写测试成功,第一处理器核212继续以目标步进长度S向左调整采样窗口的左边界,调整后的左边界为Lb3,第一处理器核212基于该左边界Lb3执行目标信号的读写测试;假设基于该左边界Lb3执行的读写测试成功,第一处理器核212继续以目标步进长度S向左调整采样窗口的左边界,调整后的左边界为Lb4,第一处理器核212基于该左边界Lb4执行目标信号的读写测试;假设基于该左边界Lb4执行的读写测试失败,则第一处理器核212将左边界Lb3(也即是读写测试失败时的左边界Lb4的上一左边界)确定为目标左边界。
第一处理器核212确定目标右边界的过程包括:第一处理器核212首先采用步骤601提供的方法基于初始右边界Rb执行目标信号的读写测试,然后采用步骤602提供的方法检测基于初始右边界Rb执行的读写测试是否成功;如果基于初始右边界Rb执行的读写测试成功,第一处理器核212基于步骤603至步骤604提供的方法确定采样窗口的目标右边界;如果基于初始右边界Rb执行的读写测试失败,第一处理器核212基于步骤605至步骤606提供的方法确定采样窗口的目标右边界。本文以第一处理器核212基于初始右边界Rb执行的读写测试失败为例说明,则第一处理器核212以目标步进长度S向左调整采样窗口的右边界,调整后的右边界为Rb1,第一处理器核212基于该右边界Rb1执行目标信号的读写测试;假设基于该右边界Rb1执行的读写测试成功,第一处理器核212继续以目标步进长度S向左调整采样窗口的右边界,调整后的右边界为Rb2,第一处理器核212基于该右边界Rb2执行目标信号的读写测试;假设基于该右边界Rb2执行的读写测试成功,第一处理器核212继续以目标步进长度S向左调整采样窗口的右边界,调整后的右边界为Rb3,第一处理器核212基于该右边界Rb3执行目标信号的读写测试;假设基于该右边界Rb3执行的读写测试失败,则第一处理器核212将右边界Rb2(也即是读写测试失败时的右边界Rb3的上一右边界)确定为目标右边界。
综上描述结合图7可以确定,第一处理器核212通过内存训练确定的目标左边界为Lb3,目标右边界为Rb2,经过第一处理器核212的内存训练,目标信号的采样窗口由采样窗口W变为采样窗口W’,该采样窗口W’的左边界为目标左边界为Lb3,目标右边界为Rb2。
结合以上描述容易理解,在本申请实施例中,目标信号的采样窗口内的任一位置点以及该采样窗口的边界所在位置点分别对应一个延时值,每个延时值是目标信号相对于其同步信号的延时值,该采样窗口相当于是一个延时范围,当目标信号与其同步信号的延时值处于该延时范围内时,能够实现目标信号的正确采样,当目标信号与其同步信号的延时值处于该延时范围外时,无法实现该目标信号的正确采样。所以本申请实施例经过内存训练,得到的可以是一个延时范围,该延时范围用于表征能够对目标信号进行正确采样时,该目标信号相对于其同步信号的延时关系。示例地,经过内存训练,可以得到读写方向72bit(比特)的DQ信号相对各自的DQS信号的延时范围,其中,该72bit的DQ信号可以包括64bit的DQ数据信号和8bit的检错和纠错(error checking and correction,ECC)信号,每bit的DQ信号可以通过一根DQ走线传输,该72bit的DQ信号通过72根DQ走线传输。其中,每根DQ走线传输的DQ信号相对于其DQS信号的延时范围均可以由第一处理器核212通过执行上述训练步骤获得,第一处理器核212可以通过执行上述训练步骤按顺序确定该72根DQ走线传输的DQ信号相对于其DQS信号的延时范围,也可以通过执行上述训练步骤同时确定多根(例如8根)DQ走线传输的DQ信号相对于其DQS信号的延时范围,本申请实施例对此不做限定。
可选地,请参考图8,其示出了本申请实施例提供的一种内存物理接口211的结构示意图,该内存物理接口211可以是PHY,参见图8,该内存物理接口211包括与目标信号对应的影子寄存器2111以及与目标信号对应的过渡寄存器2112,如前所述,采样窗口的左边界和右边界中的每个边界对应一个延时值,该左边界可以包括调整前的左边界和调整后的左边界,该右边界同样可以包括调整前的右边界和调整后的右边界;该第一处理器核212,还用于在每次执行该目标信号的读写测试之前,将本次执行该读写测试所基于的采样窗口的边界对应的延时值配置到该目标信号对应的该过渡寄存器2112中;以及,在每次执行该目标信号的读写测试时,将该目标信号对应的该过渡寄存器2112中的延时值加载到该目标信号对应的该影子寄存器2111中。相应地,第一处理器核212具体用于基于该目标信号对应的影子寄存器2111中的,本次执行目标信号的读写测试时该采样窗口的边界对应的延时值,执行该目标信号的读写测试。示例地,在每次执行目标信号的读写测试时,该内存物理接口211中的延迟电路根据该影子寄存器2111中当前的延时值对该目标信号进行延时。
可选地,在每次执行该目标信号的读写测试时,该第一处理器核212可以通过硬件触发的方式将该过渡寄存器2112中的延时值加载到该影子寄存器2111中,这样一来可以加快将延时值加载到该影子寄存器2111的过程。本领域技术人员容易理解,第二处理器核22需要基于影子寄存器2111中的延时值进行内存芯片的数据读写,第一处理器核212需要基于影子寄存器2111中的延时值进行读写测试,因此读写测试过程势必会与第二处理器核22的数据读写过程相互影响,所以第一处理器核212进行读写测试的过程中需要第二处理器核22暂停数据读写过程,而如果在进行读写测试时,在影子寄存器2111中配置读写测试所基于的延时值,由于在影子寄存器2111中配置延时值的过程耗时较长,因此导致读写测试过程耗时较长,从而导致第二处理器核22暂停数据读写的时间较长,影响处理器10的性能。鉴于此,本申请实施例在内存物理接口211中增加过渡寄存器2112,在执行读写测试之前将读写测试所基于的延时值配置到过渡寄存器2112中,在执行读写测试时将该过渡寄存器2112中的延时值加载到该影子寄存器2111中,这样一来,有助于降低第一处理器核212进行内存训练的过程对处理器10的性能影响。
本领域技术人员容易理解,图8所示的内存物理接口211仅仅是示例性的,实际应用中,内存物理接口211中包括多根信号走线,与该多根信号走线一一对应的多个影子寄存器,以及与该多根信号走线一一对应的多个过渡寄存器,每根信号走线用于传输一个信号,在内存训练的过程中,每一次读写测试都需要在该多个影子寄存器中配置相应的延时值,如果直接在该多个影子寄存器中配置相应的延时值,配置延时值的过程的耗时较长,本申请实施例中,在执行读写测试之前,可以将读写测试所基于的延时值配置到一一对应配置到多个过渡寄存器中,在执行读写测试时将该多个过渡寄存器中的延时值一一对应加载到该多个影子寄存器中,很大程度的降低内存训练过程对处理器的性能影响。可选地,在执行读写测试时,可以通过硬件触发的方式将该多个过渡寄存器中的延时值一一对应加载到该多个影子寄存器中。
可选地,如图8所示,该内存物理接口211包括与目标信号对应的影子寄存器2111,初始训练结果还包括该目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,该第一处理器核212在执行训练步骤之前,该初始中心位置对应的延时值在该目标信号对应的该影子寄存器2111中;该第一处理器核212,还用于在确定该目标信号的采样窗口的目标中心位置之后,以该目标中心位置对应的延时值更新该影子寄存器2111中的延时值,也即是,第一处理器核212以该目标中心位置对应的延时值更新该影子寄存器2112中的初始中心位置对应的延时值。这样一来,可以便于第二处理器核22基于该影子寄存器2111中的目标中心位置对应的延时值进行读写。可选地,如图8所示,该内存物理接口211包括与目标信号对应的过渡寄存器2112,第一处理器核212具体用于在确定该目标信号的采样窗口的目标中心位置之后,将该目标中心位置对应的延时值配置到过渡寄存器2112中,之后,在需要使用该目标中心位置对应的延时值进行数据读写时,将该过渡寄存器2112中的该目标中心位置对应的延时值加载到该影子寄存器2111中,由此可以缩短在影子寄存器2111中配置延时值的耗时,从而将目标中心位置对应的延时值快速更新到影子寄存器2111中。
可选地,如图4所示,该计算机系统10还包括:与处理器20连接的非易失性存储器40,该第一处理器核212,还用于在确定该目标信号的采样窗口的目标左边界和目标右边界之后,将该目标左边界对应的延时值和该目标右边界对应的延时值存储至该非易失性存储器40中,这样可以便于第一处理器核212后续使用该目标左边界作为初始左边界,使用该目标右边界作为初始右边界对计算机系统10进行内存训练,且能够保证该计算机系统10断电时,该目标左边界对应的延时值和该目标右边界对应的延时值不会丢失。其中,该非易失性存储器40可以是闪存、SATA硬盘、SSD硬盘或磁盘等。可选地,如图4所示,处理器20还包括输入/输出(input/output,I/O)控制器23,处理器20通过该I/O控制器23与非易失性存储器40连接。示例地,I/O控制器23的一端与第二处理器核22连接,另一端与非易失性存储器40连接,使得处理器20通过该I/O控制器23与该非易失性存储器40连接。
可选地,如图4所示,该处理器20还包括第二处理器核22;第一处理器核212,还用于在调整目标信号与该目标信号的同步信号之间的时序关系之前,向该第二处理器核22发送暂停信号;该第二处理器核22,用于在接收到暂停信号时,停止向该处理器20连接的内存芯片(例如内存芯片30)发送读写指令。例如,第一处理器核212在对计算机系统10进行内存训练之前,向该第二处理器核22发送暂停信号。本申请实施例中,由于第一处理器核212调整目标信号与该目标信号的同步信号之间的时序关系的过程会对第二处理器核22的数据读写过程产生影响,因此为了避免第二处理器核22的数据读写过程出错,第一处理器核212在调整目标信号与该目标信号的同步信号之间的时序关系之前,向该第二处理器核22发送暂停信号,使第一处理器核212调整目标信号与该目标信号的同步信号之间的时序关系的过程中,第二处理器核22停止向该内存芯片30发送读写指令,从而停止数据读写过程。在本申请实施例中,第一处理器核212向第二处理器核22发送暂停信号使第二处理器核22停止数据读写过程称为反压。
可选地,该第一处理器核212,还用于在调整该目标信号与该同步信号之间的时序关系之后,向第二处理器核22发送恢复信号;该第二处理器核22,还用于在接收到该恢复信号时,恢复向该处理器20连接的内存芯片(例如内存芯片30)发送读写指令。例如,第一处理器核212在对计算机系统10进行内存训练之后,向该第二处理器核22发送恢复信号。本申请实施例中,由于第一处理器核212在调整该目标信号与该同步信号之间的时序关系之后,向该第二处理器核22发送恢复信号使该第二处理器核22恢复向该处理器20连接的内存芯片发送读写指令,因此有助于该第二处理器核22进行数据读写。
可选地,该第一处理器核212,具体用于在执行目标信号的读写测试之前,向该第二处理器核22发送暂停信号;在执行n次目标信号的读写测试之后,向该第二处理器核22发送恢复信号,n≥1,且n为整数。如前所述容易理解,第一处理器核212调整该目标信号与该同步信号之间的时序关系的过程中,需要多次进行读写测试,进行读写测试的过程中第二处理器核22停止数据读写过程,为了避免第一处理器核212调整该目标信号与该同步信号之间的时序关系的过程耗时较长导致第二处理器核22长时间无法进行数据读写,该第一处理器核212在调整该目标信号与该同步信号之间的时序关系的过程中,每执行n次读写测试(也即是测试了n个位置点),该第一处理器核212可以向第二处理器核22发送恢复信号,使第二处理器核22恢复数据读写过程,这样一来,可以将调整该目标信号与该同步信号之间的时序关系的过程(例如内存训练过程)分成多个阶段进行,避免调整目标信号与同步信号之间的时序关系的过程耗时较长对处理器的性能影响。可选地,第一处理器核212在多个阶段中的读写测试次数可以相等或不相等,也即是,在不同阶段中,n的取值可以相同或不同,例如,在一个阶段中,n=3,在另一个阶段中,n=4,本申请实施例对此不做限定。
可选地,第一处理器核212,还用于在向第二处理器核22发送暂停信号之前,对该第二处理器核22的工作参数进行备份。这样一来,可以便于该第二处理器核22在接收到该第一处理器212核发送的恢复信号后,恢复该第二处理器核22的工作参数。如图8所示,内存物理接口211包括与目标信号对应的过渡寄存器2112;该第一处理器核212,具体用于在向该第二处理器核22发送暂停信号之前,将该第二处理器核22的工作参数备份至该过渡寄存器2112中,由此可以实现对该第二处理器核22的工作参数的快速备份。
可选地,该初始训练结果还包括目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,该第一处理器核212在执行上述训练步骤之前,该初始中心位置对应的延时值在该目标信号对应的该影子寄存器2111中,第二处理器核22基于该影子寄存器2111中的该初始中心位置对应的延时值进行数据读写,该第二处理器核22的工作参数可以包括该初始中心位置对应的延时值;该第一处理器核212,具体用于在向该第二处理器核22发送暂停信号之前,对该影子寄存器1432中的该初始中心位置对应的延时值进行备份;以及,在执行n次目标信号的读写测试之后且向该第二处理器核22发送恢复信号之前,将备份的该初始中心位置对应的延时值加载到该影子寄存器2111中。由于第一处理器核212在向第二处理器核22发送暂停信号之前,对初始中心位置对应的延时值进行备份,在执行n次读写测试之后且向该第二处理器核22发送恢复信号之前,将备份的该初始中心位置对应的延时值加载到影子寄存器2111中,因此可以便于第二处理器核22恢复数据读写过程,避免内存训练过程导致第二处理器核22无法继续进行数据读写。
可选地,该第一处理器核212,具体用于在向第二处理器核22发送暂停信号之前,将影子寄存器2111中的该初始中心位置对应的延时值备份至该过渡寄存器2112中;以及,在执行n次目标信号的读写测试之后且向第二处理器核22发送恢复信号之前,将该过渡寄存器2112中备份的该初始中心位置对应的延时值加载到该影子寄存器2111中。也即是,本申请实施例利用过渡寄存器2112实现初始中心位置对应的延时值的备份。如前所述,本申请实施例还利用过渡寄存器2112将采样窗口的边界对应的延时值配置到影子寄存器2111中,因此可以理解的是,本申请实施例借助该过渡寄存器2112,实现新延时值(指的是采样窗口的边界对应的延时值)与初始延时值(指的是初始中心位置对应的延时值)的倒换。
可选地,请继续参考图4,内存控制器21还包括存储电路214,该存储电路214与第一处理器核212连接,处理器20还包括第二处理器核22,该第二处理器核22与该存储电路214连接;该第二处理器核22还用于向该存储电路214中写入调用信息;该第一处理器核212具体用于在该计算机系统10启动之后的运行过程中,从该存储电路214中读取该调用信息并执行该调用信息。其中,该调用信息为用于实现调整该目标信号与该同步信号之间的时序关系的信息(例如实现内存训练),第一处理器核212通过执行该调用信息,可以调整内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系。其中,第二处理器核22可以是处理器20的主处理器核,第一处理器核212可以是该处理器20的从处理器核,第一处理器核212可以是具有逻辑计算能力的逻辑电路(或模块),能够基于第二处理器核22的调用调整目标信号与该目标信号的同步信号之间的时序关系。
可选地,第二处理器核22包括至少一个内核,该至少一个内核中可以包括一个主核,第二处理器核22与存储电路214连接可以是该第二处理器核22中的主核与该存储电路214连接,第二处理器核22向存储电路214写入调用信息可以是该第二处理器核22中的主核向该存储电路214写入调用信息。示例地,请参考图9,其示出了本申请实施例提供的一种处理器20的结构示意图,如图9所示,该第二处理器核22包括内核1至内核q,内核1为该第二处理器核22的主核,内核1与存储电路214连接,该内核1用于向存储电路214写入调用信息。可选地,内核1与存储电路214之间定义了命令接口,该内核1可以通过该命令接口,以命令的形式将该调用信息写入存储电路214中。
可选地,该存储电路214包括寄存器和SRAM中的至少一种。本申请实施例以该存储电路214包括寄存器和SRAM为例说明,如图9所示,第一处理器核212分别与寄存器2141、SRAM2142、DMC 213和内存物理接口211连接,以便于第一处理器核212能够从寄存器2141和SRAM2142中读取调用信息,并基于该调用信息,通过与DMC 213和内存物理接口211交互进行内存训练,来调整内存物理接口211的目标信号与该目标信号的同步信号之间的时序关系。第二处理器核22分别与寄存器2141、SRAM2142和DMC 213连接,以便于第二处理器核22能够向寄存器2141和SRAM2142中写入调用信息,以及与DMC 213交互进行数据读写。如图9所示,第二处理器核22中的主核1分别与寄存器2141和SRAM2142连接。
可选地,第二处理器核22在向存储电路214写入调用信息之后,还可以向存储电路214写入解复位信息。第一处理器核212在读取到该解复位信息后,从存储电路214读取调用信息并执行该调用信息。一般来说,第二处理器核22可以将解复位信息和调用信息写入存储电路214的不同位置,例如,第二处理器核22可以将解复位信息可以写入寄存器2141的标志位,将调用信息写入SRAM 2142。示例地,寄存器2141中标志位的初始电平状态可以是0,写入解复位信息之后,该标志位的电平状态变为1,第一处理器核212可以周期性读取标志位的电平状态,当标志位的电平状态由0变为1后,第一处理器核212确定第二处理器核22向SRAM 2142中写入了调用信息,第一处理器核212便可以从SRAM 2142中读取调用信息并执行该调用信息。
可选地,第一处理器核212的固件存储于与处理器20连接的非易失性存储器40且可被更新,该固件包括该调用信息。在计算机系统10上电之前,该第一处理器核212的固件可以存储于该非易失性存储器40中,该第二处理器核22可以在计算机系统10上电时,将该第一处理器核212的固件从该非易失性存储器40写入该存储电路214。该第二处理器核22可以是处理器20的主处理器核,该第二处理器核22可以更新第一处理器核212的固件,从而更新该第一处理器核212的功能。示例地,该第一处理器核212的固件中包括上述用于实现调整该目标信号与该同步信号之间的时序关系的调用信息,可以通过升级该第一处理器核212的固件来更新该调用信息,例如,该调用信息可以是一段程序代码,其包含至少一条指令,第二处理器核22可以通过升级该第一处理器核212的固件来新增、减少或修改调用信息中的指令,从而可以实现内存训练拓展和灵活配置。
可选地,该内存控制器21包括至少一个内存通道和至少一个第一处理器核,每个内存通道包括内存物理接口,每个内存通道中的内存物理接口用于与至少一个内存芯片连接,该至少一个内存通道中的内存物理接口与该至少一个第一处理器核连接;该至少一个第一处理器核用于在该计算机系统启动之后的运行过程中,调整该至少一个内存通道中的内存物理接口的目标信号与该目标信号的同步信号之间的时序关系。可选地,该内存控制器21包括至少一个从核子系统,每个从核子系统包括第一处理器核和存储电路,每个内存通道包括DMC和内存物理接口,每个内存通道中的内存物理接口与该内存通道中的DMC连接,该至少一个内存通道中的DMC和内存物理接口与该至少一个从核子系统的第一处理器核连接。需要指出的是,本申请实施例并不限制内存控制器21中的从核子系统的数量,示例地,内存控制器21仅包括一个从核子系统,该内存控制器21的所有内存通道中的DMC和内存物理接口均与该一个从核子系统的第一处理器核连接,该一个从核子系统的第一处理器核调整通过所有内存物理接口传输的信号的时序关系;再示例地,内存通道与从核子系统一一对应,每个内存通道中包括一个从核子系统,每个从核子系统中的第一处理器核用于在该计算机系统启动之后的运行过程中,调整通过相应的内存通道中的内存物理接口传输的信号的时序关系。其中,内存物理接口可以是PHY。
示例地,请参考图10,其示出了本申请实施例提供的另一种包含处理器20的计算机系统10的结构示意图,该计算机系统10还包括至少一个内存芯片,该处理器20包括内存控制器21和第二处理器核22,该内存控制器21包括至少一个内存通道和一个从核子系统,该至少一个内存通道中的每个内存通道包括DMC和PHY,该从核子系统包括第一处理器核212和存储电路214。图10以该至少一个内存芯片包括内存芯片1至内存芯片k,该至少一个内存通道包括内存通道1至内存通道m,每个PHY连接两个内存芯片为例说明,该至少一个内存芯片中的每个内存芯片的结构和功能可以如前述内存芯片30。如图10所示,内存通道1包括DMC1和PHY1,DMC1分别与第二处理器核22和PHY1连接,PHY1分别与内存芯片1和内存芯片2连接,内存通道m包括DMCm和PHYm,DMCm分别与第二处理器核22和PHYm连接,PHYm分别与内存芯片k-1和内存芯片k连接,DMC1至DMCm以及PHY1至PHYm分别与第一处理器核212连接,该存储电路214与第二处理器核22连接,具体地,该存储电路214与第二处理器核22的主核1连接。该第一处理器核212用于通过内存训练的方式调整通过PHY1至PHYm传输的信号的时序关系,使通过PHY1至PHYm传输的目标信号与其同步信号之前的时序对齐。例如,第一处理器核212通过内存训练的方式调整DMC1通过PHY1向内存芯片1和内存芯片2传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)的时序关系,以及,调整内存芯片1和内存芯片2通过PHY1向DMC1传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)的时序关系;再例如,第一处理器核212通过内存训练的方式调整DMCm通过PHYm向内存芯片k-1和内存芯片k传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)时序关系,以及,调整内存芯片k-1和内存芯片k通过PHYm向DMCm传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)的时序关系。在本申请实施例中,对计算机系统进行内存训练可以理解为对计算机系统中的内存通道进行内存训练,该图10所示实施例提供的计算机系统10中,可以由第一处理器核212对内存通道1至内存通道m进行内存训练,来调整通过PHY1至PHYm传输的信号的时序关系。在一个示例中,该第一处理器核212可以按顺序依次对内存通道1至内存通道m进行内存训练,例如,该第一处理器核212先对内存通道1进行内存训练,最后对内存通道m进行内存训练;在另一个示例中,该第一处理器核212可以同时对内存通道1至内存通道m进行内存训练,本申请实施例对此不做限定。
示例地,请参考图11,其示出了本申请实施例提供的再一种包含处理器20的计算机系统10的结构示意图,该计算机系统10还包括至少一个内存芯片,该处理器20包括内存控制器21和第二处理器核22,该内存控制器21包括至少一个内存通道和至少一个从核子系统,该至少一个内存通道与该至少一个从核子系统一一对应,该至少一个内存通道中的每个内存通道包括DMC和PHY。图11以该至少一个内存芯片包括内存芯片1至内存芯片k,该至少一个内存通道包括内存通道1至内存通道m,该至少一个从核子系统包括从核子系统1至从核子系统m,且每个PHY连接两个内存芯片为例说明,需要指出的是,该至少一个内存芯片中的每个内存芯片的结构和功能可以如前述内存芯片30。如图11所示,内存通道1包括DMC1和PHY1,DMC1分别与第二处理器核22和PHY1连接,PHY1分别与内存芯片1和内存芯片2连接,从核子系统1与内存通道1对应,该从核子系统1位于该内存通道1中,该从核子系统1中的第一处理器核1分别与DMC1、PHY1和该从核子系统1中的存储电路1连接,该存储电路1与第二处理器核22连接,具体地,该存储电路1与第二处理器核22的主核1连接,该第一处理器核1通过内存训练的方式调整DMC1通过PHY1向内存芯片1和内存芯片2传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)的时序关系,以及,调整内存芯片1和内存芯片2通过PHY1向DMC1传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)的时序关系;内存通道m包括DMCm和PHYm,DMCm分别与第二处理器核22和PHYm连接,PHYm分别与内存芯片k-1和内存芯片k连接,从核子系统m与内存通道m对应,该从核子系统m位于该内存通道m中,该从核子系统m中的第一处理器核m分别与DMCm、PHYm和该从核子系统m中的存储电路m连接,该存储电路m与第二处理器核22连接,具体地,该存储电路m与第二处理器核22的主核1连接,该第一处理器核m通过内存训练的方式调整DMCm通过PHYm向内存芯片k-1和内存芯片k传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)的时序关系,以及,调整内存芯片k-1和内存芯片k通过PHYm向DMCm传输的目标信号(例如DQ信号)与其同步信号(例如DQS信号)的时序关系。在本申请实施例中,对计算机系统进行内存训练可以理解为对计算机系统中的内存通道中进行内存训练,该图11所示实施例提供的计算机系统中,可以由第一处理器核1对内存通道1进行内存训练,第一处理器核m对内存通道m进行内存训练。
需要指出的是,图11和图12所示的计算机系统仅仅是示例性的,该计算机系统还可以包括非易失性存储器,该计算机系统中的处理器还可以包括I/O控制器,该非易失性存储器通过该I/O控制器与该处理器的第二处理器核连接。本领域技术人员容易理解,本申请实施例以从核子系统中的第一处理器核通过内存训练的方式调整目标信号与其同步信号的时序关系为例说明,实际应用中,该从核子系统的功能并不限于内存训练,例如,在计算机系统的启动过程中,该从核子系统中的第一处理器核还可以对计算机系统进行初始化,在计算机系统启动之后的运行过程中,该从核子系统中的第一处理器核还可以根据外界因素的变化调整内存芯片的刷新率,调整该处理器的时钟频率等等,只要将相应的调用信息存储到该从核子系统的存储电路中即可使该从核子系统实现相应的功能,本申请实施例在此不再赘述。
综上所述,本申请实施例提供的处理器,由于在包含该处理器的计算机系统启动之后的运行过程中,该处理器的内存控制器中的第一处理器核能够调整内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,因此有助于保证该目标信号与其同步信号之间的时序对齐,从而有助于保证该目标信号采样的准确性和可靠性。此外,由于该第一处理器核基于初始训练结果,通过内存训练的方式调整该目标信号与该同步信号之间的时序关系,因此该第一处理器核调整该目标信号与该同步信号之间的时序关系的过程中需要测试的延时值较少,有助于缩短调整该目标信号与该同步信号之间的时序关系的耗时,能够避免调整该目标信号与该同步信号之间的时序关系的过程对处理器的性能影响。并且,本申请实施例中引入过渡寄存器,在读写测试时利用该过渡寄存器向影子寄存器中配置延时值,有助于避免直接向影子寄存器中配置延时值耗时较长而对处理器的性能影响。
基于同样的发明构思,本申请实施例提供了一种信号调整方法,下面对本申请实施例提供的信号调整方法进行介绍。
本申请实施例提供的信号调整方法可以应用于上述处理器,该处理器包括内存控制器,该内存控制器包括内存物理接口和第一处理器核,该第一处理器核与该内存物理接口连接。该方法包括:该第一处理器核在包含该处理器的计算机系统启动之后的运行过程中,调整该内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,该目标信号和该同步信号均为通过该内存物理接口传输的信号。示例地,当该目标信号为DQ信号或DM信号时,该同步信号为DQS信号,当该目标信号为CTL信号或CMD信号时,该同步信号为CK信号。
可选地,该内存控制器还包括存储电路,该处理电路与该第一处理器核连接,该处理器还包括第二处理器核,该第二处理器核可以是该处理器的主处理器核,该第二处理器核可以向该存储电路写入调用信息,在该计算机系统启动之后的运行过程中,该第一处理器核可以从该存储电路中读取该调用信息并执行该调用信息,以调整内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,该调用信息为用于实现调整内存物理接口的目标信号与该目标信号的同步信号之间的时序关系的信息。其中,该存储电路包括寄存器和静态随机存储器中的至少一种。可选地,该第一处理器核的固件存储于与该处理器连接的非易失性存储器且可被更新,该固件包括该调用信息,第二处理器核可以通过对第一处理器核的固件升级,实现内存训练的拓展和灵活配置。其中,该非易失性存储器可以是闪存、SATA硬盘、SSD硬盘或磁盘等。
可选地,第一处理器核可以在计算机系统启动之后的运行过程中,当满足训练条件时,通过内存训练的方式来调整目标信号与所述同步信号之间的时序关系。其中,该训练条件包括以下至少一项:距离前一次进行内存训练的时长达到第一预设时长;处理器连接的内存芯片上的延时检测电路检测到的延时变化量大于预设变化量;处理器连接的内存芯片处于空闲状态的时长达到第二预设时长。在包含处理器的计算机系统启动之后的运行过程中,该处理器可以检测是否满足训练条件,当满足该训练条件时,该第一处理器核通过内存训练的方式来调整目标信号与该同步信号之间的时序关系,当不满足该训练条件时,该第一处理器核不调整目标信号与该同步信号之间的时序关系,并且该处理器可以继续检测是否满足训练条件。可选地,可以由该第一处理器核检测是否满足训练条件,也可以由该处理器的第二处理器核检测是否满足训练条件,本申请实施例对此不做限定。
可选地,第一处理器核在计算机系统启动之后的运行过程中,基于初始训练结果,通过内存训练方式来调整目标信号与同步信号之间的时序关系,该初始训练结果是在本次进行内存训练之前对该计算机系统进行内存训练得到的训练结果。在本申请实施例中,该初始训练结果可以包括目标信号的采样窗口的初始左边界和初始右边界,该第一处理器可以通过执行训练步骤,以基于该初始训练结果,通过内存训练的方式来调整目标信号与同步信号之间的时序关系。其中,该训练步骤包括:基于该初始左边界确定该目标信号的采样窗口的目标左边界;基于该初始右边界确定该目标信号的采样窗口的目标右边界;基于该目标左边界和该目标右边界,确定该目标信号的采样窗口的目标中心位置。示例地,该目标中心位置与该同步信号的采样沿对齐,该目标中心位置相对于该同步信号的采样沿的延时为0,也即是,该目标中心位置所处的时刻与该同步信号的采样沿所处的时刻相同。
可选地,第一处理器核基于初始左边界确定目标信号的采样窗口的目标左边界,可以包括:第一处理器核基于该初始左边界执行该目标信号的读写测试;如果读写测试成功,第一处理器核以目标步进长度向左调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试,直至读写测试失败;第一处理器核将读写测试失败时的左边界的上一左边界确定为该采样窗口的该目标左边界;如果读写测试失败,第一处理器核以目标步进长度向右调整该采样窗口的左边界,并基于调整后的左边界执行该目标信号的读写测试,直至读写测试失败;第一处理器核将读写测试失败时的左边界的上一左边界确定为该采样窗口的该目标左边界。
可选地,第一处理器核基于初始右边界确定目标信号的采样窗口的目标右边界,可以包括:第一处理器核基于该初始右边界执行该目标信号的读写测试;如果读写测试成功,第一处理器核以目标步进长度向右调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试,直至读写测试失败;第一处理器核将读写测试失败时的右边界的上一右边界确定为该采样窗口的该目标右边界;如果读写测试失败,第一处理器核以目标步进长度向左调整该采样窗口的右边界,并基于调整后的右边界执行该目标信号的读写测试,直至读写测试失败;第一处理器核将读写测试失败时的右边界的上一右边界确定为该采样窗口的该目标右边界。
本申请实施例中,第一处理器核在基于左边界(或右边界)执行目标信号的读写测试之前,需要将该左边界(或右边界)对应的延时值配置到内存物理接口中与该目标信号对应的影子寄存器中,但是直接向内存物理接口的影子寄存器中配置延时值容易影响处理器的性能,因此,本申请实施例在内存物理接口中增加与该目标信号对应的过渡寄存器,第一处理器核在每次执行该目标信号的读写测试之前,将本次执行读写测试所基于的采样窗口的边界对应的延时值配置到目标信号对应的过渡寄存器中;在每次执行目标信号的读写测试时,将该目标信号对应的过渡寄存器中的延时值加载到该目标信号对应的影子寄存器中;这样一来,第一处理器核可以基于该目标信号对应的影子寄存器中的,本次执行目标信号的读写测试时采样窗口的边界对应的延时值,执行目标信号的读写测试。
可选地,内存物理接口包括与目标信号对应的影子寄存器,该初始训练结果还包括该目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,该第一处理器核在执行该训练步骤之前,该初始中心位置对应的延时值在该影子寄存器中;该方法还包括:该第一处理器核在确定该目标信号的采样窗口的目标中心位置之后,以该目标中心位置对应的延时值更新该影子寄存器中的延时值,这样一来,可以便于第二处理器核基于该影子寄存器中存储的训练后的目标中心位置对应的延时值进行数据读写,也即是,便于第二处理器核应用训练结果,实现目标信号的准确采样。
可选地,该方法还包括:该第一处理器核在确定该目标信号的采样窗口的该目标左边界和该目标右边界之后,将该目标左边界对应的延时值和该目标右边界对应的延时值存储至与该处理器连接的非易失性存储器中,这样一来,可以便于该第一处理器核后续使用该目标左边界作为初始左边界以及使用该目标右边界作为初始右边界对计算机系统进行内存训练,且能够保证该计算机系统断电时,该目标左边界对应的延时值和该目标右边界对应的延时值不会丢失。
可选地,处理器还包括第二处理器核;该方法还包括:该第一处理器核在调整该目标信号与该同步信号之间的时序关系之前,向该第二处理器核发送暂停信号;该第二处理器核根据接收到的该暂停信号,停止向该处理器连接的内存芯片发送读写指令,由此可以实现第一处理器核对第二处理器核的反压,避免第一处理器核调整该目标信号与该同步信号之间的时序关系的过程与第二处理器核访问内存芯片的过程冲突。
可选地,该第一处理器核在调整该目标信号与该同步信号之间的时序关系之后,向该第二处理器核发送恢复信号;该第二处理器核根据接收到的该恢复信号,恢复向该处理器连接的内存芯片发送读写指令,由此可以实现第一处理器核对第二处理器核的停止反压,使得第二处理器核能够继续访问内存芯片。
可选地,该第一处理器核在调整目标信号与同步信号之间的时序关系之前,向该第二处理器核发送暂停信号,可以包括:该第一处理器核在执行目标信号的读写测试之前,向该第二处理器核发送暂停信号;该第一处理器核在调整该目标信号与该同步信号之间的时序关系之后,向该第二处理器核发送恢复信号,可以包括:该第一处理器核在执行n次目标信号的读写测试之后,向该第二处理器核发送恢复信号,n≥1,且n为整数。这样第一处理器核可以将调整目标信号与同步信号之间的时序关系的过程分阶段执行,避免调整目标信号与同步信号之间的时序关系的过程耗时较长对处理器的性能影响。
可选地,该第一处理器核在向该第二处理器核发送该暂停信号之前,对该第二处理器核的工作参数进行备份,这样一来,可以便于第二处理器核恢复该第二处理器核的工作参数。示例地,内存物理接口包括与目标信号对应的过渡寄存器;第一处理器核可以将该第二处理器核的工作参数备份至该过渡寄存器中,以实现对该第二处理器核的工作参数的快速备份。
可选地,该初始训练结果还包括:目标信号的采样窗口的初始中心位置,该初始中心位置对应一个延时值,第一处理器核在执行训练步骤之前,该初始中心位置对应的延时值存储在该目标信号对应的影子寄存器中,第二处理器核的工作参数可以包括该初始中心位置对应一个延时值;该第一处理器核在向第二处理器核发送暂停信号之前,可以对影子寄存器中存储的初始中心位置对应的延时值进行备份;该第一处理器核在执行n次目标信号的读写测试之后且向该第二处理器核发送该恢复信号之前,将备份的该初始中心位置对应的延时值加载到该影子寄存器中,示例地,第一处理器核在向第二处理器核发送暂停信号之前,将该影子寄存器中存储的该初始中心位置对应的延时值备份至过渡寄存器中;在执行n次目标信号的读写测试之后且向第二处理器核发送恢复信号之前,将该过渡寄存器中备份的该初始中心位置对应的延时值加载到该影子寄存器中。这样一来,可以便于第一处理器核在完成读写测试之后,处理器的第二处理器核能够恢复读写测试前的工作,本申请实施例利用过渡寄存器对影子寄存器中的延时值进行备份,可以实现快速备份。
下面结合附图介绍本申请实施例提供的信号调整方法。示例地,请参考图12,其示出了本申请实施例提供的一种信号调整方法的流程图,参见图12,该信号调整方法可以包括:
步骤1201、在计算机系统启动之后的运行过程中,第一处理器核检测是否满足训练条件。如果满足训练条件执行步骤1202;如果不满足训练条件,执行步骤1203。
其中,该训练条件包括以下至少一项:距离前一次进行内存训练的时长达到第一预设时长;处理器连接的内存芯片上的延时检测电路检测到的延时变化量大于预设变化量;处理器连接的内存芯片处于空闲状态的时长达到第二预设时长。第一处理器核检测是否满足训练条件的过程可以参考前述处理器的实施例,本申请实施例在此不再赘述。
步骤1202、第一处理器核基于初始训练结果,通过内存训练的方式调整目标信号与该目标信号的同步信号的时序关系。
如果第一处理器核确定满足训练条件,第一处理器核基于计算机系统的初始训练结果对该计算机系统进行内存训练,以调整目标信号与该目标信号的同步信号的时序关系。其中,该初始训练结果包括:目标信号的采样窗口的初始左边界和初始右边界。如图12所示,第一处理器核基于该初始训练结果,通过内存训练的方式调整目标信号与该目标信号的同步信号的时序关系可以包括下述子步骤12021至子步骤12024。
子步骤12021、第一处理器核基于初始训练结果中的目标信号的采样窗口的初始左边界确定该目标信号的采样窗口的目标左边界。
该子步骤12021的实现过程可以参考图5所示实施例,本申请实施例在此不再赘述。
子步骤12022、第一处理器核基于初始训练结果中的目标信号的采样窗口的初始右边界确定该目标信号的采样窗口的目标右边界。
该子步骤12022的实现过程可以参考图6所示实施例,本申请实施例在此不再赘述。
子步骤12023、第一处理器核基于该目标左边界和该目标右边界,确定该目标信号的采样窗口的目标中心位置。
其中,该目标中心位置与该同步信号的采样沿对齐。示例地,该目标中心位置相对于该同步信号的采样沿的延时为0,也即是,该目标中心位置所处的时刻与该同步信号的采样沿所处的时刻相同。第一处理器核可以将该目标左边界与该目标右边界的中心位置确定为该目标中心位置。可选地,该目标左边界、该目标右边界分别对应一个延时值,该延时值是目标信号相对于其同步信号的延时值,第一处理器核将该目标左边界对应的延时值与该目标右边界对应的延时值之和除以2即为该目标中心位置对应的延时值。
子步骤12024、第一处理器核将该目标中心位置对应的延时值配置到内存物理接口的影子寄存器中。
可选地,第一处理器核首先将该目标中心位置对应的延时值配置到目标信号对应的过渡寄存器,之后,在需要使用该目标中心位置对应的延时值进行数据读写时,将该过渡寄存器中存储的该目标中心位置对应的延时值加载到该目标信号对应的影子寄存器中,由此可以快速目标中心位置对应的延时值快速更新到影子寄存器中,避免将该目标中心位置对应的延时值配置到该影子寄存器的过程影响处理器的性能。
在本申请实施例中,第一处理器核将该目标中心位置对应的延时值配置到内存物理接口的影子寄存器中之后,处理器继续执行步骤1201检测是否满足训练条件,并在满足训练条件时再次执行步骤1202,本申请实施例对此不做限定。
步骤1203、第一处理器核不调整目标信号与该目标信号的同步信号的时序关系。
如果第一处理器核确定不满足训练条件,第一处理器核不对该计算机系统进行内存训练,不调整目标信号与该目标信号的同步信号的时序关系,第一处理器核继续执行步骤1201检测是否满足训练条件。
本领域技术人员容易理解,本申请实施例提供的信号调整方法实施例与前述处理器的实施例可以相互参考,关于该信号调整方法实施例中未披露的细节,请参考前述处理器的实施例,本申请实施例在此不再赘述。
综上所述,本申请实施例提供的信号调整方法,由于在包含处理器的计算机系统启动之后的运行过程中,该处理器的内存控制器中的第一处理器核能够调整内存物理接口的目标信号与该目标信号的同步信号之间的时序关系,因此有助于保证该目标信号与该同步信号之间的时序对齐,从而有助于保证该目标信号采样的准确性和可靠性。此外,由于该第一处理器核基于初始训练结果,通过内存训练的方式调整该目标信号与该同步信号之间的时序关系,因此该第一处理器核调整该目标信号与该同步信号之间的时序关系的过程中需要测试的延时值较少,有助于缩短调整该目标信号与该同步信号之间的时序关系的耗时,能够避免调整该目标信号与该同步信号之间的时序关系的过程对处理器的性能影响。并且,本申请实施例中引入过渡寄存器,在读写测试时利用该过渡寄存器向影子寄存器中配置延时值,有助于避免直接向影子寄存器中配置延时值耗时较长而对处理器的性能影响。
基于相同的技术构思,本申请实施例还提供一种计算机系统,该计算机系统该可以包括如上述任一实施例所提供的处理器,以及与该处理器耦合的内存芯片。示例地,该计算机系统既可以是电脑主板,也可以是笔记本电脑、手机、数码相机等电子设备,本申请实施例对此不做限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
在本申请中,术语“第一”和“第二”等类似用词仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一种”指一种或多种,多种指两种或两种以上,除非另有明确的限定。术语“至少一个”指一个或多个,多个指两个或两个以上,除非另有明确的限定。
本申请实施例提供的方法实施例和装置实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行响应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在本申请提供的相应实施例中,应该理解到,所揭露的装置等可以通过其它的构成方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络设备(例如终端设备)上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的示例性实施例,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (32)

1.一种处理器,所述处理器为多核处理器,其特征在于,包括:
内存控制器,用于控制内存芯片;所述内存控制器包括内存物理接口和第一处理器核,所述第一处理器核与所述内存物理接口连接,其中,所述第一处理器核是所述处理器的从处理器核或具有逻辑计算能力的逻辑电路;所述第一处理器核,用于在包含所述处理器的计算机系统启动之后的运行过程中,当满足训练条件时,通过内存训练的方式,调整所述内存物理接口的目标信号与所述目标信号的同步信号之间的时序关系,所述目标信号和所述同步信号均为通过所述内存物理接口传输的信号;
所述第一处理器核,具体用于在所述计算机系统启动之后的运行过程中,基于初始训练结果,通过内存训练的方式来调整所述目标信号与所述同步信号之间的时序关系,所述初始训练结果是在本次进行内存训练之前对所述计算机系统进行内存训练得到的训练结果;
所述初始训练结果包括所述目标信号的采样窗口的初始左边界和初始右边界;
所述第一处理器核,具体用于通过执行下述训练步骤,以基于所述初始训练结果,通过内存训练的方式来调整所述目标信号与所述同步信号之间的时序关系;
其中,所述训练步骤包括:
基于所述初始左边界确定所述目标信号的采样窗口的目标左边界;
基于所述初始右边界确定所述目标信号的采样窗口的目标右边界;
基于所述目标左边界和所述目标右边界,确定所述目标信号的采样窗口的目标中心位置。
2.根据权利要求1所述的处理器,其特征在于,
所述训练条件包括以下至少一项:
距离前一次进行内存训练的时长达到第一预设时长;
所述处理器连接的内存芯片上的延时检测电路检测到的延时变化量大于预设变化量;
所述处理器连接的内存芯片处于空闲状态的时长达到第二预设时长。
3.根据权利要求1所述的处理器,其特征在于,
所述基于所述初始左边界确定所述目标信号的采样窗口的目标左边界,包括:
基于所述初始左边界执行所述目标信号的读写测试;
如果读写测试成功,以目标步进长度向左调整所述采样窗口的左边界,并基于调整后的左边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为所述采样窗口的所述目标左边界;
如果读写测试失败,以目标步进长度向右调整所述采样窗口的左边界,并基于调整后的左边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为所述采样窗口的所述目标左边界。
4. 根据权利要求1 所述的处理器,其特征在于,
所述基于所述初始右边界确定所述目标信号的采样窗口的目标右边界,包括:
基于所述初始右边界执行所述目标信号的读写测试;
如果读写测试成功,以目标步进长度向右调整所述采样窗口的右边界,并基于调整后的右边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为所述采样窗口的所述目标右边界;
如果读写测试失败,以目标步进长度向左调整所述采样窗口的右边界,并基于调整后的右边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为所述采样窗口的所述目标右边界。
5.根据权利要求1-4任一项所述的处理器,其特征在于,
所述内存物理接口包括与所述目标信号对应的影子寄存器以及与所述目标信号对应的过渡寄存器,所述采样窗口的左边界和右边界中的每个边界对应一个延时值;
所述第一处理器核,还用于在每次执行所述目标信号的读写测试之前,将本次执行所述读写测试所基于的所述采样窗口的边界对应的延时值配置到所述过渡寄存器中;在每次执行所述目标信号的读写测试时,将所述过渡寄存器中的所述延时值加载到所述影子寄存器中;
所述第一处理器核,具体用于基于所述影子寄存器中的,本次执行所述目标信号的读写测试时所述采样窗口的边界对应的延时值,执行所述目标信号的读写测试。
6.根据权利要求5所述的处理器,其特征在于,
所述内存物理接口包括与所述目标信号对应的影子寄存器,所述初始训练结果还包括所述目标信号的采样窗口的初始中心位置,所述初始中心位置对应一个延时值,所述第一处理器核在执行所述训练步骤之前,所述初始中心位置对应的延时值在所述影子寄存器中;
所述第一处理器核,还用于在确定所述目标信号的采样窗口的目标中心位置之后,以所述目标中心位置对应的延时值更新所述影子寄存器中的延时值。
7.根据权利要求5所述的处理器,其特征在于,
所述第一处理器核,还用于在确定所述目标信号的采样窗口的所述目标左边界和所述目标右边界之后,将所述目标左边界对应的延时值和所述目标右边界对应的延时值存储至与所述处理器连接的非易失性存储器中。
8.根据权利要求1至4任一项所述的处理器,其特征在于,
所述处理器还包括第二处理器核;
所述第一处理器核,还用于在调整所述目标信号与所述同步信号之间的时序关系之前,向所述第二处理器核发送暂停信号;
所述第二处理器核,用于在接收到所述暂停信号时,停止向所述处理器连接的内存芯片发送读写指令。
9.根据权利要求8所述的处理器,其特征在于,
所述第一处理器核,还用于在调整所述目标信号与所述同步信号之间的时序关系之后,向所述第二处理器核发送恢复信号;
所述第二处理器核,还用于在接收到所述恢复信号时,恢复向所述处理器连接的内存芯片发送读写指令。
10.根据权利要求8所述的处理器,其特征在于,
所述第一处理器核,还用于在向所述第二处理器核发送所述暂停信号之前,对所述第二处理器核的工作参数进行备份。
11.根据权利要求9所述的处理器,其特征在于,
所述内存物理接口包括与所述目标信号对应的过渡寄存器;
所述第一处理器核,具体用于在向所述第二处理器核发送所述暂停信号之前,将所述第二处理器核的工作参数备份至所述过渡寄存器中。
12.根据权利要求1至4任一项所述的处理器,其特征在于,
所述内存控制器还包括存储电路,所述存储电路与所述第一处理器核连接;
所述处理器还包括第二处理器核;
所述第二处理器核,用于向所述存储电路写入调用信息,所述调用信息为用于实现调整所述目标信号与所述同步信号之间的时序关系的信息;
所述第一处理器核,具体用于在所述计算机系统启动之后的运行过程中,从所述存储电路中读取所述调用信息并执行所述调用信息。
13.根据权利要求12所述的处理器,其特征在于,
所述第一处理器核的固件存储于与所述处理器连接的非易失性存储器且可被更新,所述固件包括所述调用信息。
14.根据权利要求1至4任一项所述的处理器,其特征在于,
所述内存控制器包括至少一个内存通道和至少一个第一处理器核,每个所述内存通道包括所述内存物理接口,每个所述内存通道中的所述内存物理接口用于与至少一个内存芯片连接,所述至少一个内存通道中的所述内存物理接口与所述至少一个第一处理器核连接;
所述至少一个第一处理器核用于在所述计算机系统启动之后的运行过程中,调整所述至少一个内存通道中的所述内存物理接口的所述目标信号与所述同步信号之间的时序关系。
15.根据权利要求14所述的处理器,其特征在于,
所述至少一个内存通道与所述至少一个第一处理器核一一对应,每个所述内存通道中的所述内存物理接口与相应的所述第一处理器核连接;
每个所述第一处理器核用于在所述计算机系统启动之后的运行过程中,调整相应的所述内存通道中的所述内存物理接口的所述目标信号与所述同步信号之间的时序关系。
16.根据权利要求1至4任一项所述的处理器,其特征在于,
当所述目标信号为数据信号或数据屏蔽信号时,所述同步信号为双向数据选通信号;
当所述目标信号为控制信号或命令信号时,所述同步信号为时钟信号。
17.一种信号调整方法,其特征在于,应用于处理器,所述处理器为多核处理器,所述处理器包括内存控制器,其中,所述内存控制器用于控制内存芯片,所述内存控制器包括内存物理接口和第一处理器核,所述第一处理器核与所述内存物理接口连接,其中,所述第一处理器核是所述处理器的从处理器核或具有逻辑计算能力的逻辑电路,所述方法包括:
所述第一处理器核在包含所述处理器的计算机系统启动之后的运行过程中,当满足训练条件时,通过内存训练的方式,调整所述内存物理接口的目标信号与所述目标信号的同步信号之间的时序关系,所述目标信号和所述同步信号均为通过所述内存物理接口传输的信号;所述第一处理器核在包含所述处理器的计算机系统启动之后的运行过程中,调整所述内存物理接口的目标信号与所述目标信号的同步信号之间的时序关系,包括:
所述第一处理器核在所述计算机系统启动之后的运行过程中,基于初始训练结果,通过内存训练的方式来调整所述目标信号与所述同步信号之间的时序关系,所述初始训练结果是在本次进行内存训练之前对所述计算机系统进行内存训练得到的训练结果;
所述初始训练结果包括所述目标信号的采样窗口的初始左边界和初始右边界;
所述第一处理器核基于初始训练结果,通过内存训练的方式来调整所述目标信号与所述同步信号之间的时序关系,包括:
所述第一处理器核通过执行下述训练步骤,以基于所述初始训练结果,通过内存训练的方式来调整所述目标信号与所述同步信号之间的时序关系;
其中,所述训练步骤包括:
基于所述初始左边界确定所述目标信号的采样窗口的目标左边界;
基于所述初始右边界确定所述目标信号的采样窗口的目标右边界;
基于所述目标左边界和所述目标右边界,确定所述目标信号的采样窗口的目标中心位置。
18.根据权利要求17所述的方法,其特征在于,
所述训练条件包括以下至少一项:
距离前一次进行内存训练的时长达到第一预设时长;
所述处理器连接的内存芯片上的延时检测电路检测到的延时变化量大于预设变化量;
所述处理器连接的内存芯片处于空闲状态的时长达到第二预设时长。
19.根据权利要求17所述的方法,其特征在于,
所述基于所述初始左边界确定所述目标信号的采样窗口的目标左边界,包括:
基于所述初始左边界执行所述目标信号的读写测试;
如果读写测试成功,以目标步进长度向左调整所述采样窗口的左边界,并基于调整后的左边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为所述采样窗口的所述目标左边界;
如果读写测试失败,以目标步进长度向右调整所述采样窗口的左边界,并基于调整后的左边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的左边界的上一左边界确定为所述采样窗口的所述目标左边界。
20.根据权利要求17所述的方法,其特征在于,
所述基于所述初始右边界确定所述目标信号的采样窗口的目标右边界,包括:
基于所述初始右边界执行所述目标信号的读写测试;
如果读写测试成功,以目标步进长度向右调整所述采样窗口的右边界,并基于调整后的右边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为所述采样窗口的所述目标右边界;
如果读写测试失败,以目标步进长度向左调整所述采样窗口的右边界,并基于调整后的右边界执行所述目标信号的读写测试,直至读写测试失败;将读写测试失败时的右边界的上一右边界确定为所述采样窗口的所述目标右边界。
21.根据权利要求17至20任一项所述的方法,其特征在于,
所述内存物理接口包括与所述目标信号对应的影子寄存器,所述初始训练结果还包括所述目标信号的采样窗口的初始中心位置,所述初始中心位置对应一个延时值,所述第一处理器核在执行所述训练步骤之前,所述初始中心位置对应的延时值在所述影子寄存器中;
所述方法还包括:
所述第一处理器核在确定所述目标信号的采样窗口的目标中心位置之后,以所述目标中心位置对应的延时值更新所述影子寄存器中的延时值。
22.根据权利要求17至20任一项所述的方法,其特征在于,所述方法还包括:
所述第一处理器核在确定所述目标信号的采样窗口的所述目标左边界和所述目标右边界之后,将所述目标左边界对应的延时值和所述目标右边界对应的延时值存储至与所述处理器连接的非易失性存储器中。
23.根据权利要求17至20任一项所述的方法,其特征在于,
所述处理器还包括第二处理器核;所述方法还包括:
所述第一处理器核在调整所述目标信号与所述同步信号之间的时序关系之前,向所述第二处理器核发送暂停信号;
所述第二处理器核根据接收到的所述暂停信号,停止向所述处理器连接的内存芯片发送读写指令。
24.根据权利要求23所述的方法,其特征在于,所述方法还包括:
所述第一处理器核在调整所述目标信号与所述同步信号之间的时序关系之后,向所述第二处理器核发送恢复信号;
所述第二处理器核根据接收到的所述恢复信号,恢复向所述处理器连接的内存芯片发送读写指令。
25.根据权利要求23所述的方法,其特征在于,所述方法还包括:
所述第一处理器核在向所述第二处理器核发送所述暂停信号之前,对所述第二处理器核的工作参数进行备份。
26.根据权利要求25所述的方法,其特征在于,
所述内存物理接口包括与所述目标信号对应的过渡寄存器;
所述第一处理器核在向所述第二处理器核发送所述暂停信号之前,对所述第二处理器核的工作参数进行备份,包括:
所述第一处理器核在向所述第二处理器核发送所述暂停信号之前,将所述第二处理器核的工作参数备份至所述过渡寄存器中。
27.根据权利要求17至20任一项所述的方法,其特征在于,
所述内存控制器还包括存储电路,所述存储电路与所述第一处理器核连接;
所述处理器还包括第二处理器核;
所述方法还包括:所述第二处理器核向所述存储电路写入调用信息,所述调用信息为用于实现调整所述目标信号与所述同步信号之间的时序关系的信息;
所述第一处理器核在包含所述处理器的计算机系统启动之后的运行过程中,调整所述内存物理接口的目标信号与所述目标信号的同步信号之间的时序关系,包括:
所述第一处理器核在所述计算机系统启动之后的运行过程中,从所述存储电路中读取所述调用信息并执行所述调用信息,以调整所述目标信号与所述同步信号之间的时序关系。
28.根据权利要求27所述的方法,其特征在于,
所述第一处理器核的固件存储于与所述处理器连接的非易失性存储器且可被更新,所述固件包括所述调用信息。
29.根据权利要求17至20任一项所述的方法,其特征在于,
所述内存控制器包括至少一个内存通道和至少一个第一处理器核,每个所述内存通道包括所述内存物理接口,每个所述内存通道中的所述内存物理接口用于与至少一个内存芯片连接,所述至少一个内存通道中的所述内存物理接口与所述至少一个第一处理器核连接;
所述至少一个第一处理器核用于在所述计算机系统启动之后的运行过程中,调整所述至少一个内存通道中的所述内存物理接口的所述目标信号与所述同步信号之间的时序关系。
30.根据权利要求29所述的方法,其特征在于,
所述至少一个内存通道与所述至少一个第一处理器核一一对应,每个所述内存通道中的所述内存物理接口与相应的所述第一处理器核连接;
每个所述第一处理器核用于在所述计算机系统启动之后的运行过程中,调整相应的所述内存通道中的所述内存物理接口的所述目标信号与所述同步信号之间的时序关系。
31.根据权利要求17至20任一项所述的方法,其特征在于,
当所述目标信号为数据信号或数据屏蔽信号时,所述同步信号为双向数据选通信号;
当所述目标信号为控制信号或命令信号时,所述同步信号为时钟信号。
32.一种计算机系统,其特征在于,包括:
如权利要求1至16任一所述的处理器;以及,
与所述处理器耦合的内存芯片。
CN202010745753.0A 2020-07-29 2020-07-29 处理器、信号调整方法及计算机系统 Active CN113568848B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010745753.0A CN113568848B (zh) 2020-07-29 2020-07-29 处理器、信号调整方法及计算机系统
PCT/CN2021/108763 WO2022022537A1 (zh) 2020-07-29 2021-07-27 处理器、信号调整方法及计算机系统
EP21850815.8A EP4184335A4 (en) 2020-07-29 2021-07-27 PROCESSOR, SIGNAL ADJUSTMENT METHOD AND COMPUTER SYSTEM
US18/160,164 US20230176751A1 (en) 2020-07-29 2023-01-26 Processor, signal adjustment method and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010745753.0A CN113568848B (zh) 2020-07-29 2020-07-29 处理器、信号调整方法及计算机系统

Publications (2)

Publication Number Publication Date
CN113568848A CN113568848A (zh) 2021-10-29
CN113568848B true CN113568848B (zh) 2023-07-11

Family

ID=78158711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010745753.0A Active CN113568848B (zh) 2020-07-29 2020-07-29 处理器、信号调整方法及计算机系统

Country Status (4)

Country Link
US (1) US20230176751A1 (zh)
EP (1) EP4184335A4 (zh)
CN (1) CN113568848B (zh)
WO (1) WO2022022537A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564421B (zh) * 2022-01-20 2023-09-05 珠海亿智电子科技有限公司 一种高速内存训练的方法和系统
CN115113926A (zh) * 2022-04-22 2022-09-27 腾讯科技(深圳)有限公司 指令字处理电路、芯片及方法
CN114844603A (zh) * 2022-04-26 2022-08-02 长鑫存储技术有限公司 一种信号检测方法、装置及存储器
CN115113812B (zh) * 2022-05-20 2024-10-01 腾讯科技(深圳)有限公司 写数据信号延迟控制方法、装置、设备和介质
US12100458B2 (en) * 2022-05-27 2024-09-24 Sandisk Technologies Llc Systems and methods of correcting errors in unmatched memory devices
CN118245407B (zh) * 2024-05-28 2024-08-02 广东匠芯创科技有限公司 Psram控制器及其硬件采样训练方法、设备、介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324585A (zh) * 2012-03-20 2013-09-25 苹果公司 分级缓存的处理器中的协作预取处理
US10719058B1 (en) * 2017-09-25 2020-07-21 Cadence Design Systems, Inc. System and method for memory control having selectively distributed power-on processing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353423A (en) * 1991-06-21 1994-10-04 Compaq Computer Corporation Memory controller for use with write-back cache system and multiple bus masters coupled to multiple buses
US7016240B1 (en) * 2004-03-25 2006-03-21 Emc Corporation Non-destructive memory read strobe pulse optimization training system
JP2010182149A (ja) * 2009-02-06 2010-08-19 Renesas Electronics Corp メモリ制御装置、及びメモリ制御方法
US8553469B2 (en) * 2011-04-06 2013-10-08 Dell Products L.P. Memory buffer for buffer-on-board applications
US8897084B2 (en) * 2011-09-08 2014-11-25 Apple Inc. Dynamic data strobe detection
US9619409B2 (en) * 2013-01-08 2017-04-11 Taiwan Semiconductor Manufacturing Co., Ltd. Data sampling alignment method for memory inferface
US9639495B2 (en) * 2014-06-27 2017-05-02 Advanced Micro Devices, Inc. Integrated controller for training memory physical layer interface
US9665289B1 (en) * 2015-12-04 2017-05-30 Inphi Corporation Eye scan for memory channel
CN110447075B (zh) * 2017-06-12 2023-07-21 闪迪技术有限公司 多内核管芯上存储器微控制器
KR102273191B1 (ko) * 2017-09-08 2021-07-06 삼성전자주식회사 스토리지 장치 및 그것의 데이터 트레이닝 방법
US10698846B2 (en) * 2018-11-07 2020-06-30 Realtek Semiconductor Corporation DDR SDRAM physical layer interface circuit and DDR SDRAM control device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324585A (zh) * 2012-03-20 2013-09-25 苹果公司 分级缓存的处理器中的协作预取处理
US10719058B1 (en) * 2017-09-25 2020-07-21 Cadence Design Systems, Inc. System and method for memory control having selectively distributed power-on processing

Also Published As

Publication number Publication date
EP4184335A4 (en) 2023-12-20
US20230176751A1 (en) 2023-06-08
EP4184335A1 (en) 2023-05-24
CN113568848A (zh) 2021-10-29
WO2022022537A1 (zh) 2022-02-03

Similar Documents

Publication Publication Date Title
CN113568848B (zh) 处理器、信号调整方法及计算机系统
CN109558157B (zh) 用以保存固件设置的计算机实施方法及系统
US6282501B1 (en) Disk drive testing
CN103930878B (zh) 用于存储器验证的方法、装置及系统
US7430662B2 (en) Techniques for initializing a device on an expansion card
JP2019125339A (ja) リモートシステム復旧のためのシステムおよび方法
US9792072B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
US10635146B2 (en) Power monitoring calibration to a target performance level
US20140163716A1 (en) Bridge device, automated production system and method thereof for storage device
US8086841B2 (en) BIOS switching system and a method thereof
US9395919B1 (en) Memory configuration operations for a computing device
US9870233B2 (en) Initializing a memory subsystem of a management controller
US9684520B2 (en) Computing system with non-disruptive fast memory restore mechanism and method of operation thereof
CN115562738B (zh) 一种端口配置方法、组件及硬盘扩展装置
WO2022222293A1 (zh) 存储设备测试方法、装置、电视机以及存储介质
CN112231005A (zh) 一种基于uboot管理fpga版本的方法
US10911259B1 (en) Server with master-slave architecture and method for reading and writing information thereof
EP4167080A1 (en) Memory initialisation apparatus and method, and computer system
US11144326B2 (en) System and method of initiating multiple adaptors in parallel
CN117636996A (zh) 内存引脚状态的检测方法及装置
US20190087174A1 (en) Background firmware update
CN117707884A (zh) 一种监控电源管理芯片的方法、系统、设备和介质
CN117744061A (zh) 内存条的处理方法及装置、存储介质及电子设备
CN112667483A (zh) 用于服务器主板的内存信息读取装置、方法及服务器
CN111198837A (zh) 基于fpga的sdio接口系统、控制器桥接方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant