CN105468550A - 一种可实现链表循环的系统及方法 - Google Patents

一种可实现链表循环的系统及方法 Download PDF

Info

Publication number
CN105468550A
CN105468550A CN 201510802699 CN201510802699A CN105468550A CN 105468550 A CN105468550 A CN 105468550A CN 201510802699 CN201510802699 CN 201510802699 CN 201510802699 A CN201510802699 A CN 201510802699A CN 105468550 A CN105468550 A CN 105468550A
Authority
CN
Grant status
Application
Patent type
Prior art keywords
list
address
linked list
flag
cycle
Prior art date
Application number
CN 201510802699
Other languages
English (en)
Inventor
王良清
赵尧
于松亮
Original Assignee
深圳国微技术有限公司
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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA
    • G06F2213/2804Systems and methods for controlling the DMA frequency on an access bus

Abstract

本发明公开了一种可实现链表循环的系统及方法,其中系统包括链表,配置模块和直接存储器访问控制器:所述链表包含控制信息、源地址、目的地址、下条链表地址、结束标志和循环标志;所述直接存储访问控制器包含:控制部件,用于完成各链表定义的传输命令的执行部件,与链表所包含的各数据一一对应的各寄存器和一个分支链表寄存器,对正在执行的当前链表的循环次数进行计数的循环计数器;配置模块,对需要执行的链表配置各链表所包含的各数据,以及根据链表需要被循环的次数,配置循环计数器。本发明不仅实现了链表的循环分支执行,同时也不需要增加链表的数量,大大减轻了系统的负担。

Description

一种可实现链表循环的系统及方法

技术领域

[0001]本发明涉及信号、数据等在存储器、输入/输出设备或者中央处理器之间的传送技术,尤其涉及一种支持循环、分支地来执行链表的系统及方法。

背景技术

[0002]当今社会已进入信息化时代,计算机和网络已渗透到社会的各个领域。伴随国民经济信息化进程的推进和电子商务等网络新业务的兴起,社会对计算机和网络的依赖程度越来越高。信息化时代呼唤信息安全,人们对信息安全的要求也越来越高。

[0003] 直接存储器访问控制器(Direct Memory Access,DMA)是现代计算机的重要组成部件,实现输入输出(Input/Output,10)外设和存储器之间批量数据传输,以代替原来通过中央处理单元(Central Processor Unit,CPU)查询或中断来实现数据的传输。

[0004] —般DMA米用两种传输方式:直接方式和链式方式。

[0005]直接方式是CPU将一个传输命令(包括控制信息、源地址和目的地址)配置到DMA内部的寄存器中,然后DMA控制器根据这个传输命令控制总线完成数据传输。直接方式控制简单,但对于非连续地址空间或者大数据量的数据传输需要CPU多次干预,增加CPU开销。

[0006]链式方式是DMA先完成CPU预置的传输命令后,继续载入初始化在外部存储器中的链表(每一个链表就是一个传输命令),直到命令链上的所有传输命令执行完成。

[0007]图1是现有技术链式DMA的实现结构及其链表构成示意图。其中,链式DMA通常包括执行部件101、控制部件102、控制寄存器103、源地址寄存器104、目的地址寄存器105、下条链表地址寄存器106和结束标志寄存器107;每条链表则由控制信息111、源地址112、目的地址113、下条链表地址114以及结束标志115组成。

[0008] 现有技术中链式DMA的工作过程如下:首先,执行部件101根据控制寄存器103、源地址寄存器104和目的地址寄存器105中的初始值,完成相应的传输命令,其中控制寄存器103中通常包含传输长度等信息。执行部件101完成该传输命令后,控制部件102结合结束标志寄存器107,决定是否终止命令链;如果结束标志寄存器107无效,控制部件102则根据下条链表地址寄存器106中的值,去寻址下一条链表,并将下一条链表的控制信息111、源地址112、目的地址113、下条链表地址114和结束标志115分别装载至DMA内部的控制寄存器103、源地址寄存器104、目的地址寄存器105、下条链表地址寄存器106和结束标志寄存器107,同时启动执行部件101完成下一条链表的传输命令。重复上述过程,直至某条链表的结束标志有效,完成该条链表定义的传输命令后,DMA进入空闲状态。

