CN102541808A - Soc芯片系统及实现Soc芯片中可配置缓冲器的方法 - Google Patents

Soc芯片系统及实现Soc芯片中可配置缓冲器的方法 Download PDF

Info

Publication number
CN102541808A
CN102541808A CN2011104006588A CN201110400658A CN102541808A CN 102541808 A CN102541808 A CN 102541808A CN 2011104006588 A CN2011104006588 A CN 2011104006588A CN 201110400658 A CN201110400658 A CN 201110400658A CN 102541808 A CN102541808 A CN 102541808A
Authority
CN
China
Prior art keywords
chip
inner ring
hardware engine
internal inner
soc
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.)
Pending
Application number
CN2011104006588A
Other languages
English (en)
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.)
Solomon Systech Shenzhen Ltd
Original Assignee
SUZHOU XITU SHIDING MICROELECTRONICS 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 SUZHOU XITU SHIDING MICROELECTRONICS CO Ltd filed Critical SUZHOU XITU SHIDING MICROELECTRONICS CO Ltd
Priority to CN2011104006588A priority Critical patent/CN102541808A/zh
Publication of CN102541808A publication Critical patent/CN102541808A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供一种可灵活调整系统带宽的Soc芯片系统,包括:若干硬件引擎;一个或多个CPU模块;片内缓冲器:设置于Soc芯片内部,所述硬件引擎和CPU模块共享所述片内缓冲器;片外存储器:设置于Soc芯片外部;以及BDAM引擎:所述硬件引擎通过所述BDMA引擎在片内缓冲器和片外存储器之间交换数据;其中,所述片外缓冲器和片外存储器可被择一地用于存储所述硬件引擎中相邻上方块的相关信息,以适应系统不同带宽要求。本发明根据所需系统的应用需求和性能,通过特定软件来选择将硬件引擎中所需的上方块信息储存于片内缓冲器或者片外存储器中,以实现灵活地调整系统带宽,进而大大增强了系统的灵活性。

Description

