一.5 高速缓存至关重要

        这个简单的示例揭示了一个重要的问题,即系统花费了大量的时间把信息从一个地方挪到另一个地方。hello程序的机器指令最初是存放在硬盘上,当程序加载时,它们被复制到主存;当处理器运行程序时,指令又从主存复制到处理器。相似的,数据串“hello,world\n”开始时在硬盘上,然后被复制到主存,最后从主存复制到显示设备。从程序员的角度来看,这些复制就是开销,减慢了程序“真正”的工作。因此,系统设计者的一个主要目标就是使这些复制操作尽可能快地完成。

        根据机械原理,较大的储存设备要比较小的储存设备运行得慢,而快速设备的造价远高于同类的低俗设备。比如说,一个典型系统上的磁盘驱动器可能比主存大1000倍,但是对处理器而言,从磁盘驱动器上读取一个字的时间开销要比从主存中读取的开销大1000万倍。

        类似的,一个典型的寄存器文件只存储几百字节的信息,而主存里可存放几十亿字节。然而,处理器从寄存器文件中读取数据比从主存中读取几乎要快100倍。更麻烦的是,随着这些年半导体技术的进步,这种处理器与主存之间的差距还在持续增大。加快处理器的运行速度比加快主存的运行速度要容易和便宜的多。

        针对这种处理器与主存之间的差异,系统设计者采用了更小更快的存储设备,称为高速缓存存储器(cache memory,简称为cache或高速缓存),作为暂时的集结区域,存放处理器近期可能会需要的信息。图1-8展示了一个典型系统中的高速缓存存储器。位于处理器芯片上的L1高速缓存的容量可以达到数万字节,访问速度几乎和访问寄存器文件一样快。一个容量为数十万到数百万字节的更大的L2高速缓存通过一条特殊的总线连接到处理器。进程访问L2高速缓存的时间要比访问L1高速缓存的时间长5倍,但是这仍然比访问主存的时间快5~10倍。L1和L2高速缓存是用一种叫做静态随机访问存储器(SRAM)的硬件技术实现的。比较新的、处理能力更强大的系统甚至有三级高速缓存:L1、L2和L3。系统可以获得一个很大的存储器,同时访问速度也很快,原因是利用了高速缓存的局部性原理,即程序具有访问局部区域里的数据和代码的趋势。通过让高速缓存里存放可能经常访问的数据,大部分的内存操作都能在快速的高速缓存中完成。        本书得出的重要结论之一就是,意识到高速缓存存储器存在的应用程序员利用高速缓存将程序的性能提高一个数量级。你将在第六章里学习这些重要的设备以及如何利用它们。

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

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

相关文章

触摸屏虚拟键盘组件 jQuery Virtual Keyboard使用 自定义键盘

如何在触摸设备上为输入域添加虚拟键盘? 一个插件可以解决这个问题,关键还支持高度自定义(git地址): GitHub - Mottie/Keyboard: Virtual Keyboard using jQuery ~ 官网地址:Virtual Keyboard 使用步骤&…

大模型学习笔记0-前言

在当前人工智能技术快速发展的背景下,大模型成为了这个领域最为耀眼的焦点之一。它们不仅在机器学习的很多子领域表现突出,还在众多实际应用中展现出巨大的潜力与价值。因此,对于任何致力于深入了解当代AI技术的学习者来说,掌握大…

3. 积分之迷

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小明开了个网上商店,卖风铃。共有 33 个品牌:𝐴,𝐵,𝐶A,B&#xff0c…

NISP证书备考指南与经验分享

在信息安全领域,NISP(国家信息安全水平考试)作为衡量专业能力的重要标尺,不仅是职场晋升的敲门砖,更是个人技能提升的关键一步。面对这一挑战,如何高效备考,成为众多学员关注的焦点。今天,为您精心打造这份…

原生APP开发的优势

原生APP开发是指使用特定的编程语言和开发工具,针对特定的操作系统平台进行开发的应用程序。相比于混合开发和Web开发,原生APP开发具有以下优势。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 性能更优 原…

Python和numpy相关函数

目录 一、python中变量前面有个*二、numpy.prod三、numpy.savez四、 arr[..., ::-1]五、 yield六、 string.join()七、 numpy.random.choice() 一、python中变量前面有个* 在Python中,变量前面的星号(*)有多种用法,主要与函数参数…

Spring Boot Vue 毕设系统讲解 3

