在移动微处理器中支持MMX指令的方法及扩展的微处理器技术

技术编号:2854002 阅读:189 留言:0更新日期:2012-04-11 18:40
一种在移动微处理器中支持MMX指令的方法,在移动微处理器中集成多个MMX专用寄存器,用于存放MMX数据;增加了MMX专用算术逻辑运算部件,用于对MMX数据组进行算术逻辑运算;还在芯片译码器中增加了MMX译码逻辑模块,用于译出MMX指令;根据MMX译码逻辑模块译出的不同MMX指令,采取如下步骤:A.将MMX数据从外部存储器中读入至MMX专用寄存器中;B.将MMX专用寄存器中的数据分组,形成数据组;C.MMX专用算术逻辑运算部件对数据组同时进行算术逻辑运算,并将得到的结果数据写入MMX专用寄存器中;D.将MMX专用寄存器中的结果数据存回所述外部存储器;本发明专利技术实现了对MMX指令的支持,解决了移动微处理器在处理视频等对数据进行操作时效率低下的问题。

【技术实现步骤摘要】

本专利技术涉及微处理器,尤其涉及一种在移动微处理器中支持MMX指令的方法及支持MMX指令的移动微处理器。
技术介绍
目前常用的移动微处理器指令集已经是工业界的标准之一,它是一种RISC的指令集。其特征包括指令种类少,寻址方式简化,大量的寄存器操作,大部分指令都是单周期指令。因为移动微处理器指令集中选取的指令都是程序中最常使用的指令,所以执行程序时效率较高。但是随着多媒体技术的不断发展,在对视频数据或音频数据进行操作时经常会遇到需要对大规模的数据或数组进行操作的问题,这时已有的指令就会出现效率低下的问题。为了解决这个问题,Intel公司在1996年推出了一项多媒体指令增强(MMX)技术。该MMX指令集中包括57条多媒体指令,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力的时候也能进行正常处理,这样在软件的配合下,就能得到更高的性能。MMX技术执行了SIMD(单指令流多数据流)的工作模式,在对数组操作方面有很高的可行性。相比之下,在应用移动微处理器内核进行多媒体处理时,由于移动微处理器是RISC指令集,基本上都是单周期指令,在处理视频或音频中经常出现的数组操作或大规模数据操作时,效率就会比较低。
技术实现思路
本专利技术所要解决的技术问题是通过在移动微处理器内核中集成对MMX指令的支持,使移动微处理器能执行相应的MMX指令,有效地解决移动微处理器在处理视频或音频中对数据进行操作时效率低下的问题。本专利技术的另一目的是提供一种支持MMX指令的移动微处理器。本专利技术为解决上述技术问题所采用的技术方案为一种在移动微处理器中支持MMX指令的方法,包括以下步骤在所述移动微处理器中集成多个MMX专用寄存器,用于分组存放MMX数据;在所述移动微处理器的芯片译码逻辑器中增加了MMX译码逻辑模块,用于译出MMX指令;在所述移动微处理器中增加了MMX专用算术逻辑运算部件,用于对MMX数据进行算术逻辑运算;以及根据所述MMX译码逻辑模块译出的不同MMX指令,采取如下步骤A、所述MMX数据从外部存储器中读入至所述MMX专用寄存器中;B、将所述MMX专用寄存器中的MMX数据分组,形成数据组;C、所述MMX专用算术逻辑运算部件对所述数据组同时进行算术逻辑运算,并将得到的MMX结果数据写入所述MMX专用寄存器中;D、将所述MMX专用寄存器中的所述MMX结果数据存回所述外部存储器。所述的方法,其中在所述的移动微处理器中还增加了一MMX数据缓冲区及一专用的直接存储器存取通道;并且所述步骤A包括以下具体步骤A1、将所述MMX数据由外部存储器通过所述直接存储器存取通道移至所述MMX数据缓冲区内;A2、将所述MMX数据从所述MMX数据缓冲区转移至所述MMX所述专用寄存器中; 同时,所述步骤D包括以下具体步骤D1、将所述MMX结果数据由所述专用寄存器存回所述MMX数据缓冲区;D2、将所述MMX数据缓冲区中的MMX结果数据通过所述直接存储器存取通道存回外部存储器中。所述的方法,其中所述的MMX专用寄存器采用8个64位寄存器,所述步骤B所述的MMX专用寄存器中的64位数据按字节或半字或字的方式分成64位数据组。所述的方法,其中所述步骤C包括如下处理步骤中的一个或几个将2个所述64位MMX专用寄存器中对应的数据组同时进行加法或减法操作,并将结果保存在所述MMX专用寄存器中;或将2个所述64位MMX专用寄存器中对应的数据组同时进行移位操作,并将结果保存在所述MMX专用寄存器中;或将2个所述64位MMX专用寄存器中对应的数据组同时进行逻辑操作,并将结果保存在所述MMX专用寄存器中;或将2个所述64位MMX专用寄存器中对应的数据组同时进行判断相等操作,并将结果保存在所述MMX专用寄存器中;或将2个所述64位数MMX专用寄存器中对应的数据组同时进行乘法操作,并将结果保存在所述MMX专用寄存器中。所述的方法,其中所述的数据缓冲区为16KB。采用上述方法实现的一种支持MMX指令的移动微处理器,包括芯片译码逻辑器、整数寄存器组和整数运算器以及预算运算寄存器和浮点运算器;还包括多个用于存放MMX数据的MMX专用寄存器;及用于对数据组进行运算的MMX专用算术逻辑部件;以及,在所述芯片译码器中增加一MMX译码逻辑模块;当所述MMX译码逻辑模块译出当前指令为MMX指令时,所述MMX专用寄存器及所述MMX专用算术逻辑部件执行MMX指令,对所述MMX数据进行处理。所述的移动微处理器,其中所述移动微处理器还包括一MMX数据缓冲区及一专用的直接存储器存取通道;所述MMX数据缓冲区与所述的MMX专用寄存器连接,并且所述MMX数据缓冲区通过所述的直接存储器存取通道与外部存储器交换MMX/结果数据。所述的移动微处理器,其中所述的MMX专用寄存器采用8个64位寄存器,所述的数据缓冲区为16KB,所述的MMX专用算术逻辑运算部件为8位的运算部件。本专利技术的有益效果为本专利技术的有益效果为由于采用了上述技术方案,当移动微处理器译码器中的MMX译码逻辑模块译出当前指令是属于MMX指令集时,就只会对MMX的专用寄存器进行操作而不会对移动微处理器基本的寄存器进行更改;并且增加的MMX专用的算术逻辑运算部件,使MMX数据可以并行运行,以便在最短的时间内完成数据操作,实现了对MMX指令的支持,解决了移动微处理器在处理视频或音频中对数据进行操作时效率低下的问题。同时由于MMX指令的操作对象数据量都很大,往往是一帧图像之类,本技术方案为MMX指令集增加了一块16KB的数据缓冲区,使MMX指令执行时只需要与芯片内的缓冲区部分进行数据交换;并且,数据通过专用的直接存储器存取(DMA)通道将数据从外部的存储器中转移到内部的数据缓冲区中,不必占有其它基本指令的执行周期,使扩展后的移动微处理器进一步加快了传输、操作的速度。附图说明图1为扩展后的移动微处理器结构图2为MMX扩展部分的结构图3为扩展后移动微处理器对于MMX指令处理的流程图 具体实施例方式下面根据附图和实施例对本专利技术作进一步详细说明由于MMX(多媒体增强指令集)技术可用于对大量数据和复杂数据进行的复杂操作,可以大大提高应用程序对视频和音频数据的处理能力。因此,为了在移动微处理器中能执行MMX指令,如图1所示,本专利技术在所述移动微处理器内核中集成了多个MMX专用寄存器,用于存放MMX处理数据,MMX专用寄存器可以选择8个64位的MMX专用寄存器,每一个寄存器可以存放8个字节(byte),4个半字(half-word)或2个字(word);在所述移动微处理器内核的移动微处理器译码器中增加了MMX译码逻辑模块,用于译出MMX指令,并当MMX译码逻辑模块译出当前指令属于MMX指令集时,就只会对MMX的专用寄存器进行操作而不会对移动微处理器基本的寄存器进行更改;在所述移动微处理器内核中增加了MMX专用算术逻辑运算部件,用于对MMX数据组进行算术逻辑运算,所述的MMX专用算术逻辑运算部件可以用8位的运算部件可配置的一次完成字节,半字以及字的运算。增加了上述部分后,扩展的移动微处理器可以根据所述MMX译码逻辑模块译出的不同的MMX译码指令,采取如下处理步骤A、根据MMX数据转移译码指令,将64位处理数据从外部存储器中读入至所述MMX专用64位寄存器中;B、根据本文档来自技高网...