Soc芯片系统及实现Soc芯片中可配置缓冲器的方法
技术领域
本发明涉及Soc芯片技术,尤其涉及一种Soc芯片中硬件引擎与其它模块共享内部缓冲器的情况下,通过不同的配置方式调整其缓冲器的使用量及DRAM带宽的方法。
背景技术
Soc芯片一般包括一颗或多颗嵌入式处理器(CPU)及若干硬件引擎。通常,对同一个应用,基于CPU的软件方式能提供最大的灵活性,但难以满足高性能的需求。因此,基于硬件引擎的实现方式由于在功耗,面积和速度等方面的优势在某些嵌入式Soc方案中成为主流,而CPU也被解放出来运行复杂的操作系统和软件。
硬件引擎从实现上看可以分成两大类:第一类,硬件引擎被实现为纯硬件模块的方式,通过标准的总线协议(如AMBA总线)与系统的其它部分进行通讯和数据交换,CPU对硬件引擎干预较少,灵活性也较小,硬件引擎和其它模块基本不能共享资源。第二类,硬件引擎和CPU较为紧密地耦合在一起,部分工作由运行在CPU之上的软件实现,例如硬件引擎被实现为CPU的协处理器。这类实现具有较高的软件灵活度,并且和其它模块可以共享一部分硬件资源。
然而,现有技术中必须提前决定所需片内缓冲器的大小,从而导致了系统必须由硬件引擎以独占的方式使用这些片内缓冲器的局限性。
发明内容
为解决上述技术问题,本发明的目的在于提供一种实现Soc芯片中可配置缓冲器的方法,根据所需系统的应用需求和性能,灵活地调整系统带宽,增强了系统的灵活性。
相应与所述方法,本发明的目的还在于提供一种可灵活调整系统带宽的Soc芯片系统。
为实现上述发明目的之一,本发明的一种可灵活调整系统带宽的Soc芯片系统,包括:
若干硬件引擎;
一个或多个CPU模块;
片内缓冲器:设置于Soc芯片内部,所述硬件引擎和CPU模块共享所述片内缓冲器;
片外存储器:设置于Soc芯片外部;以及
BDAM引擎:所述硬件引擎通过所述BDMA引擎在片内缓冲器和片外存储器之间交换数据;
其中,所述片外缓冲器和片外存储器可被择一地用于存储所述硬件引擎中相邻上方块的相关信息,以适应系统不同带宽要求。
作为本发明的进一步改进,所述硬件引擎和CPU模块通过交叉开关矩阵与所述片内缓冲器相连接。
作为本发明的进一步改进,所述片内缓冲器可为SRAM(Static Random Access Memory);所述片外存储器可为DRAM(Dynamic Random Access Memory)。
为实现本发明的另一发明目的,一种实现Soc芯片中的可配置缓冲器的方法,包括如下步骤:
S1、判断当前系统的应用需求;
S2、若系统应用需求为提高软件性能,则将所述硬件引擎中至少多数上方块信息存储于片外存储器中;
S3、若系统应用需求为减小系统带宽,则将所述硬件引擎中至少多数上方块信息存储于片内缓冲器中。
作为本发明的进一步改进,所述步骤S1具体为:通过特定软件识别当前系统的需求,并相应地调整片内缓冲器的分配方式。
作为本发明的进一步改进,所述步骤S2具体包括以下步骤:
由CPU模块或硬件引擎控制从片存储器中读入运行所需数据至所述片内缓冲器中;
运行硬件引擎,消耗片内缓冲器中的数据;
由CPU模块或硬件引擎控制从所述片内缓冲器中将需要存储的数据存储至片外存储器中 。
作为本发明的进一步改进,所述上方块信息包括上方块的像素值、或者运动矢量。
与现有技术相比,本发明的有益效果是:本发明根据所需系统的应用需求和性能,通过特定软件来选择将硬件引擎中所需的上方块信息储存于片内缓冲器或者片外存储器中,以实现灵活地调整系统带宽,进而大大增强了系统的灵活性。
附图说明
图1是本发明一实施方式中Soc芯片系统的硬件架构图;
图2和图3是本发明一实施方式中采用片内缓冲器处理相邻两个块时系统的工作原理示意图;
图4是本发明一实施方式中采用片外存储器处理相邻两个块时系统的工作原理示意图;
图5是本发明一实施方式中实现Soc芯片中的可配置缓冲器的方法的工作流程图;
图6是图5所式的实施方式中步骤S2的具体步骤流程图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
考虑利用硬件引擎按块进行数据处理的情况,例如在多媒体应用领域的Soc中,往往按块(或宏块)来组织数据。我们以视频编解码器为例进行讨论,但本方案也适用于其他按块处理数据的应用。
现代的视频编解码标准如H.264,VC-1,AVS等都依赖于相邻块或宏块的信息(如像素值,运动矢量,量化参数等)。在编解码过程中,需要在当前块(宏块)编解码时将其上方块(宏块)的相关信息读入编解码引擎。
请参照图1所示,在本发明一实施方式中,一种可灵活调整系统带宽的Soc芯片系统,包括:
若干硬件引擎102;
一个或多个CPU模块101;
片内缓冲器(Buffer)104:设置于Soc芯片内部,硬件引擎和CPU模块共享片内缓冲器; 
优选地,在本实施方式中,硬件引擎和CPU模块通过交叉开关矩阵105(Crossbar)与所述片内缓冲器相连接,实现读写操作,并在软件的协助下共享片内缓冲器(Buffer)内存储的数据。硬件引擎从buffer中读取数据不消耗片外存储器的带宽;对于CPU而言,利用buffer来存储常用数据可以避免出现cache miss,有助于提高软件性能,并且使软件的性能更容易预期。
片外存储器(未图示):设置于Soc芯片外部;在本发明优选的实施方式中,所述片内缓冲器可为SRAM(Static Random Access Memory);所述片外存储器可为DRAM(Dynamic Random Access Memory)。
BDAM引擎(Buffer DMA引擎(简称BDMA))103:硬件引擎通过BDMA引擎在片内缓冲器和片外存储器之间交换数据;
其中,所述片外缓冲器和片外存储器可被择一地用于存储所述硬件引擎中相邻上方块的相关信息,以适应系统不同带宽要求。
存储相邻上方块(宏块)的信息有两种方式:第一种将整行的相关信息以line buffer的方式存储在硬件视频编解码器中(即存储于片内缓冲器中)。这种方式完全节省了DRAM带宽,但所需的存储空间最大,并且必须提前确定所支持的最大视频分辨率;第二种方式将所有的相邻上方块(宏块)相关信息存储在片外存储器(如DRAM)中,在对当前块(宏块)编解码时,提前将所需信息读入硬件引擎,这种方式消除了对视频分辨率的限制,但所需DRAM带宽较大。
所以针对上述的问题,本发明就必须根据系统的实际需求来选择将数据存储于片内缓冲器中或者片外存储器中。BDMA引擎可由CPU或硬件引擎控制,在片内缓冲器(Buffer)和片外存储器之间进行数据的交互。例如硬件视频编解码器中存在多种相邻上方块(宏块)的数据,根据需要,这些数据可通过BDMA的方式在片外存储器DRAM和片内缓冲器(Buffer)之间传输。
对于需要提高软件性能的应用,系统将把尽可能多的buffer分配给CPU。同时,大多数甚至全部硬件引擎所需的line buffer信息都被存储在片外存储器中,并在CPU或硬件引擎的控制之下,在被使用之前由BDMA引擎读入片内buffer。SOC内部buffer中按照ring buffer的方式来进行管理。图2和图3描绘了处理相邻两个块时各部分的关系。
值得一提的是,假设硬件引擎读入和写出数据到不同的buffer,如果具体实现时能够保证先读入所有的数据,则可以读入和写出数据到同一块buffer,这样可以节省一块buffer。这种实现方法硬件引擎使用了较少的buffer,但消耗了较多的DRAM带宽。
对于带宽受限的应用,系统将尽可能多地将当前块上方相邻块的信息以line buffer的方式直接存储在片内buffer中(如图4所示),在视频分辨率确定的情况下,硬件视频编解码器可以直接对所需数据进行操作,而无需通过DMA引擎与片外存储器交换数据,因此降低了系统的带宽。
如图5所示,在本发明一实施方式中,一种应用上述Soc芯片来实现Soc芯片中的可配置缓冲器的方法,包括如下步骤:
S1、判断当前系统的应用需求;针对不同的系统所具备的性能,所适应的应用需求也会不一样,具体地,通过特定软件识别当前系统的需求,根据系统需求和性能调整buffer分配和使用方式。例如对于视频编解码器,可以在每帧结束后改变buffer分配和使用方式。
S2、若系统应用需求为提高软件性能,则将所述硬件引擎中至少多数上方块信息存储于片外存储器中;对于需要提高软件性能的应用,系统将把尽可能多的buffer分配给CPU。同时,大多数甚至全部硬件引擎所需的line buffer信息都被存储在片外存储器中,并在CPU或硬件引擎的控制之下,在被使用之前由BDMA引擎读入片内buffer。SOC内部buffer中按照ring buffer的方式来进行管理。
参图6所示,步骤S2具体包括以下步骤:
S21、由CPU模块或硬件引擎控制从片存储器中读入运行所需数据至所述片内缓冲器中;
S22、运行硬件引擎,消耗片内缓冲器中的数据;
判断此次步骤是否运行完成后进入下一步骤;
S23、由CPU模块或硬件引擎控制从所述片内缓冲器中将需要存储的数据存储至片外存储器中。
判断此次步骤是否运行完成;若是,则结束本次运行,若否,重新循环一次上述各步骤。
S3、若系统应用需求为减小系统带宽,则将所述硬件引擎中至少多数上方块信息存储于片内缓冲器中。其中,对于带宽受限的应用,系统将尽可能多地将当前块上方相邻块的信息以line buffer的方式直接存储在片内buffer中。在视频分辨率确定的情况下,硬件视频编解码器可以直接对所需数据进行操作,而无需通过DMA引擎与片外存储器交换数据。因此降低了对系统带宽。
硬件引擎中对于当前正在处理的块,可能有多种不同类型的上方相邻数据块。例如对于H.264解码器,上方块的像素值和运动矢量可以被存储在不同的片内缓冲器(Buffer)中。这样可以分别决定某一信息是采用S2中方案还是S3中方案。通过调整直接存放在片内buffer中以及存储在片外存储器中的相邻上方块(宏块)数据,可以定义各种不同的配置方式。
与现有技术相比,本发明的有益效果是:本发明根据所需系统的应用需求和性能,通过特定软件来选择将硬件引擎中所需的上方块信息储存于片内缓冲器或者片外存储器中,以实现灵活地调整系统带宽,进而大大增强了系统的灵活性。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

