D1. 计算机基础
如果出现图片无法查看可能是网络问题,我用的GitHub+图床保存的图片,用uu加速器说不定能解决,可以参考我另外一篇文章GitHub的使用方法
GitHub使用教程含网络问题_github加速器_肉丸子QAQ的博客-CSDN博客
关注后私信获取笔记资料
底层课程导学
1. 嵌入式系统分层
- 操作系统的作用:
- 向下管理硬件
- 向上提供接口(API)
-
应用开发
即使用系统提供的接口(API),做上层应用程序的开发
-
底层开发
即做操作系统本身的开发
2. Linux层次结构
3. Linux子系统
-
进程管理:管理进程的创建、调度、销毁等
-
内存管理:管理内存的申请、释放、映射等
-
文件系统:管理和访问磁盘中的文件
-
设备管理:硬件设备及驱动的管理
-
网络协议:通过网络协议栈(TCP、IP…)进行通信
ARM体系结构与接口技术学习内容和方法
1. 内容
LV9内容是裸机开发,和单片机一样
- 体系结构:学习ARM CPU原理
- 存储模型:在内存中如何存储
- 工作模式:不同工作模式满足不同条件下的环境使用
- 寄存器:CPU内部存储器
- 异常机制:CPU正常执行过程中遇到不正常的事情,去处理该异常
- 流水线:指令在CPU内部如河一条一条执行
- 指令集:汇编
- … …
要求:学完之后要对程序在CPU内部运行的过程清晰,写出更加有效的代码
- 接口技术:控制硬件————为驱动做准备
2. 方法
计算机基础知识
1. 计算机的进制
- 逻辑1和0
在计算机中数据的存储、运算、传输都是以高低电平的方式
所以数字电路中用高、低电平来表示逻辑1和0
2. 计算机的组成
- 输入设备:将其他其他信号转换为计算机能识别的信号;
- 输出设备:CPU处理完的信号转换成其他信号;
- 存储器:存储 程序和数据;
- CPU:只是能执行程序,但是存不了,需要执行的时候就取存储器取出
- 运算器:进行数据运算,逻辑运算等;(员工)
- 控制器:控制运算流程等;(老板)
3. 总线
- 总线
总线是计算机中各个部件之间传送信息的公共通信干线, 在物理上就是一束导线按照其传递信息的类型可以分为数据总线、地址总线、控制总线
- DMA总线
DMA(Direct Memory Access)即直接存储器访问,使用DMA总线可以不通过CPU直接在存储器之间进行数据传递
多级储存结构与地址空间
1. 三级存储结构
- 使用三级存储结构是为了兼顾速度、容量、价格
- Cache:QQ内存很大,有一部分代码需要经常被执行,这部分代码就在在
速度最快、价格最贵、容量最小、断电数据丢失、cpu可直接访问存储当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据
- 主存储器:打开QQ的时候搬到这里
速度、价格、容量介于Cache与辅存之间、断电数据丢失、cpu可直接访问存储当前正在执行的程序和数据
- 辅助存储器:QQ安装在这
速度最慢、价格最低、容量最大、断电数据不丢失、cpu不可直接访问存储暂时不运行的程序和数据,需要时再传送到主存
2. 地址空间
- 一个处理器能够访问(读写)的存储空间是有限的,我们称这个空间为它的地址空间(寻址空间),一般来说N位地址总线的处理器的地址空间是2的N次方(32位=4G)
- CPU发送给内存一个地址,如河内存根据地址取值给CPU
- CPU读取内容是有限的,和地址总线有关如下图:当需要去取F时,2位的地址总线无法表示
CPU工作原理
1. CPU工作原理
- 每执行一条指令后PC的值会自动增加指向下一条指令(0x08自动变为0x0c)
取址:
- 指令计数器PC:我想要执行的指令的地址;将地址发送给内存
- 指令寄存器:内存返回到CPU这里储存、
译码:
- 指令译码器:寄存器将指令发到译码器解析
执行:
- 运算器:解析完给运算器后运行
CPU是串行的一条一条执行
###2. 指令的执行过程
-
指令的执行过程
-
取址:
CPU将PC寄存器中的地址发送给内存,内存将其地址中对应的指令返回到CPU中的指令寄存器(IR)
-
译码:
译码器对IR中的指令进行识别,将指令(机器码)解析成具体的运算
-
执行:
控制器控制运算器中对应的运算单元进行运算,运算结果写入寄存器
-
作业
1.简述为什么地址总线为32bit的处理器的地址空间为4G
N位地址总线的处理器的地址空间是2的N次方:2的32次方
2.简述CPU执行指令的过程
取值,译码,执行