CN204496486U - 扩展功能单元及计算设备扩展系统 - Google Patents
扩展功能单元及计算设备扩展系统 Download PDFInfo
- Publication number
- CN204496486U CN204496486U CN201520076511.1U CN201520076511U CN204496486U CN 204496486 U CN204496486 U CN 204496486U CN 201520076511 U CN201520076511 U CN 201520076511U CN 204496486 U CN204496486 U CN 204496486U
- Authority
- CN
- China
- Prior art keywords
- sram
- bus
- computing equipment
- function unit
- expanded function
- 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.)
- Withdrawn - After Issue
Links
Landscapes
- Bus Control (AREA)
Abstract
公开了一种扩展功能单元及计算设备扩展系统。扩展功能单元包括:片上RAM,包括指令存储区和数据缓冲区;片上RAM控制器,用于将指令存储区和数据缓冲区与外部用户自定义总线相连;协处理引擎,经由第一SRAM总线与指令存储区和数据缓冲区相连,并经由互连总线与SRAM封装器相连;接口桥,用于将外部用户自定义总线与SRAM封装器相连;SRAM封装器,用于协处理引擎和接口桥中的一个与外部内存总线相连,其中,外部用户自定义总线和片上RAM控制器一起形成外部设备访问指令存储区和数据缓冲区的路径,外部用户自定义总线、接口桥、第二SRAM总线、SRAM封装器和外部内存总线一起形成外部设备访问外部SRAM的路径。该方案可以实现高效数据缓冲及共享,从而提供协处理能力。
Description
技术领域
本实用新型属于可编程器件的应用技术,具体地,涉及扩展功能单元及计算设备扩展系统。
背景技术
随着嵌入式计算机技术的发展,计算设备的集成度越来越高,性能及功能越来越强大,其复杂度也不断提高。
计算设备不仅包括计算机中使用的通用处理器,还包括将处理器与外围电子系统集成在一个芯片中的片上系统(简称为SOC)。片上系统是客户定制的或面向特定用途的标准产品,虽然这样可以降低制造成本,但却存在着欠缺特定功能和扩展性差的问题。在SOC的硬件资源不能满足需求时,可以采用附加的可编程器件(例如现场可编程门阵列,即FPGA,或者复杂可编程逻辑器件,即CPLD)等添加计算单元资源,以弥补产品计算能力方面或功能性方面的不足。
图1示出现有的计算设备扩展系统的示意性框图。该计算设备扩展系统包括计算设备100、扩展功能单元200、动态随机访问存储器DRAM400和静态随机访问存储器SRAM 500。计算设备100可以是片上系统(SOC)或通用处理器。扩展功能单元200例如是现场可编程门阵列(FPGA)或复杂可编程逻辑器件(CPLD)或专用标准电路产品(ASSP)。DRAM 400采用动态刷新来保持数据,由于成本低,通常作为大容量的主存储器。SRAM 500可以静态保持数据,不需要动态刷新,由于访问效率高且速度快,通常作为高速缓存。
计算设备100具有存储器接口(例如SRAM接口和DRAM接口),使得计算设备100可以经由内存总线分别访问DRAM 400和SRAM 500。计算设备100经由SERDES接口、HPI接口或SPI接收连接至扩展功能单元200。如果需要,计算设备100可以访问DRAM 400和SRAM 500。
然而,在上述现有的计算设备扩展系统中,计算设备100和扩展功能单元200缺乏针对共用的存储器的访问高效的协调机制,在计算设备100和扩展功能单元200之间不能实现高速数据缓冲和数据共享。因此,现有的计算设备扩展系统限制了计算设备100和扩展功能单元200的协处理能力和效率。
实用新型内容
本实用新型的目的在于提供一种可以提高计算设备和扩展功能单元之间数据共享效率的计算设备扩展系统。
根据本实用新型的一方面,提供一种扩展功能单元,包括:片上RAM,包括指令存储区和数据缓冲区;片上RAM控制器,用于将指令存储区和数据缓冲区与外部用户自定义总线相连;协处理引擎,经由第一SRAM总线与指令存储区和数据缓冲区相连,并经由互连总线与SRAM封装器相连;接口桥,用于将外部用户自定义总线与SRAM封装器相连;以及SRAM封装器,用于协处理引擎和接口桥中的一个与外部内存总线相连,其中,所述外部用户自定义总线和所述片上RAM控制器一起提供外部设备访问指令存储区和数据缓冲区的路径,所述外部用户自定义总线、所述接口桥、第二SRAM总线、所述SRAM封装器和所述外部内存总线一起形成外部设备访问外部SRAM的路径。
优选地,所述互连总线、所述SRAM封装器和所述外部内存总线一起形成协处理引擎访问外部SRAM的路径。
优选地,所述协处理引擎至少包括计算单元、加速引擎、支持某种指令集的专用处理器/控制器中的一种。
优选地,所述接口桥包括控制逻辑、写入缓冲器和读取缓冲器,所述控制逻辑用于产生激活SOC/CPEs数据共享通道的请求信号,并发送至SRAM封装器;所述写入缓冲器和读取缓冲器,用于缓存经由用户自定义总线传送的数据信号。
优选地,所述SRAM封装器包括SRAM控制器、旁路通道和I/O复用接口,其中,所述SRAM控制器用于接收所述接口桥发送的请求信号,并根据该请求信号暂停来自互连总线的操作,并产生授权信号发送至I/O 复用接口;所述旁路通道用于接收接口桥的总线信号,并旁路至I/O复用接口;所述I/O复用接口接收SRAM控制器发送的授权信号,并根据所述授权信号选取对应的总线信号。
优选地,所述扩展功能单元还包括本地数据缓冲区作为协处理引擎在处理数据时的临时缓冲区。
根据本实用新型的另一方面,提供一种计算设备扩展系统,包括:上述的扩展功能单元;计算设备,经由第一内存总线与设备扩展装置相连;设备扩展装置,经由第二内存总线与动态随机访问存储器相连;扩展功能单元,经由用户自定义总线与设备扩展装置相连;静态随机访问存储器,经由第三内存总线与扩展功能单元相连。
优选地,计算设备为选自通用处理器和片上系统中的一种。
优选地,所述设备扩展装置包括第一端口提供第一内存总线,用于与外部的计算设备相连;第二端口提供第二内存总线,用于与动态随机访问存储器相连;第三端口提供用户自定义总线,用于与扩展功能单元相连。
优选地,所述设备扩展装置根据内存总线信号产生选择信号,使得第一至第三端口中的任一个端口与第一至第三端口中的其余两个端口中的一个端口相连,从而提供内存总线的路由功能,所述内存总线信号包括数据信号以及地址和控制信号。
优选地,所述第一内存总线、所述第二内存总线、所述第二内存总线为SDRAM总线。
本实用新型提供的扩展功能单元,拥有多个片上数据缓冲区,可以很好的支持CPEs的流水处理,增大计算效率。包括该扩展功能单元的计算设备扩展系统利用SOC/处理器现有的内存接口作为扩展功能单元的扩展接口,减少对SOC/处理器接口资源需求;利用扩展功能单元,拥有多个片上数据缓冲区,可以很好的支持CPEs的流水处理,增大计算效率;利用外部SRAM的容量和速度支持CPEs处理较大的帧/包数据,以及带有反馈算法的数据,实现SOC/处理器与扩展设备核心处理单元CPEs之间的数据缓冲以及数据共享,提高了计算设备和扩展功能单元之间协处理能力。
附图说明
通过以下参照附图对本实用新型实施例的描述,本实用新型的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示出根据现有技术的计算设备扩展系统的示意性框图;
图2示出根据本实用新型的计算设备扩展系统的示意性框图;
图3示出根据本实用新型的计算设备扩展系统中使用的设备扩展装置的第一实施例的示意性框图;
图4示出根据本实用新型的计算设备扩展系统中使用的设备扩展装置的第二实施例的示意性框图;
图5示出根据本实用新型的计算设备扩展系统的扩展方法的流程图;
图6示出根据本实用新型的计算设备扩展系统中使用的扩展功能单元的示意性框图;以及
图7示出根据本实用新型的计算设备扩展系统中采用的内存映射模型。
具体实施方式
以下将参照附图更详细地描述本实用新型的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
本实用新型可以各种形式呈现,以下将描述其中一些示例。
图2示出根据本实用新型的计算设备扩展系统的示意性框图。该计算设备扩展系统包括计算设备100、扩展功能单元200、动态随机访问存储器DRAM 400和静态随机访问存储器SRAM 500。计算设备100可以是片上系统(SOC)或通用处理器。扩展功能单元200例如是现场可编程门阵列(FPGA)或复杂可编程逻辑器件(CPLD)或专用标准电路产品(ASSP)。
与图1所示的现有技术的计算设备扩展系统不同,根据本实用新型的计算设备扩展系统还包括附加的设备扩展装置600。计算设备100与设备扩展装置600之间经由第一内存总线连接,扩展功能单元200与设 备扩展装置600之间经由用户自定义总线连接,DRAM 400与设备扩展装置600之间经由第二内存总线连接。此外,扩展功能单元200与SRAM500之间经由第三内存总线连接。
计算设备100经由第一内存总线、设备扩展装置600和第二内存总线访问DRAM 400,以及经由第一内存总线、设备扩展装置600、扩展功能单元200和第三内存总线访问SRAM 500。计算设备100还可以经由第一内存总线、设备扩展装置600和用户自定义总线访问扩展功能单元200的某些内部缓冲区,从而建立了计算设备100和扩展功能单元200之间的直接高速数据缓冲和数据共享。
扩展功能单元200的主功能模块为协处理引擎(即,CPEs:Coordinate Processing Engines)。协处理引擎可以是任何可能的计算单元,比如FFT/DCT运算、FIR滤波、Huffman编解码、TOE等。协处理引擎也可以是一个独立、完善的加速引擎,如视频编解码引擎。协处理引擎甚至可以支持某种指令集的专用处理器/控制器,如音频处理DSP。当然,协处理引擎也可以上述的计算单元、加速引擎、以及专用处理器/控制器的混合。
扩展功能单元200还包括片上RAM,用于提供CPEs工作所需的数据缓冲区OnChipRAM-A、指令存储区OnChipRAM-B和本地数据缓冲区OnChipRAM-C。数据缓冲区OnChipRAM-A的数量为一个或多个。采用多个数据缓冲区OnChipRAM-A可以提高CPEs流水线处理效率的。数据缓冲区OnChipRAM-A也有可能是1个或者多个FIFO的形式存在。指令存储区OnChipRAM-B用于存储计算设备100写入的指令。当扩展功能单元200中的CPEs是带指令集的处理器/控制器时,或者其内部包含了带指令集的处理器/控制器时,就需要指令存储区OnChipRAM-B的支持。本地数据缓冲区OnChipRAM-C是CPEs在处理数据时的临时缓冲区。
DRAM 400是计算设备100和扩展功能单元200共用的外部动态随机访问存储器。对DRAM 400访问效率不如访问SRAM 500高,而且会占用计算设备100的带宽。在扩展功能单元200的CPEs需要较大的存储空间,但不支持外部SRAM的情况下可以使用DRAM 400。
SRAM 500是计算设备100和扩展功能单元200共用的外部静态随机访问存储器。它能够支持的容量通常比数据缓冲区要大。当CPEs需要处理的帧/包数据比较大,且需要反复使用时,需要外部共享SRAM的支持。比如MPEG-4视频解码,源数据由计算设备100写入外部SRAM,而CPEs从SRAM读出原始数据并处理。这个SRAM增加了CPEs的处理数据能力,它支持CPEs独立完成一个较大的数据处理过程,其过程可以不需要计算设备100的协助。
图3分别示出根据本实用新型的计算设备扩展系统中使用的设备扩展装置第一实施例的示意性框图。在根据本实用新型的计算设备扩展系统中,设备扩展装置610例如具有第一至第三端口。第一端口用于提供第一内存接口,从而与计算设备100的内存接口之间的连接。第二端口用于提供第二内存接口,从而提供设备扩展装置610与DRAM 400之间的连接。第三端口用于提供用户自定义接口,从而提供扩展功能单元200的内存接口之间的连接。
在优选的实施例中,数据缓冲器6101和6105分别由三态缓冲器组成。在三态缓冲器的使能输出端有效时,三态缓冲器实现正常逻辑输出,即逻辑值为0或1。在三态缓冲器的使能输出端无效时,三态缓冲器的输入端可以接收数据,但是输出端为高阻状态。数据缓冲6107则不需要由三态缓冲器组成,只需要提供输入输出缓冲功能即可。
译码器6102和旁路开关阵列6103经由内存总线,从计算设备100的内存接口获取地址和控制信号。译码器6102根据地址和控制信号产生选择信号。
在另一个示例中,译码器6102根据地址和控制信号中的存储器片选信号产生选择信号。如果存储器片选信号为高电平,则选择信号指示存储操作。如果存储器片选信号为低电平,则选择信号指示扩展通信操作。
在另一个示例中,译码器6102根据地址和控制信号中的地址信号产生选择信号。例如,地址信号包括地址数据和保留数据。假定地址数据为N位,例如32位,那么可以将其中的M位(例如1位)作为保留位,用于指示计算设备100期望的操作类型。如果保留位为高电平,则选择信号指示存储操作。如果保留位为低电平,则选择信号指示扩展通信操 作。
译码器6102将选择信号分别提供至数据缓冲器6101、6105和6107、旁路开关阵列6103、数据复用模块6104和用户总线控制器6106。
数据复用模块6134包括一个多路复用器6134a。根据选择信号,多路复用器6134a将数据缓冲器6131与数据缓冲器6135和6137中的一个相连。同时,根据选择信号,数据缓冲器6131以及数据缓冲器6135和6137中的一个处于选通状态,数据缓冲器6135和6137中的另一个处于未选通状态。
因此,设备扩展装置610根据选择信号,提供计算设备100与DRAM400之间的连接,或者提供计算设备100与扩展功能单元200之间的连接,从而实现路由功能。
进一步地,如果选择信号指示存储操作,则旁路开关阵列6103导通,使得地址和控制信号经由设备扩展装置610直接传送至DRAM 400。在设备扩展装置610两侧的内存总线中,数据信号以及地址和控制信号是完全对称的。如果选择信号指示扩展通信操作,则旁路开关阵列6103断开,用户总线控制器6106根据选择信号产生总线控制信号,并且用于控制与扩展功能单元200之间的通信。
图4示出根据本实用新型的计算设备扩展系统中使用的设备扩展装置的第二实施例的示意性框图。在根据本实用新型的计算设备扩展系统中,设备扩展装置620例如具有第一至第三端口。第一端口用于提供第一内存接口,从而与计算设备100的内存接口之间的连接。第二端口用于提供第二内存接口,从而提供设备扩展装置620与DRAM 400之间的连接。第三端口用于提供用户自定义接口,从而提供扩展功能单元200的内存接口之间的连接。
设备扩展装置620包括与第一至第三端口分别对应的数据缓冲器6201、6205和6207。数据缓冲器6201经由内存总线,从计算设备100的内存接口获取数据信号或者向计算设备100的内存接口提供数据信号。数据缓冲器6205经由内存总线,从DRAM 400获取数据信号或者向DRAM 400提供数据信号。数据缓冲器6207经由用户自定义总线,与扩展功能单元200进行通信。
在优选的实施例中,数据缓冲器6201和6205分别由三态缓冲器组成。在三态缓冲器的使能输出端有效时,三态缓冲器实现正常逻辑输出,即逻辑值为0或1。在三态缓冲器的使能输出端无效时,三态缓冲器的输入端可以接收数据,但是输出端为高阻状态。数据缓冲6207则不需要由三态缓冲器组成,只需要提供输入输出缓冲功能即可。
译码器6202和旁路开关阵列6203经由内存总线,从计算设备100的内存接口获取地址和控制信号。译码器6202根据地址和控制信号产生选择信号。
在另一个示例中,译码器6202根据地址和控制信号中的存储器片选信号产生选择信号。如果存储器片选信号为高电平,则选择信号指示存储操作。如果存储器片选信号为低电平,则选择信号指示扩展通信操作。
在另一个示例中,译码器6202根据地址和控制信号中的地址信号产生选择信号。例如,地址信号包括地址数据和保留数据。假定地址数据为N位,例如32位,那么可以将其中的M位(例如1位)作为保留位,用于指示计算设备100期望的操作类型。如果保留位为高电平,则选择信号指示存储操作。如果保留位为低电平,则选择信号指示扩展通信操作。
译码器6202将选择信号分别提供至数据缓冲器6201、6205和6207、旁路开关阵列6203、数据复用模块6204和用户总线控制器6206。
数据复用模块6204包括三个多路复用器6204a、6204b和6204c。根据选择信号,三个多路复用器6204a、6204b和6204c将数据缓冲器6201与数据缓冲器6205和6207中的一个相连。同时,根据选择信号,数据缓冲器6201、数据缓冲器6205和6207中的至少两个处于选通状态。
因此,设备扩展装置620根据选择信号,提供计算设备100中与DRAM 400之间的连接,或者提供计算设备100与扩展功能单元200之间的连接,或者提供扩展功能单元200与DRAM 400之间的连接,从而实现路由功能。
进一步地,如果选择信号指示存储操作,则旁路开关阵列6203导通,使得地址和控制信号经由设备扩展装置620直接传送至DRAM 400。在设备扩展装置620两侧的内存总线中,数据信号以及地址和控制信号是 完全对称的。如果选择信号指示扩展通信操作,则旁路开关阵列6203断开,用户总线控制器6206根据选择信号产生总线控制信号,并且用于控制与扩展功能单元200之间的通信。
图5示出根据本实用新型的计算设备扩展系统的扩展方法的流程图。该方法用于配置包括计算设备、设备扩展装置、扩展功能单元的计算设备扩展系统。所述扩展方法包括:
在步骤S1中,计算设备经由内存总线向设备扩展装置传输内存总线信号;
在步骤S2中,设备扩展装置接收所述内存总线信号,并根据所述内存总线信号产生选择信号;
在步骤S3中,所述设备扩展装置根据所述选择信号提供计算设备、扩展功能单元和外部存储器之间的访问路径。
在本实施例中,内存总线信号包括数据信号以及地址和控制信号。
计算设备和外部存储器之间经由内存总线传输数据信号以及地址和控制信号。相应地,内存总线包括地址总线、数据总线和控制总线。控制总线用于向外部存储器提供控制信号,地址总线用于指定外部存储器中的选中单元地址。数据总线是双向的,用于从计算设备向外部存储器传输待写入的数据,或者用于从外部存储器向计算设备传输已经读取的数据。
计算设备和扩展功能单元之间经由内存总线以及用户自定义总线传输数据信号以及地址和控制信号,设备扩展装置中的译码器根据地址和控制信号中的片选信号和/或地址信号产生选择信号。在一个示例中,地址信号包括地址数据和保留数据,所述保留数据指示存储操作或扩展通信操作。
所述计算设备扩展方法提供以下访问路径中的至少之一:计算设备直接访问设备扩展装置,扩展功能单元直接访问设备扩展装置,计算设备经由设备扩展装置访问外部存储器,扩展功能单元经由设备扩展装置访问外部存储器,以及计算设备经由设备扩展装置访问扩展功能单元。
所述设备扩展装置包括:第一端口,用于经由内存总线与外部的计算设备相连;第二端口,用于经由内存总线与外部的外部存储器相连; 第三端口,用于经由用户自定义总线与扩展功能单元相连;第一数据缓冲器,用于缓存经由第一端口传送的数据信号;第二数据缓冲器,用于缓存经由第二端口传送的数据信号;第三数据缓冲器,用于缓存经由第三端口传送的数据信号;译码器,用于根据经由第一端口传送的地址和控制信号,产生所述选择信号;数据复用模块,用于根据选择信号,将第一至第三数据缓冲器中的至少两个数据缓冲器相连;以及旁路开关阵列,所述旁路开关阵列根据选择信号,选择性地将地址和控制信号从第一端口传送至第二端口。
所述计算设备经由设备扩展装置访问外部存储器包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的读操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;外部存储器根据接收到的地址和控制信号后,外部存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对外部存储器的写操作,旁路开关阵列打开,地址和控制信号经旁路开关阵列传递到外部存储器;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第二数据缓冲器,外部存储器根据接收到的地址和控制信号将第二数据缓冲器的数据写入到外部存储器相应地址。
优选地,所述计算设备经由设备扩展装置访问扩展功能单元包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的读操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据接用户总线控制器发出的地址和控制信号,扩展功能单元的相应数据信号依次提供给第三数据缓冲器、数据复用模块选择、第一数据缓冲器,计算设备读取第一数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对 地址和控制信号进行译码,解析出计算设备发出的指令为计算设备对扩展功能单元的写操作,旁路开关阵列关闭,地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;计算设备发出数据信号,数据信号依次经过第一数据缓冲器、数据复用模块、第三数据缓冲器,扩展功能单元根据用户总线控制器发出的地址和控制信号将第三数据缓冲器的数据写入到扩展功能单元相应地址。
优选地,所述扩展功能单元经由设备扩展装置访问外部存储器包括:在读操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的读操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;外部存储器根据接收到的地址和控制信号后,外部存储器的相应数据信号依次提供给第二数据缓冲器、数据复用模块选择、第三数据缓冲器,扩展功能单元读取第三数据缓冲器缓存的数据;在写操作中,计算设备发出地址和控制信号给译码器和旁路开关阵列,译码器对地址和控制信号进行译码,解析出计算设备发出的指令为扩展功能单元对外部存储器的写操作,旁路开关阵列打开,同时地址和控制信号经译码器译码后由用户总线控制器发出地址和控制信号给扩展功能单元;扩展功能单元根据用户总线发出的地址和控制信号将数据依次提供给第三数据缓冲器、数据复用模块、第二数据缓冲器,从而将扩展功能单元的数据写入外部存储器相应地址。
图6示出根据本实用新型的计算设备扩展系统中使用的扩展功能单元的示意性框图。该扩展功能单元200包括协处理引擎(CPEs)210、片上RAM控制器220、接口桥230和SRAM封装器240。
协处理引擎210与片上RAM控制器220之间经由第一SRAM总线连接;协处理引擎210与SRAM封装器240之间经由互连总线连接;接口桥230与SRAM封装器240之间经由第二SRAM总线连接。互联总线,可以是如AHB/Wishbone之类的总线类型,它可支持多个CPE同时对SRAM500的访问;也可以支持其他的Slave设备连接在此总线上,可以被CPEs访问。
协处理引擎210可以是任何可能的计算单元,比如FFT/DCT运算、FIR滤波、Huffman编解码、TOE等。协处理引擎210也可以是一个独立、完善的加速引擎,如视频编解码引擎。协处理引擎210甚至可以支持某种指令集的专用处理器/控制器,如音频处理DSP。当然,协处理引擎210也可以上述的计算单元、加速引擎、以及专用处理器/控制器的混合。
接口桥230包括控制逻辑231。该控制逻辑231产生请求(Request)信号以及其他逻辑信号,并将请求信号发送至SRAM封装器240。该请求信号用于用于旁路通道的激活,使得SOC和CPEs可以共享外部SRAM通道。接口桥230提供了计算设备100访问外部SRAM500的可能性。接口桥230还包括写入缓冲器和读取缓冲器,用以提升SRAM500的读写性能。
SRAM封装器240包括旁路通道241、SRAM控制器242以及I/O复用接口243,旁路通道241为I/O复用接口243提供直连通路。I/O复用接口243可以是SRAM总线选择矩阵,根据授权(Grant)信号即时选通对应的总线信号,该总线信号可以来自SRAM控制器242,还可以来自旁路通道241。SRAM控制器242还接收接口桥230发送的Request信号。当Request有效时,SRAM控制器242能够及时暂停来自互联总线的操作,停止时序发生器的工作,并通过授权信号指示I/O复用接口243让出通道给计算设备100的操作,使计算设备100可以操作SRAM500。
片上RAM控制器220可以将数据写入相应的RAM,并针对各个RAM产生相应的控制指示信号,为CPEs所用。控制指示信号很重要,如片上RAM控制器可以发出Busy信号,表明缓冲区信号正在被计算设备100写入数据,CPEs尚不能读此缓冲区,当前应该暂停读指令或者数据,每一个RAM都对应一个指示信号。
扩展功能单元200还包括片上RAM,用于提供CPEs工作所需的数据缓冲区OnChipRAM-A、指令存储区OnChipRAM-B和本地数据缓冲区OnChipRAM-C。数据缓冲区OnChipRAM-A的数量为一个或多个。采用多个数据缓冲区OnChipRAM-A可以提高CPEs流水线处理效率的。数据缓冲区OnChipRAM-A也有可能是1个或者多个FIFO的形式存在。 指令存储区OnChipRAM-B用于存储计算设备100写入的指令。当扩展功能单元200中的CPEs是带指令集的处理器/控制器时,或者其内部包含了带指令集的处理器/控制器时,就需要指令存储区OnChipRAM-B的支持。本地数据缓冲区OnChipRAM-C是CPEs在处理数据时的临时缓冲区。提供CPEs工作所需的数据缓冲区OnChipRAM-A、指令存储区OnChipRAM-B和本地数据缓冲区OnChipRAM-C以及外部SRAM500使用地址线和控制线为标识进行编址。片上RAM数据缓冲区担任计算设备100与CPEs之间的高效通信桥梁。计算设备100可以向片上数据缓冲区写入块数据,由CPEs读出并作相应的处理;CPEs也可以将处理完成的数据写入片上数据缓冲区,并由计算设备100读出;数据缓冲区不但可以缓存CPEs或者计算设备100的写入的数据;在计算设备100的软件或者相应硬件的支持下,也可以很好的缓存来自DRAM的数据,继而被CPEs处理;或者将其中的缓存数据写入DRAM。从计算设备100写入SRAM的数据可以经过接口桥230中的写入缓冲器232合并数据,当到达预设大小的数据块时以burst方式写入SRAM,整合可以减少来自CPEs对SRAM操作的暂停次数,减小总线开销;读取缓冲器233会从SRAM读预设大小的数据量存入此缓冲区,以达到较好的读效率。
计算设备100通过第一内存总线、设备扩展装置600、用户自定义总线、片上RAM控制器220和第一SRAM总线访问缓冲区,还可以经由第一内存总线、设备扩展装置600、用户自定义总线、接口桥230、第二SRAM总线、SRAM封装器240和第三内存总线访问SRAM500,协处理引擎210还可以通过互联总线以及SRAM封装器240访问SRAM500。
图7示出根据本实用新型的计算设备扩展系统中采用的内存映射模型。该内存映射模型示出了计算设备100的SOC和扩展功能单元200中的CPEs之间的内存映射关系。计算设备100的SOC和扩展功能单元200中的CPE共用的存储器包括外部DRAM 400、SRAM 500以及扩展功能单元200内部的数据缓冲区OnChipRAM-A、指令存储区OnChipRAM-B。
应当注意,计算设备100不能访问扩展功能单元200内部的本地数 据缓冲区OnChipRAM-C,因为该本地数据缓冲区是CPEs在处理数据时的临时缓冲区,只对扩展功能单元200的CPEs可见,对计算设备100不可见。
在图7中将SOC和CPEs可见的存储器(包括共用的存储器)在逻辑上分别表示成两部分,这是因为从计算设备100与扩展功能单元200的CPEs的角度来看,各自的可寻址空间以及相应的寻址地址既可能相同,也可能不同,这依赖于计算设备100体系结构、以及具体系统的架构实现。因此,在图7中并没有指出每个可寻址空间的地址或地址范围。
从计算设备100的角度来看(参见图7中的左侧图),根据本实用新型的计算设备扩展系统,计算设备100的SOC不仅可以按照常规方式访问正常的存储器区域(即DRAM 400),而且可以按照与访问正常的存储器区域相同的方式,向某些存储器或存储区写入数据,并且由扩展功能单元200中的CPEs处理,在处理完成之后可以及时通知计算设备100。扩展功能单元200中的指令存储区OnChipRAM-A、数据缓冲区OnChipRAM-B、以及外部SRAM 500对计算设备100来说其地址分配与DRAM 400并无差异,甚至可以是连续的或者有一部分与DRAM是重叠的区域。在图7中,将扩展功能单元200中的指令存储区OnChipRAM-A、数据缓冲区OnChipRAM-B、以及外部SRAM 500统称为特殊存储器。
依照本实用新型的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该实用新型仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本实用新型的原理和实际应用,从而使所属技术领域技术人员能很好地利用本实用新型以及在本实用新型基础上的修改使用。本实用新型的保护范围应当以本实用新型权利要求所界定的范围为准。
Claims (11)
1.一种扩展功能单元,包括:
片上RAM,包括指令存储区和数据缓冲区;
片上RAM控制器,用于将指令存储区和数据缓冲区与外部用户自定义总线相连;
协处理引擎,经由第一SRAM总线与指令存储区和数据缓冲区相连,并经由互连总线与SRAM封装器相连;
接口桥,用于将外部用户自定义总线与SRAM封装器相连;以及
SRAM封装器,用于协处理引擎和接口桥中的一个与外部内存总线相连,
其中,所述外部用户自定义总线和所述片上RAM控制器一起提供外部设备访问指令存储区和数据缓冲区的路径,
所述外部用户自定义总线、所述接口桥、第二SRAM总线、所述SRAM封装器和所述外部内存总线一起形成外部设备访问外部SRAM的路径。
2.根据权利要求1所述的扩展功能单元,其中所述互连总线、所述SRAM封装器和所述外部内存总线一起形成协处理引擎访问外部SRAM的路径。
3.根据权利要求1所述的扩展功能单元,其中,所述协处理引擎至少包括计算单元、加速引擎、支持某种指令集的专用处理器/控制器中的一种。
4.根据权利要求1所述的扩展功能单元,其中,所述接口桥包括控制逻辑、写入缓冲器和读取缓冲器,所述控制逻辑用于产生激活SOC/CPEs数据共享通道的请求信号,并发送至SRAM封装器;所述写入缓冲器和读取缓冲器,用于缓存经由用户自定义总线传送的数据信号。
5.根据权利要求4所述的扩展功能单元,其中,所述SRAM封装器包括SRAM控制器、旁路通道和I/O复用接口,其中,所述SRAM控制器用于接收所述接口桥发送的请求信号,并根据该请求信号暂停来自互连总线的操作,并产生授权信号发送至I/O复用接口;所述旁路通道 用于接收接口桥的总线信号,并旁路至I/O复用接口;所述I/O复用接口接收SRAM控制器发送的授权信号,并根据所述授权信号选取对应的总线信号。
6.根据权利要求4所述的扩展功能单元,其中,所述扩展功能单元还包括本地数据缓冲区作为协处理引擎在处理数据时的临时缓冲区。
7.一种计算设备扩展系统,包括:
根据权利要求1-6中任一项所述的扩展功能单元;
计算设备,经由第一内存总线与设备扩展装置相连;
设备扩展装置,经由第二内存总线与动态随机访问存储器相连;
扩展功能单元,经由用户自定义总线与设备扩展装置相连;
静态随机访问存储器,经由第三内存总线与扩展功能单元相连。
8.根据权利要求7所述的计算设备扩展系统,其中,计算设备为选自通用处理器和片上系统中的一种。
9.根据权利要求7所述的计算设备扩展系统,其中,所述设备扩展装置包括第一端口提供第一内存总线,用于与外部的计算设备相连;第二端口提供第二内存总线,用于与动态随机访问存储器相连;第三端口提供用户自定义总线,用于与扩展功能单元相连。
10.根据权利要求9所述的计算设备扩展系统,其中,所述设备扩展装置根据内存总线信号产生选择信号,使得第一至第三端口中的任一个端口与第一至第三端口中的其余两个端口中的一个端口相连,从而提供内存总线的路由功能,所述内存总线信号包括数据信号以及地址和控制信号。
11.根据权利要求7所述的计算设备扩展系统,其中,所述第一内存总线、所述第二内存总线、所述第二内存总线为SDRAM总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201520076511.1U CN204496486U (zh) | 2015-02-03 | 2015-02-03 | 扩展功能单元及计算设备扩展系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201520076511.1U CN204496486U (zh) | 2015-02-03 | 2015-02-03 | 扩展功能单元及计算设备扩展系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN204496486U true CN204496486U (zh) | 2015-07-22 |
Family
ID=53575782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201520076511.1U Withdrawn - After Issue CN204496486U (zh) | 2015-02-03 | 2015-02-03 | 扩展功能单元及计算设备扩展系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN204496486U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598406A (zh) * | 2015-02-03 | 2015-05-06 | 杭州士兰控股有限公司 | 扩展功能单元及计算设备扩展系统和扩展方法 |
CN108664436A (zh) * | 2017-03-28 | 2018-10-16 | 上海山里智能科技有限公司 | 一种综合计算系统 |
-
2015
- 2015-02-03 CN CN201520076511.1U patent/CN204496486U/zh not_active Withdrawn - After Issue
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598406A (zh) * | 2015-02-03 | 2015-05-06 | 杭州士兰控股有限公司 | 扩展功能单元及计算设备扩展系统和扩展方法 |
CN104598406B (zh) * | 2015-02-03 | 2018-02-09 | 杭州士兰控股有限公司 | 扩展功能单元及计算设备扩展系统和扩展方法 |
CN108664436A (zh) * | 2017-03-28 | 2018-10-16 | 上海山里智能科技有限公司 | 一种综合计算系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8223796B2 (en) | Graphics multi-media IC and method of its operation | |
JP4499420B2 (ja) | スーパーチャージメッセージ交換装置 | |
EP1709543B1 (en) | A multiple address two channel bus structure | |
JP6173340B2 (ja) | バス上の複数のデータ線を介してデータを送るシステムおよび方法 | |
US20040076044A1 (en) | Method and system for improving access latency of multiple bank devices | |
CN110347635A (zh) | 一种基于多层总线的异构多核微处理器 | |
WO2005008464A1 (en) | Switch/network adapter port incorporating selectively accessible shared memory resources | |
CN104598405B (zh) | 扩展芯片及可扩展的芯片系统及控制方法 | |
CN103714026B (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
US7822903B2 (en) | Single bus command having transfer information for transferring data in a processing system | |
KR20050051672A (ko) | 스케일러블 멀티채널 메모리 액세스를 위한 방법 및 메모리제어기 | |
CN109308283A (zh) | 一种SoC片上系统及其外设总线切换方法 | |
CN104598406A (zh) | 扩展功能单元及计算设备扩展系统和扩展方法 | |
CN112189324B (zh) | 带宽匹配的调度器 | |
CN106844263B (zh) | 一种基于可配置的多处理器计算机系统及实现方法 | |
KR20220103931A (ko) | 메모리와 분산된 계산 어레이 간의 데이터 전송 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN104657297A (zh) | 计算设备扩展系统及扩展方法 | |
CN204496486U (zh) | 扩展功能单元及计算设备扩展系统 | |
CN104598404B (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
CN109840233A (zh) | 基于fpga的60x总线桥接系统、方法及介质 | |
CN110765066B (zh) | 一种片上系统 | |
CN204515761U (zh) | 片上系统 | |
CN112100098B (zh) | Ddr控制系统及ddr存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
AV01 | Patent right actively abandoned |
Granted publication date: 20150722 Effective date of abandoning: 20180209 |
|
AV01 | Patent right actively abandoned |