书签 分享 收藏 举报 版权申诉 / 7

微控制器取指令方法及其实现电路.pdf

  • 上传人:a3
  • 文档编号:1640335
  • 上传时间:2018-06-30
  • 格式:PDF
  • 页数:7
  • 大小:390.10KB
  • 摘要
    申请专利号:

    CN201310673975.6

    申请日:

    2013.12.11

    公开号:

    CN104714777A

    公开日:

    2015.06.17

    当前法律状态:

    驳回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的驳回IPC(主分类):G06F 9/30申请公布日:20150617|||实质审查的生效IPC(主分类):G06F 9/30申请日:20131211|||公开

    IPC分类号:

    G06F9/30

    主分类号:

    G06F9/30

    申请人:

    上海华虹集成电路有限责任公司

    发明人:

    牟晨杰; 刘慧; 王永流

    地址:

    201203上海市浦东新区碧波路572弄39号

    优先权:

    专利代理机构:

    上海浦一知识产权代理有限公司31211

    代理人:

    戴广志

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种微控制器取指令方法,使用16比特位宽的闪存作为程序存储器,每次读取16位指令码,其中8位指令码立即由CPU核读取进行译码操作,另外8位指令码由指令寄存器暂存。下一个读取周期时,CPU核可以直接从指令寄存器读取8比特指令码,而不需要从程序存储器中读取。本发明还公开了一种实现所述方法的微控制器取指令电路,包括:一CPU核,为8比特位宽;一程序存储器,由16比特位宽的嵌入式闪存构成;一指令读取电路,一指令寄存器,为16比特位宽,一选择器,为8比特位宽。本发明能有效降低程序存储器的读取次数,降低微控制器的取指令功耗。

    权利要求书

    权利要求书
    1.  一种微控制器取指令方法,其特征在于:采用位宽为两个字节的程序存储器,来搭配位宽为一个字节的CPU核;当CPU核取指令时,指令读取电路根据指令地址一次从指令存储器取出两个字节的指令码;其中一个字节的指令码直接送入CPU核进行译码,另外一个字节的指令码则由一个指令寄存器暂存;在下一个读取周期,当CPU核读取下一条指令时,则直接从所述指令寄存器中读取该条指令。

    2.  一种实现权利要求1所述方法的微控制器取指令电路,其特征在于,包括:
    一CPU核,8比特位宽,其每次能译码8比特指令码,地址线为14比特,可寻址16384字节的地址范围;
    一程序存储器,由16比特位宽的嵌入式闪存构成,每次可以读取16比特指令码,总容量为16384个字节;
    一指令读取电路,将所述CPU核给出的14比特地址[13:0]转换为13比特地址[13:1],用13比特地址寻址所述程序存储器;
    一指令寄存器,16比特位宽,用于暂存由所述程序存储器给出的16比特指令码;
    一8比特指令选择器,8比特位宽,其输入为所述指令寄存器中的16比特指令码,输出为高8比特或者低8比特指令码,选择信号是所述CPU核给出的14比特地址的最低位[0]。

    说明书

    说明书微控制器取指令方法及其实现电路
    技术领域
    本发明涉及微控制器(Micro Controller Unit MCU)领域,特别是涉及一种微控制器取指令方法。本发明还涉及一种能实现所述方法的微控制器取指令电路。
    背景技术
    微控制器产品的最主要任务就是执行程序代码,因此程序读取占据了微控制器操作的绝大部分。
    在微控制器设计中,一般CPU核的位宽与程序存储器的位宽相一致。CPU核位宽为8比特,所采用程序存储器的位宽同样为8比特。这样的话CPU核读取一条24比特指令码就需要读取三次程序存储器。
    目前微控制器的程序存储器一般采用嵌入式闪存,根据产品规格书,台积电的0.18微米工艺下的低功耗嵌入式闪存,其读取功耗如表1所示。
    存储器位宽(比特)816读取功耗(微安/兆赫兹)105130
    表1
    根据表1中数据,该嵌入式闪存读取一个16比特数据需要功耗130微安/兆赫兹,而读取两个8比特数据需要功耗105*2=210微安/兆赫兹。可见,一次读取16比特数据功耗远远小于两次读取8比特数据。如果可以把 相邻地址的两个8比特数据拼成一个16比特数据进行读取,就可以降低210-130=80微安/兆赫兹的功耗。
    随着低功耗微控制器的发展,产品在实现更多功能的同时,功耗也必须降得更低。
    发明内容
    本发明要解决的技术问题是提供一种微控制器取指令方法,能有效降低程序存储器的读取次数,降低微控制器的取指令功耗;为此,本发明还要提供一种实现所述方法的微控制器取指令电路。
    为解决上述技术问题,本发明的微控制器取指令方法是采用如下技术方案实现的:
    采用位宽为两个字节(16比特)的程序存储器,来搭配位宽为一个字节(8比特)的CPU核;当CPU核取指令时,指令读取电路根据指令地址一次从指令存储器取出两个字节的指令码;其中一个字节的指令码直接送入CPU核进行译码,另外一个字节的指令码则由一个指令寄存器暂存;在下一个读取周期,当CPU核读取下一条指令时,则直接从所述指令寄存器中读取该条指令。
    本发明的实现所述方法的微控制器取指令电路,包括:
    一8比特位宽的CPU核,其每次可以译码8比特指令码,地址线为14比特,可寻址16384字节的地址范围;
    一16比特位宽的嵌入式闪存作为程序存储器,其每次可以读取16比特指令码,总容量为16384个字节;
    一指令读取电路,将所述CPU核给出的14比特地址[13:0]转换为13比特地址[13:1],用13比特地址寻址所述程序存储器;
    一16比特的指令寄存器,用于暂存由所述程序存储器给出的16比特指令码;
    一8比特指令选择器,其输入为所述指令寄存器中的16比特指令码,输出为奇地址指令码或者偶地址指令码,选择信号是所述CPU核给出的14比特地址的最低位[0]。
    本发明在保持CPU核的位宽不变的前提下,加大程序存储器的位宽,采用16比特位宽的程序存储器。把两次8比特的闪存读取操作,合并为一次16比特的闪存读取操作;由于指令寄存器的读取功耗远远小于程序存储器的读取功耗,大大降低了系统功耗。这样的话读取一条24比特的指令码就只需要读取两次程序存储器。从而有效地减少了程序存储器的读取次数,降低了微控制器取指令的功耗。
    本发明以较少的硬件开销作为代价,降低了微控制器读取程序存储器的次数,降低了产品的整体功耗,提高了产品的市场竞争力。
    附图说明
    下面结合附图与具体实施方式对本发明作进一步详细的说明:
    图1是所述微控制器取指令电路原理框图。
    图2是8比特存储器与16比特存储器指令码存储结构示意图。
    具体实施方式
    所述微控制器取指令方法是,使用16比特位宽的闪存作为程序存储器,每次读取16位指令码,其中8位指令码立即由CPU核读取进行译码操作,另外8位指令码由指令寄存器暂存。下一个读取周期时,当CPU核读取下一条指令时,因为下条指令已经暂存在指令寄存器中,CPU核可以直接从指令寄存器读取8比特指令码,而不需要从程序存储器中读取。这样,就把两次8比特的闪存读取操作,合并为一次16比特的闪存读取操作,大大降低了系统功耗。
    结合图1所示,实现所述方法的微控制器取指令电路,包括:一CPU核,为8比特位宽;一程序存储器,由16比特位宽的嵌入式闪存构成;一指令读取电路,一指令寄存器,为16比特位宽,一选择器,为8比特位宽。
    使用16比特位宽的嵌入式闪存存储程序,每个地址可以存储16比特指令码。CPU核的位宽为8比特,寻指地址有14比特,可以访问的地址空间为16384个字节,每个地址存储8比特指令。
    根据图1所示,CPU核给出14比特读指令地址[13:0],指令读取电路把该地址的最低位去掉,转换为指令地址[13:1]送到程序存储器进行寻址读取指令。程序存储器根据指令地址[13:1]寻址到相应的16比特指令码,并给出该指令码到指令寄存器。16比特指令寄存器立即把该16比特指令码进行暂存,并送给指令选择器。指令选择器根据CPU核的14比特指令地址[13:0]的最低位地址[0]来选择高低位字节。如果地址[0]是0,则选择高位字节;如果地址[0]是1,则选择低位字节。这样CPU核读取了16比特指令码,但是只读取了一次程序存储器。
    由于微控制代码并非总是顺序执行,存在跳转、循环等可能,因此在高字节指令码读取之后并不一定就是读取低字节指令码。假设微控制代码大小为16384个字节,下面分几种情况分析采用本发明后读取全部16384字节指令的实际功耗:
    第一种情况:微控制器代码非常理想化的顺序执行,如图2所示,代码依次按照0-1-2-3-…-16383的顺序执行,实际读取指令功耗为130*16384*0.5=1040mA/MHz。
    第二种情况,微控制代码顺序执行指令占80%,跳转指令占20%,实际读取指令功耗为130*16384*(80%*0.5+20%)=1248mA/MHz。
    第三种情况:微控制代码中顺序执行指令和跳转执行指令各占一半,实际读取指令功耗为130*16384*(50%*0.5+50%)=1560mA/MHz。
    第四种情况:微控制器代码中顺序执行指令占40%,跳转指令占60%,实际读取指令功耗为130*16384*(40%*0.5+60%)=1664mA/MHz。
    第五种情况:微控制代码中全部为跳转执行,实际读取功耗为130*16384=2080mA/MHz。
    作为对比,采用原先8比特位宽的程序存储器读取全部16384个字节指令码的功耗为:105*16384=1680mA/MHz。

    本发明41660%40%1664本发明516100%0%20808比特方案 8N/AN/A1680
    表2各种情况功耗分析对比
    根据上述数据,只要顺序执行指令占全部指令的40%,采用本发明的功耗就小于采用8比特位宽程序存储器的功耗,顺序执行指令所占比例越多,功耗降低的也越多。
    由于微控制程序的读取顺序与程序本身密切相关,合理的程序编程可以有效地提高顺序执行的比例,从而降低取指令功耗。本发明仅仅是从电路角度给出了一个降低功耗的方案,只有在程序代码的密切配合下,才能达到最佳的效果。
    以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

    关 键  词:
    控制器 指令 方法 及其 实现 电路
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:微控制器取指令方法及其实现电路.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1640335.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1