评-单片机的架构介绍
----
爱评才会赢
[导读]:什么是单片机的架构?单片机的架构有哪几种?本文对这个问题做了个简单的介绍。单片机的架构根据指令结构可以分为CISC(Complex
Instruction Set Computer)架构和RISC(Reduced Instruction Set
Computer)架构;根据存储器结构可以分为哈佛(Harvard)结构和普林斯顿(Princeton)结构。
单片机的架构根据指令结构可以分为CISC(Complex Instruction Set Computer)架构和RISC(Reduced Instruction Set Computer)架构;根据存储器结构可以分为哈佛(Harvard)结构和普林斯顿(Princeton)结构。
1、CISC和RISC
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前MCU的两种架构。它们的区别在于不同的MCU设计理念和方法。早期的MCU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。RISC则是计算机系统只有少数指令,但是每个指令的执行时间相当短,因此MCU可以用相当高的频率来运算。
◆CISC(复杂指令集计算机)
CISC是一种为了便于编程和提高记忆体访问效率的晶片设计体系。早期的电脑使用组合语言编程,由于记忆体速度慢且价格昂贵,使得CISC体系得到了用武之地。在20世纪90年代中期之前,大多数的微处理器都采用CISC体系──包括Intel的80x86和Motorola的68K系列等。
⑴CISC体系的指令特征
使用微代码:指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式。
庞大的指令集:可以减少编程所需要的代码行数,减轻程式师的负担。
高阶语言对应的指令集:包括双运算元格式、寄存器到寄存器、寄存器到记忆体以及记忆体到寄存器的指令。
⑵CISC体系的优缺点
优点:能够有效缩短新指令的微代码设计时间,允许设计师实现CISC体系机器的向上相容。新的系统可以使用一个包含早期系统的指令超集合,也就可以使用较早电脑上使用的相同软体。另外微程式指令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。
缺点:指令集以及晶片的设计比上一代产品更复杂,不同的指令,需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。
◆RISC(精简指令集计算机)
RISC是为了提高处理器运行的速度而设计的晶片体系。它的关键技术在于流水线操作(Pipelining):在一个时钟周期里完成多条指令。而超流水线以及超标量技术已普遍在晶片设计中使用。RISC体系多用于非x86阵营高性能微处理器CPU,像HOLTEK MCU系列等。
⑴RISC体系的指令特征
精简指令集:包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。
同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。
单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。
⑵RISC体系的优缺点
优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC的2~4倍。由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。
缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器内部,就是L1 Cache(一级缓存)。
表 经典CISC和纯RISC体系结构的特性
特性
经典CISC体系结构
纯RISC体系结构
指令格式
可变格式:16到32和64位
固定32位指令
时钟速率
随技术发展而变化
随技术发展而变化
指令系统规模和类型
约300条,有多于48种的指令类型
约100条,除取/存外,大都基于寄存器
寻址方式
约12种,包含间接/变址寻址
3到5种,只有取/存寻址存储器
高速缓存设计
较早模型使用合一高速缓存,有些使用分离高速缓存
大多数使用分离的数据和指令高速缓存
CPI及平均CPI
1到20个周期,平均4个周期
简单操作1个周期,平均约1.5个周期
CPU控制
大多数微程序控制,有些使用硬连线控制
大多数为硬连线控制,没有控制存储器
寄存器堆
8~24个通用寄存器(GPR)
32~192个GPR分离的整数和浮点寄存器堆
对于CISC和RISC体系到底谁更好,长期以来都是业界争论较多的话题,支持RISC体系的厂商认为它廉价和运行速度快,因此代表未来微处理器的发展特征。反对者则认为,虽然RISC体系的硬件产品制造变得简单,但软件的开发会变得更复杂,即使执行相同的任务也必须编写更多的程序来完成,因此它并不能代表未来的方向。如果我们注意到PC的相关市场,可以看到尽管RISC体系的历史已经有10年,但一直没能将CISC体系踢出局,市场上的个人电脑、工作站和服务器大概有75%的仍是基于CISC体系结构。这也并不是说RISC真的不好,实际RISC和CISC体系的结构越来越接近,许多今天的RISC芯片仍然支持更多过去的CISC芯片,今天CISC芯片也运用了很多与RISC体系相关的技术,可以说,RISC和CISC是在共同发展的。
2、哈佛(Harvard)结构和普林斯顿(Princeton)结构
◆哈佛结构
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。
图1 哈佛结构
目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11。
◆普林斯顿结构
普林斯顿结构,也称冯·诺伊曼结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
图2 冯.诺伊曼结构
目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。