[发明专利]基于网络处理器的流相关控制信息高速缓冲存储器无效
申请号: | 200610011424.3 | 申请日: | 2006-03-03 |
公开(公告)号: | CN1812378A | 公开(公告)日: | 2006-08-02 |
发明(设计)人: | 刘祯;刘斌 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100084北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于网络处理器的流相关控制信息高速缓冲存储器属于计算机技术领域,其特征在于:地址空间被划分为相同大小的块,每个流对应于一个块,用来保存该流的控制信息;Flow-Cache设置了两个称为Bank A和Bank B的工作栈,工作栈中的缓存数据也组织为块的形式;在处理单元在使用一个工作栈中的流相关控制信息进行处理的时候,另外一个工作栈通过流分类器提供的预取地址为下一个数据包读入相关的流相关控制信息;如果流相关控制信息被处理单元修改,当发生替换时,需要将被修改的部分写回控制信息存储器。本发明能使用SDRAM等大容量低成本的存储器件来完成较为复杂的网络功能,减少对网络处理器存储器带宽的占用,并兼顾网络处理器对于性能确定性的需求。 | ||
搜索关键词: | 基于 网络 处理器 相关 控制 信息 高速 缓冲存储器 | ||
【主权项】:
1、基于网络处理器的流相关控制信息高速缓冲存储器,即Flow-Cache,其特征在于,分配给流相关控制信息的地址空间划分为相同大小的块,每个流对应于一个块,用来保存该流的控制信息,属于该流的所有数据包共享该块中的信息;Flow-Cache设置了两个称为BankA和Bank B的工作栈,每个工作栈中的缓存数据也组织为块的形式;每个数据包所对应的块只位于Bank A和Bank B两个工作栈中的一个,在处理单元在使用一个工作栈中的流相关控制信息进行处理的时候,另外一个工作栈通过流分类器提供的预取地址为下一个数据包读入相关的流相关控制信息;整个处理流程为:当数据包被网络处理器接收时,先由流分类器进行流分类,然后将所获得的流相关控制信息的起始地址送到Flow-Cache的数据移动控制器;数据移动控制器检查该流相关控制信息是否已经保存在Flow-Cache的Bank A和Bank B两个工作栈的某一个中,如果没有,则Flow-Cache中目前未被处理单元使用的那个工作栈中相应的块被选为被替换的块,如果被替换的块曾经被处理单元修改,则先将被修改的内容写回控制信息存储器;然后将所需要的流相关控制信息从控制信息存储器中读出;当所需要的流相关控制信息被写入到Flow-Cache后,处理单元切换到该工作栈,对数据包进行处理;Flow-Cache的输入信号包括:来自处理核心的读操作请求信号PEFC_RD、来自处理核心的写操作请求信号PEFC_WR、来自处理核心的控制信息地址线PEFC_AD、来自处理核心的数据PEFC_DI、来自处理核心的状态信号PE_SWCH,来自流分类器的流相关控制信息预取地址线CL_ADDR、来自流分类器的流相关控制信息预取请求信号CL_RQ,来自存储器及I/O总线接口的数据MSFC_DI以及来自存储器及I/O总线接口的确认信号MSFC_ACK;Flow-Cache的输出信号包括:送往处理核心的数据FCPE_DO、送往处理核心的确认信号FCPE_ACK,送往存储器及I/O总线接口的读操作请求信号FCMS_RD、送往存储器及I/O总线接口的写操作请求信号FCMS_WR、送往存储器及I/O总线接口的地址线FCMS_AD和送往存储器及I/O总线接口的数据FCMS_DO;假设网络处理器以字节寻址,每个块包含N=2s个字节,且地址宽度为t+s位,则控制信息预取地址只需要该地址的高t位;设每个工作栈均保存M=2r个块,则t位的控制信息预取地址中的低r位就称为index部分,控制信息预取地址的高t-r位称为a_tag部分;所述的工作栈Bank A和Bank B各自含有:a、地址标签空间Tag RAM A和Tag RAM B,其中的数据称为地址标签b_tag:地址标签空间Tag RAM A的输入信号包括:地址信号输入端与来自流分类器的流相关控制信息预取地址线CL_ADDR的index部分相连,数据输入端与CL_ADDR的a_tag部分相连,读写控制输入端为来自多路选择器(3-A1)的TagA_WR;地址标签空间Tag RAM A的输出信号为TagA_DO;地址标签空间Tag RAM B的输入信号包括:地址信号输入端与来自流分类器的流相关控制信息预取地址线CL_ADDR的index部分相连,数据输入端与CL_ADDR的a_tag部分相连,读写控制输入端为来自多路选择器(3-B1)的TagB_WR;地址标签空间Tag RAM B的输出信号为TagB_DO;b、数据空间Data RAM A和Data RAM B:数据空间Data RAM A的输入信号包括:地址信号输入端与来自多路选择器(3-A6)的DATA_AD的低r+s位相连,数据输入端与来自多路选择器(3-A5)的DATA_DI相连,读写控制输入端为来自多路选择器(3-A7)的DATA_WR;数据空间Data RAM A的输出信号为DATA_DO;数据空间Data RAM B的输入信号包括:地址信号输入端与来自多路选择器(3-B6)的DATB_AD的低r+s位相连,数据输入端与来自多路选择器(3-B5)的DATB_DI相连,读写控制输入端为来自多路选择器(3-B7)的DATB_WR;数据空间Data RAM B的输出信号为DATB_DO;c、修改状态空间Dirty RAM A和Dirty RAM B,分别为数据空间Data RAM A和DataRAM B中的块设置若干修改标志位,称为D;这里以每个块设置一个标志位为例,并且标志位为“1”表示已经被修改过,标志位为“0”表示尚未被修改过:修改状态空间Dirty RAM A的输入信号包括:地址信号输入端与来自多路选择器(3-A4)的DTYA_AD的index部分相连,数据输入端与来自多路选择器(3-A3)的DTYA_DI相连,读写控制输入端为来自多路选择器(3-A2)的DTYA_WR;修改状态空间Data RAM A的输出信号为DTYA_DO;修改状态空间Dirty RAM B的输入信号包括:地址信号输入端与来自多路选择器(3-B4)的DTYB_AD的index部分相连,数据输入端与来自多路选择器(3-B3)的DTYB_DI相连,读写控制输入端为来自多路选择器(3-B2)的DTYB_WR;修改状态空间Data RAM B的输出信号为DTYB_DO;所述的数据移动控制器,含有:a、标签比较器(3-1),设有来自流分类器的流相关控制信息预取地址线CL_ADDR中的a_tag部分、和地址标签空间Tag RAM A的输出数据线TagA_DO,作为其两个输入端;当两个输入端的数据完全一致时,该标签比较器(3-1)输出为“真”,表示所需的流相关控制信息已经保存在工作栈Bank A中;b、标签比较器(3-2),设有来自流分类器的流相关控制信息预取地址线CL_ADDR中的a_tag部分、和地址标签空间Tag RAM B的输出数据线TagB_DO,作为其两个输入端;当两个输入端的数据完全一致时,该标签比较器(3-2)输出为“真”,表示所需的流相关控制信息已经保存在工作栈Bank B中;c、栈切换控制器(3-3),用来控制两个工作栈的状态,即是为当前正在被处理的数据包向处理核心提供流相关控制信息,还是为下一个将要被处理的数据包从网络处理器外部的控制信息存储器中读取相关的流相关控制信息;该栈切换控制器(3-3)设有两个寄存器RC(3-3-I)和RN(3-3-II),分别用来保存当前正在被处理核心使用的工作栈号和下一个数据包的处理所需使用的工作栈号;栈切换控制器(3-3)的输入信号包括:标签比较器(3-1)和标签比较器(3-2)的输出信号,来自处理核心的状态信号PE_SWCH和由有限状态机(3-4)送往栈切换控制器(3-3)的地址评估信号FSM_EVL;输出信号包括:Bank A选择信号SEL_A和Bank B选择信号SEL_B;当SEL_A为“真”时,表示工作栈Bank A目前正在被处理核心使用;当SEL_B为“真”时,表示工作栈Bank B目前正在被处理核心使用;因此,在任何时刻,SEL_A和SEL_B互为相反;当由有限状态机(3-4)送往栈切换控制器(3-3)的地址评估信号FSM_EVL变为有效时,表示下一个数据包的处理所需的流相关控制信息的起始地址已经由流分类器送达Flow-Cache,需要对该流相关控制信息是否已经保存在Flow-Cache中进行判断;此时,如果标签比较器(3-1)和标签比较器(3-2)的输出均为“假”,则表示流相关控制信息在Flow-Cache中还不存在,因此需要将RN(3-3-II)的内容变为当前未被处理核心使用的那个工作栈的栈号,表示在该工作栈中即将进行数据的移动,并且当处理核心开始处理下一个数据包时,会使用该工作栈;如果标签比较器(3-1)输出为“真”,表示流相关控制信息已经保存在工作栈Bank A中,需要将RN(3-3-II)的内容置为Bank A的工作栈号;如果标签比较器(3-2)输出为“真”,表示流相关控制信息已经保存在工作栈Bank B中,则RN(3-3-II)的内容需要置为Bank B的工作栈号;标签比较器(3-1)和标签比较器(3-2)的输出均为“真”是一种非法状态,是不可能出现的;当来自处理核心的状态信号PE_SWCH变为有效后,表示处理核心结束了对当前数据包的处理,开始转入对下一个数据包的处理;此时,需要将寄存器RN(3-3-II)的内容写入寄存器RC(3-3-I);如果寄存器RC(3-3-I)中记录的是Bank A的工作栈号,则Bank A选择信号SEL_A输出为“真”,Bank B选择信号SEL_B输出为“假”;如果寄存器RC(3-3-I)中记录的是Bank B的工作栈号,则Bank B选择信号SEL_B输出为“真”,Bank A选择信号SEL_A输出为“假”;d、或非门(3-4-O),两个输入端与标签比较器(3-1)和标签比较器(3-2)的输出端相连,输出为MISS信号;如果标签比较器(3-1)和标签比较器(3-2)的输出均为“假”,则表示流相关控制信息在Flow-Cache中还不存在,输出信号MISS变为“真”;标签比较器(3-1)和标签比较器(3-2)中任何一个的输出为“真”,则表示流相关控制信息已经存在于Flow-Cache中,输出信号MISS变为“假”;标签比较器(3-1)和标签比较器(3-2)的输出均为“真”是一种非法状态,是不可能出现的;e、有限状态机(3-4),负责完成下一个数据包处理所需的流相关信息读取和被替换信息的写回操作;有限状态机(3-4)的输入信号包括:来自流分类器的流相关控制信息预取请求信号CL_RQ、来自存储器及I/O总线接口的确认信号MSFC_ACK、由多路选择器(3-M4)输出的DIRTY信号、由多路选择器(3-M1)输出的Tag_DO信号、来自流分类器的流相关控制信息预取地址线CL_ADDR的index部分、或非门(3-4-O)输出的MISS信号;输出信号包括:送往栈切换控制器(3-3)的地址评估信号FSM_EVL、送往存储器及I/O总线接口的地址线FCMS_AD、送往存储器及I/O总线接口的读操作请求信号FCMS_RD、送往存储器及I/O总线接口的写操作请求信号FCMS_WR、送往多路选择器(3-A2)和多路选择器(3-B2)的DTY_WR信号、送往多路选择器(3-A7)和多路选择器(3-B7)的DAT_WR信号、送往多路选择器(3-A1)和多路选择器(3-B1)的Tag_WR信号;该状态机假设工作栈内所有的RAM,其读写控制输入端变为“1”时,为写操作请求,变为“0”时,为读操作请求;并且在地址信号变为有效后的一个周期,数据输出变为有效;有限状态机(3-4)的状态转换流程如下:I、空闲状态(4-1)如果来自流分类器的流相关控制信息预取请求信号CL_RQ变为有效,说明有新的数据包接受了流分类操作,需要对流相关控制信息是否已经保存在Flow-Cache中进行判断,进入判定状态;否则,维持空闲状态;II、判定状态(4-2)此时地址标签空间Tag RAM A和Tag RAM B中的数据均已经读出,标签比较器(3-1)和标签比较器(3-2)的输出结果变为有效;将输出信号FSM_EVL置为有效,指示栈切换控制器(3-3)进行工作;如果MISS信号为“假”,返回空闲状态;如果MISS信号为“真”,并且DIRTY信号为“1”,表示被替换块的内容被处理核心修改过,需要写回网络处理器外的控制信息存储器;将Tag_DO输出为FCMS_AD信号的高t-r位,将FCMS_AD信号的低s位置为零,将来自流分类器的流相关控制信息预取地址线CL_ADDR的index部分作为FCMS_AD信号的index部分输出,进入写回状态;如果MISS信号为“真”,并且DIRTY信号为“0”,则直接将新的流相关控制信息读入Flow-Cache;将来自流分类器的流相关控制信息预取地址线CL_ADDR作为FCMS_AD信号的高t位输出,进入读取状态;III、写回状态(4-3)将DAT_WR保持为读请求状态;通过送往存储器及I/O总线接口的写操作请求信号FCMS_WR发起写操作请求;当来自存储器及I/O总线接口的确认信号MSFC_ACK返回为有效时,如果工作栈中的被替换块中还存在尚未写回的数据,则将输出信号FCMS_AD的内容设置为指向下一个需要被写回的数据的地址,通常情况下,数据总线的宽度为32位,当网络处理器以字节寻址时,将输出信号FCMS_AD的值加4即可,然后通过送往存储器及I/O总线接口的写操作请求信号FCMS_WR再次发起写操作请求;重复该过程直到被替换块内所有的数据均已写回,撤销写操作请求,进入读取状态;IV、读取状态(4-4)通过送往存储器及I/O总线接口的读操作请求信号FCMS_RD发起读操作请求;当来自存储器及I/O总线接口的确认信号MSFC_ACK返回为有效时,将DAT_WR置为写请求;如果新的流相关控制信息尚未全部从网络处理器外的控制信息存储器中读出,则将FCMS_AD的内容指向下一个需要被读取的数据的地址,通常情况下,数据总线的宽度为32位,当网络处理器以字节寻址时,将FCMS_AD的内容加4即可,然后通过送往存储器及I/O总线接口的读操作请求信号FCMS_RD发起读操作请求;重复该过程直到新的流相关控制信息均已读出并写入Flow-Cache,撤销读操作请求;将Tag_WR和DTY_WR置为写请求并维持一个周期,以保证新的地址标签信息和新的修改状态信息写入相应的工作栈,进入空闲状态;f、应答器(3-5),输入信号来自处理核心的读操作请求信号PEFC_RD、来自处理核心的写操作请求信号PEFC_WR,输出信号为送往处理核心的确认信号FCPE_ACK;在PEFC_RD或者PEFC_WR信号变为有效的一个周期后,FCPE_ACK信号变为有效并维持一个周期,表示数据已经从Flow-Cache读出或者写入;g、18个多路选择器,所有的多路选择器均在选择控制端为“真”时,选通第一输入端的数据作为输出;当选择控制端为“假”时,选通第二输入端的数据作为输出;I、多路选择器(3-A1),设有来自有限状态机(3-4)的Tag_WR作为第一输入端和“0”作为第二输入端,SEL_B作为选择控制端;输出端与地址标签空间Tag RAMA的读写控制输入端TagA_WR相连;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4)的控制;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,由于处理核心不使用地址标签空间Tag RAM A,因此,TagA_WR的输出为“0”;II、多路选择器(3-B1),设有来自有限状态机(3-4)的Tag_WR作为第一输入端和“0”作为第二输入端,SEL_A作为选择控制端;输出端与地址标签空间Tag RAM B的读写控制输入端TagB_WR相连当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4)的控制;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B;由于处理核心不使用地址标签空间Tag RAM B,因此,TagB_WR的输出为“0”;III、多路选择器(3-A2),设有来自处理核心的写操作请求信号PEFC_WR作为第一输入端,来自有限状态机(3-4)的DTY_WR作为第二输入端;SEL_A作为选择控制端;输出端与修改状态空间Dirty RAM A的读写控制输入端DTYA_WR相连;当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,当处理核心进行写操作的时候,需要将修改状态空间Dirty RAM A的标志位置为“1”,即接受PEFC_WR的控制;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4),即DTY_WR的控制,当有新的流相关控制信息从控制信息存储器中读出时,将修改状态空间Dirty RAM A的标志位清零;IV、多路选择器(3-B2),设有来自处理核心的写操作请求信号PEFC_WR作为第一输入端,来自有限状态机(3-4)的DTY_WR作为第二输入端,SEL_B作为选择控制端;输出端与修改状态空间Dirty RAM B的读写控制输入端DTYB_WR相连;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,当处理核心进行写操作的时候,需要将修改状态空间Dirty RAM B的标志位置为“1”,即接受PEFC_WR的控制;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4),即DTY_WR的控制,当有新的流相关控制信息从控制信息存储器中读出时,将修改状态空间Dirty RAM B的标志位清零;V、多路选择器(3-A3),设有“1”作为第一输入端和“0”作为第二输入端,SEL_A作为选择控制端;输出端与修改状态空间Dirty RAM A的数据输入端DTYA_DI相连;当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,当处理核心进行写操作的时候,需要将修改状态空间Dirty RAM A的标志位置为“1”;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B,当有新的流相关控制信息从控制信息存储器中读出并写入工作栈Bank A时,将修改状态空间Dirty RAM A的标志位清零;VI、多路选择器(3-B3),设有“1”作为第一输入端和“0”作为第二输入端,SEL_B作为选择控制端;输出端与修改状态空间Dirty RAM B的数据输入端DTYB_DI相连;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,当处理核心进行写操作的时候,需要将修改状态空间Dirty RAM B的标志位置为“1”;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,当有新的流相关控制信息从控制信息存储器中读出并写入工作栈Bank B时,将修改状态空间Dirty RAM B的标志位清零;VII、多路选择器(3-A4),设有来自处理核心的控制信息地址线PEFC_AD作为第一输入端和来自有限状态机(3-4)的FCMS_AD作为第二输入端,SEL_A作为选择控制端;输出端与修改状态空间Dirty RAM A的地址信号输入端DTYA_AD相连;当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,当处理核心进行写操作的时候,需要使用来自处理核心的地址;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4)的控制;VIII、多路选择器(3-B4),设有来自处理核心的控制信息地址线PEFC_AD作为第一输入端和来自有限状态机(3-4)的FCMS_AD作为第二输入端,SEL_B作为选择控制端;输出端与修改状态空间Dirty RAM B的地址信号输入端DTYB_AD相连;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,当处理核心进行写操作的时候,需要使用来自处理核心的地址;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4)的控制;IX、多路选择器(3-A5),设有来自处理核心的数据PEFC_DI作为第一输入端和来自存储器及I/O总线接口的数据MSFC_DI作为第二输入端,SEL_A作为选择控制端;输出端与数据空间Data RAM A的数据输入端DATA_DI相连;当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,当处理核心进行写操作的时候,需要将来自处理核心的数据PEFC_DI写入数据空间Data RAM A;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B,当有新的流相关控制信息从控制信息存储器中读出时,需要写入工作栈Bank A的数据空间Data RAM A中;X、多路选择器(3-B5),设有来自处理核心的数据PEFC_DI作为第一输入端和来自存储器及I/O总线接口的数据MSFC_DI作为第二输入端,SEL_B作为选择控制端;输出端与数据空间Data RAM B的数据输入端DATB_DI相连;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,当处理核心进行写操作的时候,需要将来自处理核心的数据PEFC_DI写入数据空间Data RAM B;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,当有新的流相关控制信息从控制信息存储器中读出时,需要写入工作栈Bank B的数据空间Data RAM B中;XI、多路选择器(3-A6),设有来自处理核心的控制信息地址线PEFC_AD作为第一输入端和来自有限状态机(3-4)的FCMS_AD作为第二输入端,SEL_A作为选择控制端;输出端与数据空间Data RAM A的地址信号输入端DATA_AD相连;当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,当处理核心进行写操作的时候,需要使用来自处理核心的地址PEFC_AD;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4)的控制;XII、多路选择器(3-B6),设有来自处理核心的控制信息地址线PEFC_AD作为第一输入端和来自有限状态机(3-4)的FCMS_AD作为第二输入端,SEL_B作为选择控制端;输出端与数据空间Data RAM B的地址信号输入端DATB_AD相连;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,当处理核心进行写操作的时候,需要使用来自处理核心的地址PEFC_AD;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4)的控制;XIII、多路选择器(3-A7),设有来自处理核心的写操作请求信号PEFC_WR作为第一输入端和来自有限状态机(3-4)的DAT_WR作为第二输入端,SEL_A作为选择控制端;输出端与数据空间Data RAM A的读写控制输入端DATA_WR相连;当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,需要由处理核心对数据空间Data RAM A的读写进行控制;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4)的读写控制;XIV、多路选择器(3-B7),设有来自处理核心的写操作请求信号PEFC_WR作为第一输入端和来自有限状态机(3-4)的DAT_WR作为第二输入端,SEL_B作为选择控制端;输出端与数据空间Data RAM B的读写控制输入端DATB_WR相连;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,需要由处理核心对数据空间Data RAM B的读写进行控制;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4)的读写控制;XV、多路选择器(3-M1),设有地址标签空间Tag RAM A的输出TagA_DO作为第一输入端和地址标签空间Tag RAM B的输出TagB_DO作为第二输入端,SEL_B作为选择控制端;输出端为Tag_DO,是有限状态机(3-4)的一个输入信号;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4)的控制,并提供地址标签的内容;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4)的控制,并提供地址标签的内容;XVI、多路选择器(3-M2),设有数据空间Data RAM A的输出DATA_DO作为第一输入端和数据空间Data RAM B的输出DATB_DO作为第二输入端,SEL_B作为选择控制端;输出端为FCMS_DO,是由Flow-Cache送往存储器及I/O总线接口的数据;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4)的控制,并向存储器及I/O总线接口提供需要写回控制信息存储器的数据;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4)的控制,并向存储器及I/O总线接口提供需要写回控制信息存储器的数据;XVII、多路选择器(3-M3),设有数据空间Data RAM A的输出DATA_DO作为第一输入端和数据空间Data RAM B的输出DATB_DO作为第二输入端,SEL_A作为选择控制端;输出端为送往处理核心的数据FCPE_DO;当SEL_A为“真”时,表示处理核心正在使用工作栈Bank A,由工作栈Bank A为处理核心提供需要的数据;当SEL_A为“假”时,表示处理核心正在使用工作栈Bank B,由工作栈Bank B为处理核心提供需要的数据;XVIII、多路选择器(3-M4),设有修改状态空间Dirty RAM A的输出DTYA_DO作为第一输入端和修改状态空间Dirty RAM B的输出DTYB_DO作为第二输入端,SEL_B作为选择控制端;输出端为DIRTY,是有限状态机(3-4)的一个输入信号;当SEL_B为“真”时,表示处理核心正在使用工作栈Bank B,工作栈Bank A接受有限状态机(3-4)的控制,并提供数据空间的修改状态;当SEL_B为“假”时,表示处理核心正在使用工作栈Bank A,工作栈Bank B接受有限状态机(3-4)的控制,并提供数据空间的修改状态。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200610011424.3/,转载请声明来源钻瓜专利网。
- 上一篇:内磁性内动圈式听筒免提扬声器
- 下一篇:观赏性植物叶的保鲜方法