【关键字】——register在C语言中的使用

news2024/10/6 15:20:37
  • register——寄存器

register
了解register之前,应该先认识认识寄存器,何为寄存器?

在计算机中,数据可以存储在远程二级存储(网盘,服务器),本地二级存储(本地磁盘),主存(也称内存),高速缓冲,还有寄存器。

早期内存读写速度与CPU的运行速度相当,CPU可以利用内存完成绝大多数的数据处理,而随着CPU的的运行速度的提升,内存读写速度已经无法满足CPU,于是设计出了存储空间比内存小很多,但是运行速度足够快的寄存器。

寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,即寄存器集成在CPU上。

寄存器是 CPU 的高速缓存 LI、 L2,缓存容量是在组装计算机时必问的 两个CPU 性能问题之一。缓存结构和大小对 CPU 的运行速度影响非常大,毕竟 CPU 的运行速度远大于内存的读写速度,更远大于硬盘。基于执行指令和热点数据的时间 局部性和空间局部性, CPU 缓存部分指令和数据,以提升性能。但由于 CPU 内部空 间狭小且结构复杂,高速缓存远小于内存空间。

寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。

如果我们设置一个变量

int main(void)
{
	int i = 10;

	printf("%d\n",i);
	return 0;
}

原来这个变量i在内存中的栈区存储

int main(void)
{
	register int i = 10;

	printf("%d\n", i);
	return 0;
}

这里使用register可以让变量i的存储位置更换在寄存器上,以加快运行在处理变量i时的运行速度。

【注意】:现阶段的编译器的处理数据已经很强大,所有编译器会自动将需要进行快速处理的数据放在寄存器中,以便加快运行速度。

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

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

相关文章

DOS学习-目录与文件应用操作经典案例-move

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 move命令不仅能够对文件或目录进行重命名,还可以将文件转移到用户指定的位置。 二.使用 命令格式1(重命名):move …

VR直播:改变我们的直播方式,让现场触手可及

VR直播是近期比较火爆的一种直播方式,相信在抖音上我们都刷到过转动手机、变换视角的VR直播,因为形式比较新颖,用户的参与度比较高,一场直播下来用户的打赏也是较为可观的。 不仅仅在直播行业,在众多应用领域中&#…

ARTS Week 29

Algorithm 本周的算法题为 2413. 最小偶倍数 给你一个正整数 n ,返回 2 和 n 的最小公倍数(正整数)。 示例 1:输入:n 5输出:10解释:5 和 2 的最小公倍数是 10 。 实现代码如下: con…

压摆率SR、增益带宽积GBP、开环增益Aol

运放的选型对运放电路的实际效果非常关键,一定要理解运放重要参数的概念。下面几天将对运放的选型进行系统学习并做实验 运放的压摆率(Slew Rate,简称SR)是指闭环放大器在输入为阶跃信号时,输出电压时间变化率的平均值…

BEVFusion的相机工作流中,图像编码之后FPN+ADP网络的作用

