什么将二进制代码/机器代码转换为电信号以及如何转换?

什么将二进制代码/机器代码转换为电信号以及如何转换?

我浏览了很多博客和帖子,但无法确切弄清楚机器代码是如何转换为电信号的?

任何软件程序都被编译为机器代码,而机器代码只不过是大量的 1 和 0。1 表示高电压,例如 5V,而 0 表示相对低电压,例如 0V 或地,哪个组件可以理解,好的,我得到了 1(一),因此我需要将电压升至 5V,而对于 0(零),我需要将电压降至较低的水平,它是如何做到的?

答案1

没有这样的组件,也不可能有。1 和 0 是纯理论对象,没有组件能将理论对象转化为物理效应。物理对象只能将一种物理效应转化为其他类型的物理效应。1 和 0 只存在于人们的脑海中。

你可以从抽象层面看计算机如何操纵 1 和 0,也可以从物理层面看计算机如何操纵电压和电流。但这是两种看待相同组件执行相同操作的不同方式。

1 和 0 是真实存在的东西,可以输入到物理设备中转换成其他东西。

答案2

你的机器代码根本没有“转换”成电信号。它一组电信号。您在屏幕上看到的数字和字母并不重要,所有这些数据都只是在一套严格的规则下对非常精确排列的电信号进行处理。

您的机器代码由某种存储设备中的字节数据(0 和 1 的集合)表示。在从内存中读取一个字节(即一组电信号)时,处理器会以特定方式设置以处理它将看到的下一批电信号。这个过程重复了数百万次,然后您就会在屏幕上看到一些东西。

您遇到的问题是,您误认为结果(在屏幕上看到的图像)是某个最终转换阶段的结果,但事实并非如此。您看到的是一些非常复杂的设备中大量电子状态变化的结果。

为了直观地了解处理器内部实际发生的情况,我建议看一下6502 处理器的可视化仿真

最接近“转换”的是将数据写入存储设备(如硬盘),数据以磁性方式存储在盘片上。尽管如此,数据的存储方式也使其更容易恢复为原始数据的精确电子副本。

基本上,您在屏幕上看到的一切只是电子的快速移动,您的大脑之所以能够“看到”图案和图像,是因为我们如何让这些电子移动。图片是电子操作的产物,而不是从一个电子到另一个电子的转换。

相关内容