[0009]链式DMA通过预存的链表可以自主实现复杂的传输任务,有效减轻软件在搬运过程中的负荷。但链式DMA在实际应用中,会遇到一些需要重复传输的场景。当遇到需要重复多次的传输任务时,就需要将单次传输操作所使用的链表复制多份,以便链式DMA可以重复多次传输操作。假设单次传输操作所需链表数量为M,重复次数为N,那么完成N次重复传输操作需要的链表数量就是M*N,一旦重复次数过多,需要预存的链表数量也会非常庞大,耗费大量的存储空间。

发明内容

[0010]本发明为了解决上述现有技术的问题,提出一种可实现链表循环的系统,包括链表,配置模块和直接存储器访问控制器:

所述链表包含控制信息、源地址、目的地址、下条链表地址、结束标志和循环标志;

所述直接存储访问控制器包含:控制部件,用于完成各链表定义的传输命令的执行部件,与链表所包含的各数据一一对应的各寄存器,对正在执行的当前链表的循环次数进行计数的循环计数器;

配置模块,对需要执行的链表进行配置,配置各链表所包含的各数据,以及根据链表需要被循环的次数,配置循环计数器。

[0011 ]所述直接存储访问控制器还包含分支链表地址寄存器,当单个链表需要循环执行时,所述配置模块将下一条链表的地址通过分支链表地址寄存器进行加载,然后将当前链表的下条链表地址置为当前链表本身的地址,并通过下条链表地址寄存器进行加载;在该链表循环过程中,所述控制部件读取下条链表地址寄存器的地址进行加载执行,循环结束后,所述控制部件读取分支链表地址寄存器的地址进行加载执行。有了分支链表地址寄存器,可以使本发明实现更为复杂的链表循环情况。

[0012]本发明还提出了一种可实现链表循环的方法,包括如下步骤:

步骤S201、控制部件从外部存储器中装载链表的控制信息、源地址、目的地址、下一条链表地址、结束标志和循环标志分别到直接存储器访问控制器的控制寄存器、源地址寄存器、目的地址寄存器、下条链表地址寄存器、结束标志寄存器和循环标志寄存器中;

步骤S202、控制部件装载完当前链表后,启动执行部件完成当前链表定义的传输命令;步骤S203、执行部件完成当前链表定义的传输命令后,控制部件判断结束标志寄存器中的链表的结束标志是否有效;

步骤S204、控制部件结合结束标志是否有效,继续判断循环标志寄存器中的当前链表的循环标志是否有效;

当结束标志有效,循环标志无效时,执行步骤S206;

当结束标志无效,循环标志无效时,执行步骤S208 ;

当循环标志有效时,执行步骤S205;

步骤S205、控制部件需要进一步判断循环计数器是否为0,若为0则执行步骤S206,若不为0则执行步骤S207;

步骤S206、直接存储器访问控制器空闲;

步骤S207、循环计数器减1;

步骤S208、控制部件通过下条链表地址寄存器中的值来寻址下一条链表,开始装载下一条链表;

步骤S209、控制部件通过分支链表地址寄存器中的值来寻址下一条链表,开始装载下一条链表。

[0013]本发明通过增加循环标志寄存器和循环计数器,实现了链表的重复执行,同时不会增加链表的数量,进而节省了存储空间。本发明进一步增加了分支链表地址寄存器,可以实现更为复杂的链表循环情况,例如单个链表循环后还需继续执行其他链表,在单个链表循环结束后可以实现分支跳转,作为循环功能的必要补充,提高了链式DMA的使用灵活性,拓宽了链式DMA的应用范围。

附图说明

[0014]图1是现有技术链式DMA的实现结构及对应的链表构成示意图;

图2是本发明链式DMA的实现结构及对应的链表构成示意图;

图3是本发明链式DMA的工作流程示意图;

图4是本发明应用实例的链表构成示意图。

具体实施方式

