在同一内存地址上修改值如何删除以前的值? "OVERWRITTEN concept on PC's mode operation"
How does modify value on the same memory's address will delete the previous value? "OVERWRITTEN concept on PC's mode operation"
我是计算和计算机世界的新手..我正在使用 C 编程进行开发,实际上每次我陷入思考如果我们用新值修改 PC 如何真正删除旧值,我意思:
假设我像这样在 C 上写
int i=6;
i=7;
那么i的值是7,我知道为什么,因为我们把旧值修改了7,但是PC真的是怎么删除以前的值的呢?我可以相信 "the previous value overwritten and it will be deleted" 但我很想知道它是如何通过分配修改后的值被删除的?
像魔法吗?对我来说仍然很奇怪.. 一个很好的解释将非常感谢说服我一旦我们修改同一内存的地址 PC 如何使用覆盖模式操作删除以前的值..
计算机的存储量是有限的。他们覆盖该存储。它不同于 SSA 模型,其中每个赋值都会创建一个新变量。计算机确实会更改现有存储位置的值。
C 语言的定义是每个变量都有自己的内存位置。分配新值 不会 更改地址。它不是对新的不可变值的引用,它实际上是在改变 int i
的存储。 写入新值会隐式破坏变量的先前内容。 哪儿也去不了。
您可以查看一个使用指针的示例,以了解在 int *p = &i;
之后,您从 *p
获得的值在您执行 i=7;
或 google 之后发生变化有关 C 指针的教程以获取更多详细信息。
这不是 "magic",而是存储单元自然工作的电气方式。例如单个 flip-flop 可以通过应用输入信号以及告诉它忘记其旧值的复位信号从一种状态更改为另一种状态。
物理类比是一张纸加上铅笔和橡皮,不是一大叠新鲜的索引卡。 "consumable"(铅笔芯和橡皮擦)只是电力。 (或者更具体地说,CMOS 逻辑中的电荷。其他一些类型的数字逻辑需要电流 持续流动 ,消耗大量功率。)
CPU 寄存器通常由 SRAM(静态 RAM)组成,参见 https://en.wikipedia.org/wiki/Static_random-access_memory#Writing。例如,一个单元通常由 6 个晶体管组成,就像一个触发器,但更奇特,除非设置新值,否则没有电流流动。这存储 1 位,并且可以通过应用写使能信号将 SRAM 单元更新为其输入行中的值来多次写入新值。
实际的主内存通常由 DRAM 组成,其中位作为电荷存储在电容器上。每次看都要刷新这个charge,不过还是一样的固定位置的概念,可以写新的值。
我是计算和计算机世界的新手..我正在使用 C 编程进行开发,实际上每次我陷入思考如果我们用新值修改 PC 如何真正删除旧值,我意思: 假设我像这样在 C 上写
int i=6;
i=7;
那么i的值是7,我知道为什么,因为我们把旧值修改了7,但是PC真的是怎么删除以前的值的呢?我可以相信 "the previous value overwritten and it will be deleted" 但我很想知道它是如何通过分配修改后的值被删除的?
像魔法吗?对我来说仍然很奇怪.. 一个很好的解释将非常感谢说服我一旦我们修改同一内存的地址 PC 如何使用覆盖模式操作删除以前的值..
计算机的存储量是有限的。他们覆盖该存储。它不同于 SSA 模型,其中每个赋值都会创建一个新变量。计算机确实会更改现有存储位置的值。
C 语言的定义是每个变量都有自己的内存位置。分配新值 不会 更改地址。它不是对新的不可变值的引用,它实际上是在改变 int i
的存储。 写入新值会隐式破坏变量的先前内容。 哪儿也去不了。
您可以查看一个使用指针的示例,以了解在 int *p = &i;
之后,您从 *p
获得的值在您执行 i=7;
或 google 之后发生变化有关 C 指针的教程以获取更多详细信息。
这不是 "magic",而是存储单元自然工作的电气方式。例如单个 flip-flop 可以通过应用输入信号以及告诉它忘记其旧值的复位信号从一种状态更改为另一种状态。
物理类比是一张纸加上铅笔和橡皮,不是一大叠新鲜的索引卡。 "consumable"(铅笔芯和橡皮擦)只是电力。 (或者更具体地说,CMOS 逻辑中的电荷。其他一些类型的数字逻辑需要电流 持续流动 ,消耗大量功率。)
CPU 寄存器通常由 SRAM(静态 RAM)组成,参见 https://en.wikipedia.org/wiki/Static_random-access_memory#Writing。例如,一个单元通常由 6 个晶体管组成,就像一个触发器,但更奇特,除非设置新值,否则没有电流流动。这存储 1 位,并且可以通过应用写使能信号将 SRAM 单元更新为其输入行中的值来多次写入新值。
实际的主内存通常由 DRAM 组成,其中位作为电荷存储在电容器上。每次看都要刷新这个charge,不过还是一样的固定位置的概念,可以写新的值。