自动时钟配置系统及方法与流程

文档序号:12596009阅读:360来源:国知局
自动时钟配置系统及方法与流程

本发明涉及一种计算机系统,尤其涉及一种自动时钟配置系统。



背景技术:

快速周边组件互连(Peripheral Component Interconnect Express,PCIe)是一种用于广泛多样计算机应用的高速串行计算机扩展总线标准。PCIe实施了串行、全双工(full duplex)、多线(multi-lane)、点对点互相连接、分组基础及交换基础的技术。

市面上对于可支持PCIe的可用装置有广泛的选择。其也可使用于现场可编程逻辑门阵列(FPGAs)及单芯片系统(systems-on-a-chip,SoCs),提供灵活方法使设计者得以在系统中传送数据。PCIe的两个关键优点为其可扩展的带宽及弹性的时钟。举例而言,主机装置及周边装置可利用PCIe通信。

可靠的数据传输需要稳定的时钟基准。时钟信号是一种在高低状态间振荡的特殊类型信号,且被用以像节拍器似地协调数字电路的动作。时钟信号由时钟产生器(clock generator)所产生。最普通的时钟信号为具有50%工作循环的方波形式,通常带有固定、持续的频率。利用时钟信号来同步化的电路可在不论是时钟循环的上升边沿、下降边沿或在双重数据速率的情况下同时在上升边沿及下降边沿可被激活(active)。

基于Specification reversion 1.0a规格的PCIe要求总线的运行需要基准时钟(reference clock)。PCIe Card机电规格书(Electromechanical Specification reversion)2.0a规格将100MHz基频的差分方波基准时钟(differential square-wave reference clock)定义为基准时钟。一般而言,基准时钟信号可容许电性长线(to be electrically long)的路由(routing)。时钟信号的路由通常由一个或多个PCIe连接器及线段组成。信号传送长度过长会因电磁干扰(EMI)、射频干扰和/或时钟偏斜而造成时钟失真及导致过量抖动。在这些情况中,总线的性能可能会恶化。

相同的时钟源被分配至每个PCIe装置用以同时保持时钟对时钟的偏斜 在装置之间小于12纳秒。这在大型电路板或当跨接底板连接器至另一个电路板时会是个问题。

通用基准时钟信号(Refclk)为在市面装置中被广泛支持的架构。通用基准时钟信号可以支持扩频时钟(spread-spectrum clocking,SSC),其可有效地减少电磁干扰。

周边组件互连特殊研究小组(peripheral component interconnect special interest group,PCI-SIG)为负责规定周边组件互连、PCI-X及PCIe计算机总线的电子产业联盟。PCI-SIG发布单独通用基准时钟信号独立扩频时钟(Separate Refclk Independent SSC,SRIS)架构作为改善时钟信号质量的一个选择。然而,不是每个主机装置及每个周边装置都支持SRIS。



技术实现要素:

下文展示一或多个实施方式的简化总结以提供本技术的基本理解。此总结不是本技术所有预期实施方式的广泛概述,且并非旨在确定所有实施例的关键或重要元素,也不描述本技术的任何或所有态样的范围。其唯一的目的为以简化的形式展示一个或多个实施例的某些概念,作为下文所呈现更详细叙述的前言。

在某些实施方式中,一种自动时钟配置的方法藉由具有主机及周边装置的系统而被执行。连接主机及周边装置的周边接口的第一通用输入/输出(general-purpose input/output,GPIO)之上的主机指示主机是否支持第一时钟配置。周边装置从第一GPIO接收主机是否支持第一时钟配置。周边装置选择使用周边装置的本地时钟,作为对主机支持第一时钟配置的响应。周边装置选择使用主机的基准时钟信号,作为对主机不支持第一时钟配置的响应。

附图说明

本技术的这些及其他简易方面将在实施方式及所附的权利要求书中搭配附图来陈述,其中:

图1显示一例示性自动时钟配置系统的示意图;

图2显示一例示性自动时钟配置系统的方块图;

图3A及图3B显示一例示性周边接口的引脚定义的示意图;

图4显示周边装置的自动时钟配置的一例示性流程图;