[0015]如图2所示,本发明一实施例提出的可实现链表循环的系统,包括待执行的链表,对链表进行加载和执行的直接存储器访问控制器,以及对链表及直接存储访问控制器的部分部件进行配置的配置模块120。

[0016] 本发明的链表同样也包含控制信息111、源地址112、目的地址113、下条链表地址114以及结束标志115,并且在现有技术的基础上增加了一个循环标志116,该循环标志116用来标记是否需要循环执行链表,包括单个链表的循环执行和批量链表的循环执行。

[0017]相对应的,直接存储器访问控制器包含执行部件101、控制部件102、控制寄存器103、源地址寄存器104、目的地址寄存器105、下条链表地址寄存器106和结束标志寄存器107,并且在现有技术的基础上也增加了用于加载链表循环标志116的循环标志寄存器108,除此以外,还增加了循环计数器109和分支链表地址寄存器110。

[0018]其中,直接存储器访问控制器的循环标志寄存器108用来标识当前被执行的传输命令是否为循环命令,并作为循环计数器109的减1使能。同时跟结束标志寄存器107—起,在循环计数器109递减到0的时候,决定控制部件102是通过下条链表地址寄存器106还是分支链表地址寄存器110中的值来寻址后续链表。循环计数器109用来记录循环命令被执行的次数。当上个循环命令链结束(循环标志寄存器有效,同时循环计数器递减到0),但结束标志寄存器无效时,分支链表地址寄存器110用来存储分支链表的地址,以便跳出上个循环命令链。

[0019]为了使直接存储器访问控制器可以单个循环链表,或者是批量循环链表,再或者是执行包含了单个循环、批量循环以及顺次执行等多种情况的复杂的链表集合,配置模块120需要对待执行的链表进行配置,并配置链表所包含的数据,以及根据链表需要被循环的次数,配置循环计数器。

[0020]链表循环大致分为四种情况,第一种是单个链表循环后,链表执行完毕。第二种是单个链表循环后,还需要再执行下一条链表。第三种是先依次执行多个链表,然后将这多个链表整体再循环执行,即链表的批量循环。第四种情况比较复杂,可能单个链表1循环之后,继续执行链表2-10,执行链表2-10的过程中,可能某个链表还需要单个循环,最后还需要再循环整个执行过程。

[0021]当第一种情况时,仅仅是单个链表循环,不需要使用分支链表地址寄存器。配置模块120将当前链表的下一条链表地址置为当前链表本身,并且根据需要循环的次数配置计数器。当链表循环完毕,整个过程执行完毕。

[0022]当第二种情况时,需要使用一个分支链表地址寄存器来储存下一条链表的地址,以便当个链表循环执行完毕后,可以顺利找到下一条待执行的链表,其具体实现方式是配置模块120将下一条链表地址通过分支链表地址寄存器进行加载,然后将当前链表的下一条链表地址置为当前链表本身,并通过下条链表地址寄存器进行加载;在该单个链表的循环过程中,控制部件读取下条链表地址寄存器的地址进行加载执行,在单个链表的循环结束后,控制部件读取分支链表地址寄存器的地址进行加载执行,即实现了循环后的分支跳转功能。

[0023]当第三种情况时,批量链表需要循环执行,配置模块120将最后一条链表的下一条链表地址置为第一条链表的地址,并将循环标志置为有效,其余的链表的下条链表地址依次为下一条链表地址,循环标志位置为无效。这样控制部件可以依次读取各链表,待读取到最后一条链表时,由于循环标志位为有效,即需要进行循环,然后下条链表地址的数据为第一条链表的地址,同时,循环计数器被配置模块配置了相应的循环次数,因此,链表将循环执行第一条链表至最后一条链表。

[0024]当第四种情况时,可以将链表看成是以上三种情况的不同组合,根据以上三种情况的执行方法来依次进行处理即可。

[0025]本发明增加了新的判断标志,各判断标志的有效性也有优先顺序,当结束标志有效且循环标志也有效时,直接存储访问控制器的执行部件继续循环当前链表。当循环标志有效,但循环计数器的数值不为0时,直接存储访问控制器的执行部件不对当前链表进行循环,直接执行下一条链表。这样可以防止个别的配置错误导致的执行错误,提高执行的正确率。

