可执行等待及延后指令的程序地址运算器架构制造技术

技术编号:2845015 阅读:280 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种可执行等待(wait)及延后(delay)指令的程序地址(program  address)运算器架构,其将程序地址回馈至多任务器的输入端,可使程序增加一“wait”指令以执行等待的动作,此“wait”指令亦可以由增加一频率网关单元来控制;另外,一种“delay”指令将程序地址回馈至多任务器的输入端,并使用一累计器做为数个频率延迟的控制机制。因此本发明专利技术提供一种可执行等待及延后指令的程序地址运算器架构,可使程序精简容易撰写,有效避免程序的重复执行并且可以精准控制程序执行的时序,降低程序对事件发生的反应时间。

【技术实现步骤摘要】

本专利技术是有关一种微控制器的地址运算器架构,特别是有关一种可执行等待及延后指令的程序地址运算器架构
技术介绍
目前在计算机执行的汇编语言,最常执行的程序是按照一行一行指令执行,如以下程序所示move ax,0x00;move bx,0x02;add ax,bx;在一些情况下则需要有循环的执行,如以下程序所示move ax,0x20;loop1sub ax,1;jnz loop1;nop;或者是move cx,0x20;move ax,0x30;loop2sub ax,1;loopnz loop2;nop;以上的程序写法为程序设计师经常使用的基本语法。公知在目前所使用的地址运算器架构如图1所示,多任务器(multiplex)12从程序序列器(program sequencer)10接收选择讯号后,再从输入讯号选择相对应的程序地址(program address)当做下个程序地址,并传送至程序地址缓存器(program address register)14,当做程序地址,因此当程序在执行时,每一个指令只被执行一次,接着多任务器12选择下一个指令执行,当有循环要执行时会使用一些指令或是增加硬件的方式让指令被重复执行以检查特定状况是否发生,最常使用的方式是使用一个或数个计数缓存器(counter register)储存循环的次数,程序序列器10使用计数缓存器的输出结果找寻下一个指令执行。然而,此种执行指令的方式存在有下列缺点(1)基于每一个指令执行完后立即执行下一个指令,若是在等待一些讯号或事件发生时,必需增加一些额外的指令来完成,其中一部份指令执行检查状况是否发生,一部份指令是将执行程序跳回到原来程序开始的部分而使得执行检查的指令能再重新跑(run)一遍;(2)因为检查指令只是检查循环程序的一部份,事件发生的时间点可能在循环程序内的任何指令,微控制器无法精确侦测事件发生的时间点,除了延迟对事件发生的响应时间外,对时序精准度的掌握亦大大的降低;(3)如果程序是用来作为一时间延迟的方式,一些多余的程序将会被执行,计数器需要被重写,并执行循环程序,假如延迟时间不是循环执行时间的整倍数就必须加入虚设码(dummy code),使得程序代码增加,当系统需要执行延迟的程序时,就会增加这些虚设码的执行运算;(4)在硬件执行上由于循环计数器使用额外的计数器与逻辑电路以实现其运算,因而增加了硬件的成本。有鉴于此,本专利技术针对上述的问题,提出一种可执行等待及延后指令的程序地址运算器架构,可以避免程序因执行循环检查而产生的缺点,使得程序更为精简并简化微控制器缓存器的使用,且使程序可以很精准的依所需要的时序执行。
技术实现思路
本专利技术的主要目的在于提供一种可执行等待及延后指令的程序地址运算器架构,使得程序可以利用”wait”指令去等待外围讯号发生改变,而不需再写循环程序去检查某一讯号或状态的发生,如此不但可以简化程序的设计,并且可以降低程序对外围讯号变化所需的反应时间。本专利技术的另一目的在于提供一种可执行等待及延后指令的程序地址运算器架构,程序可以利用”delay”指令去设定所需要的延长时序,而不需再写循环程序去递减或比较某一设定值,可避免在程序代码中增加一些虚设码(dummy code),并且可以准确的控制程序执行时所需各项动作的时序。本专利技术的再一目的在于提供一种可执行等待及延后指令的程序地址运算器架构,其可使程序代码减少且使程序设计师可以很容易的以一指令完成传统架构需要数个程序代码才能完成的功能,并可更精准的掌控程序执行的时序。为实现上述目的,本专利技术提供的一种可执行等待指令的程序地址运算器架构,其由一文字(word)作为在程序中表达指令执行的命令,该程序地址运算器架构包括一程序序列器(program sequencer),其接收一第一组讯号,从该第一组讯号中经判断并输出一选择讯号;一多任务器(multiplex),其连接该程序序列器并接收该程序序列器输出的选择讯号,该多任务器亦接收一第二组讯号,并依该选择讯号从该第二组讯号中选择一讯号输出以作为一下个程序地址;以及一程序地址缓存器,其连接该多任务器以接收该下个程序地址,并有一回路可将程序地址回传至该多任务器的输入端成为该第二组讯号中的讯号。所述的可执行等待指令的程序地址运算器架构,其中该第一组讯号为数个电路单元输出的讯号。所述的可执行等待指令的程序地址运算器架构,其中该等电路单元包括指令译码器、微控制器状态、算数逻辑单元、以及等待的装置。所述的可执行等待指令的程序地址运算器架构,其中该等待的装置为外围装置的讯号、外部输入频率、缓存器的内容或是内存的内容。所述的可执行等待指令的程序地址运算器架构,其中该第二组讯号包括该程序地址、下一个指令地址、指令位移地址、指令中的目标地址、内存储存的目标地址、一般缓存器储存的地址、特殊缓存器储存的地址、以及储存中断命令的地址。所述的可执行等待指令的程序地址运算器架构,其中该文字为”wait”。依据本专利技术提供的一种可执行等待指令的程序地址运算器架构,其由一文字(word)作为在程序中表达指令执行的命令,该程序地址运算器架构包括一程序序列器(program sequencer),其接收一第一组讯号,从该第一组讯号中经判断并输出一选择讯号;一频率网关单元,其系连接该程序序列器以接收该选择讯号,并同时接收一频率讯号,该频率网关单元最后输出一时序控制讯号;一多任务器(multiplex),其可接收一第二组讯号,并从该第二组讯号中选择一讯号输出以作为一下个程序地址;以及一程序地址缓存器,其连接该频率网关单元并接收该时序控制讯号,该程序地址缓存器亦连接该多任务器以接收该下个程序地址,最后依该时序控制讯号选择下个程序地址成为程序地址。所述的可执行等待指令的程序地址运算器架构,其中该第一组讯号为数个电路单元输出的讯号。所述可执行等待指令的程序地址运算器架构,其中该等电路单元包括指令译码器、微控制器状态、算数逻辑单元、以及等待的装置。所述可执行等待指令的程序地址运算器架构,其中该等待的装置为外围装置的讯号、外部输入频率、缓存器的内容或是内存的内容。所述可执行等待指令的程序地址运算器架构,其中该第二组讯号包括下一个指令地址、指令位移地址、指令中的目标地址、内存储存的目标地址、一般缓存器储存的地址、特殊缓存器储存的地址、以及储存中断命令的地址。所述的可使指令延后执行的运算器架构,其中该文字为”wait”。依据本专利技术提供的一种可执行延后指令的程序地址运算器架构,其由一文字(word)作为在程序中表达指令执行的命令,该程序地址运算器架构包括一累计器(accumulator),其接受一指令输出数字讯号并接受递减结果;一算数逻辑单元(ALU),其接受累计器数字讯号并递减一数值,输出该递减结果及运算结束讯号;一程序序列器(program sequencer),其连接该算数逻辑单元以接收该运算结束讯号,另外接收一第一组讯号,从该第一组讯号中经判断并输出一选择讯号;一多任务器(multiplex),其连接该程序序列器并接收该程序序列器输出的选择讯号,该多任务器可接收一第二组讯号,并从该第二组讯号中选择一讯号输出以作为下个程序地址;以及一程序地址缓存器,其连接该多本文档来自技高网
...

