数据交换系统及利用带宽管理单元降低数据通信量的方法技术方案

技术编号:2887149 阅读:194 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种在执行矢量或矩阵指令时,用来降低数据处理系统中处理器与系统控制器之间数据通信量的系统及方法。当处理器接收到需要处理大量数据的运算要求时,处理器便发出一局部运算要求,该要求包含有欲进行的运算、操作数的寻址信息以及运算结果的目标位置。系统控制器包含一局部运算单元以执行处理器发出的局部运算要求。由于与运算有关的操作数数据不必由处理器与系统控制器之间的系统总线传送,因此处理器及系统控制器之间的数据通信量可以减少。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种数据处理系统的体系结构,尤其是涉及一种数据处理装置,该装置带有带宽管理单元,用以在执行矢量计算运算(诸如矢量积运算)时,降低数据处理系统中处理器和系统控制器之间的系统数据通信量,以及一种该数据交换系统使用的处理方法。数据处理系统的主要价值存在于它的计算能力。这种计算能力可以用于工程、统计、科学研究以及许多其它领域。例如,工程师利用这种计算能力去解高阶多项式,或者模拟飞机或航船的应力分布。由于多数应用均要求大量的计算步骤,数据处理系统需要快速地取回欲处理的数据并且输出运算结果。因此,数据传送的效率是这种计算能力的关键因素。附图说明图1(现有技术)是典型数据处理系统(诸如计算机系统)的部分方框图。其中只列出了执行数学运算所需要的元件。如图1所示,数据处理系统包括处理器10、系统控制器20、主存储器30、外围设备40和超高速缓冲存储器50。协同处理器10a是选择性设置的元件,它用于帮助处理器10执行特殊的数学运算,诸如浮点运算。这些元件的功能详细描述如下。处理器10是数据处理系统的处理中心,它接收指令并且依次执行。此外,处理器10通常包括几个嵌入式寄存器(未示出),用以存储待处理的数据和运算结果,并且用以减少与外部数据源的通信次数。系统总线60连接于处理器10和系统控制器20之间。系统控制器20是数据处理装置中连接处理器10和其它元件(诸如主存储器30和外围设备40)的桥接装置。系统控制器20的主要功能是管理主存储器30(通常是由动态随机存取存储器所构成,DRAM),以及连接系统总线60和外围设备总线(诸如PCI总线)。简而言之,系统控制器20的的存储器管理功能是在处理器10和主存储器30之间传送信息,如程序码和数据码。另外,系统控制器20也可控制外围设备40,诸如I/O装置。例如,系统控制器20可控制外围设备40的多媒体系统以显示欲执行的运算的结果。系统控制器20的接口功能与本专利技术无关,故下文不再详述。超高速缓冲存储器50及选择性设置的协同处理器10a两者均位于处理器10的附近,用来向处理器10提供协助。超高速缓冲存储器50通常是由静态随机存取存储器所构成,用作暂时存储处理器10的输入/输出数据的缓冲区。如上所述,由于处理器10只有几个嵌入式寄存器,因此无法预先载入所有欲执行的程序码。如果处理器10必须逐指令地从主存储器30中载入欲执行的程序/数据码,很显然处理器10的计算速度会降低。利用超高速缓冲存储器50位缓冲区,可使处理器10不因外部程序/数据码的存取而中断其执行指令。如上所述,协同处理器10a提供处理器10硬件中无法实现的附加计算功能。例如,部分协同处理器可提供具有浮点计算功能的处理器,其原来是由软件方式实现的。基本上,协同处理器10a是在处理器10的控制下运算(即协同处理器是从处理器10取得与浮点运算相关的运算码和数据码),并且无法独立工作。现在,许多以前由协同处理器10a提供的附加功能已径合并在处理器中。另外,虽然更加复杂,但是现在的多重处理器系统在体系结构上类似于处理器/协同处理器系统。根据以上描述,如图1所示的数据处理系统中执行数学运算的步骤将简单说明如下。在下例中,操作数(operand,欲处理的数据)存储于主存储器30中。当接收到用来将操作数X与操作数Y相加的指令后,处理器10通过系统总线60向系统控制器20发出读取要求,以读取操作数X、Y。而系统控制器20根据来自于处理器10的读取要求,从主存储器30读出操作数X、Y,并将数据由系统总线60送回处理器10。待完成相加运算后,处理器10再发出一写入要求,借以将相加结果写入主存储器30。这个写入要求也是通过系统总线60传输。最后,系统控制器20接收写入要求,并将相加结果写入主存储器30中的目标位置。如此,相加运算便得以完成。很显然,系统总线60相当繁忙。在上述计算中,处理器10是经由系统总线60发出一包含有操作数X、Y的寻址信息的读取要求,以及一包括有结果数据及其寻址信息的写入要求。事实上,系统总线60的数据通信量较其他总线为重。如上所述,系统控制器20是电耦接且传送数据于处理器10、主存储器30、PCI总线以及图形子系统(Graphic subsystem)40之间。因此,不同来源的待处理数据均是通过系统总线60进行传输,从而增加了系统总线60的数据通信量。系统总线60可以被描述成系统性能的瓶颈。目前已经提出很多方法以解决这个问题。例如,数据处理系统可利用直接存储器存取(direct memory access,DMA)技术以旁路(Bypass)显示系统所需的图形数据,并且增加一控制器以直接控制外围设备的操作。然而,与数学运算有关的信息仍然必须通过系统总线60(由处理器10执行),而不能变更路径至其他元件。需要大量数据的数学运算,诸如矢量或矩阵运算,则会严重影响系统总线60的通信量负载。图2(已知技术)是矢量乘法运算中,处理器10、系统控制器20以及主存储器30之间数据流程图。在图2中,数据(要求或控制信号)序列表示为符号1a-1k,其中只给出与计算步骤有关的元件,亦即处理器10、系统控制器20以及主存储器30。图2所示的运算是为矢量X及矢量Y的内积X·Y,其中X=(x1,x2,…,xn),Y=(y1,y2,…,yn),且n表示矢量X、Y的维数。如图2所示,矢量计算指令1a(表示X·Y运算)首先送至处理器10。待收到矢量计算指令1a后,处理器10开始取回矢量X、Y的数据,并执行矢量乘法运算。首先,处理器10必须取回矢量X的数据。处理器10发出一包含有矢量X的寻址信息的读取要求1b到系统控制器20。然后,系统控制器20便根据读取要求1b内含的寻址信息,产生用来存取主存储器的控制信号1C。对应于矢量X的数据1d是由主存储器30传输至系统控制器20。然后,系统控制器20便将数据1e送回处理器10。值得注意的是,数据1d及1e分别包含至少n个数字,其对应于矢量元素x1-xn。处理器10使用相同方法以取回矢量Y的数据。要求1f包含有矢量Y的数据的寻址信息。系统控制器20则根据要求1f内含的寻址信息,产生一用来存取主存储器30的控制信号1g。数据1h及1I包含有矢量Y的元素,即y1-yn。由此,处理器10可分别取得矢量X、Y的数据。待执行内积运算并得结果R=x1y1+x2y2+…xnyn后,处理器10便将结果存放在矢量计算指令1a所指定的目标位置。在这个例子中,目标位置也位于主存储器30中。因此,处理器19产生一包含内积结果R的写入要求1j,并将其送到系统控制器20。系统控制器20利用控制信号1k将内积结果R写入主存储器30的目标位置。这样,内积运算便得以完成。在上述矢量内积计算中,运算速度是由处理器10的计算能力及矢量X、Y的传输速度所决定。在这个例子中,无论处理器10的计算能力有多强,大量数据(至少是X、Y矢量对应的2n个数据)均必须由系统总线60传输。因为这些矢量数据需要相当时间以通过系统总线,所以系统总线60便如上所述成为系统瓶颈。结果,传输矢量X、Y的数据所花费的时间便会对数据处理系统的性能造成极大的影响。有鉴于此,本专利技术便提供了在数据处理系统中,降低处理器及系统控制器之间数据通信量的方法及系统。本发本文档来自技高网...

【技术保护点】
一种数据处理系统,包括:一处理器,用以接收一运算命令,并发出一局部运算要求,该要求包含有该运算命令的操作数的寻址信息;一存储器装置,用以存储该运算命令的至少一个操作数;以及一系统控制器,耦接于该处理器及该存储器装置之间,以直接根 据该局部运算要求内含有寻址信息取回该操作数,该系统控制器具有一局部运算单元,以根据来自于该处理器的局部运算要求执行该运算命令。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:后健慈
申请(专利权)人:曼特亚克公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1