寄存器、CPU缓存、内存。以及他们之间的关系

news2024/11/18 1:42:57

寄存器

CPU寄存器是CPU内部的高速存储区域,用于临时存储数据和指令。寄存器是CPU的重要组成部分,用于提高程序的执行效率。它们比主存储器更快,可以使得CPU更有效地处理数据和执行指令。

寄存器可以分为不同类型,下面列出部分ARMv8寄存器:

  1. 通用寄存器:ARMv8架构有大量的通用寄存器,包括x0 ~ x30(在AArch64架构中)和w0~w30(在AArch32架构中),这些寄存器是32位或64位宽,用于存储数据和参与运算。
  2. 状态寄存器:ARMv8使用PSTATE寄存器表示当前处理器状态,其中包含了一些状态标志位,如处理器模式、异常标志等。
  3. 特殊寄存器:ARMv8有一些特殊的寄存器,如SP(stack pointer register)和PC(program counter),分别用于指向当前栈的指针和保存当前指令的地址。
  4. 系统寄存器:ARMv8还有很多系统寄存器,用于完成对处理器不同功能的配置。例如,在ARMv7中定义的cp15寄存器,在ARMv8中仍然存在并被重命名为CP15_64。此外,还有一些特殊目的寄存器、VMSA(虚拟内存架构)特殊寄存器、ID寄存器、性能监控寄存器、DEBUG寄存器、RAS寄存器、通用定时器寄存器、Cache维护相关寄存器、地址转换寄存器和TLB维护寄存器等。
  5. 浮点寄存器:ARMv8架构支持浮点运算,有32位和64位的浮点寄存器,用于存储浮点数和参与浮点运算。
  6. 虚拟寄存器:ARMv8架构支持虚拟化技术,有一些虚拟寄存器用于虚拟化操作。
  7. 调试寄存器:ARMv8架构有一些调试寄存器,用于调试程序和检查处理器状态。
  8. 内存管理寄存器:ARMv8架构有一些内存管理寄存器,用于管理内存和缓存。
  9. 电源管理寄存器:ARMv8架构有一些电源管理寄存器,用于控制处理器的功耗和节能模式。

CPU缓存

CPU缓存是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度却比内存要快得多。CPU高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾。因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可先从缓存中调用,从而加快读取速度。

CPU缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是从CPU芯片面积和成本的因素来考虑,缓存都很小。

CPU缓存一般分为三级:CPU一级缓存、二级缓存、三级缓存等不同级别的缓存也各有其特点和用途。例如,一级缓存主要存储指令和特定于数据的缓存,二级缓存则用于CPU和内存之间的数据交换,三级缓存通常用于更低速率的存储器,例如硬盘或网络连接。

飞腾D2000/8 CPU集成了8个FTC663核:
一级缓存:不详
二级缓存:每个 Cluster 内有 2MB,共 8MB。
三级缓存:分为8个Bank,共4MB。

内存

用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。内存是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失。

寄存器、CPU缓存、内存之间的关系

执行引擎:面向寄存器进行操作,它负责执行指令和处理数据。在执行指令时,执行引擎需要从寄存器中读取数据,或者把数据写入寄存器。
当执行引擎执行时,会从寄存器中读取数据,寄存器会从CPU缓存中读取,或者从内存中读取。如下示意图:
在这里插入图片描述
注:学习中,欢迎指正

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

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

相关文章

用baostock库获取上证50成分股

最近知道了baostock库,免费,开源(www.baostock.com) 用来试试看。获取上证50成分股: import baostock as bs import pandas as pd# 登陆系统 lg bs.login() # 显示登陆返回信息 print(login respond error_code:lg.…

Docker 镜像读写层核心概念:rootfs、Union mount、image以及layser原理详解

Docker 镜像读写层核心概念:rootfs、Union mount、image以及layser原理详解 文章目录 Docker 镜像读写层核心概念:rootfs、Union mount、image以及layser原理详解rootfsUnion mount为什么镜像层都是只读的去掉读写层的话会有什么问题 Docker镜像imageDoc…

LVS-keepalived实现高可用

概念: 本章核心: Keepalived为LVS应运而生的高可用服务。LVS的调度无法做高可用,预算keepalived这个软件,实现了调度器的高可用。 但是:Keeplived不是专门为LVS集群服务的,也可以做其他服务器的高可用 LVS…

Vue进阶(幺陆玖)项目部署后IE报 SCRIPT1002:语法错误 解决方案探讨

文章目录 一、前言二、组件懒加载2.1 什么是懒加载2.2 如何实现懒加载 三、延伸阅读 软件程序唤醒3.1 protocolCheck 实现3.2 自定义实现 四、拓展阅读 一、前言 Vue项目改造升级后,原本本地热部署后IE可正常打开的项目出现页面白屏且控制台给出SCRIPT1002:语法错误…

电动两轮车智能化浪潮崛起,移远通信以全场景解决方案引领户外出行新变革

