提示:本文内容参考慕课课程:《ARM微控制器与嵌入式系统》
一、概念CPU
S3,S2,S1,S0前两位决定是用加法类/与或/左移等运算,后两位控制是A和B相加/相减/A-1等运算。
这张真值表的本质是通过S3,S2,S1,S0四个二进制数的组合实现定好的16钟不同的功能,这就是一个概念CPU。
左侧16种排列组合就是四比特CPU的16条指令,两个4比特的数就是运算数。
机器码就是交替给这些0000,0001的指令和运算数让他去算。
编程就是让这些指令和给的数形成一个有序的有目的的流程完成一个计算任务。
右侧用Add来代表0001等Add,Sub是助记符,用助记符一一对应的来表征指令,这些助记符就是汇编语言。用助记符把人类要的逻辑一次写出来就是编程。
图灵机就是1bit计算机的原型,每次读0/1,根据自己定义的映射关系,由当前值和状态值决定要把它改0或改1。
二、通用CPU
中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
CPU是计算机/微控制器的核心,进行算术/逻辑运算。
通用CPU需要大量的外围辅助器件:
1.内存
2.硬盘
3.主板
4.显卡
5.显示器
6.鼠标键盘
三、微控制器MCU
微控制单元(Microcontroller Unit;MCU),微控制器是一个完整的计算机系统,在单个芯片上包含了处理器,存储器和所有外设IO模块。
一个MCU有:
1.CPU
2.输入输出接口
3.外设
4.RAM
5.ROM
6.时钟单元
一个基本的MCU内部结构如下图所示:
四、ARM发展
ARM公司后来不再自己生产和制作芯片,而是只做CPU的设计,推动CPU构架的一代又一代的不断发展,采用出售IP知识产权的方式由别的厂商设计和生产自己的最终芯片设计产品。
ARM的内核从ARMv4,ARMv5,ARMv6,ARMv7不断发展,像下图所示的对应关系。
一直到ARMv7,ARM公司对其进行了重新命名,根据应用分成了三个档次:
1.A系列(application)针对高性能多媒体的移动应用,比如iPhone手机里有一颗ARM Cortex A的内核。
2.R系列(real-time) 针对要求安全级的实时性控制的嵌入式应用,比如无人机,飞机等。
3.M系列(Micro-controller) 针对原来8bit,16bit的单片机微控制器
五、CPU结构
一个完整的CPU如下:
ALU: Arithmetic Logic Unit(运算逻辑单元)
Program Status Register: 或称CCR,程序状态寄存器
运算的操作数来源于寄存器、CPU外部存储器,运算结果放在寄存器和CPU外部存储器里
Control Unit: 控制单元负责将一条确定的指令解析为对存储器,寄存器,逻辑运算单元的控制来明确要做什么运算以及数据的流向。
PC: Program Counter,程序计数器,PC寄存器保存下一条待执行的指令地址,指令被取出后,PC更新指向下一条指令。