Claims (7)

1.一种可灵活调整系统带宽的Soc芯片系统,其特征在于,其包括:
若干硬件引擎;
一个或多个CPU模块;
片内缓冲器:设置于Soc芯片内部,所述硬件引擎和CPU模块共享所述片内缓冲器;
片外存储器:设置于Soc芯片外部;以及
BDAM引擎:所述硬件引擎通过所述BDMA引擎在片内缓冲器和片外存储器之间交换数据;
其中,所述片外缓冲器和片外存储器可被择一地用于存储所述硬件引擎中相邻上方块的相关信息,以适应系统不同带宽要求。
2.根据权利要求1所述的方法,其特征在于,所述硬件引擎和CPU模块通过交叉开关矩阵与所述片内缓冲器相连接。
3.根据权利要求2所述的方法,其特征在于, 所述片内缓冲器可为SRAM(Static Random Access Memory);所述片外存储器可为DRAM(Dynamic Random Access Memory)。
4.一种应用权利要求1所述的系统实现Soc芯片中的可配置缓冲器的方法,其特征在于,所述方法包括如下步骤:
S1、判断当前系统的应用需求;
S2、若系统应用需求为提高软件性能,则将所述硬件引擎中至少多数上方块信息存储于片外存储器中;
S3、若系统应用需求为减小系统带宽,则将所述硬件引擎中至少多数上方块信息存储于片内缓冲器中。
5.根据权利要求4所述的方法,其特征在于,所述步骤S1具体为:通过特定软件识别当前系统的需求,并相应地调整片内缓冲器的分配方式。
6.根据权利要求4所述的方法,其特征在于,所述步骤S2具体包括以下步骤:
由CPU模块或硬件引擎控制从片存储器中读入运行所需数据至所述片内缓冲器中;
运行硬件引擎,消耗片内缓冲器中的数据;
由CPU模块或硬件引擎控制从所述片内缓冲器中将需要存储的数据存储至片外存储器中 。
7.根据权利要求4-6任意一项所述的方法,其特征在于,所述上方块信息包括上方块的像素值、或者运动矢量。
CN2011104006588A 2011-12-06 2011-12-06 Soc芯片系统及实现Soc芯片中可配置缓冲器的方法 Pending CN102541808A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104006588A CN102541808A (zh) 2011-12-06 2011-12-06 Soc芯片系统及实现Soc芯片中可配置缓冲器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104006588A CN102541808A (zh) 2011-12-06 2011-12-06 Soc芯片系统及实现Soc芯片中可配置缓冲器的方法

