异步数据触发微处理器体系结构的制作方法

文档序号:6469180阅读:136来源:国知局
专利名称:异步数据触发微处理器体系结构的制作方法
技术领域
本发明属于集成电路领域微处理器体系结构,特别是一种异步数据 触发微处理器体系结构。
背景技术
随着集成电路制造工艺的发展,应用于嵌入式系统的处理器需要满 足实时性、功耗小、成本低以及上市时间短等要求。专用集成电路(Application Specific Integrated Circuits, ASIC)与通用凄史字信号处理器 (Digital Signal Processor, DSP )是两种完成嵌入式应用的传统方法。ASIC 方法提供定制的数据通路与控制通路,功耗低、速度快,但是使用面较 窄,同时由于市场容量小,使得单个产品所承担的设计成本较高;而DSP 的通用性限制了其开发特定领域内的并行性,同时功耗也较大。随着市 场划分越来越细,ASIC与DSP的竟争力开始受到挑战。由于ASIC与DSP的自身特点,定制指令集处理器(Application Specific Instruction-set Processor, ASIP) 4支术成为嵌入式设计人员的新选 择。ASIP能够针对特定应用领域,开发出具有定制指令集和微体系结构 的处理器,能够高性能地运行目标程序集合。ASIP在目标领域内提供了 设计的灵活性与高效性。不过ASIP的设计通常面临针对特定领域的指令 集生成或者扩展、微结构的设计与软件可重定向编译开发等问题,如果 能够有效地解决这些问题,在嵌入式设计领域,ASIP还是非常具有吸引 力的。传输触发体系结构(Transport Triggered Architecture, TTA )可以看成 是传统的超长指令字(Very Long Instruction Word, VLIW )体系结构的一 个超集,而且能够克服VLIW中暴露出的一些问题。如果将RISC看作是单指令单操作类型的体系结构,VLIW看作是单指令多操作类型的体系结 构,那么TTA则是单指令多传输类型的体系结构。TTA中所有的操作, 包括Load/Store、分支、跳转等,都可以通过传输指令即MOVE来完成。 应用软件通过指定功能单元之间的数据传输来完成编程,编译器在分析 传输操作之间数据依赖关系的基础上,将多路可并行的传输操作打包在 同一条指令中。在TTA的基础之上,将数据与操作信息绑定在一起进行传输,从而 P务低TTA中原有译码逻辑的复杂度和延迟,同时改进分支处理机制,通 过对这两个寄存器的写操作实现分支转移以及自陷,从而避免了 TTA中 直接对指令指示器IP的操作,提高了程序的安全性。改进后的这种体系 结构称为数据触发体系结构(Data Triggered Architecture, DTA),它不仅 具有TTA的基本优点,而且结构更简单、性能更高。在集成电路设计领域,同步电路设计方法一直占据着主流地位,但 是随着半导体工艺进入到深亚微米阶段,高速同步电路设计遇到了前所 未有的挑战,时钟分布网络的设计以及由此带来的功耗、面积占用、时 钟扭曲等问题日益突出。例如DEC的Alpha处理器,时钟网络消耗了约 30%的功耗,还占据了整个芯片约30%的面积。随着同步电路设计问题的 不断出现,异步电路设计方法开始得到更多的关注。简而言之,异步电 路就是无时钟电路(Clockless Circuits),或者自定时电路(Self-Timed Circuits)。异步电路釆用局部通信模式,以握手协议取代全局时钟,不需 要设计庞大的时钟分布网络,很好地解决了时钟扭曲的问题。而且,由 于异步电路中空闲部分几乎没有功耗,使得整个系统的功耗得到了有效 控制。同时,异步电路还兼具模块化与可重用性的优点,可以通过异步 电路技术连接不同速度的时钟电路,能够解决大规模系统中的多时钟域 问题,具有非常强的设计灵活性。异步电路在VLSI设计中具有一些独特 的优势,下面将对微处理器设计中比较关注的一些方面进行介绍。综上所述,专用指令集处理器设计方法、数据触发体系结构及异步 集成电路设计技术均具有其自身的独特优势,能够满足嵌入式系统微处 理器在功耗、性能与成本等方面的要求。专用指令集处理器设计方法, 是一种介于通用处理器和专用集成电路之间,兼顾灵活性与高性能的微处理器设计方法。利用ASIP的设计方法来设计嵌入式^:处理器,可以在 满足性能和功能要求的同时,缩短微处理器的研制周期。数据触发体系 结构(Data Triggered Architecture, DTA),它不仅具有TTA的基本优点, 而且其结构更简单并具有更高的性能。异步集成电路设计方法能够有效 地解决日益严重的功耗大、时钟扭曲与电磁兼容等众多问题。异步集成 电路中只有运算数据到达时才进行运算活动,而数据触发体系结构也同样是由数据进行触发操作,因此两种可以有机地结合。基于异步电路技 术的数据触发体系结构具有天然的低功耗优势;同时,由于开发了数据 级与指令级并行,因此具有更高的计算性能。名称注释功能单元:是算术运算单元、访存单元、逻辑运算单元以及根据实际 应用需求而定制的其它运算单元。寄存器文件在数据触发体系结构中,寄存器可以看作是存储层次结 构中位于第一级的、小而快的访问存储单元,运算过程中将变量的值存 储到寄存器中能够大大加快执行速度。如果将多个寄存器编成一组,这 样的一组寄存器就称为寄存器文件。发明内容本发明的目的是针对现有嵌入式微处理器设计方法与现有嵌入式微 处理器体系结构的不足,将专用指令集处理器设计方法、数据触发体系 结构及异步集成电路设计技术有机结合,提出一种低功耗、高性能的嵌 入式微处理器体系结构,称之为异步数据触发微处理器体系结构 (Asynchronous Data Triggered Architecture, ADTA )。为了实现上述目的,本发明由数据通路与控制通路组成,数据通路由寄存器文件(Register File, RF )以及功能单元(Function Unit, FU)组 成,其中功能单元包括同步功能单元(Synchronous Function Unit, SFU )、 Load/Store单元和异步功能单元(Asynchronous Function Unit, AFU )单元, 功能单元中的Load/Store单元与数据存储器相连,对数据存储器进行读 写;控制通路由取指单元与译码单元组成,其中取指单元与指令存储器 相连,从指令存储器中读取指令,同时取指单元还与译码单元连接,将 取得的指令发给;斧码单元进行译码,控制通路与数据通路通过互连网络 进行连接,译码单元将指令译码结果通过互连网络发给所需的功能单元。上述数据通路中的功能单元采用异步电路进行设计,内部不存在时 钟。整个异步数据触发体系结构内部既可以均采用异步功能单元,但也 可以兼容同步功能单元,具有较强的设计灵活性与可扩展性。每个功能单元都有统一的数据传输接口 ,根据功能单元自身的设计, 其内部包括一个或者多个操作数寄存器(0)、唯一的触发寄存器(T)以 及至少一个结果寄存器(R)。当数据被写入T寄存器时,就会触发该功 能单元将O寄存器和T寄存器中的值作为源操作数,开始进行运算。运 算结束后结果存入R寄存器。同一个功能单元通常可以完成多种运算, 如果一个功能单元能够支持多种运算,内部需要设置对应的操作码寄存 器,进行何种运算通过译码单元传输到功能单元的不同数据编码方式来 力口以区分。功能单元的操作控制机制如下首先,通过总线选择信号从不同的 总线上选取数据,在各自的load信号有效时将其分别锁存在O寄存器与 T寄存器中。 一旦T寄存器中的数据发生改变,则根据操作码寄存器中 的值选择对应的操作类型,触发功能单元执行操作;其次,具体的功能 单元通常是可以流水的, 一般执行的时钟数就等于流水的级数,如N级 流水的功能单元,经过N个时钟周期之后将数据锁存到R寄存器,而对于非流水的单元,则经过一定的时钟周期(取决于功能单元的运算延迟)之后才将数据锁存到R寄存器;最后,需要读取运算结果的时候,通过 control信号,将R寄存器中的数据传输到选定的总线上,其它没有被选 中的总线则输出为"0"。异步功能单元的操:作控制机制与同步功能单元完全一致,但是需要 设计专门的异步功能单元封装模块,以保证可以正确地工作。封装模块 内部包括一个异步功能部件与一个接口模块。接口模块由端口控制器与 端口输入模块组成。端口输入模块是一个多路开关部件,与端口控制器 连接,端口控制器发出信号控制其内部开关的打开与闭合。端口输入模 块与互连网络连接,接收总线上对O寄存器与T寄存器的输入,同时与 封装模块内的异步功能部件的O寄存器与T寄存器连接。端口控制器与 互连网络连接,接收总线传来的O寄存器与T寄存器对应的load信号, 当对应的load信号有效时,就发出控制信号打开端口输入模块,根据load 信号通过端口输入模块将对应的数据输入O寄存器或者T寄存器。端口 控制器通过全局时钟信号进行控制,同时端口控制器还与异步功能部件 的控制电路连接,当T寄存器被触发后,端口控制器向内部的异步功能 部件的控制电路发出Rin信号,启动控制电路开始进行握手,当控制电 路检测到Rin信号发出之后,会向端口控制器返回Ain信号。上述寄存器文件用于存储操作数、操作数地址以及中间结果。在异 步数据触发体系结构中,没有对寄存器文件中寄存器的数量以及寄存器 的位数做出限制,也没有对寄存器文件的数量进行约束。当异步数据触 发体系结构的参数发生变化时,寄存器文件的配置可以根据实际需要做 出相应的调整,从而满足体系结构可配置的要求。与功能单元类似,寄 存器文件也连接在总线上。每个寄存器文件都拥有数目不等的读端口与 写端口。而寄存器文件的控制机制与功能单元不同,因为寄存器文件中 没有包含O寄存器。在执行写操作时,通过bus—select信号从不同的总线上选取数据,根据load信号将其锁存到对应的寄存器中去。读操作则 需要分成两种情况如果某一写操作的操作码于当前的读操作码相等, 则表示所读的寄存器正在进行写操作,可以直接将写操作的数据输出; 如果当前所读的寄存器没有进行写操作,或者写操作与当前的读操作无 关,那么则直接将对应寄存器中的内容输出到所选择的总线上。上述所有的功能单元与寄存器文件都通过互连网络进行连接。异步 数据触发体系结构中的互连网络由总线连接器与多条总线组成。总线通 过总线连接器相互连接。总线连接器有五种可能的配置端口与左边的 总线连接(筒称左连)、端口与右边的总线连接(简称右连)、端口与总 线全连接(简称全连)、总线传输以及总线断开。总线连接器可以动态地 控制总线连接状态,根据配置在需要时就打开相应的连接,将总线切分 成多路可并行的传输通路;同时还作为总线的中继驱动器,将总线划分 成多个传输段,用于减少总线传输的延时。采用互连网络能够组成多路 可并行的总线,提高互连网络的并行传输能力,并且在并行度确定的前 提下还可以減少互连网络中的总线总体长度。上述总线连接器由三个三态门Tl、 T2、 T3和一个二选一开关M组 成,需要四路信号完成控制,分别是选择信号Select、端口连接信号 Connect、驱动左路信号Left以及驱动右^各信号Right。这四路信号均为 高有效,由三位控制信号Control经总线连接器译码之后产生。本发明开发了指令级与数据级两种并行性,因此具有很高的性能。 数据传输触发体系结构在TTA的基础上,将数据和操作信息绑定在一起 进行传输,降低了 TTA中原有译码逻辑的复杂度和延时;数据传输触发 体系结构还改进了 TTA的分支处理机制,提高了程序的安全性。因此DTA 不仅具有更高的性能,还具有结构更简单的优点。由于异步集成电路设 计技术是一条降低微处理器功耗的有效途径,本发明将异步电路技术与 低功耗可重构互连网络技术引入数据触发体系结构中,产生了异步数据触发体系结构。数据触发体系结构与异步技术分别在体系结构和电路实现两个层面上探索了低功耗微处理器的新出路,因此ADTA将具有天然 的低功耗优势。本发明还将ASIP技术引入到ADTA中,定制面向特定应 用的高性能功能单元。这样,异步数据触发体系结构不仅能够作为通用 处理器使用,还能够适用于特定领域的高性能技术。 采用本发明可以达到以下技术效果(1 )内部可以兼容同步与异步功能单元,对于速度要求较高的部分 可以采用同步功能单元,对于低功耗要求较高的部分可以采用异步 功能单元,可以在速度与功耗间取得较好的折衷。(2) 釆用异步功能单元能够有效地降低微处理器功耗,满足嵌入式 微处理器对于低功耗的需求。(3) 体系结构可配置,可以根据实际应用需要增加或者删除功能单 元与寄存器文件,具有较强的设计灵活性与可扩展性。(4 )所使用的互连网络可以根据需要进行切分,从而形成多条传输 路径,每条传输路径上的通信可以并行执行。


