数据总线的转位装置及执行数据总线转位的方法

文档序号:6457891阅读:231来源:国知局
专利名称:数据总线的转位装置及执行数据总线转位的方法
技术领域
本发明涉及的是微电子领域,更具体地说,是关于一种在 微处理器中执行数据总线转位的装置和方法。
背景技术
当今的计算机系统主要依靠高速运行的并行总线实现地址、数据、控制信号以及输入输出信息的传输。例如,X86兼 容微处理器应用著名的同步四泵数据总线,是将64位的总线数 据划分为4组子信号,每组包含16位。每组子信号一般是通过主 板的不同路径单独传输的,并且包含各自的源选通信号和总线 转位信号。源选通信号由总线上的发送信号选通,以表明此组 子信号的数据或者信息有效。总线转位信号表明了传输的数据 是以反码的形式传输的。也就是说,当传输到此组子信号的发 送信号表明了数据是反码状态时,此组子信号的总线转位信号 表明了传输的数据是反码而不是原码。数据总线的转位技术就 是某 一 组子信号以反码的形式在数据总线上传输。由于在总线传输时需要降低功耗和减小总线的噪声,数据 总线的转位越来越成为一种趋势。因为,该领域的技术人员都 知道,当总线上改变状态的比特(bit)的个数或者是信号组的 个数减小时,功耗和噪声都会相应减小。因此,研发人员会在许多现代集成电路的设计中加入比较 一组给定的总线信号的当前状态和下个总线时钟周期中将要传 输的数据状态的部件。如果在给定的这组总线信号中状态改变 的信号比较多,例如超过一半的信号改变,此时,在下一个总 线时钟周期传输的将是数据的反码,而总线转位信号也相应表明传输的数据状态是反码而不是原码。因此,当总线从一个时 钟周期到另一个时钟周期时,状态改变的数据会比较少,由此 会节省大量的功耗和大大降低了总线的噪声。确定在给定的这组总线信号中哪些比特将要改变是比较简 单的。通过逐位的异或运算可以将当前的数据状态或者是最后 的数据状态与将要被传输的数据状态做比较。当异或运算的结 果为l时,表明了该比特在下一个总线时钟周期将会改变。在集 成电路设计中,确定哪些比特将会改变是比较容易的,而确定 将要改变的比特的数目则相对比较困难。在大多数系统中, 一般是用一组全加器来计算将要改变的 比特的数目。首先,使用几个一位的加法器来将异或运算的结 果中的一组比特相加。该领域的^支术人员老P知道, 一位的加法 器有三个输入信号,第一输入信号,第二输入信号和一位进位 输入信号。加法运算后将产生 一位的输出信号和 一位进位输出 信号。因此, 一位的加法器可以将三个输入信号相加产生两比 特的输出信号。两相邻的一位加法器的两比特的输出信号与异或运算结果 中的另外 一 比特数据 一起作为 一 个两位加法器的输入信号,加 法运算后可产生一个三比特的输出信号。两相邻的两位加法器 的三比特的输出信号与异或运算结果中的另 一 比特数据一起作 为一个三位加法器的输入信号,加法运算后又可产生一个四比 特的输出信号。由此类推,随着加法器位数的增加,异或运算 的所有结果或者是绝大部分结果都可以通过加法器相加。加法 器最终输出的就是将在下 一 个时钟周期内改变的比特的数目。该领域的技术人员都知道,在得到所有的异或运算的结果 后才能进行全加器的运算。而要得到所有的异或运算的结果, 需要先将所有的将转变到反码状态的输入信号全部进行异或运算后才能得到。本发明的发明人注意到,如果采用静态逻辑电路设计,则 很容易得到异或运算的结果以作为全加器的输入。然而,大部 分的集成电路设计,尤其是那些高速总线系统中,都是采用了被成为是"多米诺"(domino)的动态逻辑电路设计。动态逻辑电路设计与静态逻辑电路设计不同,因为他们采 用了门时钟来计算组合逻辑电路。时钟信号是用来在顺序逻辑 电路中同步信号的转换,比如在流水线微处理器中,其流水线 设计是被分解为不同的阶段,时钟信号是被用于同步流水线状 态的不同阶段的数据。在大多数的动态逻辑电路中,输出信号在给定的半个时钟 周期内转变到高或者是低状态,电路也允许在另外的半个时钟 周期内,在输入信号变化时,输出信号转变到相反的状态。因 此,时钟信号成为了整个动态电路的选通装置。对于动态逻辑 电路设计提供示例并不在本发明的范围当中。然而,本领域的 技术人员应该可以了解,在由时钟信号选通的一级动态电^各之 后加入一级以上的静态电路,以计算另外的输入数据的逻辑电 路可称为"多米诺"逻辑电路。由于当时钟转变时允许计算动 态电路的输入信号时,接下来的静态电路的状态转换就像是一 排多米诺骨牌。相应的,附加电路在计算给定的装置的输入信号的门延迟 增加了计算给定的装置的输入信号的延迟时间。本发明的发明人注意到,当使用多米诺逻辑电路时,附加的多米诺逻辑电路 在生成数据总线的转位装置中全加器的输入信号时的门延迟时 间很长,是无法应用的。由此,本发明的发明人认为需要一种 可以应用多米诺逻辑电路的数据转位装置。本发明的发明人还观察到,在计算异或运算的结果时使用的 一 位加法器,需要总线上 一 组三比特的数据以作为第 一 输入 信号,第二输入信号和一位进位输入信号。因此,在计算数据 总线上状态变化的比特数时,对一组十六比特的数据,设计者 不是多加一个加法器来计算这组十六比特数据的最后一比特数 据,就是将这组十六比特数据的最后一比特数据忽略。 一般, 最后的这一比特是不能简单忽略的,因此将在总线上造成功耗 和噪声。因此,在计算数据总线上状态变化的比特数的过程中,本 发明的发明人认为还需要一种可以计算一组数据中的所有比特 的方法,以减少在高速总线上从 一 个时钟周期到下 一 时钟周期 的功耗和噪声。因此,本发明的一个目的在于提供一种总线状态的监测装本发明的另一目的在于提供一种数据总线的转位技术,其可以 减小在确定总线数据是否转位时的延迟时间,尤其是应用多米 诺逻辑电路后的延迟时间。发明内容本发明的目的在于提供一种数据总线的转位装置,包括 多个异或门电路,连接于一实时数据总线和一最新数据总线, 该两条数据总线上包含了相对应的多比特数据,该多个异或门 电路用于执行该两条数据总线的逐位比较,并且提供一异或门 数据总线,其中该异或门数据总线上的数据表明了该实时数据 总线和该最新数据总线上的对应的数据比特是否相同;以及一 总线状态监测器,连接于该异或门数据总线,用于计算对应的 多比特数据中数据状态不同的比特数目,以表明该实时数据总 线的数据是否需要转位,其中该总线状态监测器还包含了 多个逻辑左移电路,该逻辑左移电路用于将一输入信号根据一移 位信号进行逻辑左移操作,从而使每个所述逻辑左移电路的输 出信号表明了对应的一组多比特数据中数据状态不同的数据比 特的数目。本发明的另一目的在于提供一数据总线的转位装置,包括 多个异或门电路,连接于一实时数据总线和一最新数据总线, 该两条数据总线上包含了相对应的多比特数据,该多个异或门 电路用于执行该两条数据总线的逐位比较,并且提供一异或门 数据总线,其中该异或门数据总线上的数据表明了该实时数据 总线和该最新数据总线上的对应的数据比特是否相同;以及一 总线状态监测器,连接于该异或门数据总线,用于计算对应的 多比特数据中数据状态不同的比特数目,以表明该实时数据总 线的数据是否需要转位,其中该总线状态监测器还包含了 多 个相对计算电路,该相对计算电路只需对输入数据的原码进行逻辑操作,每个相对计算电路的输出表明对应的一组多比特数 据中数据状态不同的数据比特的数目范围。本发明的另 一 目的在于提供一种执行数据总线转位的方 法,包含首先执行一实时数据总线和一最新数据总线上数据 的逐位异或操作,该两条数据总线上包含了相对应的多比特数 据,并且提供一异或门数据总线,该异或门数据总线上的数据 表明了该实时数据总线和该最新数据总线上的对应的数据比特 是否相同;以及计算对应的多比特数据中数据状态不同的数据 的数目,计算结果表明实时数据总线的数据是否需要转位,其中该计算步骤还包括了将异或门数据总线上的数据比特进行逻辑操作,其中,只 需对数据的原码进行操作,操作结果表明对应的一组多比特数 据中数据状态不同的数据比特的数目范围。本发明所述的数据总线的转位装置及执行数据总线转位的 方法,可以减小在确定总线数据是否转位时的延迟时间。