图5显示周边装置的自动时钟配置的一例示性方法的示意图;以及

图6显示一例示性计算机系统的方块图。

【符号说明】

100、200:自动时钟配置系统

110、310:主机

120、222、320:周边装置

130、210、330:排线

212:基准时钟信号

214:第二GPIO

216:第一GPIO

220:周边模块

224:时钟缓冲

226:时钟开关

228:本地时钟产生器

229:本地时钟信号

300:周边接口

332:表

400:流程图

410、412、414、416、418、420、422、424、426、428、430、510、520、530、540、550、560:步骤

500:方法

600:计算机系统

610:BIOS

620:存储器

630:存储器

640:处理器

650:网络接口

660:北桥

670:南桥

680:管理控制器

具体实施方式

本标的公开提供一种自动时钟配置系统。本技术的各种方面参照附图而描述。在下文的叙述中,为了解释的目的,将会列举许多特定细节以提供一个或多个方面的全面理解。然而,显而易见的是,此技术可被实作而不需这些特定细节。在其他例子中,为了有助于描述这些态样,已知的结构及装置以方块图的形式显示。

图1显示一例示性自动时钟配置系统100。自动时钟配置系统100包含藉由排线130连接至一个或多个周边装置120的主机110。

主机110可意指为计算机系统或计算机系统的主机控制器(例如PCIe控制器)。主机控制器作为桥梁,容许计算机系统与外部或内部计算机周边的连接。主机控制器通常作为外接卡,其通过建于主机板的PCI、PCI-X或PCIe插槽来附接(attach)至系统。

举例而言,周边装置120可为硬盘驱动阵列(hard disk drive array)、固态驱动阵列(solid state drive array)或任意其他周边装置或装置的群组。周边装置120可设置于如主机110的相同计算机系统或设置于如主机110的相同或邻近机柜。

排线130经配置以容许主机110与周边装置120之间的通信。举例而言,排线130可为串行附接式小计算机系统接口(Serial Attached Small Computer System Interface,SAS),微型SAS(mini SAS)或高密度微型SAS(SFF-8643)排线。排线130能够承载PCIe数据及基准时钟信号。排线130也包含数个通用输入输出(GPIO)引脚。

图2显示一例示性自动时钟配置系统200的方块图。自动时钟配置系统200包含从主机连接至周边模块220的排线210。

排线210从主机经过第二GPIO 214及第一GPIO 216发送指示器信号(indicator signal)。第一GPIO 216用于指示主机是否支持SRIS模式。如果主机不支持SRIS,第二GPIO 214用于进一步指示主机是否支持SSC模式。如果主机不支持SRIS,则排线210承载基准时钟信号212。

周边模块220包含周边装置222、时钟开关(clock switch)226、本地时钟产生器(local clock generator)228及时钟缓冲(clock buffer)224。本地时钟产生器228为产生本地时钟信号229的电路以用于同步周边装置的运行。本地时钟产生器228包含共振电路及放大器。共振电路通常为石英压电振荡器,然 而也可使用简化电路。放大器电路通常反转来自振荡器的信号并回馈一部分给振荡器以维持振荡。时钟产生器可具有额外的区域以调整基础时钟信号来形成本地时钟信号229。

时钟开关226包含多工器,以基于第一GPIO 216选择由周边装置222使用的时钟输入(亦即基准时钟信号212或本地时钟信号229),第一GPIO 216指示主机是否支持SRIS模式。多工器为一种装置,其选择许多模拟或数字输入信号的其中之一并发送所选的输入成为单一输出。可以把多工器当成多重输入,单一输出的开关。多工器使多个信号共享一个装置或资源成为可能。

如果主机支持SRIS模式,第一GPIO 216指示时钟开关226使用本地时钟信号228。否则,第一GPIO 216指示时钟开关226使用基准时钟信号212。

