使用最精简指令的多重字节微处理器架构制造技术

技术编号:2855472 阅读:279 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种使用最精简指令的多重字节微处理器架构。主要是利用一组小于二的五次方个简单有效(efficient)却不能以其它指令合成而取代的正交性(orthogonal)指令集,及一个包含有二个堆栈(stack),包括一个使子程序可以结构化地呼叫子程序的返回堆栈(Integral  return  stack),和另一个可以在子程序之间方便地传递参数的参数堆栈(Integra  parameter  stack),与具有二个控制信号,包括一个主时钟脉冲(Master  clock  signal),和一个重设信号(External  reset  signal)的中央处理器(CPU),使得每一个指令都可以在一个时钟脉冲(Single  clock  cycle)内完成处理工作,明显地增加指令密度和指令执行速度,并减少停留在芯片的面积及耗电量,使架构中随时可以增加许多空间以容纳新指令,以适应新增的功能及硬件装置。

【技术实现步骤摘要】

本专利技术是一种使用最精简指令的多重字节微处理器架构,并且是一种可以减少指令停留在芯片的面积及耗电量,使架构中随时可以增加许多空间以容纳新指令,以适应新增的功能及硬件装置的微处理器架构。
技术介绍
习知的商用计算机及微处理器都是基于多重缓存器的架构,在中央处理器(CPU)中必须有多个缓存器。在内存或输入端口中的数据必须先读入缓存器才能用CPU处理。处理的结果必须由缓存器中写入内存或输出端口。复式指令计算机(Complicated Instruction Set Computers CISC)如Intel的80X86及Motorola的680X0中有大部分的指令都可以由内存中读取数据并立即处理并置入缓存器中。在简化指令计算机(SimplifiedInstruction Set Computer RISC)如Sun的SPARC,MIPS及IBM的PowerPC中,处理数据的指令只使用缓存器而不去读写内存,内存则由一组简单的读写指令来读或写。这样指令的数目就大幅减少了。虽然少了许多复杂的指令,RISC一般都有一组庞大的缓存器,在运算时指令也必须包括如何设定由那些缓存器中撷取数据及运算后数据应置入那个缓存器。目前有关计算机及微处理器的架构最权威的著作是Hennessy及Patterson所合著的Computer ArchitectureA QuantitativeApproach,(1996).虽然他们强调RISC架构的优越性,但到现在市场上还是Intel的CISC机型占尽优势,不但在PC市场上一枝独秀,还有逐渐侵占RISC机种所占主流的服务器市场。同时,RISC机种也在演化之中,在不断地加入新功能及特殊线路,它们的架构和指令集已与CISC机种一样复杂。唯一RISC特殊的地方是它们都使用32位的字符。每个指令都占一个32位的字符。不论RISC还是CISC架构,处理任何指令都必须经过下列4步CPU先从内存中读一个指令,在指令中得到数据来源的地址,读入数据并将其处理,最后将结果写入目标地址。计算机中继续不断地加入新的线路和装置,例如program and data caches,program execution pipelines,superscalar及parallel processing units,就是为了要加速这些处理的过程。但处理指令的过程还是一样的。相对来看,堆栈式计算机架构就避免了处理数据来源和目标地址的繁重工作。因为数据来源永远是在堆栈最上的一个或数个位置,而且产生的结果也一定是放回堆栈。堆栈计算机的结构就是十分简单,而数据处理的速度也可以大幅增加,因为堆栈可以像缓存器一样放在CPU中。堆栈式计算机架构的优点在Philip J.Koopman′s StackComputers-The New Wave(1989)已有详细论述。之后十余年间,已有许多专利在美国被认可。有关堆栈计算机的专利有四组Koopman的4980821号(1990)及5053952号(1991)是关于16位及32位微指令堆栈计算机。Moore的5070451号(1991)及5319757号(1994)是关于16位水平指令堆栈计算机;刘大力的5404555号(1995)是关于极长指令堆栈计算机;及Moore的5440749号(1995),5530890(1996),5659703(1997),5784584(1998)及5809336(1998)是利用8位指令的32位计算机。这些专利都指示出当CPU中加入两个堆栈时,CPU架构可以简化,工作效率可以大幅提升。以上所述的堆栈计算机都是针对于Forth计算机语言的需要而设计的,因为FORTH语言是一组相当大的指令集的组合,所以这些计算机都尽可能将FORTH的指令融入CPU的指令集。Moore在最新的设计中(1995~1998)中提到约200个指令,而将这些指令综合在一组8位的指令集中。这一套指令和CISC及RISC机型的指令集在数量上没有很大的差别。SPARC的设计者已经注意到堆栈的使用可以简化在子程序间传送参数的复杂机构,因此使用了一套堆栈组的方法。一个堆栈组包括了24个缓存器,8个是Top缓存器,8个Local缓存器及8个Bottom缓存器。在呼叫子程序时,堆栈组就上升16层,主程序的Top缓存器就变成子程序的Bottom缓存器,主程序要交给子程序的参数就放在这8个缓存器中。在子程序要返回主程序时,它将必须传回主程序的参数放在Bottom缓存器中,返回时堆栈组下降16层,这些参数就在主程序的Top缓存器中。堆栈组利用堆栈的原理,但对缓存器的利用非常浪费,因为程序中很少用到24个缓存器来传送参数。真正的堆栈计算机中,堆栈的使用是最有效的,因为一个程序只从堆栈上撷取它须要的参数,也只将它产生的结果放回堆栈。堆栈的利用是十分经济的,但它也要求程序员对堆栈的使用要非常小心,避免将不必要的数据留在堆栈上。RISC计算机最大的问题是在每一个指令都占一个32位的字符,它的指令密度比CISC计算机要差很多。因为INTEL的CISC计算机,许多指令都只用8位。但CISC计算机的指令可以用到40个位。所以一般来说堆栈计算机的指令密度最高,CISC次之,RISC最低。最近工业界对JAVA计算机很有兴趣,在美国的许多专利也都显示将JAVA架构设计到CPU中,例如Gee的6317872号(2001),Brown的6324688号(2001)及Patel的6332215(2001)。JAVA也利用堆栈传送参数,但它还是用8位的指令集。JAVA计算机庞大的指令集,以及它的子程序呼叫和返回都很麻烦,使得JAVA计算机的运算效能较逊于RISC及CISC计算机。Intel公司花了30年时间才将它的微处理器架构从最小的8位8080,经过16位的8086,32位的80X86放大到现在的64位Itanium。Intel耗费了极大的人才财力才完成这个放大的工作,而在放大的过程中,又必须小心地维持住软件的移植性。展望二十一世纪,单晶系统必定成为IC工业的界的主流。庞大而复杂的计算机架构因为耗电量太大很难被整合进入单晶系统。只有体积小、速度快、耗电量小的微处理器才能适合新时代对嵌入型计算机的要求。
技术实现思路
本专利技术是一种使用最精简指令的多重字节微处理器架构,主要是利用一个具有二个控制信号,包括一个主时钟脉冲(Master clock signal),和一个重设信号(External reset signal)的中央处理器(CPU),和数十个简单有效(efficient)却不能以其它指令合成而取代的正交性(orthogonal)指令集,及二个堆栈(Stack),包括一个使子程序可以结构化地呼叫子程序的返回堆栈(return stack)。和另一个可以在子程序之间方便地传递参数的参数堆栈(parameter stack),这个双堆栈结构使得每一个指令都可以在一个时钟脉冲(Single clock cycle)内完成处理工作,也使得计算机可以使用15位以上的任何字符来储存指令,其中包含但不限于16,24,32,及64位的计算机。在每个字符中,可以塞入多个指令。明显地增加指令密度和指令执行速度,并减少芯片的面积及耗电本文档来自技高网
...

