高级模拟功能与前沿微控制器的整合结晶——MAXQ架构概述
发布时间:2007/8/24 0:00:00 访问次数:470
本文主要介绍全新的微控制器核-MAXQ架构的独特优势和资源与技术分折,同时也和常规微控制器作比较,从而开拓出MAXQ架构应用前景。
众所周知,当今从事微控制器系统设计者为项目开发时应首先选择一款微控制器,其选择有方方面面的考虑,即可选择8位、16位、RISC(精简指令集电脑/运算)、CISC(复杂指令集运算)、或其他介于其间的微控制器。在选样过程中,需要考虑许多衡量标准,这已经成为了—种规则。这些衡量标准包括价格、性能,功耗、代码密度、开发时间、及至未来升级的可能性等等。对一项标准的苛刻要求通常会影响到其他方面的选样,这就使选择更为复杂。某个因素在一种应用中至关重要,而在另一种应用中可能就不那么重要了。因此,没有一款微控制器可以做到完美地适用于所有项目。不过,一款现代的微控制器要想获得成功,就必须在许多目标领域里表现优越。
倍受关注的全新微控制器核
为了满足需要,模拟芯片制造商Maxim Integrated Products与业界的高性能微控制器供应商Dallas Semiconducmr联合开发,可以将高级模拟功能与前沿微控制器整合在一起。这种合作的结晶之一便是MAXQ RISC架构,一种全新的微控制器核,结合了高性能和低功耗,以及多种复杂的模拟功能,为从事系统开发者创造了一种比较理想的选择机合。
然而将复杂的模拟电路与高性能数字模块集成在一起时,工作环境必须尽可能安静和低噪。然而,微控制器核的数字电路中出现的时钟和开关会产生噪声并对敏感的模拟电路产生部分影响。这正是混合信号设计者所要面临的困难:既要赢得微控制器的高性能,又要将可能影响敏感的模拟电路的时钟噪声减至最小。
为此,MAXQ架构通过智能化的时钟管理与运用降低了噪声。这意味着MAXQ核在任意时刻只向那些需要使用时钟的电路提供时钟,这样既降低了功耗,又为模拟电路的整合提供了—个最优的安静环境。另外,MAXQ架构在每个钟周期都执行许多功能,使其性能得以最大化。值此,本文将纵观MAXQ RISC架构并着重介绍其极具竞争性的独特优势。
不浪费任何时钟周期
MAXQ架构的设计目标之一是赢得更高的性能——功耗比。高效率设计的第一要素是最大限度地利用时钟周期来执行用户代码。
执行单周期指令是MAXQ获得高时钟利用率最基本的方法。执行单周期指令可以使最终用户受益,这是因为增加指令带宽可以获得更高的性能,并且由于可以降低时钟频率,使得降低功耗成为可能。除了长跳转/长调用指令以及某些扩展寄存器访问以外,所有MAXQ指令都在单个时钟周期中执行。尽管许多RISC微控制器都宣称支持单周期指令,不过通常只限于指令集的一小部分指令或寻址方式。而对MAXQ架构来说,单周期指令已成为规范。
其次,MAXQ架构实现了更高的时钟周期利用率,是因为它不借助指令流水线(常见于许多RISC微控制器中)实现单周期操作。MAXQ指令的解码与执行硬件极其简单(并且速度极快),以至于这些操作可以与程序取指在同一时钟周期内完成,并且对最大工作频率的影响很小。为了解释省去指令流水线的好处,可以一个普通的从流水线中执行指令的RISC CPU为例。当出现程序分支时,CPU需要花费一个或更多时钟周期(取决于流水线深度)来将取指操作转移到目标分支地址,并丢弃已取得的指令。显然,与直接执行指令相比,使用时钟周期来丢弃指令是不希望出现的浪费,因为这样降低了性能并增加了功耗。此类普通架构虽然用户是不欢迎的,但此CPU盗窃时钟去重装载流水线却是这种普通架构的必然后果,是无法避免的。而MAXQ架构区别其他8位、16位RISC微控制器的特点之一就是无须借助指令流水线实现单周期指令的执行(也就没有与之相伴的时钟周期浪费)。
独特的MAXQ指令字
MAXQ指令字非常独特,因为只有一条传统意义上的指令,即“MOVE”指令。“MOVE”指令的源和目的操作数是生成指令、存储器访问以及触发硬件操作的基础。将16位MAXQ指令分解后,得到的只有两部分:7位目的减,以及带有1位源格式位的8位源减。当源格式位编码为0时,表示以立即数或文本字节(即#00h-#FFh)作为源操作数。在单个指令字中对于立即数源的无限支持则对寄存器的初始化例程和ALU操作非常有价值。非文本源和目的操作数又细分为更小的组或模块。
所有机器指令都归纳为用于传送操作的源和目的操作数。这些操作数被用来选择物理MAXQ设备寄存器。这种类型的传送是最基础且很容易想象的。不过,在MAXQ机器中,源和目的操作数并不一定与物理寄存器相关。
MAXQ架构使用这种相同的源到目的传送句法执行间接存储器访问。特定的目的和/或源编码被识别为物理存储器(例如堆栈、累加器砗列和数据存储等)的间接访问入口。这些间接存储器访问入口使用物理指针寄存器来定义待访问的存储器地址。例如,间接访问数据存储器的方法之一就是使用“@DP[0]”操作数。以这种操作数分别作为源或目的,便可触发对于数据存储器的间接读或写访问,存储器由数据指
本文主要介绍全新的微控制器核-MAXQ架构的独特优势和资源与技术分折,同时也和常规微控制器作比较,从而开拓出MAXQ架构应用前景。
众所周知,当今从事微控制器系统设计者为项目开发时应首先选择一款微控制器,其选择有方方面面的考虑,即可选择8位、16位、RISC(精简指令集电脑/运算)、CISC(复杂指令集运算)、或其他介于其间的微控制器。在选样过程中,需要考虑许多衡量标准,这已经成为了—种规则。这些衡量标准包括价格、性能,功耗、代码密度、开发时间、及至未来升级的可能性等等。对一项标准的苛刻要求通常会影响到其他方面的选样,这就使选择更为复杂。某个因素在一种应用中至关重要,而在另一种应用中可能就不那么重要了。因此,没有一款微控制器可以做到完美地适用于所有项目。不过,一款现代的微控制器要想获得成功,就必须在许多目标领域里表现优越。
倍受关注的全新微控制器核
为了满足需要,模拟芯片制造商Maxim Integrated Products与业界的高性能微控制器供应商Dallas Semiconducmr联合开发,可以将高级模拟功能与前沿微控制器整合在一起。这种合作的结晶之一便是MAXQ RISC架构,一种全新的微控制器核,结合了高性能和低功耗,以及多种复杂的模拟功能,为从事系统开发者创造了一种比较理想的选择机合。
然而将复杂的模拟电路与高性能数字模块集成在一起时,工作环境必须尽可能安静和低噪。然而,微控制器核的数字电路中出现的时钟和开关会产生噪声并对敏感的模拟电路产生部分影响。这正是混合信号设计者所要面临的困难:既要赢得微控制器的高性能,又要将可能影响敏感的模拟电路的时钟噪声减至最小。
为此,MAXQ架构通过智能化的时钟管理与运用降低了噪声。这意味着MAXQ核在任意时刻只向那些需要使用时钟的电路提供时钟,这样既降低了功耗,又为模拟电路的整合提供了—个最优的安静环境。另外,MAXQ架构在每个钟周期都执行许多功能,使其性能得以最大化。值此,本文将纵观MAXQ RISC架构并着重介绍其极具竞争性的独特优势。
不浪费任何时钟周期
MAXQ架构的设计目标之一是赢得更高的性能——功耗比。高效率设计的第一要素是最大限度地利用时钟周期来执行用户代码。
执行单周期指令是MAXQ获得高时钟利用率最基本的方法。执行单周期指令可以使最终用户受益,这是因为增加指令带宽可以获得更高的性能,并且由于可以降低时钟频率,使得降低功耗成为可能。除了长跳转/长调用指令以及某些扩展寄存器访问以外,所有MAXQ指令都在单个时钟周期中执行。尽管许多RISC微控制器都宣称支持单周期指令,不过通常只限于指令集的一小部分指令或寻址方式。而对MAXQ架构来说,单周期指令已成为规范。
其次,MAXQ架构实现了更高的时钟周期利用率,是因为它不借助指令流水线(常见于许多RISC微控制器中)实现单周期操作。MAXQ指令的解码与执行硬件极其简单(并且速度极快),以至于这些操作可以与程序取指在同一时钟周期内完成,并且对最大工作频率的影响很小。为了解释省去指令流水线的好处,可以一个普通的从流水线中执行指令的RISC CPU为例。当出现程序分支时,CPU需要花费一个或更多时钟周期(取决于流水线深度)来将取指操作转移到目标分支地址,并丢弃已取得的指令。显然,与直接执行指令相比,使用时钟周期来丢弃指令是不希望出现的浪费,因为这样降低了性能并增加了功耗。此类普通架构虽然用户是不欢迎的,但此CPU盗窃时钟去重装载流水线却是这种普通架构的必然后果,是无法避免的。而MAXQ架构区别其他8位、16位RISC微控制器的特点之一就是无须借助指令流水线实现单周期指令的执行(也就没有与之相伴的时钟周期浪费)。
独特的MAXQ指令字
MAXQ指令字非常独特,因为只有一条传统意义上的指令,即“MOVE”指令。“MOVE”指令的源和目的操作数是生成指令、存储器访问以及触发硬件操作的基础。将16位MAXQ指令分解后,得到的只有两部分:7位目的减,以及带有1位源格式位的8位源减。当源格式位编码为0时,表示以立即数或文本字节(即#00h-#FFh)作为源操作数。在单个指令字中对于立即数源的无限支持则对寄存器的初始化例程和ALU操作非常有价值。非文本源和目的操作数又细分为更小的组或模块。
所有机器指令都归纳为用于传送操作的源和目的操作数。这些操作数被用来选择物理MAXQ设备寄存器。这种类型的传送是最基础且很容易想象的。不过,在MAXQ机器中,源和目的操作数并不一定与物理寄存器相关。
MAXQ架构使用这种相同的源到目的传送句法执行间接存储器访问。特定的目的和/或源编码被识别为物理存储器(例如堆栈、累加器砗列和数据存储等)的间接访问入口。这些间接存储器访问入口使用物理指针寄存器来定义待访问的存储器地址。例如,间接访问数据存储器的方法之一就是使用“@DP[0]”操作数。以这种操作数分别作为源或目的,便可触发对于数据存储器的间接读或写访问,存储器由数据指