Publications (1)

Publication Number Publication Date
CN102541808A true CN102541808A (zh) 2012-07-04

Family

ID=46348735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104006588A Pending CN102541808A (zh) 2011-12-06 2011-12-06 Soc芯片系统及实现Soc芯片中可配置缓冲器的方法

Country Status (1)

Country Link
CN (1) CN102541808A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893271A (zh) * 2015-02-13 2016-08-24 三星电子株式会社 用户设备、调制解调器芯片和分配缓冲器的方法
CN110688331A (zh) * 2018-07-05 2020-01-14 珠海全志科技股份有限公司 一种SoC芯片及读取数据的方法
CN113254392A (zh) * 2021-07-12 2021-08-13 深圳比特微电子科技有限公司 用于片上系统的数据存储方法和基于片上系统的设备
CN113589916A (zh) * 2021-07-29 2021-11-02 维沃移动通信有限公司 内存的控制方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179720A (zh) * 2007-11-16 2008-05-14 海信集团有限公司 一种视频解码方法
CN101193307A (zh) * 2006-11-21 2008-06-04 安凯(广州)软件技术有限公司 用于解块滤波参数数据存储和交换的方法
CN101472173A (zh) * 2007-12-29 2009-07-01 深圳安凯微电子技术有限公司 一种去块滤波方法、系统及去块滤波器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193307A (zh) * 2006-11-21 2008-06-04 安凯(广州)软件技术有限公司 用于解块滤波参数数据存储和交换的方法
CN101179720A (zh) * 2007-11-16 2008-05-14 海信集团有限公司 一种视频解码方法
CN101472173A (zh) * 2007-12-29 2009-07-01 深圳安凯微电子技术有限公司 一种去块滤波方法、系统及去块滤波器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893271A (zh) * 2015-02-13 2016-08-24 三星电子株式会社 用户设备、调制解调器芯片和分配缓冲器的方法
US10862630B2 (en) 2015-02-13 2020-12-08 Samsung Electronics Co., Ltd Method and system for contiguous HARQ memory management with memory splitting
US11784760B2 (en) 2015-02-13 2023-10-10 Samsung Electronics Co., Ltd Method and system for contiguous HARQ memory management with memory splitting
CN110688331A (zh) * 2018-07-05 2020-01-14 珠海全志科技股份有限公司 一种SoC芯片及读取数据的方法
CN110688331B (zh) * 2018-07-05 2021-08-17 珠海全志科技股份有限公司 一种SoC芯片及读取数据的方法
CN113254392A (zh) * 2021-07-12 2021-08-13 深圳比特微电子科技有限公司 用于片上系统的数据存储方法和基于片上系统的设备
CN113589916A (zh) * 2021-07-29 2021-11-02 维沃移动通信有限公司 内存的控制方法和装置

