高速缓冲存储器与主存储器的映射查找方法和装置与流程

文档序号:17195972发布日期:2019-03-27 09:29阅读:328来源:国知局
高速缓冲存储器与主存储器的映射查找方法和装置与流程
本发明实施例涉及计算机技术,尤其涉及一种高速缓冲存储器与主存储器的映射查找方法和装置。
背景技术
:计算机存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。现有计算机中的存储系统包括中央处理器(CentralProcessingUnit,简称CPU)、高速缓冲存储器(Cache,简称缓存)、主存储器(Mainmemory,简称主存)以及辅助存储器(辅存),其具体层次结构如图1所示,具体的,CPU和主存之间可以直接交换信息,但是由于主存速度无法满足CPU的存取需求,故在其两者之间加入缓存,缓存是由静态存储芯片(SRAM)组成,其容量较小但速度远高于主存,接近于CPU速度,从而在CPU与主存之间以协调CPU和主存速度不匹配的问题。缓存用于存放近期需要运行的指令与数据,以提高CPU对存储器的访问速度。缓存和主存之间既然存在通信关系,那么它们之间必然存在地址映射,现有的缓存和主存之间地址映射方式有三种:直接映射(固定的映射关系)、全相联映射(灵活性大的映射关系)、组相联映射(上述两种映射的折中)。其中,全相联映射允许主存中每一个字块映射到缓存中任何一块位置上,如图2所示,主存与缓存分成相同大小的数据块,主存的某一数据块可以装入缓存中的任意一块空间中,这种映射方式可以从已被占满的缓存中替换任一旧字块,由于主存中的任意数据块可以装入缓存中的任意一块空间,所以缓存的存储空间利用率高,当CPU需要存取数据时,Cache命中率比较高,然而,在存取数据块时,缓存每次都要将数据块的主存字块标记和缓存中的全部标记进行比较后,才能判读出所需数据块是否在缓存内,采用这种地址映射方式需要比较的位数和次数较多,从而导致其逻辑电路设计复杂和延迟增大的不足。技术实现要素:本发明实施例提供一种高速缓冲存储器与主存储器的映射查找方法和装置。第一方面,本发明实施例提供一种光比较器,包括:第一部分,所述第一部分包括第一激光器阵列、第一调制器阵列、第一波分复用器、第一分束器和第一开关阵列;其中,所述第一激光器阵列用于输出不同波长的脉冲光;所述第一调制器阵列包括至少一个形成一列的第一调制微环,所述第一调制微环的数量与所述第一开关阵列的列数相同,在所述第一调制器阵列上施加输入信号,所述第一调制微环的数量与所述输入信号的数量相同,所述第一调制器阵列用于接收所述不同波长的脉冲光,并将各输入信号分别调制到各脉冲光上以获取至少一个第一调制脉冲光;所述第一波分复用器用于合成接收到的所述至少一个第一调制脉冲光以获得第一合波调制脉冲光,并通过横向波导发送给所述第一分束器;所述第一分束器用于根据所述第一合波调制脉冲光获得至少一个第一分束调制脉冲光,所述第一分束调制脉冲光的数量与所述第一开关阵列的行数相同;所述第一开关阵列用于将接收到的各第一分束调制脉冲光分别发送到所述第一开关阵列中每一行所包括的至少一个第一开关微环中;所述第一开关阵列中每一行所包括的至少一个第一开关微环根据控制信号对所述第一分束调制脉冲光进行谐波处理,获取第一输出光信号;其中,所述第一调制微环的半径RaBi与所述第一开关微环的半径RaAji的关系为其中,λi为第i个脉冲光的波长,n为光的折射率,π为圆周率;第二部分,所述第二部分包括第二激光器阵列、第二调制器阵列、第二波分复用器、第二分束器和第二开关阵列;其中,所述第二激光器阵列用于输出不同波长的脉冲光;所述第二调制器阵列包括至少一个形成一列的第二调制微环,所述第二调制微环的数量与所述第二开关阵列的列数相同,在所述第二调制器阵列上施加所述输入信号,所述第二调制器微环的数量与所述输入信号的数量相同,所述第二调制器阵列用于接收所述不同波长的脉冲光,并将各输入信号分别调制到各脉冲光上以获取至少一个第二调制脉冲光;所述第二波分复用器用于合成接收到的所述至少一个第二调制脉冲光以获得第二合波调制脉冲光,并通过横向波导发送给所述第二分束器;所述第二分束器用于根据所述第二合波调制脉冲光获得至少一个第二分束调制脉冲光,所述第二分束脉冲光的数量与所述第二开关阵列的行数相同;所述第二开关阵列用于将接收到的各第二分束调制脉冲光分别发送到所述第二开关阵列中每一行所包括的至少一个第二开关微环中;所述第二开关阵列中每一行所包括的至少一个第二开关微环根据所述控制信号对所述第二分束调制脉冲光进行谐波处理,获取第二输出光信号;其中,所述第二调制微环的半径RbBi与所述第二开关微环的半径RbAji的关系为其中,λi为第i个脉冲光的波长,n为光的折射率,π为圆周率;所述第一部分输出的所述第一输出光信号与所述第二部分输出的所述第二输出光信号通过横向波导传输到第三部分,所述第三部分包含至少一个光强探测器,所述光强探测器的数量与所述第一开关阵列的行数相同;所述第三部分根据输入的所述第一输出光信号和所述第二输出光信号输出电信号。结合第一方面,在第一方面的第一种可能的实现方式中,还包括:纵向波导,以及至少一个光吸收单元;所述纵向波导设置在所述第一开关阵列中相邻两行中对应位置上的两个第一开关微环之间,以及所述第二开关阵列中相邻两行中对应位置上的两个第二开关微环之间;所述第一开关阵列和所述第二开关阵列中每一行均设置有一个对应的所述光吸收单元。结合第一方面,在第一方面的第二种可能的实现方式中,还包括:纵向波导,以及至少一个光吸收单元;所述纵向波导设置在所述第一开关阵列中相邻两行中对应位置上的两个第一开关微环之间,以及所述第二开关阵列中相邻两行中对应位置上的两个第二开关微环之间;所述第一开关阵列和所述第二开关阵列中相邻两行之间设置有一个对应的所述光吸收单元。第二方面,本发明实施例提供一种利用如第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式的光比较器实现高速缓冲存储器与主存储器的映射查找方法,包括:高速缓冲存储器将所述高速缓冲存储器中的各数据存储单元对应的主存字块标记组成控制信号阵列,将所述控制信号阵列作为所述光比较器的所述第一控制信号和所述第二控制信号;接收中央处理器CPU发送的预取数据的主存地址,所述预取数据的主存地址包含预取数据的主存字块标记,将所述预取数据的主存字块标记作为所述光比较器的所述第一输入信号和所述第二输入信号,输入到所述第一调制器阵列和所述第二调制器阵列;根据所述光比较器的所述第三部分输出的电信号阵列,将所述高速缓冲存储器中对应位置的数据存储单元中的数据发送给CPU。结合第二方面,在第二方面的第一种可能的实现方式中,所述根据所述光比较器的所述第三部分输出的电信号阵列,将所述高速缓冲存储器中对应位置的数据存储单元中的数据发送给CPU,包括:将所述电信号阵列中0位置对应的数据存储单元中的数据发送给CPU。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:若所述电信号阵列中的各元素均为非0元素,则高速缓冲存储器根据预取数据的主存地址从主存中获取对应的数据发送给CPU,同时更新所述所述控制信号阵列。本发明实施例高速缓冲存储器与主存储器的映射查找方法和装置,通过使用第一部分、第二部分和第三部分形成一光比较器,光比较器的第一部分包括第一激光器阵列、第一调制器阵列、第一波分复用器、第一分束器和第一开关阵列,其中,在第一调制器阵列上施加输入信号B,在第一开关微环阵列上施加控制信号A,由于第一调制阵列中的第一调制微环的半径RaBi与第一开关阵列中的第一开关微环的半径RaAji的关系为从而使得该第一部分可以实现逻辑运算关系光比较器的第二部分包括第二激光器阵列、第二调制器阵列、第二波分复用器、第二分束器和第二开关阵列,其中,在第二调制器阵列上施加输入信号B,在第二开关微环阵列上施加控制信号A,由于第二调制阵列中的第二调制微环的半径RbBi与第二开关微环的半径RbAji的关系为从而使得该第二部分可以实现逻辑运算关系进而通过横向波导将第一部分输出的第一输出光信号和第二部分输出的第二部分输出光信号传输到第三部分,使得第三部分可以实现逻辑运算关系异或,此功能的实现不是通过对控制信号A和输入信号B在电域上取反,而是在光域上利用微环尺寸的上述关系式实现,由于光的并行性,该光比较器具有并行性运算、延迟小的特点,可将其应用于在高速缓冲存储器中查找CPU所需数据的位置,使用该光比较器实现的全相联映射,其逻辑电路相对于现有技术中实现全相联映射的逻辑电路结构简单,并且其比较延迟不会随着比较位数的增多而增大。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有计算机系统中的存储系统层次结构示意图;图2为现有技术中高速缓冲存储器和主存储器之间的全相联映射关系;图3为本发明光比较器基本结构一实施例一的结构示意图;图4为本发明光比较器基本结构二实施例一的结构示意图;图5为本发明光比较器实施例一的结构示意图;图6为本发明光比较器实施例二的结构示意图;图7为本发明光比较器实施例三的结构示意图;图8为本发明利用上述光比较器实现高速缓冲存储器与主存储器的映射查找方法实施例一的流程图;图9为本发明利用上述光比较器实现高速缓冲存储器与主存储器的映射查找方法实施例二的示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图3为本发明光比较器基本结构一实施例一的结构示意图,如图3所示,本实施例光比较器基本结构一的结构可以包括:第一调制微环、第一开关微环和光强探测器,其中,第一调制微环、第一开关微环和光强探测器通过横向波导连接,其具体结构如图3所示,其中,第一调制微环的半径RaB与第一开关微环的半径RaA的尺寸关系为公式(1)。其中,λ为从图3最左侧横向波导入射的光波的波长,n为光的折射率。由于图3所示的光比较器的基本结构中的第一调制微环和第一开关微环的半径具有如公式(1)的关系,将其换算为相位,可以得出第一调制微环与第一开关微环的相位差为π。在第一调制微环上所施加的控制信号用B表示,在第一开关微环上所施加的控制信号用A表示。当A=1表示对第一开关微环施加控制信号,从而使得该第一开关微环处于谐振状态;当A=0表示对第一开关微环不施加控制信号,从而使得该第一开关微环处于不谐振状态;当B=1表示对第一调制微环施加控制信号,从而使得该第一调制微环处于不谐振状态;当B=0表示对第一调制微环不施加控制信号,从而使得该第一调制微环处于谐振状态。当第一调制微环处于不谐振状态时,从图3最左侧横向波导入射的光波会通过横向波导向右传输,传输到第一开关微环,从而第一开关微环输入有光信号,当第一调制微环处于谐振状态时,从图3最左侧横向波导入射的光波会被谐振到该第一调制微环中而被消耗,从而没有光信号通过横向波导向右传输,从而第一开关微环输入无光信号;当第一开关微环处于不谐振状态时,输入到第一开关微环的光信号不会进入该第一开关微环内,而是沿着横向波导方向向右传输,传输到光强探测器,光强探测器输入有光信号,当第一开关微环处于谐振状态时,输入到第一开关微环的光信号会谐振进入第一开关微环内而被消耗,从而没有光信号沿着横向波导方向向右传输,即光强探测器输入无光信号。如图3所示,在第一开关微环旁设置有纵向波导,则当第一开关微环处于谐振时,光信号除了可以通过谐振进入第一开关微环而被消耗掉外,还可以导入纵向波导而被传出,从而使得当第一开关微环谐振时,没有光信号沿着横向波导方向向右传输。施加在第一开关微环上的控制信号的取值范围为A=0或1,施加在第一调制微环上的控制信号的取值范围为B=0或1,利用上述光比较器基本结构一可以得出如表1的结果。表1光比较器基本结构一实现的逻辑运算AB光比较器基本结构一输出000011100110其中,当A=0,B=0时,表示对第一调制微环不施加控制信号,该第一调制微环处于谐振状态,对第一开关微环不施加控制信号,该第一开关微环处于不谐振状态,由于第一调制微环处于谐振状态,则没有光信号通过横向波导向右传输,即第一开关微环输入无光信号,进而连接在横向波导末端的光强探测器感测不到光强,即输出电信号为低电平0;当A=0,B=1,表示对第一调制微环施加控制信号,该第一调制微环处于不谐振状态,对第一开关微环不施加控制信号,该第一开关微环处于不谐振状态,由于第一调制微环处于不谐振状态,则光信号不会进入第一调制微环中,有光信号通过横向波导向右传输,即第一开关微环输入有光信号,由于该第一开关微环处于不谐振状态,则该有光信号不会进入该第一开关微环中,则该有光信号通过横向波导向右传输,传输到光强探测器,光强探测器输入有光信号,光强探测器感测到光强,即输出电信号为高电平1;当A=1,B=0,表示对第一调制微环不施加控制信号,该第一调制微环处于谐振状态,对第一开关微环施加控制信号,该第一开关微环处于谐振状态,由于第一调制微环处于谐振状态,则没有光信号通过横向波导向右传输,即第一开关微环输入无光信号,进而连接在横向波导末端的光强探测器感测不到光强,即输出电信号为低电平0;当A=1,B=1,表示对第一调制微环施加控制信号,该第一调制微环处于不谐振状态,对第一开关微环施加控制信号,该第一开关微环处于谐振状态,由于第一调制微环处于不谐振状态,则有光信号通过横向波导向右传输,即第一开关微环输入有光信号,然而由于第一开关微环处于谐振状态,则该有光信号进入第一开关微环中,进而没有光信号通过横向波导传输给光强探测器,光强探测器感测不到光强,即输出电信号为低电平0。即利用上述光比较器基本结构一可以实现逻辑运算图4为本发明光比较器基本结构二实施例一的结构示意图,如图4所示,本实施例光比较器基本结构二的结构可以包括:第二调制微环、第二开关微环和光强探测器,其中,第二调制微环、第二开关微环和光强探测器通过横向波导连接,其具体结构如图4所示,其中,第二调制微环的半径RbB与第二开关微环的半径RaA的尺寸关系为公式(2)。其中,λ为从图4最左侧横向波导入射的光波的波长,n为光的折射率。由于图4所示的光比较器的基本结构中的第二调制微环和第一开关微环的半径具有如公式(2)的关系,将其换算为相位,可以得出第二调制微环与第二开关微环的相位差为π。在第二调制微环上所施加的控制信号用B表示,在第二开关微环上所施加的控制信号用A表示。当A=1表示对第二开关微环施加控制信号,从而使得该第二开关微环处于不谐振状态;当A=0表示对第二开关微环不施加控制信号,从而使得该第二开关微环处于谐振状态;当B=1表示对第二调制微环施加控制信号,从而使得该第二调制微环处于谐振状态;当B=0表示对第二调制微环不施加控制信号,从而使得该第二调制微环处于不谐振状态。当第二调制微环处于不谐振状态时,从图4最左侧横向波导入射的光波会通过横向波导向右传输,传输到第二开关微环,从而第二开关微环输入有光信号,当第一调制微环处于谐振状态时,从图4最左侧横向波导入射的光波会被谐振到该第一调制微环中而被消耗,从而没有光信号通过横向波导向右传输,从而第二开关微环输入无光信号;当第二开关微环处于不谐振状态时,输入到第二开关微环的光信号不会进入该第二开关微环内,而是沿着横向波导方向向右传输,输出到光强探测器,光强探测器输入有光信号,当第二开关微环处于谐振状态时,输入到第二开关微环的光信号会谐振进入第二开关微环内而被消耗,从而没有光信号沿着横向波导方向向右传输,即光强探测器输入无光信号。如图4所示,在第二开关微环旁设置有纵向波导,则当第二开关微环处于谐振时,光信号除了可以通过谐振进入第二开关微环而被消耗掉外,还可以导入纵向波导而被传出,从而使得当第二开关微环谐振时,没有光信号沿着横向波导方向向右传输。施加在第二开关微环上的控制信号的取值范围为A=0或1,施加在第二调制微环上的控制信号的取值范围为B=0或1,利用上述光比较器基本结构二可以得出如表2的结果。表2光比较器基本结构二实现的逻辑运算AB光比较器基本结构二输出000010101110其中,当A=0,B=0时,表示对第二调制微环不施加控制信号,该第二调制微环处于不谐振状态,对第二开关微环不施加控制信号,该第二开关微环处于谐振状态,由于第二调制微环处于不谐振状态,则光信号不会进入第二调制微环中,有光信号通过横向波导向右传输,即第二开关微环输入有光信号,由于该第二开关微环处于谐振状态,则该有光信号进入第二开关微环中,进而没有光信号通过横向波导传输给光强探测器,光强探测器感测不到光强,即输出电信号为低电平0;当A=0,B=1时,表示对第二调制微环施加控制信号,该第二调制微环处于谐振状态,对第二开关微环不施加控制信号,该第二开关微环处于谐振状态,由于第二调制微环处于谐振状态,则没有光信号通过横向波导向右传输,即第二开关微环输入无光信号,进而连接在横向波导末端的光强探测器感测不到光强,即输出电信号为低电平0;当A=1,B=0时,表示对第二调制微环不施加控制信号,该第二调制微环处于不谐振状态,对第二开关微环施加控制信号,该第二开关微环处于不谐振状态,由于第二调制微环处于不谐振状态,作为光信号不会进入第二调制微环中,有光信号通过横向波导向右传输,即第二开关微环输入有光信号,由于该第二开关微环处于不谐振状态,则该有光信号不会进入该第二开关微环中,则该有光信号通过横向波导向右传输,传输到光强探测器,光强探测器输入有光信号,光强探测器感测到光强,即输出电信号为高电平1;当A=1,B=1,表示对第二调制微环施加控制信号,该第二调制微环处于谐振状态,对第二开关微环施加控制信号,该第二开关微环处于不谐振状态,由于第二调制微环处于谐振状态,则没有光信号通过横向波导向右传输,即第二开关微环输入无光信号,进而连接在横向波导末端的光强探测器感测不到光强,即输出电信号为低电平0。即利用上述光比较器基本结构二可以实现逻辑运算从上述光比较器基本结构一和光比较器基本结构二的描述,可以看出光比较器基本结构一和二分别实现了逻辑运算异或的前半部分和后半部分,即中的和并且此功能的实现不是通过对控制信号A和B在电域上取反,而是在光域上利用微环尺寸的上述关系式(公式(1)和公式(2))实现。图5为本发明光比较器实施例一的结构示意图,本实施例的光比较器是利用多个上述图3所示实施例的光比较器的基本结构一和多个上述图4所示实施例的光比较器的基本结构二组合而成,本实施例的光比较器可以包括三个部分,分别为第一部分、第二部分以及第三部分。其中,第一部分,包括第一激光器阵列、第一调制器阵列、第一波分复用器、第一分束器和第一开关阵列;其中,所述第一激光器阵列用于输出不同波长的脉冲光;所述第一调制器阵列包括至少一个形成一列的第一调制微环,所述第一调制微环的数量与所述第一开关阵列的列数相同,在所述第一调制器阵列上施加输入信号,所述第一调制微环的数量与所述输入信号的数量相同,所述第一调制器阵列用于接收所述不同波长的脉冲光,并将各输入信号分别调制到各脉冲光上以获取至少一个第一调制脉冲光;所述第一波分复用器用于合成接收到的所述至少一个第一调制脉冲光以获得第一合波调制脉冲光,并通过横向波导发送给所述第一分束器;所述第一分束器用于根据所述第一合波调制脉冲光获得至少一个第一分束调制脉冲光,所述第一分束调制脉冲光的数量与所述第一开关阵列的行数相同;所述第一开关阵列用于将接收到的各第一分束调制脉冲光分别发送到所述第一开关阵列中每一行所包括的至少一个第一开关微环中;所述第一开关阵列中每一行所包括的至少一个第一开关微环根据控制信号对所述第一分束调制脉冲光进行谐波处理,获取第一输出光信号;其中,所述第一调制微环的半径RaBi与所述第一开关微环的半径RaAji的关系为其中,λi为第i个脉冲光的波长,n为光的折射率,π为圆周率;其中,第一激光器阵列用于输出不同波长的脉冲光,第一调制器阵列接收不同波长的脉冲光,其中,第一调制器阵列中不同行的第一调制微环的尺寸不同,以分别对第一激光阵列输出的各不同波长的脉冲光产生谐振。第一开关阵列中不同列的第一开关微环的尺寸不同,以分别对经过第一分束器的含有不同波长脉冲光的第一分束调制脉冲光中的不同波长的脉冲光产生谐振。第二部分,包括第二激光器阵列、第二调制器阵列、第二波分复用器、第二分束器和第二开关阵列;其中,所述第二激光器阵列用于输出不同波长的脉冲光;所述第二调制器阵列包括至少一个形成一列的第二调制微环,所述第二调制微环的数量与所述第二开关阵列的列数相同,在所述第二调制器阵列上施加所述输入信号,所述第二调制器微环的数量与所述输入信号的数量相同,所述第二调制器阵列用于接收所述不同波长的脉冲光,并将各输入信号分别调制到各脉冲光上以获取至少一个第二调制脉冲光;所述第二波分复用器用于合成接收到的所述至少一个第二调制脉冲光以获得第二合波调制脉冲光,并通过横向波导发送给所述第二分束器;所述第二分束器用于根据所述第二合波调制脉冲光获得至少一个第二分束调制脉冲光,所述第二分束脉冲光的数量与所述第二开关阵列的行数相同;所述第二开关阵列用于将接收到的各第二分束调制脉冲光分别发送到所述第二开关阵列中每一行所包括的至少一个第二开关微环中;所述第二开关阵列中每一行所包括的至少一个第二开关微环根据所述控制信号对所述第二分束调制脉冲光进行谐波处理,获取第二输出光信号;其中,所述第二调制微环的半径RbBi与所述第二开关微环的半径RbAji的关系为其中,λi为第i个脉冲光的波长,n为光的折射率,π为圆周率;其中,第二激光器阵列用于输出不同波长的脉冲光,第二调制器阵列接收不同波长的脉冲光,其中,第二调制器阵列中不同行的第二调制微环的尺寸不同,以分别对第二激光阵列输出的各不同波长的脉冲光产生谐振。第二开关阵列中不同列的第二开关微环的尺寸不同,以分别对经过第二分束器的含有不同波长脉冲光的第一分束调制脉冲光中的不同波长的脉冲光产生谐振。第一部分输出的第一输出光信号与第二部分输出的第二输出光信号通过横向波导传输到第三部分,第三部分包含至少一个光强探测器,所述光强探测器的数量与所述第一开关阵列的行数相同;所述第三部分根据输入的所述第一输出光信号和所述第二输出光信号输出电信号。其中,当连接相同光强探测器的第一输出光信号和第二输出光信号中任意一输出光信号为有光信号,第三部分中该光强探测器输出高电平。具体地,上述光比较器的第一部分,当在第一调制器阵列上施加输入信号B,B可以为列向量,包含多个元素,各元素取值范围为0或1,在第一开关微环阵列上施加控制信号A,A可以为一矩阵,包含多个元素,各元素的取值范围为0或1,A矩阵的列数与B矩阵的行数相同,第一激光器阵列输出不同波长的脉冲光经过该光比较器的第一部分后,输出第一输出光信号,用高电平1表示第一输出光信号为有光信号,用低电平0表示第一输出光信号为无光信号,则第一输出光信号与控制信号A、输入信号B具有逻辑运算关系:上述光比较器的第二部分,当在第二调制器阵列上施加输入信号B,B可以为一阵列,包含多个元素,各元素取值范围0或1,在第二开关微环阵列上施加控制信号A,A可以为一矩阵,包含多个元素,各元素的取值范围为0或1,A矩阵的列数与B矩阵的行数相同,第二激光器阵列输出不同波长的脉冲光经过该光比较器的第二部分后,输出第二输出光信号,用高电平1表示第二输出光信号为有光信号,用低电平0表示第二输出光信号为无光信号,则第二输出光信号与控制信号A、输入信号B具有逻辑运算关系:第一部分输出的第一输出光信号和第二部分输出的第二输出光信号通过横向波导传输到第三部分,其中,第一输出光信号可以包含多个元素,第二输出光信号可以包含多个元素,第一输出光信号中的各元素与第二输出光信号中相同位置的各元素连接一相同光强探测器,该光强探测器根据第一输出光信号和第二输出光信号输出电信号,即当第一输出光信号和第二输出光信号中任一输出光信号为有光信号,则第三部分输出高电平1,否则输出低电平0。经过上述分析,通过第三部分可以实现逻辑运算:利用上述本发明实施例提供的光比较器,将高速缓冲存储器中的各数据存储单元对应的主存字块标记组成控制信号阵列作为该光比较器的第一部分和第二部分中的控制信号,高速缓冲存储器接收CPU发送的预取数据的主存地址,根据该预取数据的主存地址包含的预取数据的主存字块标记,将预取数据的主存字块标记作为该光比较器的输入信号,根据该光比较器所能实现的逻辑运算功能,当预取数据的主存字块标记与高速缓冲存储器中的各数据存储单元对应的主存字块标记组成的控制信号阵列中某一行相同时,第三部分输出的电信号阵列中与其对应的元素为低电平0,由此,第三部分输出的电信号阵列中低电平0位置对应的数据存储单元中的数据即为CPU的预取数据。本实施例,通过使用第一部分、第二部分和第三部分形成一光比较器,光比较器的第一部分包括第一激光器阵列、第一调制器阵列、第一波分复用器、第一分束器和第一开关阵列,其中,在第一调制器阵列上施加输入信号B,在第一开关微环阵列上施加控制信号A,由于第一调制阵列中的第一调制微环的半径RaBi与第一开关阵列中的第一开关微环的半径RaAji的关系为从而使得该第一部分可以实现逻辑运算关系光比较器的第二部分包括第二激光器阵列、第二调制器阵列、第二波分复用器、第二分束器和第二开关阵列,其中,在第二调制器阵列上施加输入信号B,在第二开关微环阵列上施加控制信号A,由于第二调制阵列中的第二调制微环的半径RbBi与第二开关微环的半径RbAji的关系为从而使得该第二部分可以实现逻辑运算关系进而通过横向波导将第一部分输出的第一输出光信号和第二部分输出的第二部分输出光信号传输到第三部分,使得第三部分可以实现逻辑运算关系异或,此功能的实现不是通过对控制信号A和输入信号B在电域上取反,而是在光域上利用微环尺寸的上述关系式实现,由于光的并行性,该光比较器具有并行性运算、延迟小的特点,可将其应用于在高速缓冲存储器中查找CPU所需数据的位置,使用该光比较器实现的全相联映射,其逻辑电路相对于现有技术中实现全相联映射的逻辑电路结构简单,并且其比较延迟不会随着比较位数的增多而增大。图6为本发明光比较器实施例二的结构示意图,本实施例是在上述实施例的基础上,还包括纵向波导和至少一个光吸收单元,所述纵向波导设置在第一开关阵列中每行的第一开关微环之间,以及第二开关阵列中每行的第二开关微环之间,相应设置光吸收单元时可以选用以下两种方式:(1)如图6所示,在第一开关阵列和第二开关阵列中相邻两行之间设置一个对应的光吸收单元;(2)在第一开关阵列和第二开关阵列中每一行均设置一个对应的光吸收单元。本实施例在图5所示实施例的基础上增加了纵向波导和光吸收单元,可以更好的吸收被开关微环谐振的光信号,避免当开关微环谐振时有部分光信号没有被吸收消耗而进入光强探测器阵列,影响光比较器的输出结果。下面采用一个具体的实施例,对上述实施例的技术方案进行详细说明。本实施例采用图6所示光比较器进行说明。图6所示的光比较器的第一开关阵列和第二开关阵列均为k行m列,该光比较器的第一调制器阵列和第二调制器阵列均为m行1列,其中,k和m可以取任意整数,利用该光比较器可以实现查找k×m维矩阵中哪一行和该m维列向量相等的功能。本实施例的光比较器的第一部分利用多个图3实施例所述的光比较器基本结构一组合而成,其中,第一调制阵列中的各第一调制微环与第一开关阵列中的各第一开关微环的尺寸关系为,第一调制微环阵列中每行的第一调制微环的半径RaBi和第一开关阵列中的每一列的第一开关微环的半径RaAji的尺寸关系为公式(3)。其中λi表示第i个波长,n表示光的折射率。本实施例的光比较器的第二部分利用多个图4实施例所述的光比较器基本结构二组合而成,其中,第二调制阵列中的各第二调制微环与第二开关阵列中的各第二开关微环的尺寸关系为,第二调制微环阵列中每行的第二调制微环的半径RbBi和第二开关微环的半径RbAji的尺寸关系为公式(4)。其中λi表示第i个波长,n表示光的折射率。m维列向量作为该光比较器的输入信号,并分别作用于第一调制器阵列和第二调制器阵列上。k×m维矩阵作为光比较器的控制信号,并分别作用于第一开关阵列和第二开关阵列。具体地,该光比较器的第一激光器阵列和第二激光器阵列分别发出m个波长分别为λ1、λ2…λm的脉冲光,通过第一调制器阵列将B向量的m个值B1、B2…Bm作为输入信号施加到第一调制阵列中的每一个第一调制微环上,通过第二调制阵列将B向量的m个值B1、B2…Bm作为输入信号施加到第二调制阵列中的每一个第二调制微环上,当第一激光器阵列和第二激光器阵列发出的脉冲光分别经过第一调制器阵列和第二调制器阵列时,B向量的m个值B1、B2…Bm就被承载到m个波长λ1、λ2…λm的脉冲光上,即将B1承载到波长λ1的脉冲光上,将B2承载到波长λ2的脉冲光上,依此类推。承载B向量的m个值B1、B2…Bm的m个波长λ1、λ2…λm的脉冲光通过第一波分复用器合成一束,然后再利用第一分束器分成m束并分别从第一开关阵列中的不同行的入口输入,其中每一束都含有m个波长的脉冲光,且m个波长的脉冲光共同承载B向量,同样地,承载B向量的m个值B1、B2…Bm的m个波长λ1、λ2…λm的脉冲光通过第二波分复用器合成一束,然后再利用第二分束器分成m束并分别从第二开关阵列中的不同行的入口输入,其中每一束都含有m个波长的脉冲光,且m个波长的脉冲光共同承载B向量。第一开关阵列和第二开关阵列中每一列中的第一开关微环和第二开关微环响应相同波长的脉冲光,不同列的第一开关微环和第二开关微环响应不同波长的脉冲光,即在第一开关微环阵列和第二开关微环阵列中施加控制信号为A11、A21…Ak,1的第一开关微环或者第二开关微环,其只对波长为λ1的脉冲光响应,而对其他波长λ2…λm的脉冲光不响应;同样地,第一开关微环阵列和第二开关微环阵列中施加控制信号为A1,m、A2,m…Ak,m的第一开关微环或者第二开关微环,其只对波长为λm的脉冲光响应,而对其他波长λ1…λm-1的脉冲光不响应,其中m=1…m,m可以取任意正整数。根据上述实施例对本发明光比较器实现的逻辑运算功能的介绍,本实施例的光比较器可以输出矩阵C,其中,矩阵C与矩阵A和矩阵B之间的关系如下式:根据输出矩阵C中哪一个值为0,从而确定A矩阵对应C向量中值为0的行和B向量相等,通过输出结果即可查找出矩阵中和向量相等的对应行。图7为本发明光比较器实施例三的结构示意图,其中本实施例的光比较器是在上述实施例中对k和m分别取值为k=4,m=4时,对上述实施例的技术方案作具体举例说明。当k=4,m=4时,该光比较器是一个4×4矩阵和一个4维列向量的比较器,可以实现查找4×4矩阵中哪一行和该4维列向量相等的功能,其中,4×4矩阵和列向量的值均为二进制数1或0。具体地,以在矩阵中查找向量作举例说明。光比较器的第一激光器阵列和第二激光器阵列分别发出四个波长λ1,λ2,λ3,λ4的脉冲光,通过将B向量的四个值1、0、1、0作为输入信号施加到第一调制器阵列和第二调制器阵列上,当脉冲光经过第一调制器阵列和第二调制器阵列时,1、0、1、0四个输入信号就被承载到四个波长λ1,λ2,λ3,λ4脉冲光上。承载B向量四个值1、0、1、0的四个波长λ1,λ2,λ3,λ4脉冲光通过第一波分复用器合成一束,然后再利用第一分束器分成4束,并分别从第一开关阵列中的不同行入口输入,其中每一束都含有四个波长,且四个波长共同承载B向量;同样地,承载B向量四个值1、0、1、0的四个波长λ1,λ2,λ3,λ4脉冲光通过第二波分复用器合成一束,然后再利用第二分束器分成4束,并分别从第二开关阵列中的不同行入口输入,其中每一束都含有四个波长,且四个波长共同承载B向量。第一开关阵列和第二开关阵列中每一列中开关微环响应相同波长,不同列开关微环响应不同波长,例如,A11、A21、A31、A41对应的微环只对波长λ1响应,对其他波长λ2,λ3,λ4不响应。将A矩阵4行4列的每个值作为控制信号施加到第一开关阵列和第二开关阵列中相应的开关微环上,当承载B向量的每束光信号输入到横向波导并向前传输,利用光比较器基本结构一和光比较器基本结构二的工作原理,例如,A11=1表示有控制信号施加到第一开关阵列和第二开关阵列中A11对应的开关微环上,则第一开关阵列中A11对应的第一开关微环处于对波长λ1谐振状态,第二开关阵列中A11对应的第二开关微环处于对波长λ1不谐振状态,由于第一开关微环和第一调制微环的微环尺寸存在上述公式(1)的关系,第二开关微环和第二调制微环的微环尺寸存在上述公式(2)的关系,从而当B1=1时,第一调制阵列中B1对应的第一调制微环处于不谐振状态,第二调制阵列中B1对应的第二调制微环处于谐振状态,即通过第一调制阵列的波长λ1的光信号输出波长λ1的有光信号到第一波分复用器,通过第二调制阵列的波长λ1的光信号输出无光信号到第二波分复用器。波长λ1的有光信号到第一波分复用器后通过第一分束器进入第一开关阵列中第一行的横向波导,由于A11对应的第一开关微环处于对波长λ1谐振状态,则波长λ1的有光信号会被A11对应的第一开关微环谐振导入到纵向波导并向下传输,被光吸收单元吸收掉;通过第二调制阵列的波长λ1的光信号被第二调制微环谐振消耗掉,则没有光信号进入第一开关阵列中的相应行的横向波导,进而由于施加相同控制信号的第一开关阵列和第二开关阵列中的相应行连接同一光强探测器,所以连接A11、A21、A31、A41对应的开关阵列的光强探测器感测不到λ1的光强。通过上述方式,有的波长的脉冲光信号会被第一开关阵列和第二开关阵列中相应的开关微环谐振导入到纵向波导上并向下传输,被光吸收单元吸收掉,而未被第一开关阵列和第二开关阵列中开关微环谐振的脉冲光信号会沿着横向波导传输,并被光强探测器阵列中相应的光强探测器感测到,每一个光强探测器会根据能否感测到光强输出电信号1或0。根据上述光比较器所能实现的逻辑运算功能,可以得出如下结果:根据上述分析最终光强探测器阵列输出4个电信号C1=0、C2=1、C3=1、C4=1,因C1=0即可判断出A矩阵第一行向量和B向量相等。将上述实施例中的光比较器应用于高速缓冲存储器与主存储器之间地址映射中的全相联映射,即主存储器中每一字块可以映射到高速缓冲存储器中的任何一个位置,在高速缓冲存储器中查找CPU所需数据的位置时使用上述实施例中的光比较器。图8为本发明利用上述光比较器实现高速缓冲存储器与主存储器的映射查找方法实施例一的流程图,如图8所示,本实施例的方法可以包括:步骤801:高速缓冲存储器将所述高速缓冲存储器中的各数据存储单元对应的主存字块标记组成控制信号阵列,将所述控制信号阵列作为所述光比较器的所述控制信号。步骤802:接收中央处理器CPU发送的预取数据的主存地址,所述预取数据的主存地址包含预取数据的主存字块标记,将所述预取数据的主存字块标记作为所述光比较器的所述输入信号,输入到所述第一调制器阵列和所述第二调制器阵列。步骤803:根据所述光比较器的所述第三部分输出的电信号阵列,将所述高速缓冲存储器中对应位置的数据存储单元中的数据发送给CPU。其中,所述根据所述光比较器的所述第三部分输出的电信号阵列,将所述高速缓冲存储器中对应位置的数据存储单元中的数据发送给CPU,具体可以为:将所述电信号阵列中0位置对应的数据存储单元中的数据发送给CPU。进一步地,若所述电信号阵列中的各元素均为非0元素,则高速缓冲存储器根据预取数据的主存地址从主存中获取对应的数据发送给CPU,同时更新所述所述控制信号阵列。本实施例的方法,通过将所述高速缓冲存储器中的各数据存储单元对应的主存字块标记组成控制信号阵列,将所述控制信号阵列作为所述光比较器的控制信号,接收中央处理器CPU发送的预取数据的主存地址,所述预取数据的主存地址包含预取数据的主存字块标记,将所述预取数据的主存字块标记作为所述光比较器的输入信号,输入到第一调制器阵列和第二调制器阵列,根据光比较器的第三部分输出的电信号阵列,将高速缓冲存储器中对应位置的数据存储单元中的数据发送给CPU,即通过将高速缓冲存储器中的各数据存储单元对应的主存字块标记组成控制信号阵列施加到光比较器的开关阵列上,将CPU发送的预取数据的主存地址作为光比较器的输入信号,从而利用光比较器所能实现的异或逻辑运算,实现在高速缓冲存储器中查找CPU所需数据,其中,由于光比较器是利用微环尺寸关系实现光域上的取反,其具有并行性运算、延迟小的特点,能快速查找到所需数据,并且当比较位数较多时,该光比较器的逻辑电路相对于现有技术中的比较电路结构简单。下面采用一个具体的实施例对图8所述实施例作具体说明。图9为本发明利用上述光比较器实现高速缓冲存储器与主存储器的映射查找方法实施例二的示意图,如图9所示,按照图9中箭头所示的对应关系,将CPU所需数据的4位主存字块标记作为B向量4个值并作为输入信号施加到光比较器的调制器阵列,这里的主存字块标记为4位是举例说明,本实施并不仅限于此,将高速缓冲存储器4个4位标记作为A矩阵4行4列并作为控制信号施加到开关阵列,通过光比较器的逻辑运算,最终输出C向量4个值,依据C向量哪一个值为0,从而迅速判断出CPU所需数据在高速缓冲存储器的哪一个字块中。如Ci=0,CPU所需数据即在高速缓冲存储器的第i个字块中。若C向量4个值均不为0,说明CPU所需数据不在Cache中,需要去主存储器中取数据。上述实施例中提出的光比较器中的光强探测器无需太高精度,仅需能否感测到光强即可,无需对波长区分感测。进一步地,本发明的光比较器不仅适用于高速缓冲存储器与主存储器之间地址映射方式中的全相联映射,还适用于其他地址映射方式,如直接映射和组相联映射。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1