目录 项目配置类 项目中配置的相关代码 spring Boot 拦截器相关知识 一、基于URL实现的拦截器: 二、基于注解的拦截器 三、把拦截器添加到配置中,相当于SpringMVC时的配置文件干的事儿: 项目配置类 项目中配置的相关代码 首先定义项目认…

实例分割:深度学习在图像识别中的突破

标题:实例分割:深度学习在图像识别中的突破 实例分割是计算机视觉领域中的一项高级任务,它不仅识别图像中的多个对象,还精确地定位每个对象的边界。这项技术是目标检测和语义分割的结合,能够区分同类对象中的个体差异…

【亲测解决】No module named _cffi_backend

微信公众号:leetcode_algos_life,代码随想随记 小红书:412408155 CSDN:https://blog.csdn.net/woai8339?typeblog ,代码随想随记 GitHub: https://github.com/riverind 抖音【暂未开始,计划开始】&#xf…

FPGA之 串口UART通信

FPGA之串口UART通信 1. UART发送模块(Transmitter)2. UART接收模块(Receiver)3. testbench4. 边沿检测电路 串口(Universal Asynchronous Receiver/Transmitter,UART)是一种串行通信协议&#x…

通义千问Qwen-VL-Chat大模型本地部署(一)

目录 前言 环境准备 软件安装 其它库安装启动项目 FASTAPI 小结 前言 人工智能大模型是一种能够利用大数据和神经网络来模拟人类思维和创造力的人工智能算法。它利用海量的数据和深度学习技术来理解、生成和预测新内容,通常情况下有数十亿乃至数百亿个参数&#xf…

什么?这动物图片可以上国家地理?

stable difussion中大部分的模型都是关于人的,今天交给大家一些不一样的:如何生成动物图片。在这篇文章中我们将会学到如何生成逼真的动物,可爱的动物,还有幻想中的动物。 准备工作 当然前提是你需要一个SD的软件,你可以用本地的SD webUI或…

关于CM4内核的单片机使用sprintf格式化浮点数导致程序跑飞的问题

问题现象 基于freeRTOS和Contex-M4内核的单片机,在使用sprintf格式化浮点数时,由于打开了看门狗复位,导致程序频繁重启,不开看门狗复位,程序就会卡死。而同样的程序在切换到Contex-M3内核的单片机时,就能正…

解析 unstructured pdfminer_utils.py rect_to_bbox 坐标转换函数

解析 unstructured pdfminer_utils.py rect_to_bbox 坐标转换函数 1. 函数定义2. 函数说明3. 函数实现举例说明总结 今天,我们来学习一个有趣的Python函数。这个函数可以帮助我们转换PDF文档中的坐标。虽然听起来很复杂,但是我们可以通过一个简单的例子来理解它。 1. 函数定义…

[Spring] SpringBoot基本配置与快速上手

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

Python中的魔术方法(如__init__、__str__等)的概念以及它们的作用。

Python中的魔术方法(也称为特殊方法或双下划线方法)是Python内置的一些具有特殊意义的方法。这些方法在Python的类定义中用于实现特定的功能,如对象初始化、属性访问、字符串表示、算术运算等。下面列举并解释几个常见的魔术方法:…

企业如何做好数据防泄密丨十个措施杜绝泄密事件

在当今数字化时代,信息泄露对企业构成了前所未有的威胁。企业的创新成果、专利技术和商业机密是其竞争力的核心。防止泄密可以确保这些关键资产不被非法复制或盗用。 客户数据是企业的宝贵资源。保护客户隐私不被泄露,不仅是法律要求,更是赢…

兼容问题---ios底部的安全距离css设置

在H5上适配安全区域&#xff1a;采用viewportenvconstant方案。 具体操作如下&#xff1a; 1. 需要将viewport设置为cover&#xff0c;env和constant才能生效。设置代码如下&#xff1a; <meta name"viewport" content"widthdevice-width,initial-scale1.…

两位软件工程师创业,开发出一款软件质量保证自主AI代理,融资总额超3000万美元

编译整理&#xff5c;TesterHome社区 来源&#xff5c;TechCrunch 随着生成式人工智能&#xff08;generative AI&#xff09;的出现&#xff0c;人工智能应用正在改变和重塑各行各业&#xff0c;并改变人们的工作方式。软件开发也不例外。 总部位于旧金山和东京的初创公司Aut…

前端导出pdf

async generatePDF() {const element this.$refs.contentToPrint; // 你想要转换成PDF的DOM元素// 使用html2canvas将DOM元素转换成canvasconst canvas await html2canvas(element);const imgData canvas.toDataURL(image/png);// 创建PDF并添加图片const pdf new jsPDF({o…