【技术保护点】
一种使用最精简指令的多重字节微处理器架构,其特征在于:所述多重字节微处理器架构使用一组少于二的五次方个指令集,在一个双堆栈的中央处理器架构内,来处理不断在扩充的功能的计算机设计,使计算机可以使用15位以上的任何字符来储存指令,并在每个字符中,可以塞入多个指令。

【技术特征摘要】
1.一种使用最精简指令的多重字节微处理器架构,其特征在于所述多重字节微处理器架构使用一组少于二的五次方个指令集,在一个双堆栈的中央处理器架构内,来处理不断在扩充的功能的计算机设计,使计算机可以使用15位以上的任何字符来储存指令,并在每个字符中,可以塞入多个指令。2.根据权利要求1所述的多重字节微处理器架构,其特征在于中央处理器中有多组缓存器及两个堆栈,多组分工器及多组逻辑处理线路,一个重设的输入信号,可以将所有的缓存器内容都清为零,及一个主时钟脉冲输入,以控制缓存器在脉冲的上升沿,锁住从分工器选择数据,区分在四个主要部分数据处理单位,地址处理单位,指令序列单位,以及地址储存单位。3.根据权利要求2所述的多重字节微处理器架构,其特征在于中央处理器的数据处理单位包括一组中心缓存器,一组辅助缓存器,一组先入后出的数据堆栈,一组中心分工器,一组辅助分工器及一组算术逻辑器,支持一个压入动作将辅助缓存器的数据压入数据堆栈,中心缓存器的数据存入辅助缓存器,中心缓存器则经由中心分工器加载算术逻辑器产生的结果,或是上述中央处理器中其它缓存器的数据,以另外支持一个弹出动作,将数据堆栈顶层的数据弹出存入辅助缓存器,辅助缓存器的数据则存入中心缓存器,压入及弹出的动作都是在主时钟的上升沿进行的。4.根据权利要求2所述的多重字节微处理器架构,其特征在于所述算术逻辑器,是用以及接受中心缓存器及辅助缓存器中的数据,并产生加法、逻辑AND、逻辑XOR的结果、以及中心缓存器中数据的逻辑反值和向右移1位的结果。5.根据权利要求2所述的多重字节微处理器架构,其特征在于中央处理器、缓存器及堆栈的信号送入逻辑处理线路,逻辑处理线路产生的信号送入分工器,分工器选择合适的信号送给缓存器及堆栈,在主时钟脉冲的上升沿上,分工器选择的信号被锁入选定的缓存器及堆栈中,分工器的选择,缓存器及堆栈的选择都是决定于目前执行的指令,如此每个指令在一个主时钟脉冲中完成指令所指定的工作。6.根据权利要求1所述的多重字节微处理器架构,其特征在于中央处理器中有两个控制信号,主时钟脉冲与重设信号,控制信号中包括允读及允写信号,及一组中断请求的输入信号。7.根据权利要求1所述的多重字节微处理器架构,其特征在于中央处理器和内存中有一组地址总线,一组数据总线,及一组控制信号;地址总线,数据总线及控制信号,并允许中央处理器控制输入输出装置,地址总线及数据总线的宽度和计算机字符的宽度N是相同的,而可由15增加到64,其中包括16,24,32,及64位。8.根据权利要求1所述的多重字节微处理器架构,其特征在于所述指令集为正交性指令集,其正交性指令的指针是指任何指令可以用5位来表示,也可以用5位来编码,或好几个5位的短指令,可以塞在一个程序字符中,并且不可能用其它指令来合成而取代,使指令间的重复功能降到最少,用此来设计一系列15或15位以上的计算机程序字符,包括但不限于16,24,32及64位。9.根据权利要求1所述的多重字节微处理器架构,其特征在于使用5位的指令,其字符可由15位到64位,包括但不限于16,24,32及64位的计算机,及各型字符长度不同计算机,以执行相同的指令,共享子程序库,软件工具,以及操作系统。10.根据权利要求1所述的多重字节微处理器架构,其特征在于此指令集中有两大类指令,包括用来做算术操作,逻辑操作,及在缓存器、内存及堆栈间交换数据等工作,只占5位的指令栏的短指令,和除了5位的指令栏之外,还有一个地址栏,地址栏的长度与指令字符的长度和计算机系统所附装的内存的总量有关,做跳越、子程序呼叫及回路工作的长指令,组成各种不同的程序,程序字符不必与指令集及数据字符的宽度有关联,程序字符的宽度可以视应用的需求而改变。11.根据权利要求1所述的多重字节微处理器架构,其特征在于指令集是驱动前述中央处理器各部分线路所需的最小指令集,为了处理特殊的应用工作,可以加入特别的线路并增加新指令以增进中央处理器的工作效能。12.根据权利要求1所述的多重字节微处理器架构,其特征在于中央处理器有一组地址缓存器可以用来读写内存。13.根据权利要求3所述的多重字节微处理器架构,其特征在于中心分工器可以接受算术逻辑器所产生的结果,以及其它缓存器的数据,选择其中一项送到中心缓存器之前,在压入动作时存入中心缓存器。14.根据权利要求3所述的多重字节微处理器架构,其特征在于辅助分工器选择中心缓存器或数据堆栈顶层的数据,送到辅助缓存器之前,在压入或弹出的动作时,将选出的数据存入辅助分工器。15...

【专利技术属性】
技术研发人员:陈昌江
申请(专利权)人:易符智慧科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利