网站建设和技术支持中国上海门户网站公众号

张小明 2026/1/10 13:06:34
网站建设和技术支持,中国上海门户网站公众号,织梦网站栏目访问目录,焦作 做 网站原文#xff1a;towardsdatascience.com/how-do-computers-actually-remember-af43d49e82ab 简介 你是否曾经想过计算机实际上是如何“记住”东西的#xff1f;当然#xff0c;你听说过它使用 RAM 作为“短期”内存#xff0c;而你的硬盘或固态硬盘是“长期”内存。但是towardsdatascience.com/how-do-computers-actually-remember-af43d49e82ab简介你是否曾经想过计算机实际上是如何“记住”东西的当然你听说过它使用 RAM 作为“短期”内存而你的硬盘或固态硬盘是“长期”内存。但是这些设备是如何实际保留信息的这正是我们将在本文中回答的问题。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/edabe52cd144447a065329358f8f1f21.png由 Markus Spiske 在 Unsplash 上拍摄的照片作为数据科学家我们通常使用高级工具。Python 很棒但它为了简化而隐藏了计算机工作的许多细节。然而计算机是我们行业的工具——我们了解它们是如何工作的不是很有意义吗这篇文章是我系列文章“初学者数据科学家计算机硬件入门”的第三篇。如果你错过了前两篇不要担心——你实际上并不需要它们来跟上进度但它们将帮助你达到更深层次的理解如果你想阅读其他文章可以在本文底部找到链接。本系列文章的目的是让新的或经验丰富的数据科学家一窥他们每天使用的工具是如何实际工作的而不需要任何关于物理学、电气工程或低级计算机科学概念的知识。如果你对计算机的工作原理感兴趣但在这个领域没有太多的背景知识那么这个系列将是你开始的好地方。太好了现在我们已经解决了这个问题让我们进入有趣的部分内存与存储有什么区别根据你的背景你可能听说过计算机使用内存和存储并且这两个元素是不同的。大致来说内存或 RAM是计算机的“短期”内存而存储通常是你的硬盘或固态硬盘是你的“长期”内存。首先让我们清理一下我们的词汇。从现在开始我们将不再称之为“短期”和“长期”内存而是分别将它们称为“易失性”和“非易失性”内存。易失性内存指的是在失去电力后无法保留数据的组件而非易失性内存组件即使在没有电力的情况下也能保留其数据。实际上存在许多不同类型的易失性和非易失性内存。本文将重点介绍易失性内存这是用于 RAM 的内存类型。在下一篇文章中我们将讨论非易失性内存并比较和对比这两种类型。易失性内存计算机的短期内存再次强调易失性存储器在没有电源的情况下会丢失数据。这意味着它不能也不应该用来长期存储文件。你可能听说过 RAMRandomAccessMemory。你可以在任务管理器中轻松地看到你的电脑正在使用多少 RAM如果你曾经尝试使用我们有时作为数据科学家可以访问的一些较大的数据集你可能在任务中途就已经用完了它总是让人沮丧。虽然 RAM 是计算机使用的一种易失性存储器但它并不是计算机使用的唯一易失性存储器。RAM 可以分为两大类DRAM动态 RAM和 SRAM静态 RAM。我们将首先讨论 DRAM这是你可能熟悉的一种 RAM 类型。DRAM一切都是关于电容器如果你曾经听说过有人谈论“RAM 棒”或者提到他们的电脑有多少 RAM他们所说的是 DRAM。DRAM 背后的核心思想实际上非常简单——它只是给电容器充电来表示 1放电来表示 0。让我们看看电路图。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4d9df4285c9fc0a37c72c6390c594b2c.png作者图片在这种配置中word line 是一根作为启用/禁用开关的电线而 bit line 是一根将数据传输到电容器的电线。我明白这可能一开始不太容易理解——没关系。我会进一步解释。要理解这个电路是如何工作的你需要对晶体管元件有一个基本了解。对于这篇文章的目的你只需要了解晶体管的一件事它作为一个开关工作。施加在基极wordline 连接的部分的电流电压允许电流从集电极位线连接的部分流向发射极电容器连接的部分。想象一下你水槽上的水龙头。你转动把手就像“wordline”通过向其供电来“转动”基极水电流从水管集电极流出通过龙头发射极。如果你想深入了解晶体管的工作原理我推荐我的上一篇文章计算机是如何实际计算的让我们继续我们的水龙头类比。我们实际上只需要做一个小改动。在龙头上你只有一个把手现在你有两个。一个控制龙头字线另一个控制水流通过管道位线。电容器是一个存储电能的电气元件就像排水槽存储水。当电容器充满电能当排水槽充满水时我们把这理解为那里存储了一个 1 比特。注意只有当两个把手都打开时排水槽才能充满。如果你只打开水龙头上的把手字线那么管道中没有水位线设置为 0来填充排水槽电容器。让我们总结一下。字线充当一个启用开关告诉我们的电容器何时可以和不可以读取位线上传入的数据。当字线开启而位线关闭时就在电容器中存储一个“0”。当字线开启且位线开启时就在电容器中存储一个“1”。我向你展示的电路实际上是简化了一些的。我省略了一些处理电容器电学特性相关奇怪现象所需的组件。其中一个特性是电容器会随时间泄漏。为了正确存储我们的数据我们必须刷新存储在其中的电能。回到我们的排水槽类比这就像打开水龙头短暂地给泄漏的排水槽补水。如果你听说过 RAM 的刷新率这就是他们所说的。刷新率是指你多久需要用电力补充泄漏的电容器以保持数据完整性。结合起来如何从单个存储单元到 DRAM让我们称这些小电路为存储单元。你可以将存储单元链成一个二维网格一次写入多个比特。让我们举一个例子。让我们看看如何使用 DRAM 存储单元来存储一个 4 位数。备注如果你需要快速回顾一下我所说的 4 位数的含义这里有一个简要总结。计算机以二进制形式存储数字仅使用 0 和 1。4 位意味着我们可以存储任何仅使用四个 0 或 1 表示的数字。这给了我们从 0 到 2³-17 的范围。所以将我们的典型数字系统转换为二进制0 0b00007 0b1111。如果你想深入了解我有一篇文章涵盖了二进制的基础为什么计算机甚至使用二进制https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e335c68bb5461d42070c17c764605e63.png图片由作者提供这些存储单元的每一行可以存储一个 4 位数。当我们开启字线 1 时它将第一行的晶体管打开允许位线 1-4 的数据被读入并存储在电容器中。如果我们把我们的 4 位数中的每一位放在不同的位线上我们可以通过开启相应的字线一次存储整个数字。这种二维架构还允许我们为每个存储单元分配地址。比如说我们想引用第一行数字的第二列中的数据。我们知道它在位线 1位线 2。这使得计算机能够以极高的精度访问不同位置的内存。许多高级编程语言抽象了这种详细的内存管理类型但像 C 这样的低级语言让你能更清楚地看到这一点。我想暂停一下来回答一个可能困扰着你的问题。为什么叫它“位线”这听起来像是为本质上像一排存储单元的开关的线使用的非常奇怪的词。答案在于我们如何谈论计算机科学中的数据大小。所有计算机硬件都有一个它能处理的每数字的最大位数。这通常由处理器决定。最常见的是处理器可以处理每数字 32 或 64 位。当我们说计算机是 32 位或 64 位时这就是我们的意思。在计算机科学中“字”是指一次可以移动到内存和处理器之间的数字大小。通常字大小与 32 或 64 这个数字相匹配以简化。在上面的例子中我们每行只有 4 个存储单元所以我们的字大小是 4。在一个真实系统中每行通常会有 32 或 64 个元素。位线控制对整个数据字的读写因此得名。RAM 被称为 RAM随机存取存储器因为它可以随机抓取一个未使用的行并在需要存储数据时访问它。现在你应该对 DRAM 的工作原理有了相当好的理解。然而DRAM 并不是你计算机使用的唯一类型的 RAM。还有 RAM 的另一分支——SRAM。SRAM 代表静态 RAM这是你的 CPU 用来缓存它正在积极处理的数据。SRAM为快速计算机提供快速内存SRAM 被你的计算机 CPU 用来快速访问在工作时需要的数据。为了实现这一点我们以两种方式使用 SRAM作为缓存和作为寄存器。首先我们将深入了解 SRAM 是如何工作的然后我们将讨论这两种用例之间的区别。触发器不是海滩那类的SRAM 与 DRAM 在本质上工作方式不同。它不使用电容器作为数据存储的单位——相反它使用称为逻辑门的巧妙排列的晶体管来存储数据。如果你对逻辑门不熟悉我将简要总结一下你需要了解的这篇文章中的内容。逻辑门是由晶体管组成的电路元件它们实现了基本的逻辑功能。例如一个 AND 逻辑门如果两个输入都是 1则输出 1否则输出 0。想象一下这是一个说“如果这个输入 AND 那个输入都开启我就开启。否则我将关闭”的组件。AND 是逻辑门家族的一部分如 OR 和 NOT这些都可以使用晶体管实现。对于更详细的讨论请参考我的上一篇文章计算机实际上是如何计算的https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/faaa57e1dcf2262ebdbfb1c9f112417f.png图片由 Ridwan Muhamad Iqbal 在 Unsplash 上提供我们使用两种由逻辑门组成的电路来存储触发器和触发器。我们将专注于触发器因为它们稍微简单一些但大多数 SRAM 电路使用触发器。然而它们是非常相似的电路两者的核心思想是相同的。让我们从查看电路开始。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/8c7beb5b6724bcc13081cd2b4d2e1a88.png图片由作者提供这是 D 触发器的电路D 代表数据。这个电路背后的想法是每当使能开启设置为 1时数据就会从数据线读入并存储。如果使能关闭则存储的数据保持其先前的值无论数据如何变化。在心中玩转这个电路。作为提醒以下是对每个门的作用的说明。NOT 门反转信号如果输入 0输出 1。如果输入 1输出 0。AND 门如果两个输入都是 1则输出 1否则输出 0。OR 门如果任一或两个输入是 1则输出 1但如果两个输入都是 0则输出 0。如果你玩得足够久你应该能从上面的电路中得到以下输出表称为真值表。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/04cb8eb4f1cf12dc86ea89b4aea503d8.png图片由作者提供注意“X”表示我们不在乎输入是什么电路无论哪种方式都会有相同的行为。D 触发器和 D 触发器之间的唯一真正区别是使能线连接到了触发器中的时钟。这意味着数据更新是在时钟变化时发生的而不是在其他时候。一些电路设计者更喜欢使用这些而不是触发器但核心思想是相同的。每个这样的电路组成 SRAM 中的一个存储单元。我们可以将不同的位线连接到每条数据线将使能线连接到字线就像我们在 DRAM 中做的那样来制作更大型的 SRAM 组件。两种应用缓存和寄存器SRAM 主要用在你电脑的缓存和 CPU 寄存器中。我们使用它的原因很简单它比 DRAM 更快体积更小。电容器众所周知体积大且速度慢这使得它们在需要速度的应用中不是一个好的选择。然而它们比它们的 SRAM 对应物便宜得多因此计算机工程师试图通过在需要的地方使用 SRAM在其他所有地方使用 DRAM 来在速度、空间和成本效益之间取得平衡。寄存器和缓存是工程师通常优先考虑速度和尺寸而不是成本的两个地方。我们在这里将简要介绍这些的用途。缓存是一小块 RAM其使用方式与 DRAM 类似。一旦存储在 DRAM 中的数据被 CPU 使用它就会被复制到 SRAM 数据缓存中。这样做的原因是计算机科学中的一个原则你将在该领域的许多不同分支中看到它的应用如果数据被访问一次它很可能会很快再次被访问。我们之所以从 DRAM 复制数据到 SRAM 缓存是因为 SRAM 要快得多并且它允许我们在 CPU 需要访问最近使用过的数据时加快我们电脑的访问时间。CPU 寄存器是存储在 CPU 单元内部的小型内存元素暂时存储正在操作的数据。CPU 是您电脑中最快的操作组件之一——通常它正在等待从 RAM 或非易失性内存中到达数据以便它可以执行其计算。当它执行计算如加法时它会将正在操作的两个数字加载到 CPU 内部的 SRAM 寄存器中然后直接将其传输到 CPU。SRAM 寄存器允许 CPU 快速对其正在积极处理的数据执行内存操作。结论在这篇文章中我们简要讨论了易失性和非易失性计算机内存之间的区别。我们了解到易失性内存失去电源时会丢失数据而非易失性内存则不会。然后我们深入探讨了 RAM 的内部工作原理这是计算机中最常见的易失性内存类型。我们区分了慢速、体积大且便宜的 DRAM 和快速、体积小且昂贵的 SRAM。我们展示了两种电路并讨论了它们如何组合起来存储大量数据。希望这篇文章让您对计算机实际上是如何记住数据的有了更深入的了解。作为数据科学家计算机对我们职业至关重要。对它们的深入了解可以帮助您更有效地使用它们。内存是计算的核心概念了解哪些类型最适合哪些应用以及为什么在需要应用程序快速运行的应用中可能是至关重要的。希望您觉得这篇文章有趣且有用。下次我们将讨论另一种类型的计算机内存——非易失性计算机内存。我们将讨论像硬盘和固态硬盘这样的突出非易失性技术。在我们讨论完记忆之后我们将把这些前三篇文章中涵盖的许多概念汇总起来讨论它们如何组合在一起形成 CPU——中央处理单元。如果你从未真正理解过计算机的工作原理请继续跟随因为这就是本系列将要探讨的方向。我希望下周再次见到你们朋友们祝你们有个美好的一天。想查看本系列之前的文章请见下文。为什么计算机甚至使用二进制计算机实际上是如何计算的参考文献[1] R. Palaniappan, 数字系统设计 (2011),dvikan.no/ntnu-studentserver/kompendier/digital-systems-design.pdf
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

