[发明专利]用于执行直接存储器存取的方法和系统有效
申请号: | 200710152817.0 | 申请日: | 2007-09-18 |
公开(公告)号: | CN101149714A | 公开(公告)日: | 2008-03-26 |
发明(设计)人: | 乔拉·拜兰;卢斯·E·德拉托尔;伯纳德·C·德雷鲁普;约蒂·古普塔;理查德·尼古拉斯 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 黄小临;周少杰 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 执行 直接 存储器 存取 方法 系统 | ||
技术领域
本申请一般涉及改进的数据处理系统和方法。更具体地,本申请针对一种支持高等待时间设备的直接存储器存取控制器。
背景技术
许多在片系统(system-on-a-chip,SOC)设计包含叫做直接存储器存取(DMA)控制器的设备。DMA的目的是有效地将数据块从存储器中的一个位置移动到另一个位置。DMA控制器通常用来在系统存储器和输入/输出(I/O)设备之间移动数据,但是也用来在系统存储器中一个区域和另一个区域之间移动数据。因为在移动数据时不涉及处理器,所以DMA控制器被叫做“直接”。
没有DMA控制器,可以通过使处理器在软件控制下将数据逐片地从一个存储器空间复制到另一个存储器空间来移动数据块。这对大块数据通常不可取。使处理器逐片地复制大块数据块是缓慢的,因为处理器不具有大存储缓冲器以及必须以小的、低效率的大小(诸如每次32位)移动数据。同样,当该处理器进行复制时,其没空进行其他工作。因此,占用该处理器直到移动完成。卸载这些数据块移动到DMA控制器则好很多,DMA控制器能够更快地完成它们以及并行地完成其他工作。
DMA控制器通常具有多个“通道(channel)”。因此,可以编程该DMA控制器来在不同的通道上同时地执行几个块移动,允许该DMA设备同时向或从几个I/O设备传送数据。
DMA控制器典型的另一个特征是“分散/聚集”特征。当执行分散/聚集操作时,无须对于每个块由处理器对DMA控制器编程。相反地,处理器依靠该分散/聚集结构在存储器中设置“描述符表”或“描述符链接列表”。每个描述符描述数据块移动,包括源地址、目的地址和要传送的字节数目。经由该DMA寄存器直接地编程的非分散/聚集块移动被称为“单独编程”的DMA块移动。
与表结构相比,链接列表结构是灵活和动态的。在链接列表结构中,处理器指示DMA通道中的一个给链中的第一描述符,并且在链接列表中的每个描述符包含到存储器中下一个描述符的指针。描述符可以在存储器的任何地方,以及当传送发生时处理器可以动态地将其加入列表。DMA控制器自动地遍历所述表或列表并且执行由每个描述符描述的数据块移动直到达到该表或列表的结尾。
如果期望高的总线利用则高等待时间设备呈现独特挑战。如果总线在大部分时间传输数据而没有间隙或停止,则每个总线具有能够实现的最大维持带宽。当与高等待时间设备对话时,必须存在足够的未完成的同时事务,从而从高等待时间设备接收数据花费的时间小于或等于从所有其他的排在它前面的未完成的事务传送数据花费的时间量。如果满足该准则,则在总线上将很少有间隙或停止,其中DMA在总线上等待数据并且不具有任何其他可以传输的数据。
许多总线和互连不能在每个主机(master)中处理16或更多未完成的读事务,但是大部分总线确实具有简单“重试”机制。重试是由目标给出的响应,其告诉主机在稍后时间重复相同事务,因为目标在那时无法完成该事务。
“延迟读取”是高等待时间目标用于通过当高等待时间目标获取高等待时间数据时不停止总线来提高总线利用的方法。目标典型地具有下述选项:将等待状态插入事务中以延迟该事务的完成直到其能够返回数据。等待状态对高等待时间目标非常低效,因为这种目标必须每个事务插入许多等待状态,并且当总线在等待状态时,不能运行其他从任何主机到任何目标的事务。总线被停止。延迟读取避免了由于高等待时间读取而停止总线。
延迟读取工作如下。当高等待时间目标接收新的读取请求时,其将重试该请求并且同时排队事务以及开始处理它。重试马上释放总线并且允许总线判优器来允许运行来自相同或不同的主机的下一事务。当目标已经排队读取时,该读取变为挂起。如果主机在目标有可以返回的数据前回到重复的事务,则目标再次重试该事务并且读取依然挂起。
当主机回到重复的事务并且目标确实具有排队并准备返回的所请求的数据时,目标接受事务并且马上返回该数据。延迟的读取允许目标对与其设计用于同时处理的事务一样多的事务进行排队,而不管总线支持多少未完成的事务。总线不具有在目标内有多少事务被排队的任何知识。因此,延迟的读取是在任何给定的总线上排队众多同时事务的好方法。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710152817.0/2.html,转载请声明来源钻瓜专利网。