如果主机不支持SRIS模式,时钟缓冲224基于第二GPIO 214的指示格式化基准时钟信号212:如果主机支持SSC模式,则时钟缓冲224使用旁路模式格式化基准时钟信号212;如果主机不支持SSC模式,则时钟缓冲224使用锁相回路(phase-locked loop,PLL)模式格式化基准时钟信号212。PLL被广泛地使用于无线电、电子通信、计算机及其他电子应用中。PLL可被用于解调信号,将信号从嘈杂的通信频道中恢复,产生于输入频率的倍数的稳定频率(频率合成),或像微处理器精确地分配数字逻辑电路中的定期时钟脉冲。

图3A及图3B显示一例示性周边接口300的引脚定义。排线330经配置以容许主机310与周边装置320之间的通信。举例而言,排线330可为SAS、微型SAS或高密度微型SAS(SFF-8643)排线。排线330能够承载PCIe数据及基准时钟信号。排线330也包含数个通用输入/输出(general-purpose input/output,GPIO)引脚。

图3B中的表332列出高密度微型SAS(SFF-8643)排线的引脚。举例而言,标示着N/C的表格可被用作GPIOs(亦即第一GPIO 216或第二GPIO 214)。

图4显示一例示性周边装置的自动时钟配置的流程图400。在步骤410,主机被开启电源(开启计算节点)。主机可意指为计算机系统或计算机系统的主机控制器(例如PCIe控制器)。

在步骤412,基本输入输出系统(Basic Input/Output System,BIOS)启动(initiate)主机控制器(例如PCIe控制器)。BIOS软件程序被存储于位于服务器的主机板上的BIOS芯片。BIOS存储当计算机系统被首次开启电源时执行的 固件。BIOS通常辨识、初始化及测试在给定的计算机系统中存在的硬件。BIOS接着将计算机系统的控制给予操作系统(operating system,OS)

不论何时当服务器被开启(亦即启动)或重设(重启)时,BIOS便实行开机自我检测(POST)。POST程序可验证并测试各种硬件元件的功能性,像是中央处理器(central processing unit,CPU)暂存器、硬式磁碟机(hard disk drive,HDD)、光学读取装置、冷却装置、存储器模块、扩展卡及其相似物。BIOS也准备了运行OS所需的系统环境。举例而言,BIOS可指定并分配存储器区域以存储OS。BIOS可接着将计算机系统的控制给予OS。

在步骤414,BIOS配置主机控制器用以指示主机控制器是否支持在主机及周边装置之间的排线的第一GPIO引脚上的SRIS模式。BIOS也配置了主机控制器用以指示主机控制器是否支持排线的第二GPIO引脚上的SSC模式。

在步骤416,周边装置等待排线的第一GPIO引脚上的主机控制器是否支持SRIS模式的指示。在步骤418,周边装置检测排线的第一GPIO引脚上的指示。在步骤420,周边装置决定主机控制器是否支持SRIS模式。

如果主机控制器支持SRIS模式,在步骤430,周边装置使用从本地时钟产生器而来的本地时钟信号。

如果主机控制器不支持SRIS模式,在步骤422,来自排线的第二GPIO引脚的周边装置决定主机控制器是否支持SSC模式。

如果主机控制器支持SSC模式,在步骤424,周边装置配置时钟缓冲以使用旁路模式格式化来自主机的基准时钟信号。

如果主机控制器不支持SSC模式,在步骤426,周边装置配置时钟缓冲以使用PLL模式格式化来自主机的基准时钟信号。

在步骤428,周边装置利用来自主机控制器且已被时钟缓冲格式化的基准时钟信号。

图5显示一例示性周边装置的自动时钟配置的方法500。在步骤510,周边装置在连接主机及周边装置的周边界面的第一GPIO之上接收主机是否支持第一时钟配置。

在步骤520,周边装置选择使用周边装置的本地时钟,作为对主机支持第一时钟配置的响应。

在步骤530,周边装置选择使用主机的基准时钟信号,作为对主机不支持第一时钟配置的响应。

在选择性步骤540,周边装置自周边接口的第二GPIO之上的主机接收主机是否支持第二时钟配置。

在选择性步骤550,周边装置选择时钟缓冲旁路模式,作为对主机支持通用时钟SSC(亦即第二时钟配置)的响应。

在选择性步骤560,周边装置选择时钟缓冲PLL模式,作为对主机不支持通用时钟SSC的响应。