图1是在当前的微处理器中采用传统方法执行数据总线转 位的装置的模块示意图。图2是当前的总线状态监测装置的模块示意图,其包含图1 中的总线状态监测及转位装置。图3是本发明中包含了改进后的总线状态监测装置的微处 理器的模块示意图。图4是本发明中改进后的转位监测器的更详细的模块示意 图,该转位监测器可以应用于图3中的微处理器。图5是本发明中另 一改进后的转位监测器的更详细的模块 示意图,该转位监测器可以应用于图3中的微处理器。
具体实施方式
以下的说明能够使任何熟悉本项技术的人员能按照本说明 书的内容和要求来制造和使用本发明。任何熟悉本项技术的人 员,在不脱离本发明的范围内,可在此基础上做进一步的形式 上和具体实施方式
上的改进和变化,因此,本发明不应局限在 上述任何一个实施例中,本发明的保护范围当以本申请的权利 要求及其均等物所界定的范围为准。在背景技术中已经讨论过总线转位技术的原则以及在当前 微处理器中监测总线上下 一 时钟周期将改变的比特的数目的相 关技术。在此,先通过图l和图2讨论一下现有技术的一些限制。 然后,由图3到图5对本发明做进一步的讨论。本发明提供了一 种较好的技术来监测总线上将要改变的比特的数目,以及提供了在使用多米诺逻辑电路的集成电路中相关的装置和方法。参照图1 ,该图是在当前的微处理器101中采用传统方法执 行数据总线转位的装置的模块示意图100 。微处理器(microprocessor) 101包含了一数据电路(data circuit) 102, 该数据电路102通过一 实时数据总线104和 一 最新数据总线105 连才妄于一总线卄犬态监测及寿争4立装置(bus state sense mechanism and inverter) 103。实时数据总线104上具有实时数据信号线 IDB[63: 0],最新数据总线105上具有最新数据信号线LDB[63 : 0|。总线状态监测及转位装置103与具有内部数据ID[63: O]以 及转位信号IDBI[3: O]的内部数据总线106相连。内部数据总线 10 6在微处理器101的接口处与外部数据总线10 7相连,微处理器 101的接口在图中未标出,其包含了传统的金属焊点,金属丝接 头等。外部数据总线107具有数据D[63: 0]以及DBI[3: 0|,其 类似于数据ID[63: 0]以及IDBI[3: 0],只是信号名称中少了字 母"I"。外部数据总线107将微处理器101与其它的设备相连以传 输数据。该领域的冲支术人员都知道,总线104, 105, 106以及107的 状态是与图中未标出的一参考时钟信号,也就是常说的总线时 钟同步建立的。另外,微处理器101 —般包含图中未标出的一内 部核心时钟信号,其频率是参考时钟信号的整数倍,以允许微 处理器核心逻辑电路在一个比参考时钟信号快的频率下运行。 为了使图更加清晰,参考时钟和核心时钟并没有在图上标出。再者,该领域的技术人员都知道,除了在模块示意图IOO 中标出的电路以外,当前的微处理器101包含了几百个附加电 路。但为了使图示清晰,模块示意图100中只包含了微处理器中 与数据总线转位相关的电路。例如,在内部数据总线106和外部 数据总线107之间的内部接口处会有緩冲总线的驱动,以在使用特殊的总线协议时提供有效数据传输。为了图示的清晰,这些 驱动电路并没有在模块示意图100中标明。如前所述,数据总线转位技术应用于数据总线系统以减小 由于外部总线的高速转换而引起的功耗和噪声。因此,在下一 个总线时钟周期,数据电路1 02将欲传送的数据比特的状态通过实时数据总线10 4传输到外部数据总线10 7 。在当前总线时钟周 期,数据电路10 2还将最新数据总线10 5的数据比特的状态传输 到外部数据总线10 7 。总线状态监测及转位装置10 3逐位比较当 前传输的数据LDB[63: O]与将要被传输的数据IDB[63: O]的数 据比特状态,并且计算出将会改变的比特的数目。在许多实例 中,如果将会改变的数目大约是总比特数的一半,则外部数据 总线107上数据D[63: Ol的状态的总的改变,与在外部数据总线 1()7上输出数据的反码状态的总的改变相比,将在下 一 个总线时 钟周期增加更多的功耗和噪声。因此,如果在下个总线时钟周 期将会改变的比特的数目多于总比特数的一半时,总线状态监 测及转位装置103向外部数据总线107提供数据IDB[63: 0]的反 码状态,并且会通过内部数据总线的转位信号IDBI[3: O]标明 提供的是数据IDB[63: O]的反码状态。在下一个总线时钟周期, 数据IDB[63: 0]的反码状态将在外部数据总线107上传输,根据 使用的特殊的总线协议以及内部数据总线的转位信号ID BI [ 3 : Oj的状态,可以标明传输的是转位后的数据。以上讨论假定所有的外部数据总线的信号在外部数据,悉线 107上是以相同的路径传输的,因此在本质上具有相同的线路传 输特性。但是,在当今的系统中,也就是所谓的同步数据总线 结构中,比如应用于X86兼容微处理器的同步四泵数据总线, 数据传输情况并不是如此。因为,信号组D[63: 48], D[47: 32J, 1)|31: 16]以及D[15: O]在外部数据总线107上是以不同的路径传输的,为了减小其各自的数据路径上的功耗和噪声,就必须对信号组D[63: 48], D[47: 32], D[31: 16]以及D[15: O]分别 进行数据总线转位。这样的结构如模块示意图100所示,这里假 定外部数据总线107是对应于信号组D[63: 48], D[47: 32], D[31: 16J以及D[15: 0]的四条凄t据3各径。因此,四位的凄丈据总线4争位 信号DBI[3: O]用来标明对应于信号组D[63: 48], D[47: 32], D31: 16]以及D[15: O]的数据转位情况。例如,DBI[3: 0〗的 值为0101b就标明了信号组D[47: 32]和D[15: O]传输的是凄丈据 的反码状态,而信号组D[63: 48]和D[31: 16]传输的是原码。因此,总线状态监测及转位装置103逐位比较IDB[63: 48] 与LDB[63: 48]的数据状态,如果多于 一半的数据状态是不同 的,将会通过内部数据总线106提供IDB[63: 48]的反码数据状 态给ID:63: 48],并且信号IDBI[3]标明了数据状态为反码。与 此类似,IDB[47: 32〗,IDB[31: 16]以及IDB[15: O]的数据比 特将分别与LDB[47: 32|, LDB[31: 16]以及LDB[15: O]的数据 状态相比较,如果进行了转位操作,转位数据将会通过内部数 据总线106提供给ID[47: 32], ID[31: 16]以及ID[15: Oj,并且 信号IDBI[2: O]根据是否进行了转位操作标明了数据状态是否 为反码。虽然图l中的外部数据总线107是一被分为四组16比特的信 号组D[63: 48], D[47: 32], D[31: 16]以及D[15: 0]的6^H立的 外部数据总线,这仅仅是本发明的一个实例而已。该领域的技 术人员都知道,前文所述的数据总线转位技术可以应用于任意 类型的总线结构,包括地址总线,控制总线等等,也可以应用 于任何宽度的总线,比如256比特的总线。另外,为数据转位而 设计的特定的信号组是根据外部数据总线的数据路径而确定 的。因此,不同的信号组包含了不同数目的信号,而总线状态监测及转位装置103相应的计算状态不同的数据比特的数目以 及标明是否进行了转位。本发明的发明人注意到,将一组或者多组^言号组IDB[63: 48|, IDB[47: 32], IDB[31: 16]以及IDB[15: O]的数据转位是 比较简单和快速的。而确定某一信号组IDB[63: 48], IDB[47: 32], IDB[31: 16]以及IDB[15: O]的数据是否需要转位相对会 比较难。本发明的发明人注意到,计算某一信号组IDB[63: 481, IDB[47: 32], IDB[31: 16]以及IDB[15: O]中状态改变的凄丈据 比特的数目需要密集的电路结构和消耗很长的时间。而计算某 一信号组IDB[63: 48], IDB[47: 32], IDB[31: 16]以及IDB[15: 0 ]中状态改变的数据比特的数目所需的时间将增加为完成整个 数据传输所需的时间。增加的延迟在绝对项中可能是比较小的, 但在相对项中,将可能会大大增加将数据传输到外部数据总线 107所占的时间比率,特别是在当今可以在几纳秒 (nanoseconds)内完成数据传输的高速数据总线107中更是如 此。例如,增加百分之十到百分之二十的总线延迟可能会降低 相应的 一定量的总线带宽,由此将导致系统性能的显著损失。 这些缺点将在图2中做进一 步的讨论。图2为当前的总线状态监测装置200的模块示意图,比如, 可以包含图l中的总线状态监测及转位装置103。总线状态监测 装置2 0 0用于比较数据比特并计算出将在下个总线周期改变的 比特的数目。图l中的总线状态监测及转位装置103还包含了将 信号组进行转位的逻辑电路单元或者是组件。而将 一 组数据转 位是很常见的操作,因此,为了图示清晰,进行数据转位的组 件没有在图示中标明。图2中的总线状态监测装置200用于比较一个16比特的信号 组的数据状态,例如图l中的信号组D[15: 0],并计算出将在下个总线周期状态改变的比特的数目。在图l中,必须有四个这样的总线状态监测装置200以比较外部数据总线107上信号组 D[63: 48], D[47: 32], D[31: 16]以及D[15: O]的数据状态, 并计算出每一信号组内将在下个总线周期状态改变的比特的数 目。在此,信号组D[15: O]只是一个实例,是将实时数据总线 204上的信号组IDB[l 5 : 0]与最新数据总线205上的信号组 LDB[15: O]相比较。实时数据总线204和最新数据总线205逐位 与 一异或门电路206相连,这些异或门电路分别被标示为U15到 UO,每个异或门电路206将实时数据中的一比特IDB[X]与相应 的最新数据中的一比特LDB[X]作比较,并生成异或门总线207 上信号组DXOR[15: O]中相应的一比特数据DXOR[X]。举例来 说,数据IDB[O]与LDB[O]耦接于异或门电路UO,则异或门电路 UO的输出为DXOR[O]。如果数据IDB[O]与LDB[O]相同,则输出 的DXOR
为逻辑0。如果数据IDB[O]与LDB[O]不同,则输出的 DXOR
为逻辑1。以此类推,实时数据总线204上其余的数据 比特与相应的最新数据总线205上其余的数据比特通过异或门 Ul5到Ul相比较,并在异或门总线207上生成输出信号 DX0R[15: l]以标明每个异或操作的结果。因此,如图2所示的一组16比特的信号组,其用于计算异或 门总线207上数据为逻辑1的比特的数目。如果异或门总线207 上数据为逻辑1的比特的数超过8比特,其相应的内部数据总线 106的信号组ID[15: O]将进行数据转位,而IDBI[O]也将标明数 据的转位状态。在设计中,设计者一般会使用4个一位的全加器209来作为 电路的第一级,以将16比特的信号组DXOR[15: 0]中的12比特 数据相加。因此,每个一位的全加器将12比特中的3比特数据作 为输入,并生成一位的输出信号O和一位进位输出信号CO。如图2所示的结构,DXOR
连接于一位的全加器U1的输入B, DXOR[ 1 ]连接于 一 位的全加器U1的输入A,而DXOR[2]连接于 一位的全加器U1的进位输入CI。与此类似,DXOR[5: 3j连接 于一位的全加器U2的输入,DXOR[9: 7]连4妻于 一位的全加器 U3的输入,而DXOR[12: 10]连接于 一位的全加器U4的输入。每 一 个 一 位的全加器209输出二进制的输出信号O和进位 输出信号CO以计算输入信号中值为逻辑1的个数,从而计算出 了相应的状态改变的数据的个数。四个第一级的一位全加器209的输出信号(亦即输出信号O 和进位输出信号CO )被当作是第二级的两位全加器210的输入 信号,而异或门总线207上另夕卜的两比特数据DXORL13]和 DXOR[:6]将作为两位全加器210的进位输入信号CI。两位全加器 210生成三位的输出信号O[2: O]来作为各自的输入信号A[1: 0], B|l: OI和CI的和,,人而计算出了相应的7^:据比特中状态改变 的数据比特的个数。因此,全加器U5的输出信号0[2: O]标明 了相应的7数据比特DXOR[6: 0]中状态改变的数据比特的个数, 而全加器U6的输出信号0[2 : 0]标明了相应的7数据比特 DXOR[l3: 7]中状态改变的数据比特的个#:。两位全加器210的输出信号O [ 2: 0 ]被当作是第三级的三位 全加器211的输入信号,而异或门总线207上另外的一比特数据 DXOR[14]作为三位全加器211的进位输入信号CI。因此,三位 全加器211计算出了数据组DXOR[14: O]中状态改变的数据比特 的个数,并且在改变状态的比特数总线2 0 8上输出二进制的信号 COUNT[3: O]以标明了相应的状态改变的数据比特的个数。本发明的发明人观察到,在图2中16比特的DXOR[15: 0]中, 只有15比特的数据被加入全加器中。若为了计算更多的比特数 据,则需要加入比图2所示的更多的逻辑电路,因此,在传统的使用总线状态监测装置200的系统中,会将异或门总线207这组十六比特数据的其中一比特数据忽略,只提供将这16比特中的 15比特相加后的结果。该结果被提供给改变状态的比特数总线 208,并且当COUNT[3: 0]的值大于011 lb时,转位电路会判定 相应的16比特的信号组D[15: O]将会被转位。图2中传统的总线状态监测装置200被应用于微处理器101 或者是其它使用传统的与门,或门进行逻辑电路设计的其它集 成电^各中时,可以降低时间和功4毛。^旦如前文所述,在更先进 的微处理器及相关电路中,越来越多的开始使用动态逻辑电路 设计技术,多米诺逻辑电路就被应用在逻辑计算完成后以提高 电路的速度。本发明的发明人注意到,已有技术中为判断是否 进行转位而使用的计算数据状态改变的比特数目的技术,比如 图1和图2中的技术,在实现全加器209 - 211时,需要使用大量 的门电路,这是非常低效的。因为,该领域的技术人员都知道, 必须使用异或电路才能进行全加器的运算。而在异或电路中使 用多米诺逻辑电路设计将会使其效率非常低。因为异或运算需 要每个输入信号的原码和反码数据状态才能进行运算。而将每 个原码转位以得到它的反码将会导致一定程度的门延迟,这将 大大增加计算改变的数据比特的数目所需的时间延迟。另外, 对一个系统来说,功耗的减少和噪声的降低越来越重要,因此, 本发明的发明人认为需要一种可以计算给定的信号组中所有状 态改变的数据比特的数目的装置,而不是像总线状态监测装置 200那样,无法计算所有的状态改变的数据比特数目。该领域的技术人员都知道,多米诺逻辑电路在执行简单的, 层叠式的逻辑操作,例如逻辑与操作、逻辑或操作,特别是多 比特的逻辑或操作时,其结构是相当简单,高效的。然而,该 领域的技术人员都知道,更复杂的布尔运算,例如异或运算,就需要更复杂的电路结构。在异或运算中,如前文所述,需要 每个输入信号的原码和反码数据状态才能进行异或运算。这样 的电路在使用传统的逻辑电路设计时是比较简单和易于实现 的,而采用多米诺逻辑电路设计方法,这种电^各的设计和实施 非常的复杂。因此,本发明的发明人认为需要减小在计算状态改变的比 特数目时所需要的异或操作的数量,也就是减小前文所述的外异或操作的数量。该领域的技术人员都知道,在开始时,将实时数据总线信号组和最新数据总线信号组通过如图2所示的异或门U15 - U0 进行异或操作以判断哪些比特状态改变是非常必要的,但有可 能减少所有的全加器209 - 211中的异或运算。众所周知,任何 装置中的加法操作都需要异或电路,而如前文所述,异或操作 使用多米诺逻辑电路时需要更多的逻辑电路才能实现,因为需 要每个全加器209 - 211的每个输入信号的原码和反码数据状态 才能进行异或运算。本发明通过提供一种能够计算给定信号组中所有状态改变 的数据比特的数目的装置和方法来克服了上述问题,并且,这 种装置和方法可以有效地使用多米诺逻辑电路设计技术。在一 个实施例中,本发明通过将简单逻辑电路与逻辑左移电路结合 使用以计算状态改变的比特数,从而减少了所需进行的异或操 作的数量。在另一个实施例中,本发明只使用了逻辑与门和逻 辑或门来计算状态改变的比特数,这些操作只需要数据的原码 就可以运行。下面将通过图3到图5进一步阐述本发明。参照图3,该图是本发明中包含了改进后的总线状态监测装 置的微处理器3 01的模块示意图3 0 0,该总线状态监测装置可以很容易的使用多米诺逻辑电路。与图l中的微处理器101相类似,本发明的微处理器3 01包含了数据电路3 0 2,该数据电路3 0 2提供 了实时数据总线304和最新数据总线305 ,实时数据总线304上具 有实时数据IDB[63: 0],最新数据总线305上具有最新数据 LDB[63: 0]。实时lt据总线304和最新数据总线305逐位相连于 多个异或门电^各312,分别被标示为U63: UO。在一个实施例中, 实时数据总线304和最新数据总线305各自包含了 64比特的数 据,本发明也可以使用其它的总线带宽。在如图3所示的实施例 中,与图l和图2^f艮相似,都是判断四组16比特的信号组中状态 改变的比特数目的情况,这四组16比特的信号组对应于外部数 据总线307上的四组信号D[63: 48], D[47: 32], D[31: 16]以 及D[15: 0],并且对应于数据总线转位信号DBI[3], DBI[2], DBI[l]和DBI[O]。由于信号组带宽的不同,比如是四组32比特的信号组或者 是两组16比特的信号组,本发明的信号组可以包含不同的比特 数目,比如32比特的信号组或者是8比特的信号组。为了使图示 清晰,本发明中的微处理器301连接于一具有四组16比特的信号 组D[63: 48], D[47: 32], D[31: 16]以及D[15: 0]的64比特的 外部数据总线307。因此,异或门U63: U0生成64比特的输出信号DX()R[63: O]给异或门总线309 ,该总线连接于 一 个四线计算器(quad counter )310。四线计算器310包含了四个转位监测器(INVDET ) 313,每一转位监测器313生成一对应于16比特的信号组的状态 改变的比特数的转位输出信号INV3 - INVO。例如,转位输出信 号INV0为信号组DXOR[15: 0j中状态改变的比特的数目,而转 位输出信号INV1为信号组DXOR[3 1: 16]中状态改变的比特的 数目,依此类推。转位输出信号INV3 - INV0连接于总线转位装置(bus inverter) 311。实时数据总线304也连接于总线转位装置3 11 。 总线转位装置311生成对应于四组数据总线ID[63: 48], ID[47: 32], ID[31: 16]以及ID[15: 0]的原码数据状态或者是反码数据 状态,同时在内部数据总线306上生成各自的内部数据总线转位 状态信号IDBI[3: O]。四组信号总线ID[63: 48], ID[47: 32], ID[31: 16]以及ID[15: O]分别连接于外部数据总线307上相应的 信号D[63: 48], D[47: 32], D[31: 16]以及D[15: O],内部凄t 据总线306的转位状态信号IDBI[3 : O]连接于外部数据总线307 上相对应的外部数据总线转位状态信号DBI[3: O]。内部数据总 线306在微处理器301的接口处与外部数据总线307相连,微处理 器301的接口在图中未标出,其包含了传统的金属焊点,金属丝 接头等。外部数据总线307将微处理器301与图中未标出的其它 的设备相连以传输数据。图3中的架构不仅仅适用于数据总线,也适用于地址总线, 输入输出总线以及控制总线等等。与图l中的架构相似,本发明中的微处理器架构也是将总线 304, 305, 306以及307的状态与图中未标出的一参考时钟信号 同步,也就是与常说的总线时钟同步。另外,本发明中的微处 理器301可包含图中未标出的一内部时钟信号,其频率是参考时 钟信号的整数倍,以允许微处理器核心逻辑电路在 一 个比提供 的参考时钟信号快的频率下运行。为了使图更加清晰,参考时 钟和核心时钟并没有在图上标出。微处理器301还包含了多个附 加电路,但为了使图示清晰,也没有在图示中标出。在运行时,数据电路302将在下 一个总线时钟周期的数据比 特的状态通过实时数据总线3 0 4传输到外部数据总线3 0 7 。数据 电路302还将在当前总线时钟周期的最新数据总线305的数据比特的状态传输到外部数据总线3 0 7 。总线3 0 4和3 0 5的状态在异或 门312中逐位比较,以确定他们是否不同以及异或门总线309相 对应的DXOR[63: O]是否表明状态改变。异或门总线309 DXOR[63: O]一皮分为四组16比特的信号组, 每组16比特的信号组连4妄于四个独立的转位监测器3 13 ,该四个 独立的转位监测器313,皮包含在一个四线计算器310中。在如图 所示的实施例中,每 一 个转位监测器313用于在输入的 DXOR[XX: YY]中多于一半的信号为"l"时,将设置其各自的 转位输出INV3 - INV0 ,以表明多于 一 半的数据状态发生了改 变。本发明中的转位监测器313与已有的计算装置不同,它可以因此,如果在下一时钟周期,给定的数据组中有多于一半 的数据比特状态将要改变,那么与其相连的转位监测器313将设 置其各自的转位输出INV3 - INVO,并且总线转位装置311将信 号组ID[XX: YY]的反码状态输出给内部数据总线306,并且通 过内部数据总线转位信号IDBI[3: O]表明了数据处于反码状态。 在下一个时钟周期,ID[XX: YY]的反码状态传输到外部数据 总线307,根据使用的给定的总线协议种类以及内部数据总线的 转位信号IDBI[Z]的状态,可以据以改变外部数据总线307的 DBI[Z]的状态,进而标明传输的是转位后的数据。四线计算 器310,四组信号D[63: 48], D[47: 32], D[31: 16]以及D[15: 0|,其各自的总线转位装置311和外部数据总线转位信号DBI[3: O]共同并行地完成了数据总线转位的操作。参照图4,该图是本发明中改进后的转位监测器400的更详 细的模块示意图,该转位监测器400可以应用于图3中的微处理 器。转位监测器400用于计算在下一个时钟周期,外部数据总线 307上给定的 一组信号组中状态将要改变的数据比特的数目。如前文所述,状态是否改变时由一组逐位的异或操作得到的,并且由异或门总线309上各自的DXOR[15: O]的数据状态来标明。 在一个实施例中,某一逻辑状态指出其所相对应的一比特在下 一时钟周期的数据状态将改变。与图2中传统的转位监测装置 200不同,本发明中的转位监测装置400是通过将简单逻辑电路 与逻辑左移电路结合使用以计算状态改变的比特数,替代了传 统方法中的加法器209 - 211,而简单逻辑电路与逻辑左移电路 时很容易通过动态电路实现的。如下文所述,在第一级计算中 执行这些简单逻辑运算和逻辑左移运算,只需要DXOR[15: 0] 的原码状态而不需要DXOR[15: O]的反码状态,从而消除了计 算DXOR[15: O]的反码状态所带来的时间延迟。在一个实施例中,转位监测器400包含了 8个并行的计算电 路(CNT)401,即图中的U8-Ul,每个并行计算电路401计算 16比特的异或总线DXOR[l 5: O]上的两比特数据。信号DX()R[O | 连接于Ul的输入端Il,信号DX0R[1]连接于U1的输入端I2。与 此类似,其余的14比特信号DXOR[15: 2]分别连接于计算电路 U8 - U2的输入端I1和输入端I2。每一个计算电路401执行的是 输入端I1和输入端I2的两信号的一逻辑或非运算, 一逻辑异或 运算以及一逻辑与运算。逻辑或非运算的结果输出到输出端0, 逻辑异或运算的结果输出到输出端1,而逻辑与运算的结果输出 到输出端2。因此,如果两输入信号都不是l,则输出端0为1。 如果只有一个输入信号为1,则输出端l为l。如果两输入信号都 是l,则输出端2为1。由此,输出端口的逻辑状态可以表明输入 端I1和输入端I2的逻辑状态。计算电路401中的异或运算需要输入端I1和输入端I2的反 码状态,但计算电路4 01只是转位监测器4 0 0中需要输入反码状 态的唯一部件。计算电路401的输出端2 - 0连接于四个逻辑左移2位电路 (LEFT SHIFT 2 ) 402,即图中的U12-U9,每个逻辑左移2位 电路具有数据输入信号I[2: 0]和移位输入信号S[2: O]。 Ul的输 出端2: 0连接于U9的数据输入信号I[2: O], U2的输出端2: 0 连接于U9的移位输入信号S[2: O]。与此类似,图中的U8-U3 的输出端2: 0分别连接于U12 - U10的数据输入信号I[2: O]和移 位输入信号S[2: O]。移位输入信号S[2: O]使逻辑左移2位电i 各402对数据输入信 号I[2: O]进行逻辑左移操作。由于数据输入信号I[2: O]和移位 输入信号S[2: 0]连接于计算电路401的输出端2 - 0,因此,每 组数据输入信号I[2: 0]和移位输入信号S[2: O]中只有l比特数 据为逻辑"l"。当S
为1时,数据输入信号I[2: O]不进行移位 操作;当S[1]为1时,数据输入信号I[2: O]进行左移一位的操作; 当S[2]为1时,数据输入信号I[2: O]进行左移两位的操作。进行 左移操作时,填充位为O。左移后的运算结果与填充位一起输出 到U12 - U9的输出端4: 0。因此,输出端4: O中最多有一比特 为逻辑"l",而逻辑"l"的数据的位置表明了与逻辑左移2位电路 402相关联的DXOR[15: O]中的四比特数据中状态改变的数据比 特的个数。该领域的技术人员都知道逻辑左移2位电路402很容 易通过动态电路实现,并且不需要生成输入数据的反码状态。四个逻辑左移2位电路402的输出端4: 0连4妻于两个逻辑左 移4位电路(LEFT SHIFT 4 ) 403,即图中的U14-U13。每个 逻辑左移4位电路403的数据输入信号I[4: O]和移位输入信号 S[4'. 0]生成输出端8: 0,其工作原理与前文所述的逻辑左移2 位电路402相似,其不同之处只是数据输入信号,移位信号和输 出端信号比特数的不同。因此,逻辑l的数据的位置也表明了与 逻辑左移4位电路403相关联的DXOR[ 15: 0]中的8比特数据中状态改变的数据比特的个数。该领域的技术人员都知道逻辑左移4位电路403与逻辑左移2位电路402相似,很容易通过动态电路实现。两个逻辑左移4位电路403的输出端8: O连接于图中的逻辑 左移84立电3各(LEFT SHIFT 8 ) 404。遷l辱左牙多8^f立电3各404的凄t 据输入信号I[8: 0]和移位输入信号S[8: 0]生成输出端16: 0, 其工作原理与前文所述的逻辑左移4位电^各403相似,其不同之 处只是数据输入信号,移位信号和输出端信号比特数的不同。 因此,逻辑1的数据的位置也表明了与左移8位电^各404相关联的 DX0R[15: O]中状态改变的数据比特的个数。逻辑左移8位电路 404也是很容易通过动态电路实现。为了判断是否有多于某一数量的数据比特状态发生了改 变,只需要将逻辑左移8位电路4 04中与状态改变要求相关联的 数据比特进行逻辑或操作。基于前文所述的电路401 - 403的工 作原理,输出端16: 0中只有1比特数据状态为1。例如,判断是 否有多于9比特的数据状态发生了改变,输出端16: IO应该进行 逻辑或操作。判断是否有多于8比特的数据状态发生了改变,输 出端16: 9应该进行逻辑或操作。因此,输出端16: 9连接于具 有信号CNT[16: 9]的计算总线405。计算总线405连接于8输入 的或门电路406,即图中的U16。或门电i 各406生成输出信号 INV407。如果输出信号INV407被设置,则在下个时钟周期,该 数据组将进行数据总线转位。另外,使用动态逻辑电路设计技术,可以很容易的将或运 算包含进左移8位电路404中,只需要1比特输出数据INV,而不 需要输出端16: 0。因此,与已有技术相比,本发明的一个优点在于DX0R[:15: 0]的所有16比特数据都被包含进了计算中,而不像传统的总线状态监测器只能计算其中的15比特数据。图4的实施例的另 一个优点是,只有计算电路401需要用到异或运算,其它的左移电路 402 - 404只需要输入数据的原码状态,这就降低了由于进行数 据总线转位而带来的延迟。图4中的转位监测器400在每一阶段中可以精确计算其对应 的DX0R[15: O]数据组中状态改变的比特数。而或门电路406 的输出信号INV407只是一个相对数值或者说一个数据范围来 表明DXOR[15: O]中状态为l的比特数。在图4中的实施例中, 信号INV表明了改变的数据比特多于8比特,也就是改变的比特 数在9比特到16比特之间。因此,图4的实施例可以被简化以在 每 一 级计算步骤中算出相对数值而不是只在最后步骤中计算。 因此,图5显示了另一实施例,其在第一级中不需要异或操作, 也就是不需要图4中的计算电路401。参照图5 ,该图是本发明中另 一 改进后的转位监测器500的 更详细的模块示意图,该转位监测器500可以应用于图3中的微 处理器。在一个实施例中,转位监测器500包含了 8个并行的2 比特相对计算电路(RELCNT2) 501,即图中的U8-Ul,每个 并行的2比特相对计算电路501计算16比特的异或总线 DXOR[15: O]上的两比特数据。信号DXOR
连接于U1的输入 端B,信号DX0R[1]连接于U1的输入端A。与此类似,其余的14 比特信号DXOR[15: 2]分别连接于计算电路U8 - U2的输入端B 和專俞入端A。在运行时,每一个计算电路501执行的是输入端B和输入端 A的两信号的逻辑或运算和逻辑与运算。逻辑或运算的结果输 出到输出端GE1,逻辑与运算的结果输出到输出端GE2。因此, 如果输出端GEl为l,则表明了状态改变的数据比特为l比特或 者是多于l比特。如果输出端GE2为1,则表明了状态改变的数据比特为2比特。由此可以看出,2比特相对计算电路501只进行 了逻辑或运算和逻辑与运算,因此只用到了其输入信号B和输 入信号A的原码,并不需要生成数据的反码,因此,与图4的实 施例相比,其性能有所改进。2比特相对计算电路501的输出信号GE[2: l]连接于四个4 比特相对计算电路(RELCNT4 ) 502,即图中的U12- U9,每 个电路具有AGE输入信号AGE[2: l]和BGE输入信号BGE[2: l]。 Ul的输出信号GE[2: 1 ]连接于U9的BGE输入信号BGE[2: 1 ], U2的输出信号GE[2: 1 ]连接于U9的AGE输入信号AGE[2: l]。 与此类似,图中的U8 - U3的输出信号GE[2: 1]分别连接于U12 -U10的AGE输入信号AGE[2: 1 ]和BGE输入信号BGE[2: l]。在运行时,每个4比特相对计算电路502用于对其输入信号 AGE[2: 1]和BGE[2: l]执行一 系列的逻辑运算,包括逻辑与运 算和/或逻辑或运算。4比特相对计算电路502生成4比特的输出 信号GE[4: 1 ]来表明数据组中数据状态改变的比特数分别是大 于或者是等于4, 3, 2和1。例如,GE[4: 1 ]的值为0111 b则表明 了改变的数据比特数目大于或者等于3。输出信号GE[4: l]可以 由以下的逻辑运算得到,其中,'",,代表逻辑与运算,而"+,,代 表逻辑或运算。GE4=AGE2.BGE2GE3= ( AGE2-BGE1 ) + ( AGE1.BGE2 ) GE2=AGE2+ ( AGE1.BGE1 ) +BGE2 GE1=AGE1+BGE14比特相对计算电路502的输出信号GE[4: l]连接于两个8 比特相对计算电路(RELCNT8 ) 503,即图中的U14-U13,每 个电路具有AGE输入信号AGE[t 1]和BGE输入信号BGE[^ 1|。 U9的输出信号GE[4: 1]连接于U13的BGE输入信号BGE[4: 1|,U10的输出信号GE[4: 1]连接于U13的AGE输入信号AGE[4: l]。 与此类似,图中的Ull - U12的输出信号GE[4: l]分别连接于 U14的BGE输入信号BGE[4: l]和AGE输入信号AGE[4: l]。在运行时,每个8比特相对计算电路503用于对其输入信号 AGE[4: 1]和BGE[4: l]执行一 系列的逻辑运算,包括逻辑与运 算和/或逻辑或运算。8比特相对计算电路503生成8比特的输出 信号G E [ 8: 1 ]来表明数据组中数据状态改变的比特数分别是大 于或者是等于8, 7, 6, 5, 4, 3, 2和1。例如,GE[8: l]的值 为00111111b则表明了改变的数据比特数目大于或者等于6。输 出信号GE[8: l]可以由以下的逻辑运算得到。<formula>formula see original document page 28</formula>第三级的相对计算电路的输出信号连接于末端相对计算电 路(RELCNT—GE9 ) 504,即图中的U15,该电路具有AGE输入 信号AGE[8: 1]和BGE输入信号BGE[8: l]。 U13的输出信号 GE[8: 1]连接于U15的BGE输入信号BGE[8: 1], U14的输出信 号GE[8: 1]连接于U15的AGE输入信号AGE[8: l]。末端相对计 算电路504只生成1比特的输出信号INV给总线505 ,来表明数据 组中数据状态改变的比特数是大于或者是等于9。生成输出信号INV仅需要通过逻辑与运算和逻辑或运算,其计算公式如下所示INV= ( AGE8BGE1 ) + ( AGE7.BGE2 ) + ( AGE6.BGE3 ) + ( AGE5'BGE4 ) + ( AGE4.BGE5 ) + ( AGE3.BGE6 ) + (AGE2.BGE7 ) + ( AGE1BGE8 )输出信号INV被提供给了总线转位装置,例如图3中的总线 转位装置311。当INV信号为"1"时,总线转位装置在下一个时 钟周期将外部数据总线上的信号组进行数据转位。尽管本发明及其对象,特点和优点已经被详细描述,本发明还包括了其它的具体实施方式
。例如,图5中的转位监测器500 是一组16比特的数据组,本发明的发明人注意到,由于要计算 的状态改变的比特数的不同,其它的架构来组成相对计算电路 的电路层级可能会更加有利。比如,第一级相对电路501可以是 三个输入信号而不是两个输入信号,由此,此3比特的相对电路 501将生成3比特的输出信号GE[3: l],并且可以由以下的逻辑 运算得到GE3=AB.CGE2= ( A'B ) + ( A.C ) + ( B.C ) GE1=A+B+C另外,虽然本发明中的转位监测系统被应用到了微处理器 中,但其它类型的包含使用多米诺逻辑电路来计算比特数的装 置也可以使用该转位监测系统。以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。
权利要求
1.一种数据总线的转位装置,其特征在于,包括多个异或门电路,连接于一实时数据总线和一最新数据总线,该两条数据总线上包含了相对应的多比特数据,该多个异或门电路用于执行该两条数据总线的逐位比较,并且提供一异或门数据总线,其中该异或门数据总线上的数据表明该实时数据总线和该最新数据总线上的对应的数据比特是否相同;以及一总线状态监测器,连接于该异或门数据总线,用于计算对应的多比特数据中数据状态不同的比特数目,以表明该实时数据总线的数据是否需要转位,其中该总线状态监测器还包含了多个逻辑左移电路,该逻辑左移电路用于将一输入信号根据一移位信号进行逻辑左移操作,从而使每个所述逻辑左移电路的输出信号表明对应的一组多比特数据中数据状态不同的数据比特的数目。
2. 根据权利要求l所述的数据总线的转位装置,其特征在 于,还包含了 ,一总线转位装置,连接于所述总线状态监测器,以进行该 实时数据总线的数据的转位操作。
3. 根据权利要求l所述的数据总线的转位装置,其特征在 于,所述总线状态监测器还包含了一或门电路,连接于该多个 逻辑左移电路末端的 一 逻辑左移电路,该末端的逻辑左移电路 的输出表明对应的多比特数据中数据状态不同的比特数目,该 或门电路对末端的逻辑左移电路的输出进行或操作以生成转位 信号来表明该实时数据总线的数据被转位。
4. 根据权利要求l所述的数据总线的转位装置,其特征在 于,所述总线状态监测器还包含了多个计算电路以作为电路的 第一级,每个所述计算电路分别与异或门数据总线上的不同数据比特相连,每个所述计算电路的输出信号用于表明其所对应 的异或门数据总线上的不同数据比特中数据状态不同的数据比 特的数目,每个所述计算电路的输出信号被作为所述的逻辑左 移电路的输入信号和移位信号。
5. 根据权利要求l所述的数据总线的转位装置,其特征在 于,所述多个逻辑左移电路中包含了 一逻辑左移2比特的电路,一逻辑左移4比特的电路以及一逻辑左移8比特的电路。
6. 根据权利要求l所述的数据总线的转位装置,其特征在 于,所述的多个逻辑左移电路包含一个多级电3各,前一级电i 各 的输出信号将作为下一级电路的输入信号和移位信号。
7. —数据总线的转位装置,其特征在于,包括多个异或门电路,连接于 一 实时数据总线和 一 最新数据总 线,该两条数据总线上包含了相对应的多比特数据,该多个异 或门电路用于执行该两条数据总线的逐位比较,并且提供一异 或门数据总线,其中该异或门数据总线上的数据表明该实时数 据总线和该最新数据总线上的对应的数据比特是否相同;以及一总线状态监测器,连接于该异或门数据总线,用于计算 对应的多比特数据中数据状态不同的比特数目,以表明该实时 数据总线的数据是否需要转位,其中该总线状态监测器还包含 了 多个相对计算电路,该相对计算电路只需对输入数据的原 码进行逻辑操作,每个相对计算电路的输出表明对应的 一组多 比特数据中数据状态不同的数据比特的数目范围。
8. 根据权利要求7所述的数据总线的转位装置,其特征在 于,还包含了 ,一总线转位装置,连接于所述总线状态监测器,以进行该 实时数据总线的数据的转位操作。
9. 根据权利要求7所述的数据总线的转位装置,其特征在 于,所述总线状态监测器还包含了 一末端相对计算电路以表明 对应的多比特数据中数据状态不同的数据比特的数目,当对应 的多比特数据中不同的数据的数目比预先确定的比特数目要多 时,末端的相对计算电路生成一转位信号来表明实时数据总线 的数据将被转位。
10. 根据权利要求7所述的数据总线的转位装置,其特征在于,所述相对计算电路包含了 一2比特相对计算电路,一4比特 的相对计算电路以及一 8比特的相对计算电路。
11. 根据权利要求7所述的数据总线的转位装置,其特征在 于,所述的多个相对计算电路包含一多级电路,前一级电路的 输出信号将作为下一级电路的输入信号。
12. —种执行数据总线转位的方法,其特征在于,包含 首先执行 一 实时数据总线和 一 最新数据总线上数据的逐位异或操作,该两条数据总线上包含了相对应的多比特数据,并 且提供一异或门数据总线,该异或门数据总线上的数据表明该 实时数据总线和该最新数据总线上的对应的数据比特是否相 同;以及计算对应的多比特数据中数据状态不同的数据的数目,计 算结果表明实时数据总线的数据是否需要转位,其中该计算步 骤还包括将异或门数据总线上的数据比特进行逻辑操作,其中,只 需对数据的原码进行操作,操作结果表明对应的一组多比特数 据中数据状态不同的数据比特的数目范围。
13. 根据权利要求12所述的执行数据总线转位的方法,其 特征在于,还包含了 ,对该实时数据总线的数据进行转位操作。
14.根据权利要求12所述的执行数据总线转位的方法,其 特征在于,该计算步骤还包括生成一末端相对计算信号以表明 对应的多比特数据中数据状态不同的数据比特的数目,当对应 的多比特数据中不同的数据的数目比预先确定的比特数目要多 时,末端的相对计算电路生成一转位信号来表明实时数据总线 的数据将被转位。
全文摘要
一种数据总线的转位装置及执行数据总线转位的方法,包括多个异或门电路,连接于实时数据总线和最新数据总线,两条数据总线上包含相对应的多比特数据,多个异或门电路用于执行两条数据总线的逐位比较,提供异或门数据总线,异或门数据总线上的数据表明实时数据总线和最新数据总线上对应的数据比特是否相同;总线状态监测器,连接于异或门数据总线,计算对应的多比特数据中数据状态不同的比特数目,以表明实时数据总线的数据是否需要转位,总线状态监测器还包含多个逻辑左移电路,逻辑左移电路用于将输入信号根据移位信号进行逻辑左移操作,使每个所述逻辑左移电路的输出信号表明对应的一组多比特数据中数据状态不同的数据比特的数目。
文档编号G06F13/40GK101241482SQ200810004749
公开日2008年8月13日 申请日期2008年1月28日 优先权日2007年9月19日
发明者雷蒙A·伯特兰 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1