【技术保护点】
一种可执行等待指令的程序地址运算器架构,其由一文字作为在程序中表达指令执行的命令,该程序地址运算器架构包括:一程序序列器,其接收一第一组讯号,从该第一组讯号中经判断并输出一选择讯号;一多任务器,其连接该程序序列器并接收该程序 序列器输出的选择讯号,该多任务器亦接收一第二组讯号,并依该选择讯号从该第二组讯号中选择一讯号输出以作为一下个程序地址;以及一程序地址缓存器,其连接该多任务器以接收该下个程序地址,并有一回路可将程序地址回传至该多任务器的输入端成为该第 二组讯号中的讯号。

【技术特征摘要】
1.一种可执行等待指令的程序地址运算器架构,其由一文字作为在程序中表达指令执行的命令,该程序地址运算器架构包括一程序序列器,其接收一第一组讯号,从该第一组讯号中经判断并输出一选择讯号;一多任务器,其连接该程序序列器并接收该程序序列器输出的选择讯号,该多任务器亦接收一第二组讯号,并依该选择讯号从该第二组讯号中选择一讯号输出以作为一下个程序地址;以及一程序地址缓存器,其连接该多任务器以接收该下个程序地址,并有一回路可将程序地址回传至该多任务器的输入端成为该第二组讯号中的讯号。2.如权利要求1所述的可执行等待指令的程序地址运算器架构,其中该第一组讯号为数个电路单元输出的讯号。3.如权利要求2所述的可执行等待指令的程序地址运算器架构,其中该等电路单元包括指令译码器、微控制器状态、算数逻辑单元、以及等待的装置。4.如权利要求3所述的可执行等待指令的程序地址运算器架构,其中该等待的装置为外围装置的讯号、外部输入频率、缓存器的内容或是内存的内容。5.如权利要求1所述的可执行等待指令的程序地址运算器架构,其中该第二组讯号包括该程序地址、下一个指令地址、指令位移地址、指令中的目标地址、内存储存的目标地址、一般缓存器储存的地址、特殊缓存器储存的地址、以及储存中断命令的地址。6.如权利要求1所述的可执行等待指令的程序地址运算器架构,其中该文字为”wait”。7.一种可执行等待指令的程序地址运算器架构,其由一文字作为在程序中表达指令执行的命令,该程序地址运算器架构包括一程序序列器,其接收一第一组讯号,从该第一组讯号中经判断并输出一选择讯号;一频率网关单元,其连接该程序序列器以接收该选择讯号,并同时接收一频率讯号,该频率网关单元最后输出一时序控制讯号;一多任务器,其可接收一第二组讯号,并从该第二组讯号中选择一讯号输出以作为一下个程序地址;以及一程序地址缓存器,其连接该频率网关单元并接收该时序控制讯号,该程序地址缓存器亦连接该多任务器以接收该下个程序地址,最后依该时序控制讯号选择下个程序地址成为程序地址。8.如权利要求7所述的可执行等待指令的程序地址运算器架构,其中该第一组讯号为数个电路单元输出的讯号。9.如权利要求8所述可执行等待指令的程序地址运算器架构,其中该等电路单元包括指令译码器、微控制器状态、算数逻辑单元、以及等待的装置。10.如权利要求9所述可执行等待指令的程序地址运算器架构,其中该等待的装置为外围装置的讯号、外部输入频率、缓存器的内容或是内存的内容。11.如权利要求7所述可执行等待指令的程序地址运算器架构,其中该第二组讯号包括下一个指令地址、指令位移地址、指令中的目标地址、内存储存的目标地址、一般缓存器储存的地址、特殊缓存器储存的地址、以及储存中断命令的地址。12.如权利要求7所述的可使指令延后执行的运算器架构,其中该文字为”wait”。13.一种可执行延后指令的程序地址运算器架构,其由一文字作为在程序中表达指令执行的命令,该程序地址运算器架构包括一累计器,其接受一指令输出数字讯号并接受递减结果;一算数逻辑单元,...

【专利技术属性】
技术研发人员:张荣麟
申请(专利权)人:应广科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1