图6显示一例示性计算机系统600的方块图。本主题公开的计算机系统可为任意各种中央处理器(CPU)架构,像是x86、进阶精简指令集机器(Acorn RISC Machine,ARM)、没有互锁管线阶段的微处理器(Microprocessor without Interlocked Pipeline Stages,MIPS)等等。此例示性计算机系统600具有x86 CPU架构。计算机系统600包含处理器640、网络接口650、管理控制器680、存储器620、存储器630、BIOS 610、北桥660及南桥670。

举例而言,计算机系统600为服务器(例如数据中心的服务器机柜中的服务器)或个人计算机。处理器640(例如CPU)为主机板上的芯片,其提取并执行存储于存储器620中的程序指令。处理器640为具单一处理内核的单一CPU、具多重处理内核的单一CPU或多重CPU。一个或多个总线(未显示)在各种计算机元件像是处理器640、存储器620、存储器630及网络接口650之间传输指令及应用数据。

存储器620包含用以暂时或永久地存储数据或程序的任意物理装置,像是随机存取存储器(random-access memory,RAM)的各种形式。存储器630包含非易失性数据存储的任意物理装置像是HDD或快闪驱动器。存储器630可具有比存储器620更大的容量,且每单位存储更为经济,但也可能具有较慢的传送速率。

BIOS 610包含基本输入输出系统或其后继者或等效物,像是可扩展固件接口(Extensible Firmware Interface,EFI)或统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)。BIOS 610包含位于计算机系统600的主机板上存储BIOS软件程序的BIOS芯片。BIOS 610存储当计算机系统首先开启时执行的固件,连同特定用于BIOS 610的一组配置。BIOS固件及BIOS配置存储于非易失性存储器(例如,非易失性随机存取存储器(NVRAM))或只读存储器(ROM)像是快闪存储器。快闪存储器为可被电子式地抹除及再编程的非易失性计算机存储介质。

每次计算机系统600启动时BIOS 610作为顺序程序被载入及执行。BIOS 610基于数组配置辨识、初始化及测试在给定的计算机系统中展示的硬件。BIOS 610在计算机系统600上执行自我测试,像是开机自我检测(POST)。此自我测试可试验各种硬件元件的功能性,像是硬式磁碟机、光学读取装置、冷却装置、存储器模块、扩展卡及其相似物。BIOS指定地址并分配存储器620的区域以存储操作系统(OS)。BIOS 610接着将计算机系统的控制给予OS。

计算机系统600的BIOS 610包含BIOS配置,其定义BIOS 610如何控制在计算机系统600中的各种硬件元件。BIOS设定决定了在计算机系统600中的各种硬件元件的启动顺序。BIOS 610提供容许各种不同参数被设定的接口(例如BIOS设置功能),其可与BIOS预设配置中的参数不同。举例而言,使用者(例如管理者)可以使用BIOS 610来确定时钟及总线速度、指定要附接于计算机系统的周边装置、指定健康监控(例如风扇速度及CPU温度限制)及指定影响计算机系统的整体效能及电力用量的其他各种参数。

管理控制器680为内嵌于计算机系统的主机板上的专门微控制器。举例而言,管理控制器680为基板管理控制器(baseboard management controller,BMC)。管理控制器680管理系统管理软件及硬件平台之间的接口。不同类型的传感器建于计算机系统中以回报参数给管理控制器680,像是温度、冷却风扇速度、电力状态或操作系统状态等等。管理控制器680监控传感器且如果任意参数没有保持在预设的限制之内的话,表示系统潜在故障,管理控制器680具有经由网络接口650发送警示给管理者的能力。管理者可远端通信管理控制器680来采许某些校正动作,像是重设或将系统电力循环以恢复功能性。

北桥660为在主机板上的芯片,其可直接连接至处理器640或整合至处理器640。在某些实施例中,北桥660及南桥670结合成为单一芯片。北桥660及南桥670管理处理器640与主机板其他部件之间的通信。相较于南桥670,北桥660管理需要较高效能的任务。北桥660管理处理器640、存储器620与图像控制器(未显示)之间的通信。在某些实施例中,北桥660包含图像控制器。

