ARM处理器

news2024/11/24 6:39:03

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.coloradmin.cn/o/882878.html

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

相关文章

匠心工艺-易天注胶设备新升级

随着科技的不断发展,注胶设备也在不断地升级换代。近期,易天光通信自主研发的注胶新设备投入DAC产线使用,新升级的注胶设备在原有的基础上,投入了更加先进的工艺技术,大幅度提升生产工作效率。 一、注胶设备的功能与性…

【UE】Web Browser内嵌网页在场景中的褪色问题

使用WebBrowser放置在场景中时,网页颜色会出现异常的褪色。 这是因为 Web 浏览器插件以 sRGB 格式输出其颜色数据,而 Widget/3D Widget 需要线性 RGB 格式的数据。 可以通过创建在 3D Widget 中使用的新材质(而不是默认的 Widget3DPassthr…

Rust语法:所有权引用生命周期

文章目录 所有权垃圾回收管理内存手动管理内存Rust的所有权所有权转移函数所有权传递 引用与借用可变与不可变引用 生命周期悬垂引用函数生命周期声明结构体的生命周期声明Rust生命周期的自行推断生命周期约束静态生命周期 所有权 垃圾回收管理内存 Python,Java这…

远程仓库上创建一个新的分支 `b` 并将远程分支 `a` 的内容克隆到 `b` 分支上

一、需求: 要在远程仓库上创建一个新的分支 b 并将远程分支 a 的内容克隆到 b 分支上,你可以按照以下步骤进行操作: 二、解决方案: 1. 首先,使用 git clone 命令克隆远程仓库到本地。例如,要克隆一个名为…

Python数据分析实战-dataframe 某一列数据每个元素做处理并新增一列(附源码和实现效果)

实现功能 dataframe 某一列数据每个元素做处理并新增一列 实现代码 import pandas as pd# 创建示例数据 df pd.DataFrame({A: [1, 2, 3], B: [foo, bar, baz]}) # 对列 B 中的每个元素加上 processed_ 前缀,并将结果添加为新列 C df[C] df[B].apply(lambda x: p…

台湾shopee:虾皮电商平台选品方法与市场机遇

台湾Shopee虾皮电商平台为台湾本土卖家和消费者提供了一个线上交易平台。对于想要在台湾市场做虾皮电商的卖家来说,选择合适的产品是非常重要的。本文介绍一些做虾皮电商的选品方法和策略。 首先,了解市场需求是选品的基础。在进入台湾Shopee市场之前&a…

Linux6.39 Kubernetes Pod控制器

文章目录 计算机系统5G云计算第三章 LINUX Kubernetes Pod控制器一、Pod控制器及其功用二.pod控制器有多种类型1.ReplicaSet2.Deployment3.DaemonSet4.StatefulSet5.Cronjob 三、Pod与控制器之间的关系1.Deployment2.SatefulSet1)为什么要有headless2)为…

注解@Value获取配置文件内容 (demo)

1. 自定义配置文件内容 (application.yml) 2. 使用 Value("${xxx}") 注入属性 import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;Compone…

【声波】声波在硼酸、硫酸镁 (MgSO4) 和纯水中的吸收研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

棒球发展史·棒球1号位

棒球发展史 1. 棒球的起源 棒球的起源地棒球的起源地。棒球,也被称为垒球或棒球运动,起源于19世纪晚期的美国。当时在美国,体育运动已经有了较为完备的体制,也形成了多种不同的运动形式。然而,最受欢迎的体育运动主要…

主存储器结构

计算机存储器又称内存,是一种利用半导体技术做成的电子设备,用来存储数据。电子电路的数据是以二进制的方式存储,存储器的每一个存储单元称做记忆元。 存储器以二进制计算容量,基本单位是Byte: 1KiB1,024B 1MiB1,0…

反序列化与序列化过程分析

前言 在学习反序列化的漏洞时,大致都是了解了一些知识,比如序列化就是写入对象,反序列化就是读取文件恢复对象,在这个过程中会自动调用一些方法,readObject,writeObject,静态代码块等,但是从来没有了解过这个过程是怎么样的,一直很模糊,所以在这篇文章里面会记录整个学习过程,…

⛳ Docker - Centos 安装配置

目录 ⛳ Docker - Centos 安装配置🏭 Docker 安装:📢 一、安装依赖包💬 二、添加 Docker 下载源地址🐾 三、更新yum缓存👣 四、安装Docker💻 五、启动Docker🎁 六、查看Docker状态和…

网络编程(8.15)io模型,IO多路复用(select,poll)

1.使用select函数实现IO多路复用 使用select函数实现IO多路复用的服务器&#xff1a; #include<stdio.h> #include<head.h> #include<netinet/in.h> #include<sys/select.h> #include<arpa/inet.h> #define PROT 1112 #define IP "192.16…

缓存淘汰算法(LFU LRU FIFO)及进程的状态和转换

目录 一、缓存淘汰算法 1.LFU&#xff08;Least Frequently Used&#xff09;最近最不常用算法 2.LRU&#xff08;Least Recently User&#xff09;最近最少使用算法 3.FIFO&#xff08;First in first out&#xff09;先进先出算法 二、进程的状态和转换 1.最基本的三种状…

解决Mac系统android monitor启动时卡住,显示白屏的问题

一.启动环境 清安装1.8版本的jdk&#xff0c;java1.8版本以上不支持android monitor&#xff1b;如果你电脑上安装有java 11等高级别的版本&#xff0c;请自行搜索&#xff0c;如果在mac上安装多jdk&#xff0c;以及如何切换到1.8版本上 二.解决方案 请更新SWT插件&#xff…

x86架构芯片启动过程分析

1、上电启动顺序 上电自检 读取ROM里的bios程序 bios程序会进行硬件检测&#xff0c;比如&#xff1a;内存、硬盘、显卡等 bios完成自检后&#xff0c;需要选择引导设备。比如设备上有U盘、SSD、eMMC、机械硬盘&#xff0c;bios需要知道从哪个启动介质去启动计算机 bios操作界面…

资料分析(四)—— 倍数、比重、平均数

倍数 现期倍数 &#xff08;A是B的几倍&#xff09;&#xff1a; 多几倍 1 增长率 1 增长倍数&#xff08;A比B多几倍&#xff09;&#xff1a; - 1 是几倍 - 1 增长率&#xff08;增长几倍&#xff09; 超过倍数&#xff08;A超过B的 n 倍&#xff09;&#xff1a;A …

数据库--MySQL三大范式、多表查询、函数sql

数据库相关链接&#xff1a; 数据库基础操作--增删改查&#xff1a;http://t.csdn.cn/189CF 数据库--数据类型&#xff1a;http://t.csdn.cn/NnBsY​​​​​​​ 数据库--SQL关键字的执行顺序&#xff1a; http://t.csdn.cn/MoJ4i 一、什么是范式&#xff1f; 范式是数据库…

Android Settings 无障碍设置显示大小页面重复加载问题

基于Android 11&#xff0c;跟踪源码 显示大小页面 packages/apps/Settings/src/com/android/settings/display/PreviewSeekBarPreferenceFragment.java 通过commit() 提交更新页面显示大小。该方法是是在其父类PreviewSeekBarPreferenceFragment 实现调用。 基类预览滑动进度…