ARM处理器

1、RISC处理器:

RISC (Reduced Instruction Set Computer) 微处理器是一种计算机微处理器架构,其设计原则是通过简化指令集来提高执行速度。

(1)、RISC处理器的设计理念:

  • 简化指令集:RISC 微处理器的指令集非常精简,每条指令都执行一个基本的操作。这有助于简化处理器的硬件设计和流水线执行,从而提高指令的执行速度。
  • 以寄存器为中心:RISC 微处理器使用大量的寄存器来存储和处理数据。因为指令集精简,需要频繁从内存中加载数据的次数减少,从而减少了内存访问的延迟,提高了性能。
  • 流水线架构:RISC 微处理器通常采用流水线执行指令的方式,将指令的执行分为多个阶段,使得在同一时刻可以有多条指令在不同阶段同时执行。这样可以提高处理器的吞吐量。
  • 延迟槽:一些RISC架构在分支指令后会有一个延迟槽,允许在分支指令执行前执行紧跟在后面的指令。这有助于减少因分支预测错误而造成的性能损失。
  • 加载/存储架构:RISC 微处理器通常使用加载/存储架构,意味着大部分操作都在寄存器上执行,而不是直接在内存中操作数据。这可以提高内存访问的效率。
  • 硬件多线程:一些RISC 微处理器支持硬件多线程,允许多个线程在同一时刻共享处理器的资源,提高处理器的利用率。

(2)、常见的RISC微处理器:

  • ARM:用于移动设备、嵌入式系统和服务器领域,具有低功耗和高性能的特点。
  • MIPS:广泛应用于嵌入式系统、网络设备和嵌入式控制器等领域。
  • PowerPC:曾在 IBM 的计算机和一些游戏主机中使用,如早期的 Macintosh 和 PlayStation 3。
  • RISC-V:开源的 RISC 架构,受到了广泛的关注,可以用于各种用途,从嵌入式设备到高性能计算。

2、CISC处理器:

CISC(Complex Instruction Set Computer)处理器是一种计算机微处理器架构,其设计理念是在单条指令中执行多个复杂操作,以便减少编程工作量和内存访问次数。

CISC处理器的特点:

  • 复杂指令集: CISC 处理器的指令集相对较大且复杂,每条指令可以执行多个操作,包括访问内存、执行算术运算和逻辑操作等。
  • 内存访问: CISC 处理器通常支持直接访问内存,这意味着许多操作可以直接在内存中执行,而不需要频繁地加载数据到寄存器。
  • 指令格式多样性: CISC 指令通常有多种格式和寻址模式,允许在一条指令中执行多个操作,这可以减少程序员编写代码的工作量。
  • 微代码: CISC 处理器通常使用微代码(microcode)来实现指令,这是一种低级别的指令集,与硬件层面的指令集之间的映射。
  • 复杂的执行单元: CISC 处理器通常包含复杂的执行单元,用于支持多个指令的同时执行。

(2)、常见的CISC处理器:

  • x86: 由 Intel 和 AMD 开发的处理器架构,广泛用于个人电脑和服务器领域。
  • x86-64(也称为AMD64或Intel 64): 扩展了 x86 架构,增加了 64 位寻址和操作能力,用于现代 64 位计算机。
  • DEC Alpha: 由 Digital Equipment Corporation(DEC)开发的处理器架构,曾用于高性能计算和服务器领域。
  • VAX: 由 Digital Equipment Corporation(DEC)开发的处理器架构,曾在早期的计算机系统中广泛使用。

3、ARM处理器:

(1)、ARM处理器:

ARM微处理器支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%及以上的存储空间,同时具备32位代码的所有优点。

(2)、ARM处理器的寄存器:

RM处理器共有37个寄存器,被分为若干个组(BANK):

  • 31个通用寄存器,包括程序计数器(PC指针),均为32位寄存器。
  • 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位。
    在这里插入图片描述

(3)、ARM微处理器有以下7种运行模式:

  • 用户模式(usr):ARM处理器正常的程序执行状态。
  • 快速中断模式(fiq):用于高速数据传输或通道处理。
  • 外部中断模式(irq):用于通常的中断处理。
  • 管理模式(svc):操作系统使用的保护模式。
  • 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
  • 系统模式(sys):运行具有特权的操作系统任务。
  • 未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
    ARM微处理器的运行模式既可以通过软件来改变,也可以通过外部中断或异常处理来改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余的所有6种模式称为非用户模式,或特权模式(Privileged Modes);其中除用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。

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

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

相关文章

【Python COM】Word 自动纵向合并相同内容单元格

使用场景 docxtempl 库不支持动态纵向合并单元格,所以写了这段代码用来曲线救国。 使用方法 需要纵向合并的单元格加上在文本末尾加上“【纵向合并】”,然后调用此函数,就会自动纵向合并相同内容的单元格。 代码 需要安装 pywin32 库。 …

VC2015,C++内存中运行EXE文件

VC2015,C内存中运行EXE文件,点击可以下载 VC2015项目中所用的源码主要源自于网络,修正一些错误后,源码如下,此源码在VC6中可以正常编译, 但在VC2015中,就会出现一些错误,本项目源码已经把错误修…

文件批量重命名001到100

文件批量重命名001到100如何搞定?这是一个许多朋友都在热议的话题,今天我将向大家介绍这方面的内容,希望你会喜欢。总的来说,文件重命名快捷键CtrlF2在日常工作中非常实用。它可以轻松快速地完成文件和文件夹的重命名操作&#xf…

储能pcb的布局注意事项与制造难点

