8位MCU(微控制器)体系架构特征及设计原则
1.引言
微控制器(Microcontroller)自上世纪70年代出现以来,在将近30年的时间里得到了迅猛的发展和广泛的应用。随着微电子技术的飞速发展,微控制器以其性能好、体积小、价格优、功能齐全等突出优点被广泛应用于家用电器、计算和外设、通讯、工业控制、自动化生产、智能化设备以及仪器仪表等领域,成为科研、教学、工业技术改造最得力的工具。从最初采用普林斯顿结构的简单微控制器到现在普遍采用哈佛总线结构的RISC微控制器,微控制器取得了飞速的发展 。
8位微控制器是目前应用数量最大的微控制器,也是目前最多公司致力耕耘的市场;其市场及价格竞争都极为激烈,各种多功能需求以及不同规格的产品推陈出新的速度也极为快速。随着集成电路和半导体工艺技术的快速发展,FPGA和SOC技术的不断竞争和融合,电子产品的设计逐渐向系统性能更好、功耗更小、成本更低、可靠性更高、开发更容易的方向发展。因此,迅速推出符合市场需求的高性价比、低功耗、高经济效益的8位微控制器芯片或IP Core成为了现今不少公司竞争相逐的热点。
2.目前8位微控制器的更新和设计趋势
对于不同的微控制器(MCU)产品应用,不仅需要考虑不同厂家MCU的性价比,而且还需要考虑不同指令系统下MCU应用特点。针对不断涌现出来的新的智能化电子产品,人们一直在开发适合于不同嵌入式系统应用的MCU新产品。不同厂家的MCU产品其指令集各不相同,特别是指令集系统架构的不同,如市场上广泛应用的MCS51系列和PIC系列微控制器则分别采用CISC指令系统和RISC指令系统。
微控制器按照指令系统可以分为CISC、RISC、类RISC(RISC-LIKE)等几种。传统的MCS51控制器属于CISC型,其代码密度高,但大多数指令需要多个时钟周期完成。RISC型一般指令密度较低,但指令效率很高。类RISC型则兼有CISC和RISC的优点。RISC和类RISC之所以有如此高的指令效率,得益于小指令集带来的硬布线结构和流水线结构。简单的指令集可以用硬布线进行指令译码,而不需要用微码控制的方式,提高了译码的效率。流水线结构将指令分成几步完成,在流水线填满工作时,每条指令的平均执行时间(CPI)在1个时钟周期左右。一般来说,RISC比同等的CISC要快50%--70%,同时更容易设计和纠错。
因此,目前对8位微控制器的产品开发和研究设计主要是以兼容市场上已被客户广泛采用的产品为前提,不断提高性能并降低功耗以适应市场竞争和技术发展。对于原先为CISC指令系统的微控制器产品,在层出不穷的更新系列中已经渐渐的融合进了RISC思想;对于采用RISC指令系统的微控制器来说,更多的做法仍然是针对高性能低功耗的需求对其整个体系架构不断地进行优化和改善,尤其是流水线结构的改进最为多见。本文正是在这种形势下提出的,主要讨论RISC体系架构的8位微控制器产品的设计技术。
3.RISC微处理器的结构特征和设计原则
虽然现在业界对RISC 处理器应该具有什么特征还有不同的看法,但是各种RISC结构都有一些共性:(1)采用哈佛总线结构,大多数指令在一个时钟周期内完成以便于实现结构流水化;(2)采用独立且简单的装载/存储结构;(3)指令解码通常都是硬连线实现而不是微解码,以便加快执行速度;(4)多数指令具有固定格式,以简化指令编码和译码;(5)较小的指令集和少数几种寻址模式;(6)数据通道流水线化,使处理过程高度并行;(7)采用大容量高速寄存器堆(或称为寄存器文件),尽量避免与速度较低的系统RAM交换数据。尽量将运算数据存放在寄存器中,从而减少访问内存的次数。根据以上的讨论,下文重点从体系架构的角度出发,就高性能、低功耗两方面对8位RISC微控制器在设计中的关键技术进行了探讨研究。
4.关键技术
4.1 RISC指令集的选取
控制器系统的使用跟软件编程与硬件设计之间的规格接口密切相关,这个接口就是微控制器的指令集。指令体系结构(ISA)是进行微处理器软硬件协同设计的前提。指令集必须完备,使所有可计算的功能都在合理的程序空间内得以实现;而且指令集又必须是高效的,以便使常用的功能可以用相对少的指令实现。因此,提供给应用软件开发的微控制器系统必须有一个完备而高效的指令集。
指令集直接决定微控制器的内部硬件结构,同时也是用户程序编译生成目标代码的依据。指令集的最终确定与整个系统所需的程序存储器、数据存储器、寄存器变量及存储器寻址方式密切相关且相互制约。各个部件乃至具体的字节都应该有唯一的地址,以便指令集能够正确对各个部件或字节进行辨认操作。因此也就有了相应的一系列针对不同产品的不同措施: 1)从所需要的地址长度和相应增加的寄存器来权衡指令的长度;2)对指令进行分类并分别确定各类的指令字节格式,以简化操作控制信号的译码逻辑;3)增加相应的寄存器以弥补指令字节长度的不足;4)指令字节格式分配应考虑到相应部件的结构复杂度及对应的寻址方式;5)存储器、寄存器、I/O口是否统一寻址。以上所列举的并不详尽也无先后顺序之分,应该同时进行分析。相应的措施所对应的性能、功耗、设计复杂度各不一样,应统一考虑。
对ISA进行功耗分析应该从指令代码容量和指令执行效率两方面考虑。指令集大小、寄存器变量、存储器寻址方式、流水线结构等技术的选定都和指令代码密度有紧密联系。研究发现,在RISC的精简指令集中适当增加一些特定的复杂指令不失为提高代码密度、保证处理器高性能、低功耗的可行方法。因此能够产生高指令代码密度的指令集无疑是RISC低功耗设计的首选。
4.2 具有共享区的寄存器堆的分页设计
RISC设计思想的最主要特点是所有的操作都是面向寄存器的。利用寄存器---寄存器操作的指令进行数据传送,加快了速度,而且还简化了指令控制逻辑,缩小了硬布线逻辑构成的控制部件的芯片面积。
评论