1、可编程器件的原理
可编程器件的特点:
(1)、在固定频率的时钟节奏下运行
(2)、可以通过总线读取外部存储设备的二进制指令集,然后解压执行代码。
CPU的汇编指令集:
可以被CPU解码执行的二进制指令集是CPU设计的时候确定的,是CPU设计公司制定的,
本质上是由0和1组成的一串数字。
从源代码到CPU执行过程:
.c等高级语言代码----.S汇编源代码----Elf格式二进制可执行程序----Bin格式烧录文件
----CPU读入后先解码---CPU执行命令。
2、指令集对CPU的意义
汇编语言与Cde等高级语言的差异
(1)、编写难易度
(2)、可移植性
(3)、汇编语言效率最高 C语言次之
(4)、汇编不适合大型复杂项目
编程语言的发展历程
纯机器码编程
汇编 (每款CPU都有自己的汇编指令集)
C语言 (可移植性是由编译器决定的,可考虑CPU本身设计的特点)
C++
java C#
脚本语言 (本身也是用C语言实现的)
汇编的实质就是机器指令的助记符
3、RISC和CISC的区别
CISC:复杂指令集CPU
乘叫指令 = 乘 + 加
intel采用CISC设计
RISC :精简指令集CPU
CPU本身仅提供基本功能指令集
ARM采用RISC设计
后期发展方向: 两者结合
4、统一编址&独立编址 哈佛结构&冯诺依曼结构
什么是IO ?什么是内存
内存是程序运行的场所,内存和CPU之间通过总线连接,CPU通过一定的地址来访问具体的内存单元。
IO就是指CPU的各种外部或外部设备。
内存的访问方式
内存通过CPU的地址总线来寻址定位,然后通过CPU数据总线来读写。
IO的访问方式
把外设的寄存器当座一个没存地址来读写,从而以访问内存相同的方式来操作外设,叫IO与内存的统一
编址。
使用专门的CPU指令来访问某种特定的外设,叫IO与内存独立编址
对比
操作简单,毒药占用CPU的地址空间
程序和数据
程序是我们写好的源代码经过编译、汇编之后得到的机器码,这些机器码可以拿给CPU去解码执行。
数据是程序运行过程中定义和产生变量的值。
冯诺依曼结构
程序和数据本身不分开。
本身存在安全性问题
哈佛结构
程序和数据分开存储。
程序一般放在ROM、flash中
数据一般放在RAM中
5、软件编程控制硬件的关键--寄存器
寄存器的位宽和CPU的位宽是一样的,以实现最佳的访问效率
两类寄存器
SFR:特殊功能寄存器
不在CPU中,而存在于CPU的外设中
寄存器中每一位的含义都确定,不能修改
通用寄存器
ARM有37个通用寄存器,功能未定义
编程访问寄存器的方法
6、ARM体系结构要点
(1)、ARM是RISC架构
(2)、ARM是统一编制的
(3)、ARM是哈佛结构的
ARM 架构学习笔记
最新推荐文章于 2024-09-09 11:25:11 发布