随着新能源需求的不断增长和能源结构的转型,储能技术的市场规模不断扩大。储能PCB作为储能系统中电池模块的重要组成部分,对整个系统的安全性和性能起到关键作用。今天我们就来聊聊,储能pcb有什么特征。 什么是储能:储能是指能量…

用友Java后端笔试2023-8-5

计算被直线划分区域 在笛卡尔坐标系,存在区域[A,B],被不同线划分成多块小的区域,简单起见,假设这些不同线都直线并且不存在三条直线相交于一点的情况。 img 那么,如何快速计算某个时刻,在 X 坐标轴上[ A,…

kubernetes 中的事件(event)简介以及如何收集event和基于event告警

引用另外一篇文章对k8s event的介绍 1.什么是kubernetes事件 Kubernetes Events 是一种 Kubernetes 资源对象,记录了某个组件在某个时间做了某个动作,用于展示集群内发生的情况,当 Kubernetes 集群中资源状态发生变化时,可以产生…

PostMan 教程

安装https://www.cnblogs.com/mafly/p/postman.html Postman 使用方法详解https://blog.csdn.net/fxbin123/article/details/80428216 postman进行http接口测试https://blog.csdn.net/five3/article/details/53021084 postman的使用方法详解!最全面的教程https:/…

Golang项目中如何轻松实现私有仓库pkg包的引入

在企业内部创建一个公共的Golang模块工程可以帮助提高代码复用性和开发效率。本文将从如何创建一个公共的Golang工程开始,指导你一步步创建它、并引入到你的工程中。 1、公共模块规范 下面是一个简单的步骤指南来创建这样一个公共模块项目。 创建版本控制仓库&am…

Verdi_traceX and autotrace

Verdi_traceX and autotrace Trace X From nWave/nTrace of from the Teporal Flow View. Show Paths on Flow ViewShow Paths on nWave 若Waveform中有X态,鼠标右键会有Trace X的选项; 会自动打开Temporal Flow View窗口,展示对应路径&am…

RocketMQ、Dashboard部署以及安全设置

RocketMQ、dashboard部署以及安全设置 一、启动RocketMQ1.1 下载RocketMQ1.2 修改配置文件1.2.1 修改nameServer Jvm内存配置1.2.2 修改broker参数 1.3 启动1.3.1 启动NameServer1.3.2 启动Broker1.3.3 测试是否启动成功1.3.3.1 测试消息发送1.3.3.2 测试消息接收1.3.3.3 Java程…

数据结构——配对堆

引入 配对堆是一个支持插入,查询/删除最小值,合并,修改元素等操作的数据结构,是一种可并堆。有速度快和结构简单的优势,但由于其为基于势能分析的均摊复杂度,无法可持久化。 定义 配对堆是一棵满足堆性质…

C语言暑假刷题冲刺篇——day1

目录 一、选择题 二、编程题 🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练 ✨其他专栏:代码小游戏C语言初阶🤝希望作者的文章能对你…

问道管理:网上如何打新股?

随着资本市场的不断敞开,越来越多的人开始重视股票市场,并想经过网上打新股来取得更大的出资收益。但是,网上打新股的办法并不简略,怎样才能成功地打新股呢?本文将从多个角度剖析,协助广阔出资者处理这一问…

海信聚好看将携新品DBdoctor,亮相中国数据库技术大会(DTCC2023)

海信聚好看将携新品DBdoctor,亮相中国数据库技术大会 8月16日—18日,第14届中国数据库技术大会(DTCC-2023)将在北京国际会议中心隆重召开。作为国内数据库领域规模最大的技术交流盛会,吸引了众多业内知名企业和数百名…

[谦实思纪 01]整理自2023雷军年度演讲——《成长》(上篇)武大回忆(梦想与成长)

文章目录 [谦实思纪]整理自2023雷军年度演讲 ——《成长》(上篇)武大回忆(梦想与成长)0. 写在前面1. 梦开始的地方1.1 要有梦想,要用目标量化梦想 2. 在两年内修完所有的学分。2.1 别老自己琢磨,找个懂的人…

【LeetCode 算法】Matrix Diagonal Sum 矩阵对角线元素的和

文章目录 Matrix Diagonal Sum 矩阵对角线元素的和问题描述:分析代码Math Tag Matrix Diagonal Sum 矩阵对角线元素的和 问题描述: 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不…

Python爬虫IP代理池的建立和使用

写在前面 建立Python爬虫IP代理池可以提高爬虫的稳定性和效率,可以有效避免IP被封锁或限制访问等问题。 下面是建立Python爬虫IP代理池的详细步骤和代码实现: 1. 获取代理IP 我们可以从一些代理IP网站上获取免费或付费的代理IP,或者自己租…

【深度学习所有损失函数】在 NumPy、TensorFlow 和 PyTorch 中实现(1/2)

一、说明 在本文中,讨论了深度学习中使用的所有常见损失函数,并在NumPy,PyTorch和TensorFlow中实现了它们。 二、内容提要 我们本文所谈的代价函数如下所列: 均方误差 (MSE) 损失二进制交叉熵损失加权二进…

“深入解析JVM内部机制:探索Java虚拟机的奥秘“

标题:深入解析JVM内部机制:探索Java虚拟机的奥秘 JVM(Java虚拟机)是Java程序的核心执行环境,它负责将Java字节码转换为机器码并执行。了解JVM的内部机制对于理解Java程序的执行过程和性能优化至关重要。本文将深入解析…

开启想象翅膀:轻松实现文本生成模型的创作应用,支持LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型,开箱即用

开启想象翅膀:轻松实现文本生成模型的创作应用,支持LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型,开箱即用 TextGen: Implementation of Text Generation models 1.介绍 TextGen实现了多种文本生成模型,包括&a…