8位MCU(微控制器)体系架构特征及设计原则
此也就有了相应的一系列针对不同产品的不同措施: 1)从所需要的地址长度和相应增加的寄存器来权衡指令的长度;2)对指令进行分类并分别确定各类的指令字节格式,以简化操作控制信号的译码逻辑;3)增加相应的寄存器以弥补指令字节长度的不足;4)指令字节格式分配应考虑到相应部件的结构复杂度及对应的寻址方式;5)存储器、寄存器、I/O口是否统一寻址。以上所列举的并不详尽也无先后顺序之分,应该同时进行分析。相应的措施所对应的性能、功耗、设计复杂度各不一样,应统一考虑。
对ISA进行功耗分析应该从指令代码容量和指令执行效率两方面考虑。指令集大小、寄存器变量、存储器寻址方式、流水线结构等技术的选定都和指令代码密度有紧密联系。研究发现,在RISC的精简指令集中适当增加一些特定的复杂指令不失为提高代码密度、保证处理器高性能、低功耗的可行方法。因此能够产生高指令代码密度的指令集无疑是RISC低功耗设计的首选。
4.2 具有共享区的寄存器堆的分页设计
RISC设计思想的最主要特点是所有的操作都是面向寄存器的。利用寄存器---寄存器操作的指令进行数据传送,加快了速度,而且还简化了指令控制逻辑,缩小了硬布线逻辑构成的控制部件的芯片面积。
在指令中固定寄存器地址的位数必然限制寄存器的数量,但是引入高端处理器的分段、分页的设计思想就可以扩展寻址的范围。分段、分页的设计思想的根本出发点在于将存储器的线性地址分解成二维或多维地址;在指令中只表达最低维地址,而使用其它设施(如段号寄存器、页号寄存器)用来存放高维地址。一般将寄存器堆分成若干个页,每个页有固定的大小,在指令中只使用寄存器的页内地址。在系统专用寄存器中设置一个页号寄存器,通过改变其内容来切换对不同页寄存器的访问。
为克服单纯分页机制中的各种缺陷,通常采用具有共享区的分页设计,这样不仅减少了指令中寄存器逻辑地址的位数,而且在任何时候都能够访问系统寄存器,同时便于不同页寄存器之间通过共享区中的通用寄存器交换信息。当然还得有相应的逻辑地址到物理地址的映射的方法措施。
4.3 程序空间的分页设计
由于和寄存器堆同样的原因,在指令中若采用完整的程序空间地址,也会局限程序空间的大小,所以对程序空间通常也采用了分页的设计思想,同时在不同页内设置了公共程序区(若指令长度完全符合程序空间地址的要求,则无需此思想),其设计思想类同于具有共享区的寄存器分页设计,在此不再赘述。唯一与寄存器公共区不同的是:程序公共区是为程序在不同页之间跳转提供平台。
4.4 流水线技术
流水线设计与8位RISC微控制器体系架构密不可分,是整个系统的设计核心,它的选用优劣直接影响到系统的性能和功耗。
流水线技术能最大限度地利用了微控制器资源,使每个部件在每个时钟周期都工作,大大提高了效率,但由于流水线的各个段之间存在很强的依赖关系。如果处理不当, 指令的运行将达不到预期的结果,因此必须熟知流水线的相关和转移问题。其一为资源冲突, 即同一时间内争用同一功能部件, 一般为同时访问存储器, 这就需要停顿一拍流水线; 其二为数据相关冲突, 有三种类型: RAW、WAR、WAW , 解决该冲突使用内部直通结构或者延迟一拍流水线; 其三为控制转移冲突, 即对于条件跳转指令, 根据运算结果判断是否跳转, 才能确定新的PC值, 运算结果是在执行阶段后获得, 这使流水线丧失很多的性能, 一般采用增加硬件预先获得运算结果解决该冲突。
越是长的流水线,相关和转移两大问题也越严重:一方面导致硬件控制电路复杂程度大大增加, 另一方面, 由于流水线节拍的停顿, 导致CPI值的增大及系统性能的下降。所以,流水线并不是越长越好,找到一个速度与效率的平衡点才是最重要的。
在8位RISC微控制器的流水线设计中,存在很多种方案。不同方案所对应的面积、速度与功耗各不相同。具体的选用则应该从多个方面融合考虑。首先应该由系统的工作速率要求和流水线级数、深度推导出多种具体的流水线结构方案及其所需要的严格时序;然后从系统的功耗、面积、性能及由流水线相关和转移问题引起的设计复杂度等方面考虑出发,判断各方案的优劣;最后折衷选择符合的最优方案。
4.5 低功耗技术
随着半导体工业的迅猛发展,集成电路进入深亚微米阶段,微处理器的时钟频率和芯片集成度不断提高,功耗已在很多设计领域成为了首要关注的问题,这点最为突出的即是高性能微处理器和便携电子设备产品。
在根据系统功能说明进行软硬件协同设计
- 如何使创新的MCU实现高效节能电机控制?(07-07)
- 全球主流8位MCU芯片详细解剖No.2:英飞凌 XC866(07-26)
- 全球主流8位MCU芯片详细解剖No.1:飞思卡尔 MC9S08AC60(07-22)
- 全球主流8位MCU芯片详细解剖No.3:微芯 PIC16F877(08-03)
- 开发工程师的创意变戏法:8位MCU变身32位MCU?!(04-30)
- 替代8位MCU,Cortex-M3成最强杀手锏?(07-09)