lv11 嵌入式开发 计算机硬件基础 1

目录

1 导学

1.1回顾及导学

1.2 嵌入式系统分层

1.3 linux底层开发

2 ARM体系结构与接口技术课程导学

3 计算机基础

3.1 计算机的进制

3.2 计算机组成

3.3 总线

4 多级存储结构与地址空间

4.1 多级存储概念

4.2 地址空间

5 CPU工作原理

6 练习


1 导学

1.1回顾及导学

lv11 嵌入式开发 计算机硬件基础 1_第1张图片

先学习C语言,包括C高级、shell脚本,数据结构等。

再学习IO、进程、线程、进程间通信、网络编程、数据库等都是linux为我们写好的接口函数,称为应用层开发。

其中用到IO用到read、write、fork、socket等等,底层这些函数底层是对接硬件,向上提供接口,称为系统移植、驱动开发。

lv11 嵌入式开发 计算机硬件基础 1_第2张图片

1.2 嵌入式系统分层

应用开发     即使用系统提供的接口(API),做上层应用程序的开发

底层开发     即做操作系统本身的开发

1.3 linux底层开发

linux层次结构

lv11 嵌入式开发 计算机硬件基础 1_第3张图片

Linux子系统 

  • 1.进程管理:管理进程的创建、调度、销毁等    
  • 2.内存管理:管理内存的申请、释放、映射等    
  • 3.文件系统:管理和访问磁盘中的文件    
  • 4.设备管理:硬件设备及驱动的管理    
  • 5.网络协议:通过网络协议栈(TCP、IP...)进行通信

2 ARM体系结构与接口技术课程导学

lv11 嵌入式开发 计算机硬件基础 1_第4张图片

学习方法

课程内容改变:CPU 接口 硬件

思维方式改变:程序如何执行 接口如何配置 硬件如何控制

学习方式改变:先宏观再微观 重理解轻记忆 善于总结归纳

3 计算机基础

3.1 计算机的进制

lv11 嵌入式开发 计算机硬件基础 1_第5张图片

逻辑1和0    

在计算机中数据的存储、运算、传输都是以高低电平的方式    

所以数字电路中用高、低电平来表示逻辑1和0

3.2 计算机组成

lv11 嵌入式开发 计算机硬件基础 1_第6张图片

输入设备    

把其他信号转换成计算机能识别和处理的信号并送入计算机中     如键盘、鼠标、摄像头等  

输出设备    

把运算结果以人或其他设备所能接受的形式送出计算机外     如显示器、音响、打印机等  

存储器    

存储器是用来存储程序和数据的部件,是实现"存储程序控制"的基础     如内存、硬盘等

运算器    

CPU中负责进行算数运算和逻辑运算的部件,其核心是算术逻辑单元ALU  (运算器都是各种各样的运算电路)

控制器    

控制器是CPU的指挥中心,其控制着整个CPU执行程序的逻辑过程

注:运算器和控制器共同组成了CPU

3.3 总线

lv11 嵌入式开发 计算机硬件基础 1_第7张图片

总线

是计算机中各个部件之间传送信息的公共通信干线, 在物理上就是一束导线按照其传递信息的类型可以分为数据总线、地址总线、控制总线(总线意义:上面计算机的五个组成部分是独立的,需要数据传递,总线是通信桥梁。)

DMA总线

DMA(Direct Memory Access)即直接存储器访问,使用DMA总线可以不通过CPU直接在存储器之间进行数据传递

注:DMA与普通总线的区别是可以不通过CPU,其他都需要过CPU。DMA可以释放CPU使用率。

4 多级存储结构与地址空间

4.1 多级存储概念

lv11 嵌入式开发 计算机硬件基础 1_第8张图片为什么要用这么多种存储器?使用三级存储结构是为了兼顾速度、容量、价格

Cache    

速度最快、价格最贵、容量最小、断电数据丢失、cpu可直接访问     存储当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据(高速缓存,速度最快,容量最小,价格最高)

主存储器

速度、价格、容量介于Cache与辅存之间、断电数据丢失、cpu可直接访问     存储当前正在执行的程序和数据(内存,速度快,可以按字节访问,容量小,断电丢失)

辅助存储器    

速度最慢、价格最低、容量最大、断电数据不丢失、cpu不可直接访问     存储暂时不运行的程序和数据,需要时再传送到主存(硬盘,读写按块,每次如512个字节,单变量都是1个字节,所以慢)

工作原理

CPU可以直接读写Cache和主存储器

计算机打开程序会把硬盘搬到内存。如果一部分代码会经常被读写,经常需要读写的代码会搬到Cache

4.2 地址空间

lv11 嵌入式开发 计算机硬件基础 1_第9张图片

概念:一个处理器能够访问(读写)的存储空间是有限的,我们称这个空间为它的地址空间(寻址空间),一般来说N位地址总线的处理器的地址空间是2的N次方

lv11 嵌入式开发 计算机硬件基础 1_第10张图片

如买了一个内存4G,实际可能用到的只有3G多一点。因为读的空间不是无限大的,地址是有限,与地址空间有关。CPU必须先发送一个地址,然后才能拿到地址中的内容,那总有无法访问的地址。

5 CPU工作原理

lv11 嵌入式开发 计算机硬件基础 1_第11张图片

按顺序发送指令计数器地址到内存中 

lv11 嵌入式开发 计算机硬件基础 1_第12张图片取指 

lv11 嵌入式开发 计算机硬件基础 1_第13张图片

译码

lv11 嵌入式开发 计算机硬件基础 1_第14张图片执行 

lv11 嵌入式开发 计算机硬件基础 1_第15张图片

指令计数器PC

指令寄存器IR

指令译码器

一条指令的执行分为三个阶段    

  • 1.取址:CPU将PC寄存器中的地址发送给内存,内存将其地址中对应的指令返回     到CPU中的指令寄存器(IR)    
  • 2.译码:译码器对IR中的指令进行识别,将指令(机器码)解析成具体的运算    
  • 3.执行:控制器控制运算器中对应的运算单元进行运算,运算结果写入寄存器  每执行一条指令后PC的值会自动增加指向下一条指令

6 练习

1.简述为什么地址总线为32bit的处理器的地址空间为4G?


32位处理器的地址总线可以用来寻址 2^32 个不同的内存地址,也就是 4,294,967,296 个地址。通常情况下,每个地址对应一个字节的内存空间。因此,32位地址总线可以寻址的内存空间大小为 4,294,967,296 字节,即4GB。


2.简述CPU执行指令的过程


CPU将PC寄存器中的地址发送给内存,内存将其地址中对应的指令返回,到CPU中的指令寄存器(IR)   
译码器对IR中的指令进行识别,将指令(机器码)解析成具体的运算
控制器控制运算器中对应的运算单元进行运算,运算结果写入寄存器  每执行一条指令后PC的值会自动增加指向下一条指令,以此往下类推。

你可能感兴趣的:(嵌入式开发,arm开发)