硬件基础知识

news/2024/11/10 0:45:00/

驱动开发分为:裸机驱动、linux驱动

嵌入式:以计算机技术为基础,软硬结合的、可移植、可剪裁的专用计算机

单片机最小单元:vcc gnd reset 晶振

cpu --- soc :system on chip 片上外设

所有的程序都是在soc(cpu)中运行的

SOC:System on Chip的缩写,指的是系统级芯片,也称为片上系统。它是一种集成电路,集成了多个具有特定功能的电路,如处理器、存储器、传感器等,在一个单一的芯片上实现复杂系统的功能。SOC技术始于20世纪90年代中期,随着半导体工艺技术的发展,设计者能够在单个芯片上集成越来越多的功能,从而实现系统的小型化、性能提升和成本降低

kernel:

X86(桌面):CISC complex instruction set computer 复杂指令集电脑

ARM:低功耗,低体积,低成本:RISC reduces:精简的指令集

外设:GPIO、UART、I2C、WDT、LCD

在soc内部,放的都是这些外设的控制器,受kernel控制

APB:advance peripheral bus:高级外设总线

主要用于连接低带宽的外围设备,如UART、I2C和SPI等

APB总线特点:

  1. 低功耗和低复杂度,适用于不需要高性能总线的外围设备。
  2. 非流水线结构,所有信号仅与时钟上升沿相关,简化了外围设备的设计流程。
  3. 每个传输至少需要两个时钟周期,不支持突发传输(Burst transfer)和流水线操作(Pipeline operation)。
  4. 控制逻辑简单,只有四个主要控制信号:PSEL(外设选择)、PENABLE(使能)、PWRITE(读写控制)、PREADY(准备好信号)。
  5. APB桥是APB总线中唯一的主设备,其他所有设备都是从设备。

AHB:高级高速总线

用于连接高性能模块,如CPU、DMA和DSP等。AHB总线支持突发传输和流水线操作,能够实现高带宽和低延迟的数据传输,适用于需要高性能总线的系统模块。

AHB总线特点:

  1. 高性能和高时钟频率操作。
  2. 支持流水线和突发操作。
  3. 支持多主机操作,但后续版本如AHB-lite和AHB5中不再支持多主机,而是通过添加Multi-layer interconnect组件实现多主机功能。
  4. 支持数据宽度可配置,常见的有32位、64位、128位等。
  5. 包含三种角色:Manager、interconnects和Subordinate,其中Manager负责发起传输,Subordinate负责响应,interconnects负责连接

kernel:

ALU:算术逻辑单元

R0~R15:通用寄存器

计算机的指令集

1.CPU的指令集其实就是对计算机实时控制和计算的指令集和

2.分为复杂指令集和精简指令集

3.RISC:

  CISC:

  PC:程序计数

  LR:链接寄存器,在硬件上实现函数调用

  SP:堆栈指针

cache:高速缓存

I cache:指令缓存,存储最近使用过的指令,以便CPU能够快速访问和执行这些指令

D cache :数据缓存,存储频繁访问的数据,减少处理器访问主内存的次数,提高数据访问速度和整体系统性能

计算机架构

冯诺依曼架构:数据、指令 ran 在一起

  1. 五大部件组成:计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成。

  2. 存储程序原理:程序和数据存放在同一存储器中,并且没有对两者加以区分,指令和数据一样可以送到运算器进行运算。

  3. 二进制运算:指令和数据均以二进制编码表示,采用二进制运算。

  4. 指令结构:指令由操作码和地址码组成,操作码用来表示操作的类型,地址码用来表示操作数和操作结果的地址。

  5. 顺序执行:指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的存储单元的地址。一般情况下,每执行完一条指令,指令计数器顺序递增。

  6. 运算器中心:机器以运算器为中心,输入/输出设备与存储器之间的数据传送都通过运算器。

哈佛结构:指令存储和数据存储完全分开,指令和数据各自拥有独立的存储器和总线

  1. 双存储器结构:拥有两个独立的存储器,一个用于存储指令,另一个用于存储数据。
  2. 并行处理能力:由于指令和数据可以被同时访问,哈佛架构支持并行处理,这在需要高速数据访问的应用中非常有用。
  3. 独立的总线:指令总线和数据总线是分开的,允许CPU同时在两个总线上进行操作。
  4. 适合嵌入式系统:哈佛架构常用于嵌入式系统和数字信号处理器(DSP),因为这些系统需要快速且高效的数据处理能力。
  5. 固定的指令长度:哈佛架构通常具有固定长度的指令,这简化了指令的获取和处理过程。
  6. 高效的内存使用:由于数据和指令存储器可以独立优化,哈佛架构能够更有效地使用内存。

MMU:内存管理单元

负责管理虚拟存储器、物理存储器的控制线路,同时也负责将虚拟地址映射为物理地址

MMU的主要功能包括:

  1. 地址转换:将虚拟地址转换为物理地址,使得操作系统可以为每个进程提供独立的虚拟地址空间。

  2. 内存访问授权:提供硬件机制的内存访问授权,确保内存访问的安全性和可靠性。

  3. 缓存管理:一些高级的MMU还支持缓存管理功能,如TLB(Translation Lookaside Buffer,转换旁路缓冲),以提高内存访问速度

NXP:恩智浦

