CPU Architecture

news2024/12/25 0:25:55

CPU Architecture [/ˈɑːrkɪtektʃər/]

    • 指令集架构 (Instruction Set Architecture)
      • 精简指令集处理器 RISC (Reduce Instruction Set Computer)
      • 复杂指令集处理器 CISC (Complex Instruction Set Computer)
    • CPU按指令集架构分类
    • ARM
      • 运行模式
        • 非特权模式
        • 特权模式
        • 切换
      • 寄存器组
        • 未备份寄存器,R0~R7,共享同一组物理寄存器,灰色
        • 备份寄存器,R8~R14,在不同模式有自己独有的寄存器
        • 程序计数器,R15
        • 程序状态寄存器
      • Cortex系列处理器内核
    • 其他
      • 冯·诺伊曼
      • 哈弗
      • CPU MPU MCU DSP AP BP SOC
    • 链接

指令集架构 (Instruction Set Architecture)

I:计算机硬件直接能识别的命令,由一串二进制数码组成。一条指令通常由两个部分组成:操作码和地址码。
IS:处理器可以执行操作的最小单元的集合。例如加减乘除就是由具体的指令来实现的。
在这里插入图片描述

精简指令集处理器 RISC (Reduce Instruction Set Computer)

一条指令完成一个基本“动作”,多条指令组合完成一个复杂的基本功能
选取了使用频率高的简单指令,指令长度固定,多为单周期指令
功耗、体积、价格方面有优势,多用于嵌入式领域

复杂指令集处理器 CISC (Complex Instruction Set Computer)

侧重于硬件执行指令的功能性
一条指令完成一个复杂的基本功能
指令长度与周期不固定,在处理能力上有优势

CPU按指令集架构分类

在这里插入图片描述

ARM

进阶精简指令集机器(Advanced RISC Machine)

  • 对内存只有读、写指令
  • 数据运算在CPU内实现
  • 使用RISC指令CPU复杂度小,易于设计,系统软件多些

Cortex-A7为例↓

运行模式

非特权模式

  • User 用户模式,大部分程序运行的时候处于此模式

特权模式

  • Sys(System) 系统模式,运行特权级的操作系统任务
  • FIQ 快速中断模式,进入FIQ中断异常
  • IRQ 一般中断模式
  • ABT(Abort) 数据访问终止模式,用于虚拟存储及存储保护
  • SVC(Supervisor) 超级管理员模式,供操作系统使用
  • UND(Undef) 未定义指令终止模式
  • MON(Monitor) 用于安全扩展
  • Hyp 用于虚拟化扩展

切换

运行模式可通过软件中断异常进行切换。大多数程序运行在用户模式,不能访问系统所以资源,需进行模式切换,用户模式不能直接进行模式切换,需要借助异常来完成模式切换,需要切换模式时,用户程序产生异常,在异常处理过程中完成处理器模式切换。

  • 板子上电,CPU处于SVC模式,使用SVC模式下的寄存器
  • 程序发生中断,CPU进入IRQ模式,使用IRQ模式下寄存器
  • CPU完成中断处理,切换会SVC模式,使用SVC模式下寄存器
  • CPU发生某种异常,例如读取内存出错,进入ABT模式,使用ABT模式下寄存器处理错误

在某种模式下,CPU使用的是这种模式的资源(例如寄存器),免去保存上一模式所使用的寄存器

寄存器组

芯片内核寄存器组,Cortex-A9有9种运行模式,每种模式都有一组与之对应的寄存器组。

  • 未备份寄存器,R0~R7,共享同一组物理寄存器
  • 备份寄存器,R8~R14,在不同模式有自己独有的寄存器,蓝色
  • 程序计数器,R15
  • 程序状态寄存器
    在这里插入图片描述

未备份寄存器,R0~R7,共享同一组物理寄存器,灰色

不同模式下,寄存器内数据会被破坏,没有特殊用途

备份寄存器,R8~R14,在不同模式有自己独有的寄存器

R8~R12 快速中断模式和其他模式分别用两种,快速中断模式和其他是独立的;
R13(SP)栈指针,8个物理寄存器,其中一个是User和Sys共用的;
R14(LR)链接寄存器,7个物理寄存器,其中一个是User和Sys和Hyp共用的;

程序计数器,R15

保存当前执行指令地址加8字节。
ARM处理器三级流水线:取指->译码->执行,循环执行。
当前正在执行第一条指令同事对第二条指令进行以嘛,第三条指令也被取出放在PC种。对于32位RAM处理器,每条指令4字节,即+8字节。

程序状态寄存器

当前程序状态寄存器CPSR和备份程序状态寄存器SPAR。
包含条件标志位、中断禁止位、当前运行模式标志等一些状态位和控制位。
在这里插入图片描述

