• 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回顾及导学

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

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

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

    1.2 嵌入式系统分层

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

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

    1.3 linux底层开发

    linux层次结构

    Linux子系统 

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

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

    学习方法

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

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

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

    3 计算机基础

    3.1 计算机的进制

    逻辑1和0    

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

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

    3.2 计算机组成

    输入设备    

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

    输出设备    

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

    存储器    

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

    运算器    

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

    控制器    

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

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

    3.3 总线

    总线

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

    DMA总线

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

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

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

    4.1 多级存储概念

    为什么要用这么多种存储器?使用三级存储结构是为了兼顾速度、容量、价格

    Cache    

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

    主存储器

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

    辅助存储器    

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

    工作原理

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

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

    4.2 地址空间

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

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

    5 CPU工作原理

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

    取指 

    译码

    执行 

    指令计数器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的值会自动增加指向下一条指令,以此往下类推。

  • 相关阅读:
    剑指Offer || :栈与队列(简单)
    代码随想录算法训练营第60天(动态规划17● 647. 回文子串 ● 516.最长回文子序列 ● 动态规划总结篇
    前端开发:转换数据类型
    macOS Sonoma 14.2beta2(23C5041e)发布(附黑白苹果镜像地址)
    国际生态数据获取网络
    protable列表实现搜索框
    Spring 从入门到精通 (二十一) 整合持久层框架 MyBatis
    Interview
    一种表达了1/4的差值结构
    「学习笔记」后缀数组
  • 原文地址:https://blog.csdn.net/m0_60718520/article/details/134275506