一种微处理器总线结构及微处理器
技术领域
本发明涉及一种关于分散存取结构的装置的公共总线或总线系统,以及采用这种总线或总线系统的芯片,更具体地说,是指一种微处理器的总线结构以及采用这种总线结构的微处理器。
背景技术
由于计算机内部的主要工作过程是信息传送和加工的过程,因此在机器内部各部件之间的数据传送非常频繁。为了减少内部的传送线并便于控制,通常将一些寄存器之间数据传送的通路加以归并,组成总线结构,使不同来源的信息在此传输线上分时传送。根据总线所在位置,总线分为内部总线和外部总线两类。内部总线是指CPU内各部件的连线,如在CPU内部,寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的内部总线。处理器采用总线结构,不仅使系统中传送的信息有条理、有层次、便于进行检测,而且其结构简单、规则紧凑、易于系统扩展。只要系统中其它功能部件符合总线规范,就可以接入系统,从而可方便的扩展系统功能,所以处理器不管是内部还是外部总线结构的优劣对系统性能的提高都是有相当大的影响的。
但是随着各种系统对于控制器的处理速率以及信息传输速度要求的不断提高,传统的微处理器由于总线限制导致数据处理速度慢,传输速率低已成为制约微处理器的重要瓶颈,从而使得单片机体积小,成本低,易于集成的优势得不到很好的发挥。另外,传统的微处理器内部采用单总线结构,指令操作数分时复用总线,串行使用总线,使指令的执行速度大大降低。
发明内容
本发明的发明目的在于提供一种能够提高微处理器内部数据传输速度的总线结构,使得微处理器的效率得到有效提高。
为了实现上述的发明目的,本发明采用如下的技术方案:
一种微处理器总线结构,该微处理器内部总线结构采用数据总线以及程序总线分立的哈佛总线结构,在该总线结构中包括分别用于传输程序指令的程序总线以及用于传输数据的数据总线,所述的数据总线还进一步包括操作数总线以及至少一条寄存器传输总线。这样建立的总线结构能够极大的提高数据以及指令在微处理器内部的传输速率,进一步提高了微处理器处理数据的效率。
优选地,所述的内部总线结构包括两条寄存器传输总线,所述的寄存器传输总线与所述微处理器的内部寄存器连通并作为所述内部寄存器之间数据传输的通路。两条寄存器传输总线专用于对微处理器内部的寄存器单元传送数据,进一步提高整个微处理器的数据传输以及处理效率。
另外,在微处理器中一般包括四种类型的存储空间,分别是内部数据随机存取存储器和外部数据随机存取存储器,内部只读存储器以及外部只读存储器。
具体来说,该微处理器的内部数据随机存取存储器与随机存取存储器控制单元连通并接收控制指令,同时该内部数据随机存取存储器的读写数据口与所述的操作数据总线和第一寄存器传输总线相连。
该微处理器的内部只读存储器以及外部只读存储器均与程序序列单元连通并接收指令,同时该内部只读存储器以及外部只读存储器的数据口与所述的程序总线相连。
该微处理器的外部数据随机存取存储器与程序序列单元连通并接收指令,同时该微处理器的外部数据随机存取存储器分别与所述操作数总线以及第一寄存器传输总线相连。
除了采用上述的技术方案,本发明还在该微处理器内部的程序总线分别与所述的操作数据总线和至少一条寄存器传输总线之间设置有连接通路。优选地,所述的程序总线通过至少一个缓存器与所述的操作数据总线和至少一条寄存器传输总线直接连通。这样程序总线就能够通过该缓存器向数据总线或者寄存器传输总线传送数据。
更进一步地,所述的微处理器内部的寄存器与所述的操作数据总线以及一条寄存器传输总线连通。所述的寄存器与所述的操作数据总线以及一条寄存器传输总线通过选择器连通。所述的程序总线,操作数总线以及至少一条寄存器总线之间并行设置。
需要说明的是,本发明的微处理器总线结构的技术方案优选应用在音视频微处理器中,并进一步优选应用在8051系列的微处理器内。
这样,通过采用上述的技术方案,本发明的提供了一种能够提高微处理器内部数据传输速度的总线结构,使得微处理器的效率得到有效提高。
附图说明
图1中显示的是本发明的总线结构与微处理器内部存储器连接结构的实施例的示意图;
图2中显示的图1中微处理器内的累加器与本发明总线结构连接的结构示意图;
图3中显示的是采用本发明的总线结构的实施例中执行push指令的运算时序图。
具体实施方式
本发明在于提供一种能够提高微处理器内部数据传输速度的总线结构,使得微处理器的效率得到有效的提高。为此,本发明采用如下的具体实施方式,下面结合说明书附图对本发明采用的具体技术方案进行详细的说明。
其中图1中显示的微处理器内部总线结构的具体实施例中,其中关键之处在于:在整个微处理器的CPU内,采用哈佛结构的思想,将传统的微处理器中单一总线结构分解成多总线结构,即把程序总线和数据总线分开,数据总线又继续划分为操作数总线Databus和两条寄存器传输总线RegbusA,RegbusB。这样设计后数据(指令和操作数)可以同时在这几条总线上传送,把传统的微处理器中分时复用总线改成了并行使用总线,以解决单总线结构分时复用总线造成的时间浪费,从而节约了指令执行时间,有效的提高了数据传输效率。
在具体的存储空间与本发明的数据总线的连接方式中,图1中显示的本发明所采用的具体实施方式的总线结构包括操作数总线Databus,寄存器传输总线RegbusA,RegbusB以及程序总线Probus。同时在微处理中设置几个互斥的存储器空间,具体包括内部数据随机存取存储器和外部数据随机存取存储器,内部只读存储器以及外部只读存储器。这些总线和存储器互连时有不同的表现形式。
由于每个特殊功能寄存器的寻址译码有专门的控制线,在图1中没有列出。内部数据随机存取存储器,外部数据随机存取存储器以及内部只读存储器,外部只读存储器的地址读写控制信号都是分开的。
具体来说,内部数据随机存取存储器ram的地址和读写信号由随机存取存储器控制单元ram_ctrl生成,它的读写数据口与操作数总线和第一寄存器传输总线相连。
外部数据随机存取存储器ram的地址和读写控制信号线由程序序列单元pseq给出,数据口与操作数总线和第一寄存器传输总线相连。
内部只读存储器rom以及外部只读存储器rom的地址和读写控制信号线都由程序序列单元pseq给出,读出指令送入程序总线。
另外,程序总线和操作数总线、寄存器传输总线RegbusA也有通路,在必要时,它们之间的缓存器buf连接信号选通,使程序总线上的指令可以不经过微处理器的CPU内部控制通路而直接送入操作数总线或寄存器传输总线,这样可以节约一个把指令送入数据总线的操作时间。图中两条寄存器传送总线的作用是为内部寄存器之间的数据传送提供独立的通路,(如果没有这两条寄存器传输总线RegbusA,RegbusB,那么内部寄存器传送数据时要占用操作数总线DataBus,这将耗费额外的时钟周期。),为了满足时序关系,有时寄存器传输总线RegbusA的数据会送到随机存取存储器ram的写数据端。
由于一般微处理器的寄存器很多,在这里不一一赘述其与本发明实施例的总线结构的连接关系,而仅以图2中一个特殊功能寄存器即,累加器acc为例来说明特殊功能寄存器与本发明的总线结构的具体连接情况。
图2中显示的就是微处理器中的累加器与本发明的总线结构连接的连接结构示意图。其中累加器acc的数据输入端与操作数总线Databus以及寄存器传输总线RegbusB有数据通路,通过一个选择器mux选择将哪条总线上的数据传到累加器acc的数据输入端。当控制端信号为是时,寄存器传输总线RegbusB的值传入累加器acc中,否则,操作数总线Databus的值传入累加器acc。累加器acc的数据输出端与操作数总线Databus和两条寄存器传输总线RegbusA,RegbusB都有通路,通过控制信号线决定将累加器acc的数据送到哪条总线上,这主要用来寄存器之间的数据传送。其他寄存器的数据通路情况与acc类似,在此不一一赘述。
图3中显示的是采用本发明的总线结构后push指令的运算的时序图。下面通过该执行过程中数据在各个总线上传送的流程来说明本发明的总线结构比传统的微处理器总线结构的优势。
在说明过程中不采用机器周期的概念,而采用指令执行周期(与时钟周期同频)的概念,在实现上更加灵活,采用指令局部流水,在每条指令执行的倒数第二个周期取下条指令的操作码,执行效率高。各个指令的执行周期从2个时钟周期到11个时钟周期不等。我们采用S1,S2,S3......Sn来指示指令执行时所处的时钟周期,当指令执行处在第一个时钟周期时,S1为1,当处在第二个时钟周期,S2为1,以下依此类推。当指令处在倒数第二个时钟周期时,S2L为1,当指令处在最后一个时钟周期时,SL为1。
本设计固定地在指令执行的S2L周期取下条指令的操作码,操作码在SL周期送到程序总线Progbus上,操作数在当前指令执行的周期中取出,通过操作数总线Databus,寄存器传输总线RegbusA,RegbusB三条总线传送。以push 25h(假定此时堆栈SP=35h,数据随机存取存储器RAM的25h的地址存放的数据为10h,将随机存取存储器RAM地址为25h中的数据压入堆栈,同时指针SP加1,指令执行周期为4)指令执行的过程,来看本设计中指令执行的各个周期的总线上数据的传送情况。参照指令时序表各个时钟周期的操作如下:
根据表格1以及图3中的内容,S2,S3,S4这三个指令执行周期都有使用多个数据总线的情况,本设计的多个数据总线(操作数总线Databus、寄存器传输总线RegbusB和RegbusA)为这一实现提供了基础,减少了指令的执行时间,同时程序总线Progbus与数据总线(Databus和RegbusA)之间的通路减短了数据的传输路径(如S2周期的第3步),进一步减少了指令的执行时间,若采用单一数据总线不能实现数据的并行传输,导致数据传送缓慢,指令执行周期加长。相对于传统8051微处理器的push指令实现2个机器周期,2*12个时钟周期,本设计push指令的4个指令执行周期有明显优势。
最后需要说明的是,本发明所采用的总线结构优选应用在控制和处理音频/视频的微处理器内,进一步的优选应用在8051系列的微处理器内部,以提高微处理器传输以及处理数据的速度以及效率。
综上所述,通过采用上述的技术方案,本发明的提供了一种能够提高微处理器内部数据传输速度的总线结构,并使得微处理器的效率得到有效提高。
另外,本发明的保护范围并不局限于上述具体实施方式中所公开的具体实施例,而是只要满足本发明权利要求中技术特征的组合就落入了本发明的保护范围之内。