Cortex系列处理器内核

  • Cortex-A系列面向高性能计算需求、运行丰富操作系统和程序任务的应用领域。A7x系列为代表的性能大核产品线和A5x系列为代表低功耗小核产品线
  • Cortex-R系列面向实时应用的高性能处理器系列,运行在比较高的时钟频率,其响应延迟非常低。主要应用于硬盘控制器,汽车传动系统和无线通讯的基带控制等领域。
  • Cortex-M系列内核被设计成面积更小,能效比更高。通常这些处理器的流水线很短,设计简单,最高时钟频率很低,功耗表现优异。

其他

冯·诺伊曼

指令和数据需要从同一存储空间存取,经由同一总线传输,无法重叠执行。

哈弗

指令和数据存在两个相互独立的存储器模块,使用两条独立的总线连接CPU和存储模块。

现代的复杂芯片上,大多数看到是两者融合或者并存的体系。

CPU MPU MCU DSP AP BP SOC

现代CPU成为处理器的核心组件之一,而不是唯一组件。一些数字逻辑运算芯片在CPU外围集成了其他功能多样的组件,这些超大规模集成电路的CPU模块被称为处理器内核(Core)。

  • CPU 通用高性能处理器,用在个人电脑和服务器上,Intel amd
  • MPU 嵌入式微处理器,芯片集成度高,外设功能很丰富,主要用在移动设备和多媒体相关应用,高通 MTK
  • MCU 微控制器,信号控制和简单运算,成本低,功耗低,用在对性能要求不高的地方,IOT、工业控制、智能家居等,ST GD
  • DSP 数字信号处理器,性能较弱,功耗低,擅长数字运算,应用在需要大量实时计算的场合,比如音频编解码

传统手机中有AP和BP两个处理器组成

  • AP 负责运行操作系统和多媒体应用的处理器,通常是MPU类型的处理器。MPU GPU
  • BP 负责射频通信的处理器,通常是MCU或DSP类型的处理器。

MMU 内存管理单元,主要负责物理地址和虚拟地址的交换。没有MMU不能运行想linux一样的操作系统。MCU没有MMU,MPU有MMU。

  • SOC 片上操作系统,芯片上有一个系统。把一个系统的核心功能集成到一个芯片上。
    例:蓝牙SOC:nRF52832,集成了MCU和BLE。
    手机SOC:高通骁龙888,集成了AP(MPU+GPU)和BP。

注:历史发展叫的名字,

链接

CPU指令集架构科普
cpu架构----通俗理解
聊聊MCU的困惑
ARM
https://www.100ask.net/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是NTFS for Mac?2023新版本如何下载

在NTFS for Mac中包含了多种功能操作,促进软件更好地使用,可以进行全局设置,也可以针对某一各挂载的磁盘进行针对性设置。 本集小编主要向大家介绍它包含的一些基本功能,看看这款mac读写工具能够实现那些功能,全面了解…

安科瑞电能表对于预付费平台的费控策略应用

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 摘要:基于智能电能表的预付费系统平台可以实现对预付费客户的适时算费、远程费控和服务。预付费系统的费控策略包括算费子策略、催费预警提醒子策略、欠费停电子策略,介绍3个子策略的制定原则、设计流程&…

Flink学习——状态编程

目录 一、Flink中的状态 二、状态编程 (一)ValueState案例——判断传感器的数据 1.代码实现 2.端口进行传输数据 3.运行结果 (二)ListState (三)MapState案例——比较学生每次考试成绩 1.代码实现 2.端口传输学生成绩 3.运行结果 (四)ReducingState 一、Flink中的状…

0Ω的电阻作用

0欧姆电阻即电阻标值为0欧姆的电阻,多用于PCB设计等方面,是一种理想电阻。那0欧姆电阻是表示没有电阻吗?当然不是,0欧姆电阻的阻值不是0欧姆,只是接近0欧姆。 1、调试方便或者兼容设计:可以选择器件、功能…

网络安全--XXE漏洞利用思路

一、XXE 是什么 介绍 XXE 之前,我先来说一下普通的 XML 注入,这个的利用面比较狭窄,如果有的话应该也是逻辑漏洞 如图所示: 既然能插入 XML 代码,那我们肯定不能善罢甘休,我们需要更多,于是出…

Python环境安装,操作MySQL数据脚本

安装Python 下载地址Python Releases for macOS | Python.org下载安装包点击安装执行python3命令查看安装及版本 安装插件 安装PyMySQL python3 -m pip install PyMySQL 编写脚本 创建文件selectMysql.py #!/usr/bin/python import pymysql.cursors def updateuser(user_…

chatgpt赋能Python-python3_4

Python3-4: 编程领域的瑰宝 简介 Python3-4 是一种开源解释型高级编程语言,具有简单易学、可读性强、语法简洁的特点。它由谷歌公司所开发,在全球范围内被广泛应用于Web开发、人工智能、科学计算、数据分析等领域。 优势 1. 语法简洁 Python3-4采用…