Similar Documents

Publication Publication Date Title
US9734056B2 (en) Cache structure and management method for use in implementing reconfigurable system configuration information storage
CN102870089B (zh) 将数据存储到虚拟高速存储系统中的系统和方法
EP2901293B1 (en) Intelligent far memory bandwidth scaling
CN103003791B (zh) 分配共享堆栈的部分的系统和方法
CN103064795B (zh) 一种存储设备的控制方法及相关装置
CN102831088A (zh) 基于混合存储器的数据迁移方法和装置
EP2808783A1 (en) Smart cache and smart terminal
CN104160420A (zh) 在图形处理单元上执行图形和非图形应用
CN105138473A (zh) 管理高速缓冲存储器的系统和方法
CN102541808A (zh) Soc芯片系统及实现Soc芯片中可配置缓冲器的方法
US11635904B2 (en) Matrix storage method, matrix access method, apparatus and electronic device
CN110059024B (zh) 一种内存空间数据缓存方法及装置
CN101341471B (zh) 动态高速缓存管理的设备和方法
CN101566976A (zh) 信息处理装置、信息处理方法,以及计算机程序
CN101504632A (zh) 一种dma数据传输方法、系统及一种dma控制器
CN103778086A (zh) 一种基于粗粒度动态可重构系统的多模式数据访问装置及办法
EP1604286B1 (en) Data processing system with cache optimised for processing dataflow applications
EP2689325A1 (en) Processor system with predicate register, computer system, method for managing predicates and computer program product
US7543127B2 (en) Computer system
CN101996142B (zh) 一种访问存储器的方法及装置
CN102609240B (zh) 处理器电路及读取数据的方法
CN114116533B (zh) 利用共享存储器存储数据的方法
CN110659118B (zh) 一种用于多领域芯片设计的可配置混合异构计算核心系统
US11176039B2 (en) Cache and method for managing cache
US6871269B2 (en) Data processing system and a method of distributing accesses to memories

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SOLOMON-SYSTECH (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: SUZHOU XITU SHIDING MICROELECTRONICS CO., LTD.

Effective date: 20130829

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 215021 SUZHOU, JIANGSU PROVINCE TO: 518057 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20130829

Address after: 518057, No. six building, No. two Shenzhen Software Park, central science and technology zone, Nanshan District hi tech Zone, Shenzhen, Guangdong, two

Applicant after: Solomon Systech (Shenzhen) Limited

Address before: Xinghu street Suzhou city Jiangsu province 215021 No. 328 Creative Industry Park 2-B702 unit

Applicant before: Suzhou Xitu Shiding Microelectronics Co.,Ltd.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120704