在BEVFusion的相机工作流中,图像编码之后会经过一个FPNADP的网络,那么这个结构的作用是什么呢 FPN大家都很熟悉,就是特征金字塔。但是这里还是贴一些来自GPT的废话 在Bird’s Eye View (BEV) 算法中使用的特征金字塔网络(FPN, Feature Pyrami…

鸿蒙OS开发:【一次开发,多端部署】(分栏控件)

一多分栏控件 介绍 本示例分别展示了多场景下,一多分栏控件的响应式变化效果。 本示例分别用到了[SideBarContainer]组件与[Navigation]组件,对应使用场景如下: ABC:即SideBarContainer组件组合Navigation组件AC:S…

SSRF攻击技术

1、SSRF形成原因 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系…

03-01-Vue组件的定义和注册

前言 我们接着上一篇文章02-Vue实例的生命周期函数 来讲。 下一篇文章 03-02-Vue组件之间的传值 什么是组件 组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们…

Windows安装php_ssh2扩展

一、读取PHP信息 先用phpinfo读取使用的php的版本信息 二、下载ssh2扩展 链接:https://windows.php.net/downloads/pecl/snaps/ssh2/1.2-dev/ 点击链接下载对应链接 三、开启扩展 下载好压缩包后,解压缩得到php_ssh2.dll、php_ssh2.pdb文件&#xff…

以太坊(2)——共识机制与挖矿算法

共识机制 ETH采用的是基于GHOST协议的共识机制 "GHOST"(Greedy Heaviest-Observed Sub-Tree)共识机制,它是以太坊使用的一种改进的区块链共识算法。GHOST共识机制旨在提高链的安全性和效率,通过考虑非主链区块的贡献&…

如何保护Kubernetes集群

2018年黑客入侵了特斯拉在亚马逊上的Kubernetes容器集群。由于该集群控制台未设置密码保护,黑客便得以在一个Kubernetes pod中获取到访问凭证,然后据此访问其网络存储桶S3,通过S3获取到了一些敏感数据,比如遥测技术,并…

llama-factory学习个人记录

框架、模型、数据集准备 1.llama-factory部署 # 克隆仓库 git clone https://github.com/hiyouga/LLaMA-Factory.git # 创建虚拟环境 conda create --name llama_factory python3.10 # 激活虚拟环境 conda activate llama_factory # 安装依赖 cd LLaMA-Factory pip install -…

Vue——开发前的准备和创建一个vue的工程

文章目录 前言安装 Node js1、下载node.js2、安装node.js3、查看是否安装成功 创建 vue 工程Visual Studio Code 配置目录结构 前言 本篇博客主要讲解Vue开发前的环境配置与一些说明。 安装 Node js 环境需要安装配置一个nodejs 的环境。 vue3 最低nodejs 版本要求为 15.0 1…

2024.5.1学习记录

1、代码随想录:贪心刷题 2、react 高级使用( hoc render、props、函数组件、serState 传送门等) 3、游山玩水

linux部署rustdesk

1.拉取RustDesk镜像 sudo docker image pull rustdesk/rustdesk-server2.启动hbbs服务 sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v pwd:/root -td --nethost rustdesk/rustdesk-server hbbs3.启动hbbr服务 sudo dock…

sqli-labs靶场

less---11 1.求闭合字符 输入1报错说明存在注入点 存在注入点 2.查库名 使用报错注入查库名 admin” and (select 1 from (select count(*),concat(database(),floor(rand(0)*2))x from information_schema.tables group by x)y)# //floor函数报错 3.查表名 admin and upd…

一、QGroundControl地面站使用介绍

文章目录 环境功能介绍飞行视图规划视图飞机设置分析工具程序设置 连接飞机飞机设置分析工具飞行视图规划任务 总结参考 环境 QGroundControl V4.2.0PX4-Autopilot V1.3.0devGazebo 模拟无人机 功能介绍 飞行视图规划视图飞机设置分析工具程序设置 飞行视图 软件打开后为飞…

OWASP Benchmark | OWASP 基准项目介绍

1. 背景 市面上的静态代码检测SAST工具越来越多,除了业界比较知名的Coverity、Fortify、CheckMax,还有CodeQL、SonarQube、CppCheck等,国内也涌现了一大波检测工具,如鸿渐SAST、奇安信代码卫士、北大Cobot、酷德啄木鸟等&#xf…

KT142C语音芯片音量详细汇总 包含记忆 低功耗的音量_开机音量

关于KT142C语音芯片sop16的音量详细汇总,包含记忆,低功耗唤醒之后的音量,开机音量 芯片的音量是分为三部分,详见手册的“3.4.2”章节 串口发送指令设置,但是掉电或者进入低功耗被唤醒,这两种情况都会恢复到…

nvm介绍、下载、安装、配置及使用,(Node Version Manager)nodejs版本管理切换工具

1、介绍nvm 在Web前端项目开发过程中,由于各种前端框架、插件 以及 Nodejs、Npm 的飞速更新,在项目新开发 或 对老项目进行更新维护时,有些项目版本的配置 和 当前Node、Npm环境不匹配,导致运行报错,甚至都无法启动。…