发明名称 供动态添加直接记忆体存取链描述码之方法及装置
摘要 本发明参照一电脑系统而说明了链描述码之动态添加,该电脑系统具有一主处理器、一DMA单元、一主记忆体、及一外部记忆体,其中该DMA单元根据该主处理器所产生且以资料结构的形式储存在该主记忆体内的各链描述码所指定之资料转移参数,而控制该主记忆体与该外部记忆体间之资料转移。根据本发明所述的一种方法及装置,系采用该DMA单元的一暂存器内储存之一恢复位元,而完成链描述码之动态添加。该主处理器于产生待添加到前一群的一群新的链描述码时,即更新前一群的最后一个链描述码之一链结值,以便指向该新群的第一链描述码,且亦设定该DMA单元内的该恢复位元。该DMA单元读取其中包括各链结值的若干链描述码参数,以便执行由这些链描述码参数所指定之一资料转移作业。于完成转移作业之后,该 DMA单元检查该恢复位元,如果该恢复位元已被设定,则该DMA单元重新读取现有的链描述码之链结值。如果该恢复位元并未被重置,则该DMA单元只继续处理先前读取的链结值所指定之次一链描述码;如果该链结值是一零值,则该DMA单元只须停止作业。在本发明之另一实施例中,该主处理器更新各链结值,但并不设定该DMA单元内的一恢复位元。而是在该DMA单元开始时读取其中不包括链结值的一链描述码之所有参数。然后在完成该链描述码所指定的资料转移作业之后,该DMA单元重新存取该链描述码,以便读取链结值。因此,如果在该DMA单元正在处理一链描述码时该主处理器即更新了该链结值,则该DMA单元将在完成资料转移作业时仍然存取更新后的链结值。本文中说明了若干方法及装置之实施例。
申请公布号 TW388814 申请公布日期 2000.05.01
申请号 TW086101903 申请日期 1997.02.18
申请人 英特尔公司 发明人 威廉富左;伊李欧特葛波斯;拜若吉尔斯匹
分类号 G06F12/00 主分类号 G06F12/00
代理机构 代理人 陈长文 台北巿敦化北路二○一号七楼
主权项 1.一种电脑系统之改良,该电脑系统具有一处理器及一直接记忆体存取(DMA)控制器,其中该处理器产生若干群链描述码,每一群链描述码识别将要由该DMA控制器处理的资料部分,且其中每一链描述码都包含一链结値,用以识别该群内的次一链描述码(如果有次一链描述码的话),该电脑系统之改良包含:在该处理器内的更新装置,用以在产生一后续群的链描述码时,更新一群链描述码的最后一个链描述码之链结値,该链结値被更新以便识别该后续群的链描述码之第一链描述码;在该直接记忆体存取控制器内的储存装置,用以储存一更新状况値,该更新状况値识别是否处理器已更新一群链描述码的最后链描述码之链结値;以及在该直接记忆体存取控制器内的检查装置,用以检查该更新状况値,以及如果该更新状况値已被设定用以重新读取目前链描述码的链结値,否则不读取该链结値。2.如申请专利范围第1项之改良,其中该更新装置包括在该处理器内操作的软体,用以更新一群链描述码的最后链描述码的链结値。3.如申请专利范围第2项之改良,其中该储存装置包含:一个该DMA控制器之暂存器。4.如申请专利范围第3项之改良,其中该储存装置尚包含在该处理器内操作之软体,用以设定该DMA控制器的暂存器之该更新状况値。5.一种在一DMA控制器的控制下执行资料转移之方法,该方法包含下列各步骤:读取一链描述码,用以识别将要由该DMA控制器执行的一资料转移作业,并识别一个对应于一个将要执行的后续资料转移之后续链描述码(如果有此后续链描述码);执行在该链描述码中识别之资料转移作业;于完成该资料转移作业之执行时,决定该链描述码之链结値是否已被修改;以及如果该链结値已被修改,则重新读取该链描述码之链结値,然后执行该重新读取的链结値所识别的链描述码之资料转移作业,或如果该链结値未被修改,则读取首度自该链描述码读取的该链结値所识别之链描述码。6.一种在一DMA控制器及一处理器的控制下执行资料转移之方法,该方法包含下列各步骤:产生一群链描述码资料结构,每一群链描述码资料结构都识别将要由该DMA控制器所转移的资料;在每一链描述码内储存一链结値,以便识别该群链描述码由的一后续链描述码(如果有此后续链描述码);读取一链描述码,该链描述码包含其对应的链结値,用以识别将要由该DMA控制器处理的资料部分,并识别对应于将要处理的一后续资料部分之一后续链描述码(如果有此后续链描述码);转移该链描述码中所识别之资料;于完成资料转移之后,决定是否已在转移资料时修改了该链描述码之链结値;以及如果该链结値已被修改,则重新读取该链描述码之链结値,然后读取并处理新的链结値所识别之链描述码,或如果该链结値未被修改,则读取并处理首度自该链描述码读取的该链结値所识别之链描述码。7.一种产生配合一DMA控制器而使用的若干群链描述码之方法,该方法包含下列各步骤:决定是否需要利用该DMA控制器转移资料;产生一个新群的DMA链描述码,每一DMA链描述码指定一个将要执行的资料转移作业;在每一链描述码内储存一链结値,以便识别该群内的次一链描述码(如果有次一链描述码),而最后一个链描述码之链结値系被设定为一零値;决定该DMA控制器是否正在处理一个先前所产生群的链描述码;如果是,则更新前一群链描述码的最后一个链描述码之链结値,以便指向新的群之第一链描述码;以及设定并更新状况値,用以识别前一群的最后一个链描述码已被更新。8.一种资料转移系统,包含:一处理器;一个连接到该处理器之DNA控制器;在该处理器内的产生装置,用来产生若干群链描述码,而每一链描述码都具有一链结値,用以识别该群内的一后续链描述码(如果有此后续链描述码的话);在该处理器内之修改装置,用以在产生一后续群的链描述码时,修改一群链描述码内的最后一个链描述码之链结値;在该DMA控制器内之储存装置,用以储存一更新状况値,该更新状况値代表是否该处理器已修改该最后一个链描述码之链结値;在该处理器内之更新装置,用以更新该DMA控制器内之该更新状况値;以及在该DMA控制器内之检查装置,用以检查该更新状况値,并在如果该更新状况値被设定时,重新读取最近被处理过的链描述码资料结构之链结値。9.一种资料转移系统,包含:一处理器;一记忆体;一DMA控制器;在该处理器内之一单元,用来在该记忆体内产生若干群链描述码之单元,而每一链描述码具有一链结値,用以识别该群内的一后续链描述码(如果有此后续链描述码的话);在该处理器内之一单元,用以在产生一后续群的链描述码时,更新一群链描述码的最后一个链描述码之一链结値,该链结値被更新,以便识别该后续群的链描述码之第一链描述码;在该DMA控制器内的一单元,用以储存一更新状况値,该更新状况値代表是否该处理器已更改该最后链描述码的链结値;以及在该DMA控制器内的一单元,用以检查该更新状况値,如果该更新状况値已被设定,重新读取最近已处理之链描述码资料结构之链结値。10.如申请专利范围第1项之改良,其中该检查装置包含:该DMA控制器的一状态机器。11.如申请专利范围第8项之资料转移系统,其中该修改装置包括在该处理器内操作的软体,用以修改在一群链描述码内的最后链描述码之链结値。12.如申请专利范围第8项之资料转移系统,其中该储存装置包含:该DMA控制器的一暂存器。13.如申请专利范围第12项之资料转移系统,其中该储存装置尚包括在该处理器内操作的软体,用以设定该DMA控制器的暂存器的更新状况値。14.如申请专利范围第8项之资料转移系统,其中该检查装置包含:该DMA控制器的一状态机器。图式简单说明:第一图是设有一个根据习用技术而配置的DMA单元之一电脑系统之方块图。第二图是亦系根据习用技术而指定待由第一图所示DMA单元执行的资料转移作业之两存链描述码之方块图。第三图是设有一个根据本发明一实施例而配置的DMA单元之一电脑系统方块图。第四图是由第三图所示电脑系统的主处理器及DMA单元执行的方法之流程图。第五图是根据第四图所示方法而处理的五群例示链描述码之方块图。第六图是用来处理链描述码的一替代方法之流程图。第七图是根据第四图或第六图所示方法而被配置成执行一主电脑滙流排与一PCI滙流排间DMA资料转移的一电脑系统特定实施例之方块图。
地址 美国