凭借受众广泛、使用方便等优势,电动两轮出行越来越走俏,成为通勤、校园、景区等场景的不二之选。而随着物联网新技术的采用,智能化两轮车能为骑行者带来更多样化、更舒适的驾驶和交互体验,也成为“Z世代”的扮靓利器和出游好伙伴。…

【LeetCode每日一题合集】2023.10.16-2023.10.22(只出现一次的数字Ⅲ)

文章目录 260. 只出现一次的数字 III⭐(异或)🐂2652. 倍数求和解法1——枚举模拟解法2—— O ( 1 ) O(1) O(1)容斥原理相似题目——1201. 丑数 III(二分查找容斥原理) 2530. 执行 K 次操作后的最大分数解法1——贪心优…

机器学习——代价敏感错误率与代价曲线

文章目录 代价敏感错误率实现代价曲线例子 代价敏感错误率 指在分类问题中,不同类别的错误分类所造成的代价不同。在某些应用场景下,不同类别的错误分类可能会产生不同的代价。例如,在医学诊断中,将疾病患者错误地分类为健康人可…

区块链技术的未来:去中心化应用和NFT的崛起

区块链技术正在以前所未有的速度改变着金融和数字资产领域。它的演进为去中心化应用和非替代性代币(NFT)的崛起提供了坚实的基础。在本文中,我们将深入探讨这一数字革命的关键方面,从区块链的基本原理到它如何改变金融领域&#x…

修改svc的LoadBalancer的IP引发的惨案

文章目录 背景修改externalIPs的操作api-server报错日志挽救教训 背景 k8s集群没有接外部负载均衡,部署istio的时候ingressgateway一直pending。 于是手动修改了这个lb svc的externalIP,于是k8s就崩了,如何崩的,且听我还道来。 …

Redis(03)| 数据结构-链表

大家最熟悉的数据结构除了数组之外,我相信就是链表了。 Redis 的 List 对象的底层实现之一就是链表。C 语言本身没有链表这个数据结构的,所以 Redis 自己设计了一个链表数据结构。 链表节点结构设计 先来看看「链表节点」结构的样子: type…

ReentrantLock 的实现原理

ReentrantLock ReentrantLock 是一种可重入的排它锁,主要用来解决多线程对共享资源竞争的问题。它的核心特性有几个: 它支持可重入,也就是获得锁的线程在释放锁之前再次去竞争同一把锁的时候,不需要加锁就可以直接访问。它支持公…

企业微信接入芋道SpringBoot项目

背景:使用芋道框架编写了一个数据看板功能需要嵌入到企业微信中,方便各级人员实时观看 接入企业微信的话肯定不能像平常pc端一样先登录再根据权限看页面,不然的话不如直接手机浏览器打开登录账号来得更为方便,所以迎面而来面临两…

结构体数组经典运用---选票系统

结构体的引入 1、概念:结构体和其他类型基础数据类型一样,例如int类型,char类型,float类型等。整型数,浮点型数,字符串是分散的数据表示,有时候我们需要用很多类型的数据来表示一个整体&#x…

网络通信 | 内网穿透

内网穿透 / 获取临时域名 : 下载且安装软件 : cpolar获得 “Authtoken” 且配置 cpolar ,生成“内网穿透”工具配置文件启动服务,临时获取到一个IP地址 (临时域名) 让当前 电脑能获取一个公网的IP地址,让微信后台能调用到当前外卖系统的后端服…

亚马逊发布卖家专用的AI工具,能为商品添加背景

🦉 AI新闻 🚀 亚马逊发布卖家专用的AI工具,能为商品添加背景 摘要:亚马逊发布了一款针对卖家的生成式AI工具,允许卖家为商品添加由AI生成的背景。亚马逊称有75%的广告主因广告内容质量不佳而导致营销失败。通过比对两…

企业文件传输速度慢?宽带利用率不高怎么办?

在当今数字化时代,企业间的文件传输已经成为日常工作中不可或缺的一部分。很多企业业务全球化趋势明显,拥有分布在不同地理位置的办事处、工厂、供应商和合作伙伴。它们需要在这些地点之间传输文件,如合同、报告、设计文件等。企业常常需要传…

【Idea】idea启动同一程序不同端口

前言 在idea中配置两个不同端口,同时运行两个相同的主程序。 更多端口配置同理 idea版本:2022.2.3 1.在service中复制一个进程,指定不同端口 右键打开点击 copy Configuration 2.点击Modify option 2. 选择VM option(用于指定新的端口) 页面就会出现下面的指定…

代码随想录算法训练营第3天| 203.移除链表元素 、 707.设计链表 、 206.反转链表

JAVA代码编写 203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5]示…

[Leetcode] 0101. 对称二叉树

101. 对称二叉树 题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false提示&#…

“智”造时代引领AI机器视觉技术进步,加速渗透下游应用赛道

机器视觉作为智能制造的“智慧之眼”,为智能制造打开了新的“视”界,是实现工业自动化和智能化的关键核心技术。人工智能与机器视觉的结合使用,逐渐成为现阶段研究与应用的热点,同时也成为机器视觉行业发展的核心驱动力。 近年来…