图1为本发明的结构示意图。图2为本发明的功能单元控制机制示意3为本发明的异步功能单元封装模块示意图。图4为本发明的寄存器文件控制机制示意图。图5为本发明的互连网络示意图。图6为本发明的总线连接器示意图。
具体实施方式
下面结合附图对本发明作进一步的详细描述。本发明由数据通路11与控制通路10组成(图1 ),数据通路由寄存器文件RF4以及功能单元FU组成,其中功能单元包括同步功能单元 SFU、 Load/Store单元和异步功能单元AFU,功能单元中的Load/Store单 元LSU6与数据存储器9相连,对数据存储器进行读写。控制通路由取 指单元1与译码单元2组成,其中取指单元与指令存储器8相连,从指 令存储器中读取指令,同时取指单元与译码单元连接,将取得的指令发 给译码单元进行译码。控制通路与数据通路通过互连网络3进行连接, 译码单元将指令译码结果通过互连网络发给所需的功能单元。本发明的每个功能单元都有统一的数据传输接口 ,根据功能单元自 身的设计,其内部包括一个或者多个操作数寄存器015、唯一的触发寄 存器T16以及若干个结果寄存器R20 (图2 )。当数据被写入T寄存器时, 就会触发该功能单元将O寄存器和T寄存器中的值作为源操作数,开始 进行运算。运算结束后结果存入R寄存器。同一个功能单元通常可以完 成多种运算,如果一个功能单元能够支持多种操作,内部需要设置对应 的操作码寄存器17,进行何种运算通过传输到功能单元的不同数据编码方式(opcode26)来加以区分。功能单元的操作控制机制如下首先, 通过bus_select信号从不同的总线上选取数据,在各自的load信号有效 时将其分别所存在O寄存器与T寄存器中。 一旦T寄存器中的数据发生 改变,则根据操作码寄存器中的值选择对应的操作类型,触发功能单元 执行操作;其次,具体的功能单元通常是可以流水的, 一般执行的时钟 数就等于流水的级数,如N级流水的功能单元,经过N个时钟周期之后 将数据锁存到R寄存器,而对于非流水的单元,则经过一定时钟周期(取 决于功能单元的运算延迟)之后才将数据锁存到R寄存器;最后,需要 读取运算结果的时候,通过控制信号control 27信号,将R寄存器中的数 据传输到选定的总线上,其它没有被选中的总线则输出为"0"。本发明的异步功能单元的内部包括一个异步功能部件29与一个接口模块28(图3)。接口模块由端口控制器31与端口输入模块30组成。端 口控制器与总线连接,接收总线传来的0寄存器与T寄存器对应的load 信号,当对应的load信号有效时,就发出控制信号打开端口输入模块, 根据load信号通过端口输入模块将对应的数据输入O寄存器或者T寄存 器。端口控制器通过全局时钟信号34进行控制,同时端口控制器还与异 步功能部件的控制电路33连接,当T寄存器被触发后,端口控制器向内 部的异步功能部件发出Rin信号,启动异步功能部件进行计算,当异步 功能部件的控制电路;险测到Rin信号发出之后,会向端口控制器返回Ain 信号。本发明的寄存器文件控制机制由寄存器文件37与译码控制部件36 组成(图4)。寄存器文件中没有O寄存器,它们通过总线连接器连接在 总线上,通过译码结果确定读写操作的寄存器编号。在执行写操作时, 通过bus_select信号从不同的总线上选取数据,根据load信号将其锁存 到对应的寄存器中去。读操作则需要分成两种情况如果某一写操作的 操作码于当前的读操作码相等,则表示所读的寄存器正在进行写操作, 可以直接将写搡作的数据输出;如果当前所读的寄存器没有进行写操作, 或者写操作与当前的读操作无关,那么则直接将对应寄存器中的内容输 出到所选择的总线上。本发明的互连网络由总线连接器37与多条总线36组成(图5 )。总 线通过总线连接器相互连接。总线连接器有五种可能的配置端口与左 边的总线连接(简称左连39)、端口与右边的总线连接(简称右连38)、 端口与总线全连接(简称全连42 )、总线传输40以及总线断开41。总线 连接器可以动态地控制总线连接状态,在需要时就打开相应的连接;同 时还作为总线的中继驱动器,将总线划分成多个传输段,用于减少总线 传输的延时。采用互连网络能够组成多路可并行的总线,提高互连网络 的并行传输能力,并且在并行度确定的前提下还可以减少互连网络中的总线总体长度。本发明的总线连接器由三个三态门T44、 T45、 T46和一个二选一开 关M47组成(图6 ),需要四路信号完成控制,分别是选择信号Select48、 端口连接信号Connect49、驱动左路信号Left50以及驱动右路信号 Right51。这四路信号均为高有效,由三位控制信号Contro152经总线连接 器译码之后产生。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1、一种异步数据触发微处理器体系结构,由数据通路与控制通路组成,数据通路由寄存器文件以及功能单元组成,其中功能单元包括SFU单元、LSU单元和AFU单元,功能单元中的Load/Store单元与数据存储器相连,对数据存储器进行读写;控制通路由取指单元与译码单元组成,其中取指单元与指令存储器相连,从指令存储器中读取指令,同时取指单元还与译码单元连接,将取得的指令发给译码单元进行译码,控制通路与数据通路通过互连网络进行连接,译码单元将指令译码结果通过互连网络发给所需的功能单元。
2、 如权利要求1所述的异步数据触发微处理器体系结构,其特征在 于数据通路中的功能单元采用异步电路进行设计,内部不存在时钟,每 个单元都有统一的数据传输接口 ,其内部包括一个或者多个操作数寄存 器(0)、唯一的触发寄存器(T)以及至少一个结果寄存器(R),当数 据被写入T寄存器时,就会触发该功能单元将O寄存器和T寄存器中的 值作为源操作数,开始进行运算,运算结束后结果存入R寄存器。
3、 如权利要求1或2所述的异步数据触发微处理器体系结构,其特 征在于功能单元的操作控制机制如下第一步骤通过总线选择信号从不同的总线上选取数据,在各自的 load信号有效时将其分别锁存在O寄存器与T寄存器中, 一旦T寄存器 中的数据发生改变,则根据操作码寄存器中的值选择对应的操作类型, 触发功能单元执行操作;第二步骤具体的功能单元是可以流水的,执行的时钟数就等于流 水的级数,如N级流水的功能单元,经过N个时钟周期之后将数据锁存 到R寄存器,而对于非流水的单元,则经过一定的时钟周期之后才将数 据锁存到R寄存器;第三步骤需要读取运算结果的时候,通过control信号,将R寄存 器中的数据传输到选定的总线上,其它没有^f皮选中的总线则输出为"0"。
4、 如权利要求1或2所述的异步数据触发微处理器体系结构,其特 征在于异步功能单元封装模块内部包括一个异步功能部件与 一个接口 模块,接口模块由端口控制器与端口输入模块组成,端口输入模块是一 个多路开关部件,与端口控制器连接,端口控制器发出信号控制其内部 开关的打开与闭合,端口输入模块与互连网络连接,接收总线上对O寄 存器与T寄存器的输入,同时与封装模块内的异步功能部件的O寄存器 与T寄存器连接;端口控制器与互连网络连接,接收总线传来的O寄存 器与T寄存器对应的load信号,当对应的load信号有效时,就发出控制 信号打开端口输入模块,根据load信号通过端口输入模块将对应的数据 输入O寄存器或者T寄存器,端口控制器通过全局时钟信号进行控制, 同时端口控制器还与异步功能部件的控制电路连接,当T寄存器被触发 后,端口控制器向内部的异步功能部件的控制电路发出Rin信号,启动 控制电路开始进行握手,当控制电路检测到Rin信号发出之后,会向端 口控制器返回Ain信号。
5、 如权利要求1所述的异步数据触发微处理器体系结构,其特征在 于寄存器文件用于存储操作数、操作数地址以及中间结果,当参数发 生变化时,寄存器文件的配置根据实际需要做出相应的调整,从而满足 体系结构可配置的要求,与功能单元类似,寄存器文件也连接在总线上, 每个寄存器文件都拥有数目不等的读端口与写端口 。
6、 如权利要求1或5所述的异步数据触发微处理器体系结构,其特 征在于寄存器文件在执行写操作时,通过bus一select信号从不同的总线 上选取数据,根据load信号将其锁存到对应的寄存器中去,读操作则需 要分成两种情况如果某一写操作的操作码于当前的读操作码相等,则 表示所读的寄存器正在进行写操作,可以直接将写操作的数据输出;如果当前所读的寄存器没有进行写操作,或者写操作与当前的读操作无关, 那么则直接将对应寄存器中的内容输出到所选4奪的总线上。
7、 如权利要求1所述的异步数据触发微处理器体系结构,其特征在于互连网络由总线连接器与多条总线组成,总线通过总线连接器相互 连接,总线连接器有五种配置端口与左边的总线连接、端口与右边的 总线连接、端口与总线全连接、总线传输以及总线断开;总线连接器动 态地控制总线连接状态,根据配置在需要时就打开相应的连接,将总线 切分成多路可并行的传输通路,同时总线连接器还作为总线的中继驱动 器,将总线划分成多个传输段。
8、 如权利要求7所述的异步数据触发微处理器体系结构,其特征在 于总线连接器由三个三态门Tl、 T2、 T3和一个二选一开关M组成, 需要四路信号完成控制,分别是选择信号Select、端口连接信号Connect、 驱动左路信号Left以及驱动右路信号Right,这四路信号均为高有效,由 三位控制信号Control经总线连接器译码之后产生。
全文摘要
本发明涉及一种异步数据触发微处理器体系结构,由数据通路与控制通路组成,数据通路由寄存器文件以及功能单元组成,其中功能单元与数据存储器相连,对数据存储器进行读写;控制通路由取指单元与译码单元组成,其中取指单元与指令存储器相连,从指令存储器中读取指令,同时取指单元还与译码单元连接,将取得的指令发给译码单元进行译码,控制通路与数据通路通过互连网络进行连接,译码单元将指令译码结果通过互连网络发给所需的功能单元。本发明将几种微处理器设计方法与设计技术融合起来,具有更简单的结构与更高的性能,本发明在体系结构和电路实现两个层面上实现低功耗微处理器,其定制指令集处理器技术不需要过度考虑其原本面临的众多难点问题。
文档编号G06F9/30GK101403963SQ20081019762
公开日2009年4月8日 申请日期2008年11月13日 优先权日2008年11月13日
发明者丹 吴, 葵 戴, 王志英, 伟 石, 邹望辉, 邹雪城, 郭建军, 黄立波, 锐 龚 申请人:葵 戴
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1