Assembly 软件在什么阶段转换为实际的硬件信号?

Assembly 软件在什么阶段转换为实际的硬件信号?,assembly,hardware,hardware-interface,machine-code,Assembly,Hardware,Hardware Interface,Machine Code,程序在机器代码状态后会发生什么?汇编程序/编译器将高级代码或汇编代码转换为机器指令。在此阶段,机器指令仍以软件形式存在于内存中。该代码如何转换为物理电信号,然后由硬件进行处理?如果有某种接口设备,我想知道它是如何进行转换的 没有软件指令转换为硬件指令的时刻。甚至将高级编程语言中的代码转换为低级编程语言的过程也由底层硬件完成 这与要求计算机执行生成的机器代码没有什么不同,因为这就是计算机所做的全部工作:执行机器代码。创建二进制可执行文件后,计算机只需知道它在内存中的位置,就可以开始执行它。内存是物

程序在机器代码状态后会发生什么?汇编程序/编译器将高级代码或汇编代码转换为机器指令。在此阶段,机器指令仍以软件形式存在于内存中。该代码如何转换为物理电信号,然后由硬件进行处理?如果有某种接口设备,我想知道它是如何进行转换的

没有软件指令转换为硬件指令的时刻。甚至将高级编程语言中的代码转换为低级编程语言的过程也由底层硬件完成


这与要求计算机执行生成的机器代码没有什么不同,因为这就是计算机所做的全部工作:执行机器代码。创建二进制可执行文件后,计算机只需知道它在内存中的位置,就可以开始执行它。

内存是物理的。处理器查询内存设备以获取下一条指令。为了响应一个信号,处理器在32条实际导线上设置高电压或低电压,这些导线选择内存位置的地址。作为回报,存储器设计为通过一组32线提供高电压或低电压。这些线路被称为数据总线,并被路由回处理器,在那里对高电压或低电压状态进行采样,并将其放入称为指令缓存的较小内存中。从内存中读取的值是我们称之为机器代码的数学表示的物理表示


从那时起,处理继续以数字逻辑的形式进行。虽然可以用数学或符号表示,但实际的物理表现是逻辑电路,它将输入感测为高电压或低电压,并用高电压或低电压响应电路的其他部分。定时是通过将这些信号中的一些信号以非常规则的时间间隔进行高或低的振荡来控制的。

从肌肉和手指触摸键盘上的键开始,源代码就变成了电信号。这将通过编译和执行继续进行。佩佐尔德有一本书叫《代码》,你可能会觉得很有趣

Dwelch是正确的。触摸键盘(或鼠标或触摸屏)的瞬间。计算机内部的软件只不过是通过使用锁存器/触发器(晶体管电路)存储电压。当你们通过键盘输入代码时(像C这样的高级语言或像汇编程序这样的低级语言并不重要),它是以电信号(电压)的形式输入的。然而,你们在显示器上看到的是用英语或类似英语的文字(现在是世界上所有语言的一天)表示的电压


关键是文本不能转换成电信号。软件已经是这种形式(电压),而不是相反

当你的肌肉和手指触摸键盘上的按键时,源代码就变成了电信号。这将通过编译和执行继续进行。佩佐尔德有一本书叫《代码》,你可能会觉得很有趣。@dwelch:谢谢。这就是我所寻找的,代码变成电信号的确切时刻。如果你能把它写成一个答案,我会接受的。我不会说软件是以“电压”的形式存在的。比特不一定以“电压”的形式存储,但更常见的是以磁电荷的形式存储,光学上。。。