[0026]如图3所示,本发明还提出了可实现链表循环的方法,该方法即上述系统的详细工作步骤,具体包含了以下步骤:

步骤S201、控制部件102从外部存储器中装载链表的控制信息111、源地址112、目的地址113、下一条链表地址114、结束标志115和循环标志116分别到DMA内部的控制寄存器103、源地址寄存器104、目的地址寄存器105、下一条链表地址寄存器106、结束标志寄存器107和循环标志寄存器108。

[0027]步骤S202、控制部件102装载完链表后,启动执行部件101完成链表定义的传输命令。

[0028]步骤S203、执行部件101完成链表定义的传输命令后,控制部件102先判断结束标志寄存器107 (即链表的结束标志115是否有效)。

[0029]步骤S204、控制部件102会结合S203判断的链表的结束标志115,继续判断循环标志寄存器108(即链表的循环标志116是否有效)。

[0030] 步骤S205、当链表的循环标志116有效时,控制部件需要进一步判断循环计数器109是否为0。

[0031 ]步骤S206、如果链表的结束标志115有效,但循环标志116无效,则与现有技术下的结束链表功能相同,一旦链表定义的传输命令完成,DMA即进入空闲状态;或者如果链表的结束标志115有效,循环标志116也有效,同时循环计数器109也为0,说明该传输命令已被执行了若干次(具体次数等于循环计数器109的初始值),DMA也可进入空闲状态。

[0032]步骤S207、在链表的循环标志116有效的前提下,如果循环计数器109不等于0,则循环计数器109自减1,表示该传输命令被执行了一次,DMA还需要继续执行该传输命令若干次(剩余次数等于循环计数器109当前的计数值)。

[0033]步骤S208、如果链表的结束标志115无效,同时循环标志116也无效,则与现有技术下的中间链表功能相同,一旦链表定义的传输命令完成,DMA即开始装载下一条链表;或者当完成步骤S207之后,由于该传输命令还需要被执行若干次,DMA还将继续装载下一条链表。控制部件102通过下条链表地址寄存器106中的值来寻址下一条链表。

[0034]步骤S209、如果链表的结束标志115无效,但循环标志116有效,同时循环计数器109为0,说明该传输命令已被执行了若干次(具体次数等于循环计数器109的初始值),无需再次被执行,但传输命令链仍未结束,这时需要跳出当前的循环,开辟新的命令链,所以增加分支链表地址寄存器110,用来给DMA寻址新的命令链,类似软件操作中的分支跳转。控制部件102在这种情况下,就会通过分支链表地址寄存器110中的值来寻址下一条链表,进而完成后续链表的装载。

[0035]图4是一个有需要进行循环分支执行的多个链表的构成示例图。假设循环计数器109的地址为X,分支链表地址寄存器110的地址为F,下条链表地址寄存器106的地址为L,配置模块分别将其初始化为7、B和A。同时配置模块通过CPU分别在地址A、B和C处初始化链表1、链表2和链表3,另外将地址S处初始化为3。其中,链表1定义的传输命令为从Y地址搬运8个字节到Y’地址,链表2定义的传输命令为从S地址搬运4个字节到X地址,链表3定义的传输命令为从Z地址搬运2个字节到Z ’地址。

