gpt4 book ai didi

interpreter - 机器代码如何与处理器通信?

转载 作者:行者123 更新时间:2023-12-04 16:48:29 25 4
gpt4 key购买 nike

我们以 Python 为例。如果我没记错的话,当你用它编程时,计算机首先将代码“翻译”成 C。然后再从 C 到汇编。汇编是用机器代码编写的。 (这只是我对此的一个模糊想法,所以如果我错了,请纠正我)但是机器代码是用什么编写的,或者更准确地说,处理器如何处理它的指令,它如何“找出”要做什么?

最佳答案

If I am not mistaken, when you program in it, the computer first "translates" the code to C.


不,它没有。 C 没有什么特别之处,只是它是最广泛用于系统编程的编程语言。
Python 解释器将 Python 代码转换为由虚拟机执行的所谓 P-Code。这个虚拟机是读取 P-Code 的实际解释器,P-Code 的每个 blip 都会使解释器执行预定义的代码路径。这与 native 二进制机器代码控制 CPU 的方式并无太大不同。一种更现代的方法是将 P 代码转换为本地机器代码。
CPython 解释器本身是用 C 语言编写的,并已编译为原生二进制文件。基本上, native 二进制文件只是一长串数字(操作码),其中每个数字都指定了某个操作。一些操作码告诉机器它后面定义的数字计数不是操作码而是参数。
CPU 本身包含一个所谓的指令解码器,它按数字读取 native 二进制数,对于它读取的每个操作码,它为实现此特定操作码的 CPU 电路供电。有操作码,地址内存,将数据从内存加载到寄存器的操作码等等。

how does the processor process its instructions, how does it "find out" what to do?


对于每个只是二进制模式的操作码,CPU 上都有自己的电路。如果操作码的模式与启用此操作码的“开关”匹配,则其电路会对其进行处理。
这是关于它的 WikiBook:
http://en.wikibooks.org/wiki/Microprocessor_Design
几年前,有人用简单的功能逻辑和存储器 IC 构建了一个完整的工作计算机,即不涉及微 Controller 或类似物。整个项目叫 "Big Mess o' Wires"或多或少是一个从头开始构建的 CPU。唯一的 Nerd 会用单个晶体管来构建那个东西(实际上并没有那么困难)。他还提供了一个模拟器,可以让您查看 CPU 内部如何工作,解码每条指令并执行它: Big Mess o' Wires Simulator
编辑:自从我最初写下那个答案以来,已经完成了用现代分立元件构建一个完全成熟的 CPU:为了您的考虑,构建了 MOS6502(为 Apple II、Commodore C64、NES、BBC Micro 等提供动力的 CPU)来自迪赛特: https://monster6502.com/

关于interpreter - 机器代码如何与处理器通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9753669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com