开发者学习笔记【阿里云物联网助理工程师认证(ACA):单片机架构】
课程地址:https://edu.aliyun.com/course/3112060/lesson/18969
单片机架构
课程目录
学完本节课程之后,你将能够了解到以下内容
第一:单片机的相关概念。
如,什么是单片机,单片机的分类,单片机的应用等。
第二:了解单片机的架构
会分别从指令结构,存储结构来向大家讲解单片机的架构。
一、单片机架构
1、单片机的相关概念
它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。
单片机的体积很小,大小跟手机烟盒子差不多。他把中央处理器及我们CPU的频率和规格进行适当缩减,将内存计数器USB, A/D转换,UART, PLC, DMA等周边接口,以及一些驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
单片机主要应用于控制领域,用以实现各种测试和控制功能,所以它的控制属性较为突出,所以我们又将单片机称为微控制单元。
2、单片机系统
单片机通常是指芯片本身,它是由芯片制造商生产的。在它里面虽然集成了一些运算器电路,控制电路,存储器,中断系统等。但是他并没有把计算机的全部电路集成到里面,比如由组成谐振电路和复位电路的石英晶体电阻,电容等,所以这些元件在单片机系统中只能以分离元件的形式存在。
我们可以看到下边这个图,单片机芯片只是这一个芯片,外围这些芯片电阻,电容等一些电路,它都是以分离原件的形式在芯片的外围。在实际的控制应用中,我们常常需要扩展外围电路和外围芯片。
比如我们需要用这个单片机来实现超声波避障,那这个单片机上面它没有超声波传感器,我们就需要将超声波传感器连接到单片机上面;比如这是一个超声波传感器,我们将超声波传感器的电路板连接到单片机上面,从而来扩展单片机的功能,实现超声波避障的功能;
比如我们希望使用单片机来实现温湿度检测,我们就需要将温湿度检测传感器连接到单片机上面,作为它的外围电路。
从我们刚才所说的情况中我们可以看到单片机系统就是在我们单片机芯片的基础上扩展其他电路或芯片构成的具有一定应用规模的计算机系统。
3、单片机的分类
单片机的分类如果按数据总线位数分,我们可以分为4位单面积,8位单片机,16位单片机和32位单片机。现在也有64位单片机,这里着重讲是8位单片机,16位单片机和32位位单片机。
4位单片机
它是适用于各种规模较小的家电类消费产品。典型的应用领域有PC机用的输入装置。比如鼠标;游戏摇杆;电池;充电器;运动器材;带液晶显示的音视频产品控制器;一般家用电器的控制及玩具控制;比如我们遥控汽车;计时器;计算器;多功能电话;lcd游戏机等。
8位单片机
它是目前品种最为丰富,应用最为广泛的一种单片机,它的体积小;功耗低;功能强;性能价格比高等特点。8位单片机在自动化装置,智能仪器仪表,过程控制,通信,家用电器等许多领域都被广泛使用。
16位单片机
16位单片机,它较于8位单片机,在单片机操作速度和数据吞吐能力上有很大的提升。16位单片机主要应用于工业控制,智能仪器仪表,便携式设备等场合。
32位单片机
它功能极其强大,可以用于图形图像处理,人工智能领域等,当然它也可以做4位,8位,16位单片机的事情。在很多的32位单片机品牌中,以阿姆单片机最为显著,广泛应用于信息电器。如掌上电脑;个人数字助理;可视电话;移动电话;TV机顶盒;数码相机等嵌入式设备。
这是按照数据总线位数分,如果按照控制应用需要分,我们可以分为通用型单片机和专用型单片机。
通用型单片机
它是一种比较基础的芯片,内部资源比较丰厚,性能全面且适用性强。能覆盖多种应用需求和应用场所,用户可以根据需要设计成各种不同应用的控制系统。
即我们在单片机的基础上,再根据具体的应用场所和应用需求进行二次设计,添加额外的电路和芯片,组件以一个通用单片机芯片为核心,配以其他外围电路芯片的应用控制系统。
专用型单片机
它是专门针对某个特定的产品来设计的,比如电度表和IC卡读写器上的单片机。这种应用的最大特点是针对性强,数量巨大,所以厂家和芯片制造商合作设计和生产专用的单片机芯片。
由于专用单片机芯片是针对一种产品或者一种控制应用设计的,所以他对系统结构进行了最简化,软硬件资源利用最优化,可靠性和成本的最佳化方面进行了通盘的设计,所以专用单片机在特定的领域中具有十分明显的综合优势。
4、单片机的应用
目前单片机已经渗透到我们生活的各个领域,基本上很难找到哪一个领域没有单片机的踪迹,像导弹的导航装置;飞机的仪表控制;工业自动化控制;IC卡;摄像机;家用电器设备;玩具;自动控制领域的机器人;医疗器械等,方方面面基本上都涵盖了单片机。
接下来我们从以下五个方面来说明单片机的应用
(1)工业自动化:在工业自动化技术中,无论是过程控制技术,数据采集和测控技术,还是生产线上的机器人技术,都需要单片机的参与仪器仪表。
(2)现代仪器仪表:现代仪器仪表的自动化和智能化要求越来越高,单片机在仪器仪表方面的使用可以提高仪器仪表的精度和准确度,简化结构,减少体积及质量,便于携带和使用,降低成本,增强抗干扰,增加显示报警,诊断等功能。
(3)家用电器方面:涵盖单片机的设备,一般有洗衣机,电冰箱,空调,微波炉,电视机,音响,视频设备等。
(4)视频设备的信息通信产品方面,如键盘,打印机,磁盘驱动,传真机,复印机,考勤机,电话机。
(5)电话机军事装备方面:现代化的飞机,军舰,坦克,火箭,火炮,雷达等各种装备上都应用到了单片机。
以上就是单片机在我们社会生产生活方面的一些应用,接下来我们从指令结构来讲解单片机的架构
5、单片机的架构
单片机的架构根据指令结构可分为CISC(Complex Instruction Set Computer复杂指令集计算)架构和RISC架构(为精简指令集计算机)
CISC架构
首先我们来看一下CISC及复杂指令计算机早期的MCU全部是CISC架构,它的设计目的是使用最少的机器语言指令来完成所需要的计算任务,那我们要实现这个设计要比其他的设计更为容易。
比如我们要实现两个数的乘法运算,那么我们一条指令就可以完成。虽然我们在程序设计方面使用一条指令就完成了乘法操作,但是在底层的功能实现中,它的步骤并没有减少。
比如加载乘法中的两个操作数,加载操作数又涉及到寻址操作,取值操作,你要根据这个地址找到这两个数据,然后再把两个数据取出来,再然后放到CPU中进行计算,计算之后我们再把结果放到另外一块存放结果的位置,这就导致底层逻辑电路的设计变得非常复杂。
在CISC微处理器中程序的各条指令是按顺序串行执行的,每个指令的操作也是按按顺序串行执行的。
这种执行方式优点是控制简单,但是计算机的各部分利用率不高,执行速度慢,必须等一件事情做完之后才能做另外一件事情,指令不能并行处理所以说这也是CISC架构的一个弱点。
另外随着我们技术和需求的日益提升,同一系列计算机的新机器或者高档机的指令系统为了扩展需要,它必须增加一些新的指令,但是又为了做到兼容以前的指令也不能删除,这就导致指令系统越来越复杂,某些计算机的指令多达几百条,这么多的指令它就导致了底层的电路设计非常的复杂。
但是在实际应用中几百条的指令他们的使用频率相差很大,大约只有20%左右的指令会被反复使用,这20%的指令占据了程序代码的80%。而剩下80%的指令不经常使用。
在程序设计中只占20%,虽然这80%的指令不经常使用,但是你底层的逻辑电路也必须考虑到这80%的指令去进行设计。
CISC主要以Intel,AMD的X86 CPU为代表。
RISC精简指令集计算机
RISC是一种执行较少类型计算机指令的微处理器,他把我们CISC复杂指令集中常用的指令提取出来,形成一个指令集。
这种微处理器起源于80年代的MIPS主机中采用的微处理器RISC统称RISC处理器,少量的指令集让底层的逻辑电路设计和优化变得更为简单。
在使用相同的芯片技术和相同运行时动下,系统的运行速度是的 CISC 2倍到4倍,在编CISC写程序的时候,它的代码量较大,实现特殊功能时程序复杂,不易设计,因为他的指令集中指令非常少,就比如我们现在要去砍树,但是你手里的工具特别少,你砍树就很不方便,那假如你的工具非常丰富。
就比如我们CISC中它的指令非常多,又有电钻,又有斧头,那我用这些工具去砍这个树是不是就很简单,程序简单的,那么工具就要设计的复杂一点,工具简单了,那么的程序设计就要复杂,步骤就很多,所以RISC编写程序的时候于较CISC写程序的时候,它的代码量会变得膨胀,程序设计非常复杂。
RISC的一个特点是它虽然只包含了那些使用频率很高的少量者,但是它也提供了一些必要的指定以支持操作系统和高级语言。
在前面讲CSC的时候,它程序的各条指令是按顺序串行执行的,并且指令中的各个操作也是顺序串行执行的,导致计算机各部分的利用率不高,执行速度慢。
但是RISC可同时执行多条指令,可以将一条指令分割成若干个进程或线程,交由多个处理器执行,所以它能够提高整个危机的性能。
以上就是我们从指令结构分为CSC架构和RISC架构来对单片机的架构做了一个简单的讲解。
接下来从单片机的存储结构对单片机架构做一个讲解。
6、单片机存储结构
它面积根据存储结构可以分为哈佛结构和普林斯顿结构。
哈佛结构
它是一种将程序指令存储和数据存储分开的存储结构,像我们下边这个图,中央处理器指令存储和数据存储分别是放在两个不同的存储器中。
这种结构在工作时中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据的地址,在根据地址到相应的数据存储器中读取数据,得到数据后进行下一步操作。
这种程序和数据分别存放在不同的存储器中的方式,可以使指令和数据有不同的数据宽度,如麦克cheap公司的pic 16芯片的程序指令是14位宽度,而数据是8位宽度。
哈佛结构的微处理器通常具有较高的执行效率。
第一个方面是其程序指令和数据指令分开组织和存储执行的时候,可以预先读取下一条指令。
另外一个方面是程序和指令分别放在不同的存储器中,可以突破读取程序和数据上速度的瓶颈。采用哈佛结构的公司产品有:摩托罗拉公司的mc 68系列LOGO公司的这8系列ATM Neo公司的VR系列和英国阿姆公司的阿姆九,阿姆十和21。
普林斯顿结构
普林斯顿结构又称之为冯若伊曼结构和哈佛结构不同的是,它的程序和数据存储是合并在一块儿进行存储的。
程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,所以程序指令和数据指令宽度相同。
如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。这种存储方式很容易遇到数据读取速度的瓶颈,比如我把苹果和香蕉都放在同一个房子里面,大量的人涌入这个房子里面去拿苹果和香蕉,这样就会造成通道堵塞。
但是如果按照哈佛结构,将苹果放在一个房子里面,将香蕉放在另外一个房子里面,那么当大量人去拿苹果和香蕉的时候,他们就进行了分流。拿苹果的进入了苹果的房子,香蕉的进入了香蕉的房子,所以哈佛结构的执行效率要高于冯·诺伊曼结构,其他使用冯·诺伊曼结构设计的处理器,还有英国ARM公司的ARM7,MIPS公司的MIPS处理器。
以上就是我们从存储结构来对单片机的架构的讲解。
主要分为哈弗结构和普林斯顿结构,也就是程序和数据是否分开来投放。