[0036]链式DMA启动后,控制部件102首先根据下条链表地址寄存器的值A去装载位于地址A的链表1,执行完一次从Y地址搬运8个字节到Y,地址后,由于链表1的结束标志115无效,而循环标志116有效,同时循环计数器109为7,进入步骤S207,循环计数器109减1,然后进入步骤S208,根据链表1的下条链表地址A,继续装载链表1,再完成一次从Y地址搬运8个字节到Y ’地址。如此重复8次直至循环计数器递减到0,这样就实现了重复执行链表1定义的传输命令8次。然后DMA就进入步骤S209,根据分支链表地址寄存器110中的值B,去装载位于地址B的链表2。链表2定义的传输命令是从S地址搬运4个字节到X地址,也就是将已递减到0的循环计数器109再次初始化为3,为下次循环命令做准备。由于因为链表2的结束标志115和循环标志116都无效,DMA进入步骤S208,根据链表2的下条链表地址C,装载位于地址C的链表3,开始新一轮的命令链。由于链表3的结束标志115和循环标志116都有效,同时循环计数器109被链表2再次初始化为3,而且链表3的下条链表地址也为C,DMA在执行完一次从Z地址搬运2个字节到Z ’地址之后,仍需重复执行3次,直至循环计数器109再次递减到0,而后进入步骤S206空闲状态,等待下一次启动。这样,先重复8次从Y地址搬运8个字节到Y’地址,然后重复4次从Z地址搬运2个字节到Z’地址的操作被3条链表就完成了,而现有技术下的链式DMA则需要12条链表才能完成。整个过程中CPU及配置模块仅仅在前期增加了初始化循环计数器109、分支链表地址寄存器110和位于地址S的二次循环计数器初值的操作,却减少了 9条链表的初始化操作,有效减少了链表的数量,进而节省了存储空间,同时也提高了链式DMA的应用灵活性。

[0037]综上所述,本发明提供的支持循环分支功能的链式DMA实现方法,在现有技术下链式DMA的基础上,增加循环标志寄存器108和循环计数器109,实现了链表的重复执行,有效减少了链表的数量,进而节省了存储空间;增加分支链表地址寄存器110,实现了链表的分支跳转,作为循环功能的必要补充,提高了链式DMA的使用灵活性,拓宽了链式DMA的应用范围。同时,本发明提供的链表构成中,增加的循环标志116正是用于指示循环分支功能的,与本发明的链式DMA实现方法配合使用,密不可分。

[0038]应当理解的是,上述针对具体实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。

Claims (6)

1.一种可实现链表循环的系统,其特征在于,包括链表,配置模块和直接存储器访问控制器: 所述链表包含控制信息、源地址、目的地址、下条链表地址、结束标志和循环标志; 所述直接存储访问控制器包含:控制部件,用于完成各链表定义的传输命令的执行部件,与链表所包含的各数据一一对应的各寄存器,对正在执行的当前链表的循环次数进行计数的循环计数器; 配置模块,对需要执行的链表配置其所包含的数据,以及根据链表需要被循环的次数,配置循环计数器。
2.如权利要求1所述的系统,其特征在于,当批量链表需要循环执行时,所述配置模块将最后一条链表的下条链表地址置为第一条链表的地址,并将循环标志置为有效,其余的链表的下条链表地址置依次为下一条链表地址,循环标志位置为无效。
3.如权利要求1所述的系统,其特征在于,所述直接存储访问控制器还包含分支链表地址寄存器,当单个链表需要循环执行时,所述配置模块将下一条链表的地址通过分支链表地址寄存器进行加载,然后将当前链表的下条链表地址置为当前链表本身的地址,并通过下条链表地址寄存器进行加载; 在该链表循环过程中,所述控制部件读取下条链表地址寄存器的地址进行加载执行,循环结束后,所述控制部件读取分支链表地址寄存器的地址进行加载执行。
4.如权利要求1至3任意一项权利要求所述的系统,其特征在于,当结束标志有效且循环标志也有效时,所述直接存储访问控制器的执行部件继续循环当前链表。
5.如权利要求1至3任意一项权利要求所述的系统,其特征在于,当循环标志有效,但循环计数器的数值不为0时,所述直接存储访问控制器的执行部件不对当前链表进行循环,直接执行下一条链表。
6.一种可实现链表循环的方法,其特征在于,包括如下步骤: 步骤S201、控制部件(102)从外部存储器中装载链表的控制信息(111)、源地址(112)、目的地址(113)、下一条链表地址(114)、结束标志(115)和循环标志(116)分别到直接存储器访问控制器的控制寄存器(103)、源地址寄存器(104)、目的地址寄存器(105)、下条链表地址寄存器(106)、结束标志寄存器(107)和循环标志寄存器(108)中; 步骤S202、控制部件(102)装载完当前链表后,启动执行部件(101)完成当前链表定义的传输命令; 步骤S203、执行部件(101)完成当前链表定义的传输命令后,控制部件(102)判断结束标志寄存器(107)中的链表的结束标志(115)是否有效; 步骤S204、控制部件(102)结合结束标志(115)是否有效,继续判断循环标志寄存器(108)中的当前链表的循环标志(116)是否有效; 当结束标志(115)有效,循环标志(116)无效时,执行步骤S206 ; 当结束标志(115 )无效,循环标志(116 )无效时,执行步骤S208; 当循环标志(116 )有效时,执行步骤S205 ; 步骤S205、控制部件需要进一步判断循环计数器(109)是否为0,若为0则执行步骤S206,若不为0则执行步骤S207 ; 步骤S206、直接存储器访问控制器空闲; 步骤S207、循环计数器减1; 步骤S208、控制部件(102)通过下条链表地址寄存器(106)中的值来寻址下一条链表,开始装载下一条链表; 步骤S209、控制部件(102)通过分支链表地址寄存器(110)中的值来寻址下一条链表,开始装载下一条链表。
CN 201510802699 2015-11-19 2015-11-19 一种可实现链表循环的系统及方法 CN105468550A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201510802699 CN105468550A (zh) 2015-11-19 2015-11-19 一种可实现链表循环的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201510802699 CN105468550A (zh) 2015-11-19 2015-11-19 一种可实现链表循环的系统及方法

