具体实施方式
如上所述,对数据处理系统中地址转换的需求可能导致需要已转换地址的存储器的建立时间的减少并且可能导致需要更低的时钟频率。在本发明的一个实施例中,使用基于旁路控制逻辑的旁路电路,其允许地址转换旁路。当地址转换被旁路时,在完成地址转换之前将逻辑地址直接作为已转换地址来提供。在一个实施例中,地址转换包括使用逻辑地址来执行表查找以获得已转换地址(即,物理地址)和相应属性。因此,当地址转换被旁路时,在相应属性的提供之前(因为相应属性直到表查找完成才可用)将逻辑地址直接作为已转换地址(而不是来自查找表的转换地址)来提供。通过将逻辑地址直接作为已转换地址来提供,已转换地址与由地址转换所生成的已转换地址相比在时钟周期内更早的有效,所述由地址转换所生成的已转换地址与相应属性通常可能在时钟周期内更晚的有效。通过更早地将逻辑地址直接作为已转换地址来提供,接收该已转换地址的存储器能够具有更长的建立时间并且能够更快地开始处理。
本申请所使用的术语“总线”涉及可以用来传输一个或多个各种类型的信息(如数据、地址、控制或者状态)的多个信号或者导体。本申请所讨论的导体可以参考单个导体、多个导体、单向导体或者双向导体来阐述或者描述。然而,不同的实施例可以改变导体的实现方式。例如,可以使用分离的单向导体而不是双向导体,并且反之亦然。同样,多个导体可以由串行地或者以时分复用的方式传输多个信号的单个导体来替代。同样,可以将承载多个信号的单个导体分割为承载这些信号的子集的各种不同导体。因此,对于传输信号,存在很多选择。
当分别涉及信号、状态位或者为其逻辑真或逻辑假状态的类似装置的描述(rendering)时,术语“置为信号的有效值(assert)”或者“设置”和“使无效(negate)”(或者“置为信号的无效值(deassert)”或者“清除”)被使用。如果逻辑真状态是逻辑电平1,那么逻辑假状态则是逻辑电平0。并且如果逻辑真状态是逻辑电平0,那么逻辑假状态则是逻辑电平1。因此,本申请所描述的每个信号可以被指定为正或者负逻辑,其中负逻辑能够由信号名称上方的横线或者名称后的星号(*)来指示。在负逻辑信号的情况中,在逻辑真状态对应于逻辑电平0时信号低电平有效。在正逻辑信号的情况中,在逻辑真状态对应于逻辑电平1时信号高电平有效。请注意,本申请所描述的信号中的任何一个能够被指定为正或者负逻辑信号。因此,在替代实施例中,被描述为正逻辑信号的那些信号可以实现为负逻辑信号,并且被描述为负逻辑信号的那些信号可以实现为正逻辑信号。
图1图解了根据本发明一个实施例的数据处理系统10。系统10包括处理电路12、系统存储器14、其它模块16和系统总线18。处理电路12、系统存储器14和其它模块16中的每一个与系统总线18双向耦合。系统存储器14可以是任何类型的存储器,例如,只读存储器(ROM)、随机访问存储器(RAM)如静态RAM或者动态RAM、非易失性存储器(例如闪存)等等。系统10可以不包括其它模块(在这种情况下其它模块16可以不出现)或者可以包括任何数目的其它模块,其中这些模块可以包括,例如,其它处理电路、外围设备、存储器、I/O设备等等。
系统10的处理电路12包括处理器20、地址转换电路22、数据总线接口单元(BIU)24和指令总线接口单元(BIU)26。数据BIU24经由数据地址48提供数据地址至系统总线18,经由数据50提供数据至系统总线18并且从系统总线18接收数据,以及经由控制52提供控制信号至系统总线18并且从系统总线18接收控制信号。指令BIU26经由指令地址56提供指令地址至系统总线18,经由指令58提供指令至系统总线18并且从系统总线18接收指令,以及经由控制54提供控制信号至系统总线18并且从系统总线18接收控制信号。
处理器20经由内部数据总线36、控制信号38和数据属性35耦合至数据BIU 24。处理器20经由数据逻辑地址28、指令逻辑地址30、控制信号32、数据属性35和指令属性34耦合至地址转换电路22。处理器20经由内部指令总线40、控制信号41和指令属性34耦合至指令BIU 26。地址转换电路22经由指令属性34、控制信号46和指令物理地址44耦合至指令BIU 26。处理电路12还接收外部信号:数据旁路控制60、指令旁路控制62、数据重置控制64、指令重置控制66和重置68。这些信号可以从系统10内的其它模块16提供或者它们可以从位于系统10外部的源提供。同样,这些外部信号的每一个都被提供给地址转换电路22,并且重置68还被提供给处理器20。在一个实施例中,这些信号的一个或多个还能够由处理器20提供给地址转换电路22。请注意,这些信号的任何一个都是非必需的,并且因此可以不出现在系统10中。同样,处理电路12可以接收图1中没有图解的其它外部信号。
处理器20、数据BIU 24和指令BIU 26中的每一个都以现有技术中已知的方式操作并且因而在本申请中不会被更详细地讨论。请注意,处理器20能够是任何类型的处理器,例如,微控制器、数字信号处理器、直接存储器访问单元、中央处理器等等,并且可以包括用于执行数据处理和用于执行数据处理之外的任何其它期望功能的任何类型的处理逻辑。因而,地址转换电路22可以位于处理器20外部并且耦合至处理逻辑。在替代实施例中,地址转换电路22可以位于处理器20内(并且耦合至处理逻辑)。同样,在替代实施例中,数据BIU 24和指令BIU 26可以实现为与系统总线18进行数据和指令地址、数据和指令以及控制通信的单个BIU。系统总线18被图解为单个总线,但还可以实现为具有分离的地址、数据和控制总线。还请注意,处理电路12可以包括图解的框和信号之外的其它电路。下面将参考图2至6更加详细地讨论地址转换电路22的操作。
图2图解了根据本发明一个实施例的地址转换电路22的至少一部分。地址转换电路22包括转换旁路逻辑72、多路复用器(MUX)76和地址转换器70。地址转换器70包括控制电路94、地址转换部分88和属性部分90。地址转换器70接收逻辑地址80并且提供命中/未命中指示92、已转换逻辑地址82(还被称为物理地址)和地址属性86。转换旁路逻辑72包括旁路控制寄存器74。转换旁路逻辑72接收数据旁路控制60、指令旁路控制62、数据重置控制64、指令重置控制66和重置68。(请注意,如上所述,这些信号的任何一个可以是非必需的并且因而不提供给转换旁路逻辑72。)转换旁路逻辑72提供选择78给MUX 76的控制输入端,并且非必需地提供选择78给地址转换器70。MUX 76在第一输入端接收逻辑地址80并且在第二输入端接收已转换逻辑地址82,并且基于选择78(还被称为旁路使能控制信号)而提供这些信号中的一个作为被选地址84。请注意,从地址转换器70输出的已转换逻辑地址82还可以被称为物理地址,其中MUX76或者提供物理地址或者提供逻辑地址80作为被选地址84。同样,MUX 76能够由当旁路使能时能够提供逻辑地址80作为被选地址84的任何类型的电路来替换。
在一个实施例中,地址转换器70包括查找表,其中控制电路94比较输入逻辑地址80和查找表中的条目以确定是否查找到匹配。如果在查找表中查找到匹配,命中/未命中指示92被设置为有效值,并且从查找表中输出相应的已转换逻辑地址82和地址属性86。例如,在一个实施例中,内容可寻址存储器(CAM)部分被用来存储逻辑地址,其中每个CAM条目具有相应的物理地址条目(在地址转换部分88内)和相应的地址属性条目(在属性部分90内)。因而,在一个实施例中,已转换地址和相应的属性被实现为单个查找表。可替代地,分离的查找表可以被实现以提供已转换逻辑地址82和相应的地址属性86。在这个实施例中,控制电路94使用逻辑地址80在每个查找表中执行查找。在替代实施例中,查找表可以实现为缓存地址转换信息的直接映射或者组关联阵列。又在另一个替代实施例中,其它电路而不是查找表可以被用来提供已转换逻辑地址82和地址属性86。例如,可以从逻辑地址80算术地生成已转换逻辑地址82。
图2中图解的地址转换电路22的实施例可以用于数据或者指令地址转换。例如,逻辑地址80可以对应于数据逻辑地址28或者指令逻辑地址30,其中被选地址84可以分别对应于提供给图1的数据BIU24的数据物理地址42或者提供给图1的指令BIU 26的指令物理地址44,并且地址属性86可以分别对应于数据属性35(提供给处理器20或者数据BIU 24或者两者)或者指令属性34(提供给处理器20或者指令BIU 26或者两者)。因而,请注意,能够复制图2的电路的一部分或者全部以转换数据和指令地址。
例如,在一个实施例中,地址转换电路22可以包括分离的数据和指令地址转换电路,每个都包括在图2中总体图解的电路的一部分或者全部。例如,地址转换电路12可以包括用于数据和指令地址的分离的地址转换器(每一个都类似于地址转换器70),其中数据逻辑地址28可以被输入到一个地址转换器并且指令逻辑地址30可以被输入到另一个。接收数据逻辑地址28的地址转换器还可以提供数据属性35,并且接收指令逻辑地址30的地址转换器还可以提供指令属性34。地址转换电路22还可以包括类似于MUX 76的分离的MUX或者分离的选择电路,其耦合至每个分离的地址转换器以用于输出数据物理地址或者数据逻辑地址作为被选数据地址至数据BIU 24并且用于输出指令物理地址或者指令逻辑地址作为被选指令地址至指令BIU26。而且,在这个实施例中,每个地址转换器可以提供其自己的命中/未命中指示,类似于命中/未命中指示92(其中任何命中/未命中指示可以作为一个或多个控制信号32提供给处理器20)。在一个实施例中,转换旁路逻辑72可以由数据转换电路和指令转换电路共享,如图2中所图解的一样,其中转换旁路逻辑接收指令和数据控制信号,并且其中旁路控制寄存器74包括数据和指令旁路控制字段。然而,即使转换旁路逻辑72被共享,转换旁路逻辑72也可以针对每个分离的MUX输出类似于选择78的分离的选择信号或者旁路控制信号,以基于地址是指令地址还是数据地址而独立地控制地址转换。在另一个实施例中,图2的电路能够针对指令和数据地址转换电路中的每一个被完全复制,从而转换旁路逻辑特别针对指令或者数据。在这个实施例中,转换旁路逻辑可以接收仅仅数据或者仅仅指令控制并且旁路控制寄存器可以仅仅包括数据或者指令旁路控制字段。
如上所述,图2的电路能够应用至指令或者数据。因而,在下面描述图2操作的讨论中,请注意该描述能够相似地应用至数据和指令地址转换。参考图2的操作,转换旁路逻辑72提供选择78至MUX 76以选择已转换逻辑地址82(从地址转换器70输出)或者逻辑地址80中的一个作为被选地址84来提供。请注意,被选地址84还可以被称为已转换地址,其中已转换地址对应于从地址转换器70输出的已转换逻辑地址82或者直接作为已转换地址提供的逻辑地址80。
仍然参考图2,如果转换旁路逻辑72基于旁路控制寄存器74中的值旁路地址转换,那么选择78被提供从而MUX 76选择逻辑地址80作为将要提供的被选地址84。因而,在执行旁路的情况中,逻辑地址80被直接作为被选地址84来提供。也就是说,逻辑地址80而不是已转换逻辑地址82被直接作为已转换地址来提供。然而,在图解的实施例中,即使逻辑地址80被直接作为被选地址84来提供,逻辑地址80仍然被提供给提供已转换逻辑地址82和地址属性86的地址转换器70。请注意,当执行旁路时已转换逻辑地址82和地址属性86在被选地址84之后被提供,因为逻辑地址80通过MUX 76比由地址转换器70提供的已转换逻辑地址82和地址属性86更快地传播至被选地址84。例如,在查找表被用来提供已转换逻辑地址82和地址属性86的实施例中,查找自身导致延迟。然而,因为MUX 76被设置为选择逻辑地址80作为被选地址84来提供,已转换逻辑地址82被忽略。然而,地址转换仍然发生,并且属性86仍然在地址转换完成时被提供。
在一个实施例中,不管转换旁路逻辑72确定逻辑地址80和已转换逻辑地址82中的哪一个被选择并被作为被选地址84来提供,地址转换器70仍然执行逻辑地址80的地址转换。作为地址转换器70操作的一部分,查找可能不能找到相应的地址转换,导致“未命中”事件。由地址转换器70执行的转换处理的成功或者失败经由命中/未命中指示92提供信号给处理器20。处理器20可以使用命中/未命中指示92以响应经由命中/未命中指示92提供信号的“未命中”指示来实现异常处理或者其它替代活动。再次重申,在这个实施例中,由地址转换器70执行的地址转换和命中/未命中信号提供独立于转换旁路逻辑72的操作而发生。
转换旁路逻辑72基于存储在旁路控制寄存器74中的值并且如果存在的话基于指令旁路控制62和数据旁路控制60的值而确定选择78的值。图3图解了具有指令旁路字段96和数据旁路字段98的旁路控制寄存器74的一个实施例。请注意,在某些实施例中,旁路控制寄存器74可以包括一个或多个其它控制字段99。图4图解了提供每个旁路字段的描述的表。在一个实施例中,每个旁路字段都是1位字段。例如,指令旁路字段96可以是逻辑电平0或者逻辑电平1并且应用在指令地址转换的情况中。逻辑电平0表示地址转换电路22正常地将指令逻辑地址转换为指令已转换逻辑地址(即,指令物理地址)。也就是说,在此情况下,转换旁路逻辑72可以设置选择78从而已转换逻辑地址82作为被选地址84来输出。然而,逻辑电平1表示地址转换旁路发生,其中地址转换电路22旁路指令逻辑地址直接作为已转换地址。也就是说,在此情况下,转换旁路逻辑72可以生成选择78从而逻辑地址80直接作为被选地址84来输出。还请注意,当设置为逻辑电平1时,由地址转换器70输出的已转换逻辑地址82(即,物理地址)被忽略,并且实际上,使用逻辑地址80的1对1映射。然而,在使用用于地址转换的查找表的一个实施例中,仍然由地址转换器70执行地址转换器查找以提供相应的地址属性86。同样,因为在这个实施例中地址转换器查找仍然出现,地址转换器未命中仍然能出现。
在替代实施例中,选择78还被提供给地址转换器70。在这个实施例中,当指令旁路96是逻辑电平1时,控制电路94可以使用选择78来禁止地址转换部分88,从而仅仅提供属性86并且根本不提供已转换逻辑地址82。也就是说,在这个替代实施例中,尽管地址转换部分88被禁止,但仍然创建或者提供一个或多个地址属性。
请注意,以上关于指令旁路96而提供的上述描述相似地应用至数据旁路98。例如,数据旁路字段98可以是逻辑电平0或者逻辑电平1并且应用在数据地址转换的情况中。也就是说,当设置为逻辑电平0时,地址转换电路22正常地将数据逻辑地址转换为数据已转换逻辑地址(即,数据物理地址)。也就是说,已转换逻辑地址82作为被选地址84来提供。当设置为逻辑电平1时,地址转换旁路发生,其中地址转换电路22旁路数据逻辑地址直接作为已转换地址。也就是说,在此情况下,转换旁路逻辑72可以生成选择78,从而逻辑地址80直接作为被选地址84来输出。还请注意,当设置为逻辑电平1时,由地址转换器70输出的已转换逻辑地址82(即,物理地址)被忽略,并且实际上,使用逻辑地址80的1对1映射。然而,在使用用于地址转换的查找表的一个实施例中,仍然由地址转换器70执行地址转换器查找以提供相应的地址属性86。同样,因为在这个实施例中地址转换器查找仍然出现,地址转换器未命中仍然能出现。
将参考能够应用至指令或者数据地址转换的图5的流程100更加详细地描述图2的操作。同样,流程100图解了实施例,其中地址转换器70被实现为逻辑地址与条目进行比较的单个查找表,并且如果出现命中,则提供相应的已转换逻辑地址(即,物理地址)和相应的属性。
流程100开始于开始102并且前进至框104,其中逻辑地址(如逻辑地址80)被接收。(再次,请注意逻辑地址80能够涉及数据逻辑地址或者指令逻辑地址。)例如,从处理器20接收该逻辑地址(作为数据逻辑地址28或者指令逻辑地址30)。流程接着进行至框106,其中初始化逻辑地址的查找并且初始化旁路确定。因而,控制电路94开始比较逻辑地址80和地址转换器70的查找表中的条目并且转换旁路逻辑72开始确定选择78的值。(在某些实施例中,转换旁路逻辑72可以在接收用于转换查找的逻辑地址之前已经确定选择78的值。)
流程进行到菱形判断框108,其中确定是否应当发生旁路。例如,根据是数据还是指令逻辑地址被作为逻辑地址来接收,转换旁路逻辑可以使用数据旁路字段98或者指令旁路字段96的值来确定是否发生旁路并且因此可以生成旁路控制信号,如选择78。如果没有发生旁路,流程进行到框110,其中地址查找完成。流程进行到菱形判断框112,其中确定是否已经出现命中。也就是说,如果查找到逻辑地址80匹配地址转换器70的查找表中的条目,那么出现命中;否则出现未命中。因而,如果没有出现命中(表明未命中),流程进行到框114,其中执行未命中处理。例如,在一个实施例中,命中/未命中指示92被设置为指示未命中(例如,其可以相应地设置命中/未命中指示92为逻辑电平0)。指示92接着能够被提供给处理器20(例如,经由控制信号32),其中处理器20可以执行未命中处理。本领域所公知的用于已接收逻辑地址的任何未命中处理能够被执行并且因此将不会在本申请中被更加详细地描述。
回到菱形判断框112,如果出现命中,即查找到逻辑地址80匹配地址转换器70的查找表内的条目,那么流程进行到框118,其中已转换逻辑地址(即,物理地址)作为被选地址来提供并且其中对应于逻辑地址的属性与被选地址一同被提供。也就是说,例如,查找完成并且已转换逻辑地址82作为被选地址84来提供。(因为转换旁路逻辑72已经确定不发生旁路,转换旁路逻辑72设置选择78为选择已转换逻辑地址82。)同样,在与已转换逻辑地址82作为被选地址84来提供的基本上相同时间,地址属性86也被提供。因而,在不执行旁路的情况中,地址属性在与已转换逻辑地址基本上相同的时间被提供,因为它们都作为地址查找的结果被提供。流程100接着结束于结束116。
回到菱形判断框108,如果转换旁路逻辑72确定发生旁路,流程从菱形判断框108进行到框120,其中逻辑地址直接作为被选地址来输出。也就是说,转换旁路逻辑72能够设置选择78从而逻辑地址80作为被选地址84来输出。流程接着进行到框122,其中查找完成。因而,请注意被选地址84在地址查找完成之前被提供。也就是说,逻辑地址80作为已转换逻辑地址(作为被选地址84)被直接提供而不是等待地址查找完成。在此情况下,作为查找结果而提供的实际已转换逻辑地址82被忽略。然而,因为仍然执行查找,即使忽略已转换逻辑地址82,但命中或者未命中仍然被确定。
因而,流程进行到菱形判断框126,其中确定是否已经出现命中或者未命中。如果没有出现命中(表明未命中),流程进行到框124,其中执行未命中处理。例如,在一个实施例中,命中/未命中指示92被设置为指示未命中(例如,其可以相应地设置命中/未命中指示92为逻辑电平0)。指示92接着能够被提供给处理器20(例如,经由控制信号32),其中处理器20可以执行未命中处理。本领域所公知的任何未命中处理能够被执行并且因此将不会在本申请中被更加详细地描述。
然而,如果在菱形判断框126,出现命中,流程进行到框128,其中对应于逻辑地址的地址属性被提供。也就是说,作为完成查找的结果而提供的地址属性86在逻辑地址80直接作为已转换逻辑地址(即,作为被选地址84)被提供后的某一时间被提供。同样,请注意命中/未命中指示也在逻辑地址80直接作为被选地址84被提供后的某一时间被提供。在一个实施例中,流程100的框120中的逻辑地址和框128中的相应属性在不同的时间被提供(逻辑地址在提供相应属性之前被直接作为已转换逻辑地址来提供),但在相同的时钟周期内。可替代地,相应属性可以在后续时钟周期中提供。流程接着结束于结束116。
请注意,相应地址属性可以包括任意数目和任何类型的属性、权限或者它们的任何组合。例如,相应属性可以包括保护的、可缓存的、字节序(Endianness)、指令集选择、存储器一致性所需的、共享的、读/写/执行权限等等。同样,这些属性的一个或多个能够经由例如控制信号32提供给处理器20。同样,这些属性的一个或多个在需要时能够被提供给数据BIU 24和指令BIU 26中的每一个。在一个实施例中,属性的一个或多个还可以经由数据总线接口24的控制52,或者经由指令总线接口26的控制54提供给系统总线18,或者可以被用来确定由控制54或者控制52提供给系统总线18的其它控制信号的值。此外,属性的一个或多个可以被提供给处理电路12或者数据处理系统10内的其它逻辑。
尽管流程100是关于执行地址查找但在使用旁路的情况下忽略由地址查找所导致的已转换逻辑地址来描述的,但在替代实施例中,能够禁止地址转换从而不提供从地址转换器70输出的已转换逻辑地址。然而,在这个示例中,仍然可以提供地址属性86。在这个示例中禁止地址转换可以导致功耗减少,或者更早提供来自地址查找处理的地址属性86。
图6图解了一个时序图,其图解了系统时钟、不使用旁路的被选地址、使用旁路的被选地址和属性(如果有的话)的示例性时序。请注意,当没有使用旁路并且已转换逻辑地址82作为被选地址84来提供时,从当前时钟周期的起点开始测量的到有效地址132的时间相当长,仅仅留下很短的建立时间134。也就是说,建立时间134是接收被选地址的存储器可用来准备后面的时钟周期以适当地使用已接收的被选地址的时间。然而,当使用旁路并且逻辑地址80直接作为被选地址84来提供时,从当前时钟周期的起点开始测量的到有效地址136的时间与到有效地址132的时间相比更短。因而,建立时间138更长,允许接收被选地址的存储器有更多的时间来准备下一个时钟周期。因而,当不使用旁路与使用旁路相比时,被选地址变成有效所需的时间上的差别130允许更大的建立时间。同样,在某些情况下,当不使用旁路时,建立时间134对于特定存储器是不够的,因此需要通过延长时钟周期而让系统时钟在更低频率下操作。这反过来降低了性能。因而,旁路能力可以阻止在更低频率下操作系统时钟的需求。同样,请注意如果任何属性被提供,则该属性在没有旁路的被选地址有效的同时有效,因为在一个实施例中,地址转换(例如,查找)必须被完成以提供属性。然而,在很多情况下,属性仅仅在处理电路12中被使用并且不提供给接收被选地址的存储器。因而,从接收被选地址的存储器来看,地址属性的时序不如被选地址自身的时序重要。因而,通过使用旁路,被选地址与属性相比在时钟周期内更早的有效,这可能允许改进的性能。
如上参照流程100所述,转换旁路逻辑72可以使用旁路控制寄存器74中的值以确定是否允许旁路。在一个实施例中,旁路控制寄存器74被实现为存储多个可编程位的寄存器。可替代地,存储在旁路控制寄存器74中的信息能够存储在任何类型的存储电路中并且能够位于处理电路12或者系统10中的任何地方。在一个实施例中,旁路控制寄存器74在重置时能够被设置为预定值(如默认值)或者能够由转换旁路逻辑72或者处理器20编程。在一个实施例中,在重置时(由重置68提供),转换旁路逻辑72可以轮询数据重置控制64和指令重置控制66以分别确定存储在数据旁路字段98和指令旁路字段96中的值。例如,在一个实施例中,数据重置控制64和指令重置控制66的值能够分别存储至数据旁路字段98和指令旁路字段96。请注意,重置68能够经由位于系统10外部的输入端提供或者从系统10内提供。重置68可以用来重置系统10的全部或者仅仅系统10的部分。例如,重置68可以用来重置处理电路12的全部或者部分。
又在另一个替代实施例中,通过数据旁路控制60和指令旁路控制62的使用能够动态地确定旁路控制。例如,转换旁路逻辑72在接收到逻辑地址而确定是否旁路时,可以首先轮询数据旁路控制60和指令旁路控制62。在一个实施例中,数据旁路控制60和指令旁路控制62的值可以被用来优先于由旁路控制寄存器74中的数据旁路字段98和指令旁路字段96所指示的决定。例如,数据旁路控制60或者指令旁路控制62的逻辑电平1可以指示执行旁路,而不考虑旁路控制寄存器74中的值。可替代地,逻辑电平1可以指示旁路控制寄存器74中的值应当被更新为指示旁路。又在另一个替代实施例中,旁路控制寄存器74可以完全不出现并且转换旁路逻辑72一直使用旁路控制60和62来生成旁路控制信号如选择78。请注意,旁路控制信号60和62能够经由来自位于系统10外部的源的引脚来提供或者能够由处理器20或者系统10内的其它电路来提供。
还请注意,上述实施例参照具有用于数据和指令地址的分离的旁路控制和转换电路来描述。然而,在替代实施例中,对于数据和指令地址的控制可以相同,或者可以仅仅针对指令或者数据地址中的一个来执行旁路控制功能。
至此,应当理解,已经提供了一种能够进行地址转换旁路的处理系统。因为实现本发明的装置的大部分是由本领域技术人员所公知的电子部件和电路构成的,为了本发明的基本概念的理解和认识并且为了不使本发明的教导模糊或者分散对它的注意力,除上面所述的被认为是必需的解释之外,不再对电路细节进行更详细的解释。
上述的某些实施例,如果适用的话,可以通过使用各种不同的信息处理系统来实现。例如,尽管图1及其讨论描述了示例性的信息处理体系结构,但这个示例性体系结构仅仅用来提供对本发明各个方面的讨论有用的参考。当然,出于讨论的目的已经简化了该体系结构的描述,并且这只是根据本发明可以使用的许多不同类型的合适体系结构中的一个。本领域技术人员将认识到逻辑模块之间的边界只是说明性的,并且替代实施例可以合并逻辑模块或电路元件或者对各种逻辑模块或电路元件进行可替换的功能分解。
还例如,在一个实施例中,所示的系统10的元件是位于单个集成电路或者同一设备内的电路。可替代地,系统10可以包括任意数目的分离的集成电路或者分离的相互连接的设备。还例如,系统10或者它的一部分可以是物理电路或者可转换为物理电路的逻辑表示的软件或代码表示。因此,系统10可用任何合适类型的硬件描述语言来体现。此外,本领域技术人员将认识到上述操作功能之间的边界只是说明性的。多个操作的功能可以被组合成单个操作,和/或单个操作的功能可以被分配到额外的操作中。此外,替代实施例可以包括具体操作的多种情况,并且操作顺序可以在各种其它实施例中被改变。
在前面的说明书中,我们已经参考具体的实施例对本发明进行了描述。然而,本领域技术人员会意识到,在不背离由下文权利要求所阐述的本发明范围的情况下,可以进行各种修改和改变。因此,说明书和附图应当只看作是举例,而没有限制性意义,并且所有这样的修改都意图包含在本发明的范围之内。
上面参考具体实施例描述了本发明的优点、其它优势和解决问题的方法。然而,这些优点、优势、解决问题的方法以及任何可以导致任何优点、优势或解决方法出现或者更加明了的要素都不应当理解认为是任何或全部权利要求的重要的、必需的或基本的特征或要素。本申请所使用的术语“包括”、“由......构成”或其任何其它的变化都意图覆盖非排它性的内涵,例如处理、方法、物件或装置,它们所包含的要素的列表并不只是包括这些要素,而是可以包括其它没有表达列举的要素或者属于该处理、方法、物件或装置固有的要素。
本申请所使用的术语“多个”被定义为两个或者多于两个。本申请所使用的术语“另一个”被定义为至少第二个或者更多。
本申请所使用的术语“耦合”被定义为连接,尽管不必是直接地,以及不必是机械地连接。
因为上述详细描述是示例性的,所以当“一个实施例”被描述时,其是示例性的实施例。因此,在该上下文中词语“一个”的使用不旨在指示一个并且只有一个实施例可以具有所描述的特征。而是,许多其它实施例可以并且通常具有示例性的“一个实施例”的所描述特征。因此,当如上使用时,当本发明在一个实施例的上下文中被描述时,该一个实施例是本发明许多可能实施例中的一个。
尽管存在关于词语“一个实施例”在详细描述中的使用的上述警告,但本领域技术人员将理解如果引导的权利要求要素的具体数量在下面的权利要求中被意旨,那么这种意旨将在权利要求中被明确地叙述,而在没有这种叙述时就没有这种限制存在或被意旨。例如,在下面的权利要求中,当权利要求要素被描述为具有“一个”特征时,将意旨该要素应该被限制为一个并且是所描述特征的唯一一个。
此外,本申请所使用的术语“一”被定义为一个或者多于一个。同样,权利要求中例如“至少一个”和“一个或多个”的引导性短语的使用不应该被解释为暗示通过不定冠词“一”引导的另一个权利要求要素将含有这种引导的权利要求要素的任何具体的权利要求限制为只包含一个这种要素的发明,即使在相同的权利要求包括引导性短语“一个或多个”或“至少一个”和例如“一”的不定冠词时。定冠词的使用也一样。