南桥670为连接至北桥660的主机板上的芯片,但与北桥660不同不须直接连接至处理器640。南桥670管理计算机系统600的输入/输出功能,像是通用串行总线(Universal Serial Bus,USB)、音频、串口、BIOS、串行先进 技术附件(Serial Advanced Technology Attachment,SATA)、周边元件互连(PCI)总线、PCIe扩展(PCI-X)总线、PCIe总线、ISA总线、SPI总线、eSPI总线、系统管理总线(SMBus)。南桥670连接至或包含管理控制器670、直接存储器存取(Direct Memory Access,DMAs)控制器、可编程中断控制器(Programmable Interrupt Controllers,PICs)及即时时钟。在某些实施例中,南桥670直接连接至处理器640,像是在北桥660整合于处理器640的情况下。

网络接口650为支持有线或无线局域网络(LANs)或广域网络(WANs)的任意接口,像是以太网络、光纤通道、Wi-Fi、蓝牙、火线或互联网等等。举例而言,网络接口650可包含对以太网络用的网络接口控制器(NIC)。以无线局域网络(LANs)或广域网络(WANs)两者连接计算机时以太网络为最被广泛使用的网络标准。以太网络通过介质访问控制(Media Access Control,MAC)/数据链路层的网络接入方法,并通过通用地址格式,对物理层(physical layer,PHY)定义数个布线及信号标准。以太网络通常使装置藉由传送数据分组而得以通信,数据分组包含被单独地发送及传递的数据团块。

搭配本文公开所述的各种说明性逻辑块、模块及电路,可藉由通用处理器、数字信号处理器(DSP)、特殊应用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field programmable gate array,FPGA)或其他可编程逻辑装置、离散门或晶体管逻辑、离散硬件元件或被设计以执行本文所述功能的其任意组合而被应用实施或执行。通用处理器为微处理器,或可替代地为任意传统处理器、控制器、微控制器或状态机械。处理器也可作为计算机装置的组合而实施,例如DSP与微处理器的组合、多个微处理器、搭配DSP内核的一或多个微处理器或任意其他此类配置。

搭配本文公开所述的运行方法或算法可以硬件、由处理器执行的软件模块、或两者的组合来直接实施。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、暂存器、硬盘、可移除碟片、CD-ROM或所属技术领域中已知的任意其他形式的存储介质。例示性存储介质与处理器耦合,使处理器可从存储介质读取讯息并将讯息写入存储介质。在替代方案中,存储介质整合于处理器。处理器及存储介质驻留于ASIC。ASIC驻留于使用者终端。在替代方案中,处理器及存储介质在使用者终端作为离散元件而驻留。

在一或多个例示性设计中,所述的功能被实施于硬件、软件、固件或其 任意组合。如在软件实施,则功能作为在非暂时性计算机可读介质之上的一个或多个指令或代码被存储或传输。非暂时性计算机可读介质同时包含计算机存储介质及具有有助于从一处传送计算机程序至另一处的任意介质的通信介质。存储介质为可被通用或特定用途计算机存取的任意可用介质。藉由实施例,但不局限于此,此种计算机可读介质包含RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁碟存储器或其他磁性存储装置,或可用指令或数据结构的形式用于承载或存储期望程序代码装置的任意其他介质,该指令或数据结构可被通用或特定用途计算机,或通用或特定用途处理器存取。当用于本文中,磁碟(disk)或光碟(disc)包含CD、激光光盘、光盘(optical disc)、数字化多功能光盘(DVD)、软盘及蓝光光盘,其中磁碟通常为磁性地重现数据,而光盘为使用激光光学地重现数据。上述的组合应亦被包含于非暂时性计算机可读介质的范围之中。

本公开先前的叙述提供以使本领域技术人员能够实施或利用本公开。对本公开的各种修改对本领域技术人员而言为显而易见的,且本文所定义的一般原则可被应用至其他变化而不背离本公开的范围。因此,本公开并非旨在被本文所述的实施例及设计所限制,而是应被赋予与本文所述的原则及新颖特征相符的最广范围。

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