系统设计者都知道,微控制器是所有嵌入式系统的心脏。应该说,许多制造厂商在过去十年来,对微控制器作了的最大改进,突出的是,表现在其执行指令的速度方面。即单周期处理器达到了前所未有的性能目标——每机器周期一个时钟,目前已达为33百万指令每秒(MIPS)。基于这样一个内核,使安全型、网络型、和混合信号8051微控制器家族在功能集成和创新性方面有了新的突破,其中Dallas Semicondulctor公司就是一例.
那末为什么将创新的微控制器家族建立在传统的8051指令集之上?道理很简单,因为它是世界范围内最为流行的8位微控制器架构之一。这种指令集简单易懂,深受嵌入式系统设计者的喜爱。许多指令可直接访问 I/O引脚,便于迅速操作(位操作)外围设备。种类繁多的片内外围设备具有几乎无限种组合方式。此外,用于8051微控制器家族的开发工具随处可见,这样,可以非常容易地,而且不需要花费很高成本,就可以着手一个应用的开发。
“安全微控制器”的呈现
早在15年前,Dallas Semiconductor已推出了DS5000T系列芯片,它是一款独立开发的,基于8051指令集和功能集的新型微控制器。其设计上的新性能和优势是,建立在非易失SRAM技术之上,它是一种领先的低功耗技术而并非那种传统的EPROM. 其存储器分区和电池备份电路被直接集成到微控制器晶片上。这种系统的主要优势在于其速度。大多数非易失存储器的写操作通常很慢,但是非易失SRAM能够在很高的速度下,在单个周期内进行读出和写入。这对于高速、非易失数据采集应用来讲非常理想,这些应用常常要求捕捉实时数据。配合一个外部SRAM和电池,就构成完整的微控制器系统,具有多达64kB的非易失程序和数据存储器。
快速调试
由于采用非易失SRAM技术,数据和程序存储器都可重新在系统编程,允许逐字节、运行中编程。而一般情况下, 在一个标准的微控制器系统中,要做到这一点就必须将程序存储器(EPROM)从系统中拿下来,或者进行块擦除,擦除过程中要禁止存储器访问 (flash)。而基于非易失SRAM的微控制器的编程非常容易并且迅速,可利用PC或一个专用编程器通过串口对其进行编程。驻留于ROM的自举装载器直接将程序或数据下载到微控制器,实现快速调试或现场升级。
地址和数据总线加密
非易失SRAM独具特色的优点为系统固件的安全性提供了新的手段。由于自举装载器完全控制着向非易失SRAM的程序装载,为此,采用一个40位或80位的加密密钥对地址和数据总线进行加密。任何装载到微控制器内的程序或数据在存人SRAM之前都自动进行了加密。这种加密手段可以防止黑客窃取微控制器中的程序或数据。指令运行期间,微控制器取出经过加密的操作码,在一个机器周期内完成解密并执行。由于采用了非易失SRAM,允许全速进行读/写访问,指令解密不会引起任何延迟。
安全及保密
安全性在DS5240/50芯片中达到了高度,这是最新一款, 称之谓“安全微控制器”,这种微控制器被用于世界各地的支付系统。该款抗攻击能力极强的微控制器闻世于2002年,结合了4时钟机器周期的内核,以及为其程序存储器提供的加强型3-DES(数据加密标准-- Data enryption standard,见本文5简述)加密逻辑。可以说没有任何一款其它的微控制器可以提供如此高等级的安全性,同时又能全速运行每条指令。另外,还增加了侵人探测输入和片内篡改检测器,一旦检测到有篡改发生便自动擦除存储器。一个内部的微探针屏蔽层可防止对晶片进行篡改。还有,非易失SRAM对于要求高度安全的应用来讲可谓是最佳选择。由于可以高速写入,微控制器能够迅速擦除机密信息和敏感数据,这一点胜出了任何其他类型的存储器。
高速度低功耗的问世
嵌入式系统通过增加新的软件特性和外围设备,不断地对其基于8051的应用进行了改进和升级。改变了8051处理器核问世以后就基本停滞不前的现象.虽然这种“性能爬行”将现有的8051性能推向了极限,但不足之处是,对于8051内核的改进却没有跟得上.为此,系统设计者似乎不得不转向其他的处理器,并花费昂贵的代价去重新设计和更新他们的系统。
性能上的瓶颈在1970年末的8051微控制器内核上已经产生。尽管外部晶振的速度已接近40MHz,而传统的8051仍然要求12个时钟才能运行一个机器周期。每条指令需要1到4个机器周期,这意味着执行一条指令就需要少则12个多则 48个时钟周期。即便是运行一串象NOP这样的单周期指令(见图1高速微控制制器DS80C420、DS80C320与8051时钟周期的比较),其吞吐率也被限制,仅只有3 MIPS(Million Instruction Per Second--每秒百万条指令)。从图1(高速微控制制器DS80C420、DS80C320与8051时钟周期的比较)中可以看出,由于减少了每机器周期所需的时钟数,运行同样的指令集,性能可提升3倍以上(图1中所示每机器周期的时钟分别为12、4、1)。
运行速度高三倍
从1991年开始,Dallas公司开始着手重新设计8051微控制器,以期获得性能上的突破工程师们彻底重构了CPU,每个机器周期只需4个时钟而非 12个。第二条内部数据总线消除了阻碍性能发挥的结构性瓶颈。高功率I/O驱动器提升了访问外部存储器时口线的转换速度。所有内置的外围设备,例如定时器和串行口,都运行于更高的时钟频率。不过,在此变革之路上的每一步,都有一条绝对不变的准则--指令集必须保持和8051指令集操作码的兼容性。
最终,一种全新的基于8051的微控制器诞生了,相比原来的8051核效率提升了三倍,相同的频率下,大多数指令的运行速度提高了三倍。除了内核效率提升以外,大多数器件的最高外部振荡频率也提高到了33MHz或40MHz。原受低速的8051困扰的系统设计者现在无需修改软件,就可轻易地将他们的系统升级到最高10MIPS的速度。
更低的功耗
除了速度方面的改进以外,重新设计的内核也带来了另外一个好处:更低的功率消耗。从实践中得知,数字电路的功率消耗正比于有开关动作的晶体管数量以及开关的速率(频率)。由于新的内核每机器周期使用更少的振荡周期,执行每条指令所需的能量比传统8051显著降低了。
另外,特殊的功率管理模式通过软件可配置的内部时钟分频器,可以临时性地降低微控制器的功耗。通过将机器周期速率由4时钟每机器周期降低到64或256时钟每机器周期,可进一步降低功耗,见图2。图2显示了不同模式中的相对功率消耗。从图2可以看出:全速模式(除以4—XTAL/4),功率管理模式1(除以64—XTAL/64),功率管理模式2(除以 1024- XTAL/1024-),空闲模式(IDLE),以及停机模式下的电流消耗形成鲜明对比。在活动减少时,功率管理模式(XTAL/64、 XTAL/1024)消耗的电流比空闲(待机)模式还要低,同时CPU仍可执行一些任务。
从1997年以来至今,已有超高性能的DS89C420/430/440/450高速安全微控制器面向市场, 该芯片是每机器周期一个时钟的微控制器,运行速率高达33MIPS。这些器件突破了原有的性能障碍,以8位微控制器的价格,提供16位的性能。这些微控制器提供多种不同的总线寻址模式,允许用户按照特定应用要求,对处理器的工作进行优化。最为重要的一点是,它们保持了与8051指令集100%的兼容性,同时,又能够以更高的速度运行现有的8051应用,速度高出任何一种其它基于8051的微控制器。
全新运行速率高达 33MIPS高速微控制器面芯片面向市场, 这些器件突破了原有的性能障碍,以8位微控制器的价格,提供16位的性能。这些微控制器提供多种不同的总线寻址模式,允许用户按照特定应用要求,对处理器的工作进行优化。最为重要的一点是,它们保持了与8051指令集100%的兼容性. 例DS89C420/430/440/450芯片是高速微控制器典例. 因为它除了闪电般快速的内核外,还整合了多达64kB可在系统编程的闪速存储器。
更大的程序空间
如果程序员没有足够的存储器地址空间可以支配的话,速度方面的优势将无从施展。传统8051采用16位存储器总线,使存储器空间限制在64kB以内。对于有些应用,这样有限的存储空间已经足够了。但是随着应用的升级,代码的复杂性和规模迅速膨胀,对这类应用还需要一个解决方案,同时还要尽可能保持与 8051的兼容性。
更好的解决方案应该是给器件配备更宽的地址总线。DS80C400便是这样的器件,它具有24位地址总线,可直接寻址16MB的程序存储器和16MB的数据存储器。而新功能的实现,并没有依靠8051指令集之外的新增操作码。提供两种总线模式,第一种页寻址模式采用了先进的自动分区切换技术,极大地加速了扩展存储器的访问,同时又保持了与传统8051编译器二进制码的兼容性。第二种连续模式可透明寻址整个16MB 存储器映像,但要求编译器能够产生24位地址所需的额外的操作数。更大的地址空间允许更大的程序以更高的速度运作,为微控制器开拓了更宽的应用空间,例如大型的数学函数库、检索表等。
关于DES数据加密标准
1999年,NIST(National institute for standards and technology--国家标准及技术学会)将3-DES指定为过渡的加密标准。3-DES是DES的一个更安全的变形。DES算法运算的框图见图3所示。其中S盒是3-DES(DES)算法的心脏,靠它实现非线性变换。
DES算法可以描述如下:设ek(x)和dk(x)表示用DES算法对64位的加密和解密,密钥为K;则64位的密文c是通过执行下面的运算得到的:
C=ek3(dk2(ek1(x)))
其中K1、K2、K3是56位的DES密钥。
从密文c导出明文x的3-DES的解密过程是加密过程的反过程,其描述如下: X=dk1(ek2(dk3(C)))
为了获得更高的安全性,三个密钥dk1 ek2 dk3应该是互不相同的。这样,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。对安全性需要不那么高的数据,K1可以等于K3。在这种情况下,密钥的有效长度为112位。
在通常使用的所有64位的分组密码中,3-DES是最安全的;但是,如果用软件来实现,它也是这些分组密码中最慢的。通过硬件设计,3-DES的性能胜过大多数其它用软件实现的分组密码
前景展望
随着应用越来越高的速度要求,高速微控制器将超越一个又一个性能极限。无论是其更快的堆栈访问速度、扩展的寻址空间或是基本处理速度,高速微控制器设计终能满足嵌人式系统设计者的各种要求。
但是,有竞真力的设计不仅仅要求速度。更复杂的应用需要更大的程序,因此,除了将直接替换原8051的微控制器系列扩充为64kB闪存外,新的产品将更多的外围设备设计进来,以便提升嵌人式系统的能力,同时降低板上空间需求。网络型微控制器具有一些更先进的功能,包括CAN(controller area network-控制器局域网《一种总线标准》),以太网,及1—Wire等多层次组网能力。安全微控制器具有硬件实现的数学加速器,用于公开密钥的加密系统,并在检测到有篡改发生时,迅速删除密钥。混合信号微控制器能够处理来自真实世界的信号,用来实现更好的终端设备。当然要做到这一点,必须不断优化微控制器内核和生产工艺。