STM:意法半导体

Atmel:

典型的SOC处理器

8051

DSP

MIPS

PPC

ARM

RISC V

CPU:中央处理单元.负责执行算术和逻辑运算、控制数据流以及管理计算机系统中的其他硬件和软件。

MCU:微控制器单元。集成了处理器核心、存储器和各种输入输出接口的单芯片微型计算机系统

MPU:微处理单元。集成了中央处理器(CPU)、内存、外设控制器和总线接口等功能,为电子设备提供强大的计算能力和数据处理能力。

GPU:图像处理单元(显卡)。GPU拥有数百或数千个内核,专为并行处理大量计算而设计,这使得GPU在处理图形渲染、数据分析、深度学习和机器学习等任务时表现出色。

内存

RAM:random access memory

ROM:只读存储器

计算机组成原理部分

硬件( Hardware
    计算机的实体部分,可以实现计算机最基本的操作行为。
软件( Software
    使计算机实现各种功能的程序集合。包括系统软件、应用软件两大类。

计算机系统 = 硬件系统 + 软件系统

计算机系统的硬件组成

输入设备:

   输入设备的任务是把人们编好的 程序和原始数据 送到计算机中去,并且将它们 转换 成计算机内部所能识别和接受的 信息方式 。常用的有键盘鼠标、扫描仪等。

输出设备:

  输出设备的任务是将计算机的处理 结果 以人或其他设备所能接受的形式送出计算机。常用的有
显示器、打印机、绘图仪等。
存储器:
存储器是用来存放 程序和数据 的部件,它是 一个记忆装置,也是计算机能够实现“存储程序
控制”的基础
 

运算器:

运算器是对信息进行处理和运算的部件,经常进行的运算是算术运算和逻辑运算,因此运算器
的核心是算术逻辑运算部件 ALU
运算器中有若干个寄存器(如累加寄存器、暂存器等)。

控制器 :

控制器是整个计算机的指挥中心。
控制器中主要包括时序控制信号形成部件和一些专用的寄存器

ARM 简介

ARM系列处理器工作模式
arm有37个寄存器
1个pc
1个cpsr
个spsr
3个通用寄存器

程序状态寄存器


http://www.ppmy.cn/news/1527558.html

相关文章

搭建rt-thread开发环境(makefile + cubemax)

编译器问题: topeetubuntu:~/rtthread-test$ make mkdir build arm-none-eabi-gcc -c -mcpucortex-m0plus -mthumb -DUSE_HAL_DRIVER -DSTM32G0B1xx -IRT-Thread -ICore/Inc -IDrivers/STM32G0xx_HAL_Driver/Inc -IDrivers/STM32G0xx_HAL_Driver/Inc/Legacy -I…

什么是缓冲区溢出?

介绍: 在计算机安全领域,缓冲区溢出是一种常见的安全漏洞,也被称为缓冲区溢出攻击。它是指当程序尝试向缓冲区写入数据时,超过了缓冲区的容量,导致数据溢出到相邻的内存区域。这种情况可能会导致程序崩溃、数据损坏,甚…

大众点评代发排名真的靠谱吗

大众点评代发排名真的靠谱吗 外推排名代做灰色词排名(最新专业代做百度灰色词推广)#百度推广#关键词排名#灰色词排名 大众点评代发排名:靠谱?还是靠“谱”? 在这个信息泛滥的时代,大众点评成了我们寻找美…

《深入理解 Java 线程池:高效管理线程的利器》

线程池 1. 什么是线程池? ​ 线程池内部维护了若干个线程,没有任务的时候,这些线程都处于等待空闲状态。如果有新的线程任务,就分配一个空闲线程执行。如果所有线程都处于忙碌状态,线程池会创建一个新线程进行处理或…

【贪心】【数据结构-小根堆,差分】力扣2406. 将区间分为最少组数

给你一个二维整数数组 intervals ,其中 intervals[i] [lefti, righti] 表示 闭 区间 [lefti, righti] 。 你需要将 intervals 划分为一个或者多个区间 组 ,每个区间 只 属于一个组,且同一个组中任意两个区间 不相交 。 请你返回 最少 需要…

【机器学习】--- 自然语言推理(NLI)

引言 随着自然语言处理(NLP)的迅速发展,**自然语言推理(Natural Language Inference, NLI)**已成为一项重要的研究任务。它的目标是判断两个文本片段之间的逻辑关系。这一任务广泛应用于机器阅读理解、问答系统、对话…

【计算机网络】TCP的可靠传输机制、标记位以及编程结构

文章目录 一、TCP的可靠传输的工作原理1、确认应答机制和捎带应答机制2、超时重传3、快速重传4、滑动窗口5、流量控制 未 PSH6、拥塞控制7、延迟应答8、TCP 以段为单位发送数据 二、TCP 首部的六个标记位1、URG2、ACK3、PSH4、RST5、SYN6、FIN 三、TCP网络并发编程 一、TCP的可…

Spring Boot-RESTful API相关问题

Spring Boot RESTful API 相关问题探讨 Spring Boot 是基于 Spring 框架的简化开发工具,提供了快速构建 RESTful API 的能力。在实际开发中,Spring Boot 的 REST API 可以快速开发出符合 REST 架构风格的接口。然而,在构建 RESTful API 时&a…