【技术保护点】
一种在移动微处理器中支持MMX指令的方法,包括以下步骤:在所述移动微处理器中集成多个MMX专用寄存器,用于分组存放MMX数据;在所述移动微处理器的芯片译码逻辑器中增加了MMX译码逻辑模块,用于译出MMX指令;在所述移动微处理器中增加了MMX专用算术逻辑运算部件,用于对MMX数据进行算术逻辑运算;以及根据所述MMX译码逻辑模块译出的不同MMX指令,采取如下步骤:A、将所述MMX数据从外部存储器中读入至所述MMX专用寄存器中;B、将所述MMX专用寄存器中的MMX数 据分组,形成数据组;C、所述MMX专用算术逻辑运算部件对所述数据组同时进行算术逻辑运算,并将得到的MMX结果数据写入所述MMX专用寄存器中;D、将所述MMX专用寄存器中的所述MMX结果数据存回所述外部存储器。

【技术特征摘要】
1.一种在移动微处理器中支持MMX指令的方法,包括以下步骤在所述移动微处理器中集成多个MMX专用寄存器,用于分组存放MMX数据;在所述移动微处理器的芯片译码逻辑器中增加了MMX译码逻辑模块,用于译出MMX指令;在所述移动微处理器中增加了MMX专用算术逻辑运算部件,用于对MMX数据进行算术逻辑运算;以及根据所述MMX译码逻辑模块译出的不同MMX指令,采取如下步骤A、将所述MMX数据从外部存储器中读入至所述MMX专用寄存器中;B、将所述MMX专用寄存器中的MMX数据分组,形成数据组;C、所述MMX专用算术逻辑运算部件对所述数据组同时进行算术逻辑运算,并将得到的MMX结果数据写入所述MMX专用寄存器中;D、将所述MMX专用寄存器中的所述MMX结果数据存回所述外部存储器。2.根据权利要求1所述的方法,其特征在于在所述的移动微处理器中还增加了一MMX数据缓冲区及一专用的直接存储器存取通道;并且所述步骤A包括以下具体步骤A1、将所述MMX数据由外部存储器通过所述直接存储器存取通道移至所述MMX数据缓冲区内;A2、将所述MMX数据从所述MMX数据缓冲区转移至所述MMX所述专用寄存器中;同时,所述步骤D包括以下具体步骤D1、将所述MMX结果数据由所述专用寄存器存回所述MMX数据缓冲区;D2、将所述MMX数据缓冲区中的MMX结果数据通过所述直接存储器存取通道存回外部存储器中。3.根据权利要求1或2所述的方法,其特征在于所述的MMX专用寄存器采用8个64位寄存器,所述步骤B所述的MMX专用寄存器中的64位数据按字节或半字或字的方式分成64位数据组。4.根据权利要求3所述的方法,其特征在于所述步骤C包括如下处理步骤中的一个或几个将2个所...

【专利技术属性】
技术研发人员:赵冰茹刘虎徐怀懿李小明
申请(专利权)人:深圳安凯微电子技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1