Publications (1)

Publication Number Publication Date
CN105468550A true true CN105468550A (zh) 2016-04-06

Family

ID=55606273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201510802699 CN105468550A (zh) 2015-11-19 2015-11-19 一种可实现链表循环的系统及方法

Country Status (1)

Country Link
CN (1) CN105468550A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030183A (zh) * 2007-04-03 2007-09-05 北京中星微电子有限公司 一种直接内存访问控制器及其实现内存批处理的方法
CN102508635A (zh) * 2011-10-19 2012-06-20 中国科学院声学研究所 一种处理器装置及其循环处理方法
CN104198779A (zh) * 2014-08-13 2014-12-10 武汉精测电子技术股份有限公司 探针短接式信号检测设备及该设备的信号发生方法
CN104954388A (zh) * 2015-07-14 2015-09-30 电子科技大学 面向视频流数据的分布式多内存副本存储系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030183A (zh) * 2007-04-03 2007-09-05 北京中星微电子有限公司 一种直接内存访问控制器及其实现内存批处理的方法
CN102508635A (zh) * 2011-10-19 2012-06-20 中国科学院声学研究所 一种处理器装置及其循环处理方法
CN104198779A (zh) * 2014-08-13 2014-12-10 武汉精测电子技术股份有限公司 探针短接式信号检测设备及该设备的信号发生方法
CN104954388A (zh) * 2015-07-14 2015-09-30 电子科技大学 面向视频流数据的分布式多内存副本存储系统及方法

Similar Documents

Publication Publication Date Title
US5353418A (en) System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread
US5440747A (en) Data processor with control logic for storing operation mode status and associated method
US5499349A (en) Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution
US4675806A (en) Data processing unit utilizing data flow ordered execution
US4181942A (en) Program branching method and apparatus
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5535417A (en) On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
US4274138A (en) Stored program control system with switching between instruction word systems
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US5513374A (en) On-chip interface and DMA controller with interrupt functions for digital signal processor
US4542456A (en) Method and apparatus for performing range checks
US4715013A (en) Coprocessor instruction format
US5504869A (en) High speed processing system capable of executing strings of instructions in order without waiting completion of previous memory access instruction
US20020069345A1 (en) High performance VLIW processor
US5710913A (en) Method and apparatus for executing nested loops in a digital signal processor
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US6412081B1 (en) System and method for providing a trap and patch function to low power, cost conscious, and space constrained applications
US20070067533A1 (en) System and method for interrupt distribution in a concurrent multithread processor
US7225446B2 (en) Context preservation
US5682531A (en) Central processing unit
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US4181938A (en) Processor device
US20080276072A1 (en) System and Method for using a Local Condition Code Register for Accelerating Conditional Instruction Execution in a Pipeline Processor
US4306287A (en) Special address generation arrangement
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination