CN104598404A - 计算设备扩展方法和装置、以及可扩展的计算系统 - Google Patents
计算设备扩展方法和装置、以及可扩展的计算系统 Download PDFInfo
- Publication number
- CN104598404A CN104598404A CN201510055667.6A CN201510055667A CN104598404A CN 104598404 A CN104598404 A CN 104598404A CN 201510055667 A CN201510055667 A CN 201510055667A CN 104598404 A CN104598404 A CN 104598404A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- signal
- computing equipment
- control signal
- 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.)
- Granted
Links
Abstract
公开了一种计算设备扩展方法和装置、以及可扩展的计算系统。所述设备扩展装置包括:第一端口,用于经由内存总线与外部的计算设备相连;第二端口,用于经由内存总线与外部的存储器相连;以及第三端口,用于经由用户自定义总线与外部的扩展功能单元相连,其中,所述设备扩展装置根据从计算设备传送的内存总线信号产生选择信号,使得第一至第三端口中的任一个端口与第一至第三端口中的其余两个端口中的一个端口相连,从而提供内存总线的路由功能,所述内存总线信号包括数据信号以及地址和控制信号。由于设备扩展装置可以使用标准的内存总线和内存插槽,因此可以兼容原有的计算系统,并且低成本地提供新增功能。
Description
技术领域
本发明属于计算设备扩展技术,具体地,涉及计算设备扩展方法和装置以及可扩展的计算系统。
背景技术
随着嵌入式计算机技术的发展,计算设备的集成度越来越高,性能及功能越来越强大,其复杂度也不断提高。
计算设备不仅包括计算机中使用的通用处理器,还包括将处理器与外围电子系统集成在一个芯片中的片上系统(简称为SoC)。片上系统是客户定制的或面向特定用途的标准产品,虽然这样可以降低制造成本,但却存在着扩展性差的问题。现有的计算设备(尤其是SoC)在通用性和经济性方面存在着难以调和的矛盾。系统开发人员试图设计出可以满足各种用户需求的单芯片计算设备,但实际上很难满足不同用户在不同应用中的定制需求。
图1示出现有的计算系统的示意性框图。计算系统100包括计算设备101(例如SoC)和外部存储器102(例如RAM)。外部存储器102是计算设备101的外围设备。计算设备101和外部存储器102之间经由内存总线传输数据信号以及地址和控制信号。
针对用户的定制需求,计算系统100的扩展方式包括:利用软件实现或利用板级资源添加新功能。在利用软件实现新功能时,将占用计算设备101的计算能力,从而导致计算系统100的性能下降。在利用板级资源添加新功能时,将占用硬件和接口资源,例如高速I/O、ADC、DAC等。
在计算设备101为SoC并且外围设备为现场可编程门阵列(FPGA)的情形下,希望在二者之间提供高带宽的通信互连。现有的板级资源难以满足所述带宽需求。如果板级系统未预留硬件和接口资源,则不可能添加新功能。此外,利用板级资源添加新功能还将导致硬件设计和软件管理复杂化。
发明内容
本发明的目的在于提供一种计算设备扩展方法和装置、以及可扩展的计算系统。
根据本发明实施例的一方面,提供一种设备扩展装置,包括:第一端口,用于经由内存总线与外部的计算设备相连;第二端口,用于经由内存总线与外部的存储器相连;以及第三端口,用于经由用户自定义总线与外部的扩展功能单元相连,其中,所述设备扩展装置根据从计算设备传送的内存总线信号产生选择信号,使得第一至第三端口中的任一个端口与第一至第三端口中的其余两个端口中的一个端口相连,从而提供内存总线的路由功能,所述内存总线信号包括数据信号以及地址和控制信号。
优选地,所述设备扩展装置还包括:第一数据缓冲器,用于缓存经由第一端口传送的数据信号;第二数据缓冲器,用于缓存经由第二端口传送的数据信号;第三数据缓冲器,用于缓存经由第三端口传送的数据信号;译码器,用于根据经由第一端口传送的地址和控制信号,产生所述选择信号;以及数据复用模块,用于根据选择信号,将第一至第三数据缓冲器中的至少两个数据缓冲器相连。
优选地,数据复用模块包括至少一个多路复用器。
优选地,所述设备扩展装置还包括旁路开关阵列,所述旁路开关阵列根据选择信号,选择性地将地址和控制信号从第一端口传送至第二端口。
优选地,第一至第三数据缓冲器中的至少两个数据缓冲器选通。
优选地,所述译码器根据地址和控制信号中的片选信号和/或地址信号产生选择信号。
优选地,所述地址信号包括地址数据和保留数据,所述保留数据指示存储操作或扩展通信操作。
根据本发明实施例的另一方面,提供一种可扩展的计算系统,包括:上述的设备扩展装置;计算设备,经由内存总线与设备扩展装置的第一端口相连;存储器,经由内存总线与设备扩展装置的第二端口相连;以及扩展功能单元,经由用户自定义总线与设备扩展装置的第三端口相连。
优选地,所述计算设备为选自通用处理器和片上系统中的一种。
优选地,所述扩展功能单元的功能是可配置的。
优选地,所述扩展功能单元为现场可编程门阵列。
优选地,所述设备扩展装置在存储操作时第一端口和第二端口的数据信号以及地址和控制信号是对称的。
优选地,所述计算系统还包括具有第一内存插槽的主板,设备扩展装置的第一端口提供插脚,用于与第一内存插槽相连,设备扩展装置的第二端口提供第二内存插槽,用于与存储器相连,设备扩展装置的第三端口提供扩展接口,用于与扩展功能单元相连。
根据本发明实施例的另一方面,提供一种设备扩展方法,包括:计算设备经由内存总线向设备扩展装置传输内存总线信号;设备扩展装置接收所述内存总线信号,并根据所述内存总线信号产生选择信号;所述设备扩展装置根据所述选择信号提供计算设备、外部扩展功能单元和外部存储器之间的访问路径,所述内存总线信号包括数据信号以及地址和控制信号。
优选地,所述设备扩展装置根据所述内存总线信号产生选择信号包括:译码器根据地址和控制信号中的片选信号和/或地址信号产生选择信号。
优选地,所述设备扩展方法提供以下访问路径中的至少之一:计算设备直接访问设备扩展装置,外部扩展功能单元直接访问设备扩展装置,计算设备经由设备扩展装置访问外部存储器,外部扩展功能单元经由设备扩展装置访问外部存储器,以及计算设备经由设备扩展装置访问外部扩展功能单元。
优选地,所述设备扩展装置包括:第一端口,用于经由内存总线与外部的计算设备相连;第二端口,用于经由内存总线与外部的存储器相连;第三端口,用于经由用户自定义总线与外部的扩展功能单元相连;第一数据缓冲器,用于缓存经由第一端口传送的数据信号;第二数据缓冲器,用于缓存经由第二端口传送的数据信号;第三数据缓冲器,用于缓存经由第三端口传送的数据信号;译码器,用于根据经由第一端口传送的地址和控制信号,产生所述选择信号;数据复用模块,用于根据选择信号,将第一至第三数据缓冲器中的至少两个数据缓冲器相连;以及旁路开关阵列,所述旁路开关阵列根据选择信号,选择性地将地址和控制信号从第一端口传送至第二端口。
优选地,所述计算设备经由设备扩展装置访问外部存储器包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的读操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;外部存储器根据接收到的地址和控制信号后,存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的写操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第二数据缓冲器,外部存储器根据接收到的地址和控制信号将第二数据缓冲器的数据写入到存储器相应地址。
优选地,所述计算设备经由设备扩展装置访问外部扩展功能单元包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的读操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据接用户总线控制器发出的地址和控制信号,扩展功能单元的相应数据信号依次提供给第三数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的写操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第三数据缓冲器,扩展功能单元根据用户总线控制器发出的地址和控制信号将第三数据缓冲器的数据写入到扩展功能单元相应地址。
优选地,所述外部扩展功能单元经由设备扩展装置访问外部存储器包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的读操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;外部存储器根据接收到的地址和控制信号后,存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第三数据缓冲器,扩展功能单元读取第三数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的写操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据用户总线发出的地址和控制信号将数据依次提供给第三数据缓冲器、数据复用模块、第二数据缓冲器,从而将扩展功能单元的数据写入外部存储器相应地址。
根据本发明的计算系统可以大大降低计算设备设计的复杂性,使得计算设备可以仅需要专注于计算功能,通过扩展功能单元实现USB接口、打印接口、高速通信和并行计算等,也就降低了对专用模块的规格定义的要求,可以保持计算设备的通用性。利用扩展功能单元提供用户定制功能,从而仍然保持经济性。由于设备扩展装置可以使用标准的内存总线和内存插槽,因此,该计算设备扩展方案可以兼容原有的计算系统,并且低成本地提供新增功能。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示出现有的计算系统的示意性框图;
图2示出根据本发明的实施例的可扩展的计算系统的示意性框图;
图3示出根据本发明的一个实施例的设备扩展装置的示意性框图;
图4示出根据本发明的另一个实施例的设备扩展装置的示意性框图;以及
图5示出根据本发明的实施例的计算设备扩展方法的流程图。
具体实施方式
以下将参照附图更详细地描述本发明的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
本发明可以各种形式呈现,以下将描述其中一些示例。
图2示出根据本发明的实施例的可扩展的计算系统的示意性框图。计算系统200包括计算设备201,以及经由内存总线与计算设备201相连的外部存储器202。外部存储器202是计算设备201的外围部件。
在优选的实施例中,计算设备201为片上系统(SoC),外部存储器202为同步动态随机存储器(SDRAM)。相应地,内存总线为SDRAM总线。
在优选的实施例中,外部存储器202包括主存储器和辅存储器。辅存储器是为了扩展系统带宽而附加的存储器。
计算设备201和外部存储器202之间经由内存总线传输数据信号以及地址和控制信号。相应地,内存总线包括地址总线、数据总线和控制总线。控制总线用于向外部存储器202提供读写信号,地址总线用于指定外部存储器202中的选中单元地址。数据总线是双向的,用于从计算设备201向外部存储器202传输待写入的数据,或者用于从外部存储器202向计算设备201传输已经读取的数据。
与图1所示的根据现有技术的计算系统不同,在本发明的计算系统200中,计算设备201没有直接与外部存储器202相连。替代地,本发明的计算系统200还包括设备扩展装置203和扩展功能单元204,并且设备扩展装置203位于计算设备201和外部存储器202之间。
设备扩展装置203提供内存总线的路由功能,使得计算设备201或者经由设备扩展装置203与外部存储器202相连,或者经由设备扩展装置203与扩展功能单元204相连。因此,计算设备201不仅可以经由内存总线访问外部存储器202,还可以经由内存总线与扩展功能单元204进行通信。
扩展功能单元204是通过设备扩展装置203扩展出来的新增的硬件资源。本申请并未限定扩展功能单元204的类型、形式、实现方式,也不假设其所在的硬件环境、或者更上层的应用环境。扩展功能单元204只表示在设备扩展装置203的支持下计算系统200中新增的硬件资源。
图2中的双向连接线表示内存总线和用户自定义总线,其中的数据流向是双向的。内存总线是外部存储器202(例如,SDRAM、DDR-SDRAM、LPDDR-SDRAM等)使用的总线。用户自定义总线是扩展功能单元204和设备扩展装置203之间的总线。
在优选的实施例中,设备扩展装置203允许扩展功能单元204访问外部存储器202。因此,计算设备201和扩展功能单元204可以共用外部存储器202。
在优选的实施例中,扩展功能单元204是FPGA实现的各种逻辑功能单元。由于FPGA本身的可配置性,扩展功能单元204的功能可以灵活配置,以满足不同的应用需求,例如可以实现各种可能的并行计算、事务处理或实现各种外围设备接口。扩展功能单元204的可配置性使得计算系统200可以满足不同应用的功能需求。
采用该架构的计算系统200既可以充分利用计算设备201的计算处理能力,又可以利用扩展功能单元204提供高速通信、并行计算和外围设备接口,从而方便地扩展外围计算设备,形成一个性能和功能都比较强大的系统。因此,本实施例的系统可以大大降低计算设备201设计的复杂性,使得计算设备201可以仅需要专注于计算功能。根据本发明的计算系统200可以保持计算设备201的通用性,并且利用扩展功能单元204提供用户定制功能,从而仍然保持经济性。由于扩展功能单元204可以使用标准的内存总线和内存插槽,因此,该计算设备扩展方案可以兼容原有的计算系统,并且低成本地提供新增功能。
图3示出根据本发明的一个实施例的设备扩展装置的示意性框图。参见图2,设备扩展装置203实际上是串联在计算设备201和外部存储器202之间的内存总线上的路由装置。
在优选的实施例中,设备扩展装置203例如是包括三端口的扩展卡。第一端口用于提供插脚,与主板上的内存插槽相结合,从而提供计算设备201与设备扩展装置203之间的连接。第二端口用于提供内存插槽,与外部存储器202相结合,从而提供设备扩展装置203与外部存储器202之间的连接。第三端口用于提供扩展接口,例如USB端口,从而提供设备扩展装置203与扩展功能单元204之间的连接。
设备扩展装置203包括与第一至第三端口分别对应的数据缓冲器2031、2035和2037。数据缓冲器2031经由内存总线,从计算设备201获取数据信号或者向计算设备201提供数据信号。数据缓冲器2035经由内存总线,从外部存储器202获取数据信号或者向外部存储器202提供数据信号。数据缓冲器2037经由用户自定义总线,与扩展功能单元204进行通信。
在优选的实施例中,数据缓冲器2031、2035和2037分别为三态缓冲器。在三态缓冲器的使能输出端有效时,三态缓冲器实现正常逻辑输出,即逻辑值为0或1。在三态缓冲器的使能输出端无效时,三态缓冲器的输入端可以接收数据,但是输出端为高阻状态。
译码器2032和旁路开关阵列2033经由内存总线,从计算设备201获取地址和控制信号。译码器2032根据地址和控制信号产生选择信号。
在一个示例中,译码器2032根据地址和控制信号中的存储器片选信号产生选择信号。如果存储器片选信号为高电平,则选择信号指示存储操作。如果存储器片选信号为低电平,则选择信号指示扩展通信操作。
在另一个示例中,译码器2032根据地址和控制信号中的地址信号产生选择信号。例如,地址信号包括地址数据和保留数据。假定地址数据为N位,例如32位,那么可以将其中的M位(例如1位)作为保留位,用于指示计算设备201期望的操作类型。如果保留位为高电平,则选择信号指示存储操作。如果保留位为低电平,则选择信号指示扩展通信操作。
译码器2032将选择信号分别提供至数据缓冲器2031、2035和2037、旁路开关阵列2033、数据复用模块2034和用户总线控制器2036。
数据复用模块2034包括一个多路复用器2034a。根据选择信号,多路复用器2034a将数据缓冲器2031与数据缓冲器2035和2037中的一个相连。同时,根据选择信号,数据缓冲器2031以及数据缓冲器2035和2037中的一个处于选通状态,数据缓冲器2035和2037中的另一个处于未选通状态。
因此,设备扩展装置203根据选择信号,提供计算设备201与外部存储器202之间的连接,或者提供计算设备201与扩展功能单元204之间的连接,从而实现路由功能。
进一步地,如果选择信号指示存储操作,则旁路开关阵列2033导通,使得地址和控制信号经由设备扩展装置203直接传送至外部存储单元202。在设备扩展装置203两侧的内存总线中,数据信号以及地址和控制信号是完全对称的。如果选择信号指示扩展通信操作,则旁路开关阵列2033断开,用户总线控制器2036根据选择信号产生总线控制信号。该扩展方案可以兼容现有的内存总线,从而不必对计算设备201和外部存储器202进行硬件修改。
图4示出根据本发明的另一个实施例的设备扩展装置的示意性框图。参见图2,设备扩展装置203实际上是串联在计算设备201和外部存储器202之间的内存总线上的路由装置。
译码器3032和旁路开关阵列3033经由内存总线,从计算设备201获取地址和控制信号。译码器3032根据地址和控制信号产生选择信号。
译码器3032将选择信号分别提供至数据缓冲器3031、3035和3037、旁路开关阵列3033、数据复用模块3034和用户总线控制器3036。
根据该实施例的设备扩展装置304与图3所示的设备扩展装置203的不同之处在于:数据复用模块3034包括三个多路复用器3034a、3034b和3034c。根据选择信号,三个多路复用器3034a、3034b和3034c将数据缓冲器3031与数据缓冲器3035和3037中的一个相连。同时,根据选择信号,数据缓冲器3031、数据缓冲器3035和3037中的至少两个处于选通状态。
因此,设备扩展装置203根据选择信号,提供计算设备201与外部存储器202之间的连接,或者提供计算设备201与扩展功能单元204之间的连接,或者提供扩展功能单元204与外部存储器202之间的连接,从而实现路由功能。
进一步地,如果选择信号指示存储操作,则旁路开关阵列3033导通,使得地址和控制信号经由设备扩展装置203直接传送至外部存储单元202。在设备扩展装置203两侧的内存总线中,数据信号以及地址和控制信号是完全对称的。如果选择信号指示扩展通信操作,则旁路开关阵列3033断开,用户总线控制器3036根据选择信号产生总线控制信号。该扩展方案可以兼容现有的内存总线,从而不必对计算设备201和外部存储器202进行硬件修改。
图5是根据本发明的实施例的计算设备扩展方法的流程图。所述方法包括:
在步骤S1中,计算设备经由内存总线向设备扩展装置传输内存总线信号;
在步骤S2中,设备扩展装置接收所述内存总线信号,并根据所述内存总线信号产生选择信号;
在步骤S3中,所述设备扩展装置根据所述选择信号提供计算设备、外部扩展功能单元和外部存储器之间的访问路径。
在本实施例中,内存总线信号包括数据信号以及地址和控制信号。
在优选的实施例中,计算设备为片上系统(SoC),外部存储器为同步动态随机存储器(SDRAM)。相应地,内存总线为SDRAM总线。
计算设备和外部存储器之间经由内存总线传输数据信号以及地址和控制信号。相应地,内存总线包括地址总线、数据总线和控制总线。控制总线用于向外部存储器提供控制信号,地址总线用于指定外部存储器中的选中单元地址。数据总线是双向的,用于从计算设备向外部存储器传输待写入的数据,或者用于从外部存储器向计算设备传输已经读取的数据。
计算设备和扩展功能单元之间经由内存总线以及用户自定义总线传输数据信号以及地址和控制信号,设备扩展装置中的译码器根据地址和控制信号中的片选信号和/或地址信号产生选择信号。在一个示例中,地址信号包括地址数据和保留数据,所述保留数据指示存储操作或扩展通信操作。
计算设备扩展方法提供以下访问路径中的至少之一:计算设备直接访问设备扩展装置,外部扩展功能单元直接访问设备扩展装置,计算设备经由设备扩展装置访问外部存储器,外部扩展功能单元经由设备扩展装置访问外部存储器,以及计算设备经由设备扩展装置访问外部扩展功能单元。优选地,计算设备扩展方法执行以下一种或多种操作:计算设备经由设备扩展装置访问外部存储器,计算设备经由设备扩展装置访问外部扩展功能单元,外部扩展功能单元经由设备扩展装置访问外部存储器。
所述设备扩展装置包括:第一端口,用于经由内存总线与外部的计算设备相连;第二端口,用于经由内存总线与外部的存储器相连;第三端口,用于经由用户自定义总线与外部的扩展功能单元相连;第一数据缓冲器,用于缓存经由第一端口传送的数据信号;第二数据缓冲器,用于缓存经由第二端口传送的数据信号;第三数据缓冲器,用于缓存经由第三端口传送的数据信号;译码器,用于根据经由第一端口传送的地址和控制信号,产生所述选择信号;数据复用模块,用于根据选择信号,将第一至第三数据缓冲器中的至少两个数据缓冲器相连;以及旁路开关阵列,所述旁路开关阵列根据选择信号,选择性地将地址和控制信号从第一端口传送至第二端口。
所述计算设备经由设备扩展装置访问外部存储器包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的读操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;外部存储器根据接收到的地址和控制信号后,存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的写操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第二数据缓冲器,外部存储器根据接收到的地址和控制信号将第二数据缓冲器的数据写入到存储器相应地址。
所述计算设备经由设备扩展装置访问外部扩展功能单元包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的读操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据接用户总线控制器发出的地址和控制信号,扩展功能单元的相应数据信号依次提供给第三数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的写操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第三数据缓冲器,扩展功能单元根据用户总线控制器发出的地址和控制信号将第三数据缓冲器的数据写入到扩展功能单元相应地址。
所述外部扩展功能单元经由设备扩展装置访问外部存储器包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的读操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;外部存储器根据接收到的地址和控制信号后,存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第三数据缓冲器,扩展功能单元读取第三数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的写操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据用户总线发出的地址和控制信号将数据依次提供给第三数据缓冲器、数据复用模块、第二数据缓冲器,从而将扩展功能单元的数据写入外部存储器相应地址。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明的保护范围应当以本发明权利要求所界定的范围为准。
Claims (20)
1.一种设备扩展装置,包括:
第一端口,用于经由内存总线与外部的计算设备相连;
第二端口,用于经由内存总线与外部的存储器相连;以及
第三端口,用于经由用户自定义总线与外部的扩展功能单元相连,
其中,所述设备扩展装置根据从计算设备传送的内存总线信号产生选择信号,使得第一至第三端口中的任一个端口与第一至第三端口中的其余两个端口中的一个端口相连,从而提供内存总线的路由功能,所述内存总线信号包括数据信号以及地址和控制信号。
2.根据权利要求1所述的设备扩展装置,还包括:
第一数据缓冲器,用于缓存经由第一端口传送的数据信号;
第二数据缓冲器,用于缓存经由第二端口传送的数据信号;
第三数据缓冲器,用于缓存经由第三端口传送的数据信号;
译码器,用于根据经由第一端口传送的地址和控制信号,产生所述选择信号;以及
数据复用模块,用于根据选择信号,将第一至第三数据缓冲器中的至少两个数据缓冲器相连。
3.根据权利要求2所述的设备扩展装置,其中数据复用模块包括至少一个多路复用器。
4.根据权利要求2所述的设备扩展装置,还包括旁路开关阵列,所述旁路开关阵列根据选择信号,选择性地将地址和控制信号从第一端口传送至第二端口。
5.根据权利要求2所述的设备扩展装置,其中,第一至第三数据缓冲器中的至少两个数据缓冲器选通。
6.根据权利要求2所述的设备扩展装置,其中,所述译码器根据地址和控制信号中的片选信号和/或地址信号产生选择信号。
7.根据权利要求6所述的设备扩展装置,其中,所述地址信号包括地址数据和保留数据,所述保留数据指示存储操作或扩展通信操作。
8.一种可扩展的计算系统,包括:
根据权利要求1至7中任一项所述的设备扩展装置;
计算设备,经由内存总线与设备扩展装置的第一端口相连;
存储器,经由内存总线与设备扩展装置的第二端口相连;以及
扩展功能单元,经由用户自定义总线与设备扩展装置的第三端口相连。
9.根据权利要求8所述的计算系统,其中,所述计算设备为选自通用处理器和片上系统中的一种。
10.根据权利要求8所述的计算系统,其中,所述扩展功能单元的功能是可配置的。
11.根据权利要求10所述的计算系统,其中,所述扩展功能单元为现场可编程门阵列。
12.根据权利要求8所述的计算系统,其中,所述设备扩展装置在存储操作时第一端口和第二端口的数据信号以及地址和控制信号是对称的。
13.根据权利要求8所述的计算系统,还包括具有第一内存插槽的主板,设备扩展装置的第一端口提供插脚,用于与第一内存插槽相连,设备扩展装置的第二端口提供第二内存插槽,用于与存储器相连,设备扩展装置的第三端口提供扩展接口,用于与扩展功能单元相连。
14.一种设备扩展方法,包括:
计算设备经由内存总线向设备扩展装置传输内存总线信号;
设备扩展装置接收所述内存总线信号,并根据所述内存总线信号产生选择信号;
所述设备扩展装置根据所述选择信号提供计算设备、外部扩展功能单元和外部存储器之间的访问路径,所述内存总线信号包括数据信号以及地址和控制信号。
15.根据权利要求14所述的设备扩展方法,所述设备扩展装置根据所述内存总线信号产生选择信号包括:
译码器根据地址和控制信号中的片选信号和/或地址信号产生选择信号。
16.根据权利要求14所述的设备扩展方法,其中,所述设备扩展方法提供以下访问路径中的至少之一:计算设备直接访问设备扩展装置,外部扩展功能单元直接访问设备扩展装置,计算设备经由设备扩展装置访问外部存储器,外部扩展功能单元经由设备扩展装置访问外部存储器,以及计算设备经由设备扩展装置访问外部扩展功能单元。
17.根据权利要求16所述的设备扩展方法,其中,所述设备扩展装置包括:
第一端口,用于经由内存总线与外部的计算设备相连;
第二端口,用于经由内存总线与外部的存储器相连;
第三端口,用于经由用户自定义总线与外部的扩展功能单元相连;
第一数据缓冲器,用于缓存经由第一端口传送的数据信号;
第二数据缓冲器,用于缓存经由第二端口传送的数据信号;
第三数据缓冲器,用于缓存经由第三端口传送的数据信号;
译码器,用于根据经由第一端口传送的地址和控制信号,产生所述选择信号;
数据复用模块,用于根据选择信号,将第一至第三数据缓冲器中的至少两个数据缓冲器相连;以及
旁路开关阵列,所述旁路开关阵列根据选择信号,选择性地将地址和控制信号从第一端口传送至第二端口。
18.根据权利要求17所述的设备扩展方法,其中所述计算设备经由设备扩展装置访问外部存储器包括:
在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的读操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;外部存储器根据接收到的地址和控制信号后,存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;
在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的写操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第二数据缓冲器,外部存储器根据接收到的地址和控制信号将第二数据缓冲器的数据写入到存储器相应地址。
19.根据权利要求17所述的设备扩展方法,其中所述计算设备经由设备扩展装置访问外部扩展功能单元包括:
在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的读操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据接用户总线控制器发出的地址和控制信号,扩展功能单元的相应数据信号依次提供给第三数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;
在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的写操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第三数据缓冲器,扩展功能单元根据用户总线控制器发出的地址和控制信号将第三数据缓冲器的数据写入到扩展功能单元相应地址。
20.根据权利要求17所述的设备扩展方法,其中所述外部扩展功能单元经由设备扩展装置访问外部存储器包括:
在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的读操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;外部存储器根据接收到的地址和控制信号后,存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第三数据缓冲器,扩展功能单元读取第三数据缓冲器缓存的数据;
在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的写操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据用户总线发出的地址和控制信号将数据依次提供给第三数据缓冲器、数据复用模块、第二数据缓冲器,从而将扩展功能单元的数据写入外部存储器相应地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510055667.6A CN104598404B (zh) | 2015-02-03 | 2015-02-03 | 计算设备扩展方法和装置、以及可扩展的计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510055667.6A CN104598404B (zh) | 2015-02-03 | 2015-02-03 | 计算设备扩展方法和装置、以及可扩展的计算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598404A true CN104598404A (zh) | 2015-05-06 |
CN104598404B CN104598404B (zh) | 2018-09-04 |
Family
ID=53124209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510055667.6A Expired - Fee Related CN104598404B (zh) | 2015-02-03 | 2015-02-03 | 计算设备扩展方法和装置、以及可扩展的计算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598404B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301151A (zh) * | 2017-07-28 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种主板以及服务器 |
CN109656856A (zh) * | 2018-11-23 | 2019-04-19 | 中国船舶重工集团公司第七0七研究所 | 利用fpga实现非复用总线与复用总线互联装置及方法 |
CN113994314A (zh) * | 2019-06-06 | 2022-01-28 | 美光科技公司 | 扩展存储器接口 |
CN117312215A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种服务器系统、作业执行方法、装置及设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1343917A (zh) * | 2001-10-23 | 2002-04-10 | 深圳市朗科科技有限公司 | 电脑外部设备中附加存储功能的方法及其体系结构 |
US20020121548A1 (en) * | 2001-03-05 | 2002-09-05 | Ho-Lung Lu | Hand held client system with an external storage meduim |
US20020163780A1 (en) * | 2001-05-02 | 2002-11-07 | Palm, Inc. | Synchronization cradle with expansion card slots |
CN1766862A (zh) * | 2004-10-25 | 2006-05-03 | 三星电子株式会社 | 包括存储器存取控制器和总线的存储器件的微处理器系统 |
CN1779666A (zh) * | 2004-11-19 | 2006-05-31 | 宇力电子股份有限公司 | 数据存取方法 |
CN101261611A (zh) * | 2008-02-15 | 2008-09-10 | 威盛电子股份有限公司 | 一种外围设备间的数据传输装置和传输方法 |
CN201185008Y (zh) * | 2008-04-25 | 2009-01-21 | 十速科技股份有限公司 | 计算机接口控制装置 |
CN204390227U (zh) * | 2015-02-03 | 2015-06-10 | 杭州士兰控股有限公司 | 计算设备扩展装置、以及可扩展的计算系统 |
-
2015
- 2015-02-03 CN CN201510055667.6A patent/CN104598404B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020121548A1 (en) * | 2001-03-05 | 2002-09-05 | Ho-Lung Lu | Hand held client system with an external storage meduim |
US20020163780A1 (en) * | 2001-05-02 | 2002-11-07 | Palm, Inc. | Synchronization cradle with expansion card slots |
CN1343917A (zh) * | 2001-10-23 | 2002-04-10 | 深圳市朗科科技有限公司 | 电脑外部设备中附加存储功能的方法及其体系结构 |
CN1766862A (zh) * | 2004-10-25 | 2006-05-03 | 三星电子株式会社 | 包括存储器存取控制器和总线的存储器件的微处理器系统 |
CN1779666A (zh) * | 2004-11-19 | 2006-05-31 | 宇力电子股份有限公司 | 数据存取方法 |
CN101261611A (zh) * | 2008-02-15 | 2008-09-10 | 威盛电子股份有限公司 | 一种外围设备间的数据传输装置和传输方法 |
CN201185008Y (zh) * | 2008-04-25 | 2009-01-21 | 十速科技股份有限公司 | 计算机接口控制装置 |
CN204390227U (zh) * | 2015-02-03 | 2015-06-10 | 杭州士兰控股有限公司 | 计算设备扩展装置、以及可扩展的计算系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301151A (zh) * | 2017-07-28 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种主板以及服务器 |
CN107301151B (zh) * | 2017-07-28 | 2020-07-21 | 苏州浪潮智能科技有限公司 | 一种主板以及服务器 |
CN109656856A (zh) * | 2018-11-23 | 2019-04-19 | 中国船舶重工集团公司第七0七研究所 | 利用fpga实现非复用总线与复用总线互联装置及方法 |
CN113994314A (zh) * | 2019-06-06 | 2022-01-28 | 美光科技公司 | 扩展存储器接口 |
CN117312215A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种服务器系统、作业执行方法、装置及设备和介质 |
CN117312215B (zh) * | 2023-11-28 | 2024-03-22 | 苏州元脑智能科技有限公司 | 一种服务器系统、作业执行方法、装置及设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104598404B (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7680968B2 (en) | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) | |
US9893727B1 (en) | Apparatus for configurable interface and associated methods | |
CN104598405B (zh) | 扩展芯片及可扩展的芯片系统及控制方法 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN110781117A (zh) | 一种基于fpga的spi扩展总线接口以及片上系统 | |
CN101436171B (zh) | 模块化通信控制系统 | |
US11704023B2 (en) | Extensible storage system and method | |
CN104598404A (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
CN104657297A (zh) | 计算设备扩展系统及扩展方法 | |
KR20120038282A (ko) | 아이디 컨버터를 포함하는 버스 시스템 및 그것의 변환 방법 | |
CN106844263B (zh) | 一种基于可配置的多处理器计算机系统及实现方法 | |
CN110765066B (zh) | 一种片上系统 | |
US20190286606A1 (en) | Network-on-chip and computer system including the same | |
CN104598406A (zh) | 扩展功能单元及计算设备扩展系统和扩展方法 | |
CN101194241A (zh) | 用于对网络和存储器进行耦合的存储器控制器和方法 | |
CN116483259A (zh) | 一种数据处理方法以及相关装置 | |
CN204496486U (zh) | 扩展功能单元及计算设备扩展系统 | |
CN109616149A (zh) | 一种eMMC主机控制器、eMMC控制系统及控制方法 | |
CN204390228U (zh) | 计算设备扩展系统 | |
CN112835834B (zh) | 数据传输系统 | |
CN204496487U (zh) | 扩展芯片及可扩展的芯片系统 | |
CN209249081U (zh) | 一种eMMC主机控制器和eMMC控制系统 | |
CN106326172A (zh) | 一种APB总线slave接口扩展电路及其使用方法 | |
GB2368152A (en) | A DMA data buffer using parallel FIFO memories | |
CN117591450B (zh) | 一种数据处理系统、方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180904 Termination date: 20210203 |