惠州网站建设找哪个公司NET网站开发程序员招聘

SCAPS-1D太阳能电池仿真软件:从入门到精通的完整指南 【免费下载链接】SCAPS-1D太阳能电池仿真软件 SCAPS-1D是一款专业的太阳能电池一维仿真工具,广泛应用于光伏领域的研究与开发。通过本软件,用户能够详细模拟和分析太阳能电池的结构、材料…

张小明 2026/1/7 18:07:37 网站建设

网站表格边框怎么做网站pv多少可以

流行编程语言及安卓开发入门指南 1. 多种编程语言简介 1.1 Lua Lua 是 20 世纪 90 年代在巴西创建的脚本语言,基于 Scheme 且与之相似。它是动态类型的过程式语言,具备内存管理和垃圾回收机制。Lua 体积小,常用于嵌入式应用,可在任何有 C 编译器的平台上编译。它易于扩展…

张小明 2026/1/7 18:59:10 网站建设

鄂州网站设计公司东莞网站优化哪里找

摘要 随着互联网技术的快速发展和电子商务的普及,线上蛋糕售卖行业逐渐成为消费者购买甜点的重要渠道。传统的线下蛋糕店受限于地理位置和营业时间,难以满足现代消费者对便捷性和多样化的需求。企业级网上蛋糕售卖店管理系统的开发旨在解决这一问题&…

张小明 2026/1/7 11:55:15 网站建设

微信小程序怎么下载太原百度网站快速优化

一、大模型中的Transformer与混合专家(MoE)1. Transformer 核心结构:基于自注意力机制(Self-Attention),并行处理序列数据,解决长距离依赖问题。关键组件:多头注意力(Mul…

张小明 2026/1/7 19:58:18 网站建设

阀门公司网站建设网络建站公司如何做市场

安全运维工程师和传统运维工程师虽然都带着“运维”二字,工作环境也常有交集,但他们的核心目标、日常工作重心和所需的技能图谱有着本质的区别。为了让你能快速把握全局,下表清晰地展示了它们在四个核心维度上的不同。对比维度传统运维工程师…

张小明 2026/1/7 20:27:51 网站建设

网站后台无法审核济南网站建设询问企优互联价低

问题:华硕天选充电只能到80%或者60%是因为你开启了保养模式如图,只有82%的电量,但是却没有选择充电。没有在进行充电解决:1 在开始菜单搜索华硕电脑管家2 点击电源管理计划3 按需求进行解决

张小明 2026/1/7 22:18:06 网站建设