今天面试招了个20K的人,从腾讯出来的果然都有两把刷子···

现在找个会自动化测试的人真是难呀,10个里面有8个写了会自动化,但一问就是三不知 公司前段时间缺人,也面了不少测试,前面一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在15-20k,面试的…

实施基于零信任网络安全的设备控制

零信任安全是一种数据保护策略,除非系统管理员进行彻底验证,否则网络边界内外的所有设备和实体都不受信任。Device Control Plus 可帮助管理员为其网络实施和自动化零信任安全协议,以确保对来自未经批准的外围设备的所有端点数据提供最佳保护…

嵌入式软件测试笔记1 | 简单说明 嵌入式系统认识和测试目标

1 | 简单说明 & 嵌入式系统认识和测试目标 1 为什么看这个?2 一些说明3 主要内容是什么?4 嵌入式系统测试的目标4.1 测试的任务4.2 最终目标4.3 测试过程4.4 通用元素 5 嵌入式系统的一些基础 1 为什么看这个? 一直在间断性的学习和了解…

chatgpt赋能Python-python3_6怎么调整字体大小

Python3.6 是一种广泛使用的编程语言,可以帮助人们创建各种各样的应用程序。不过,当我们在使用 Python3.6 编写程序时,有时会遇到一些困难,比如如何调整字体大小。那么,今天我们就来看看如何应对这个问题。 如何在 Py…

(十二)centos7案例实战——swap虚拟内存配置

前言 在实际生产环境中,我们的服务器由于内存配置资源有限,会遇到一些线上服务宕机或者内存溢出等问题,那么如何解决这些问题呢,一方面我们要确认问题的具体原因,通过排查自身应用服务的问题,一方面增加我…

Linux 之 supervisor安装和使用

Supervisor 官网 一、介绍 Supervisor有四个组件: 1. supervisord 运行Supervisor的后台服务,它用来启动和管理那些你需要Supervisor管理的子进程,响应客户端发来的请求,重启意外退出的子进程,将子进程的stdout和s…

Bean的自动装配

目录结构 导入pom.xml依赖包 <dependencies><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><vers…

工赋开发者社区 | Gartner发布2023年十大数据和分析趋势

来源&#xff1a;Gartner Gartner&#xff08;技术研究和分析机构&#xff09;近日公布了2023年十大数据和分析&#xff08;D&A&#xff09;趋势&#xff0c;可帮助企业领导者通过预测变化将不确定性转化为新的商机。 正文开始 Gartner在Gartner数据与分析峰会上介绍了企…

诞生两年,这个产品便成为腾讯安全的“秘密武器”

腾讯既是企业服务产品的服务商又是使用者&#xff0c;很多产品最原始的出发点最早只是为了解决腾讯自身某一个需求&#xff0c;经过不断地发展完善和业务场景锤炼&#xff0c;最终从进化成一个成熟的企服产品。本系列文章讲述的是这样一组Made in Tencent故事&#xff0c;这是系…

2023年 - 我们遇到的那些面试题 (1) - 面试技巧和功能测试篇

前言 最近收到了很多粉丝反馈的面试题 。。 有主观题 &#xff0c;有功能测试题&#xff0c;有python编程题 &#xff0c;有自动化测试题&#xff0c;有数据库题&#xff0c;linux等。。 本文作为《测试面试宝典》内容&#xff0c;将面试题以及部分参考答案开放出来。。 1、…

只要做好这布成为测试经理不是梦!

之前说了太多的测试技术和测试用例设计方法&#xff0c;猛地发现有点“偏科“了。今天我们放松一些&#xff0c;泡一杯茶&#xff0c;一起来聊一聊测试策略吧。 当然&#xff0c;文章脉络肯定是咱们老三样&#xff1a;什么是测试策略&#xff0c;为什么要制定测试策略&#xf…

3年测试经验,跳进腾讯,3面终获20K的Offer...

前言 时间过得飞快&#xff0c;一代又一代就这么成长了起来&#xff0c;曾经的95后备受争议&#xff0c;如今的95后进入社会&#xff0c;扮演者各行角色&#xff0c;成为了行业顶梁柱&#xff0c;今天&#xff0c;要分享的是自己的成长经历。今年24岁&#xff0c;毕业之后进入…

5th-Generation Mobile Communication Technology(六)

目录 一、5G/NR 1、 快速参考&#xff08;Quick Reference&#xff09; 2、5G Success 3、5G Challenges 4、Qualcomm Videos 二、PHY and Protocol 1、Frame Structure 2、Numerology 3、Waveform 4、Frequency Band 5、BWP 6、Synchronization 7、Beam Management 8、CSI Fra…