程序翻译和程序解释计算机是怎样执行的呢的?|

节目翻译和节目口译

计算机无法直接理解人类语言。它只理解01010101…等位。因此,我们需要翻译或解析程序,将人类语言翻译或解析成计算机可以理解的语言。

那么程序翻译和程序解析有什么区别和联系呢?为了理解问题,我们介绍两种语言,一种是比较高级的计算机语言——L1,另一种是比较低级的计算机语言——L0,我们将这两种语言作为例子来理解什么是程序翻译。,什么是程序解析。

节目翻译

假设我们现在用更高级的计算机语言L1来描述程序的逻辑,也就是说我们用L1来写程序,那么L1写的程序是如何执行的呢?当然也不是直接执行,而是在执行过程中生成了一个由低级语言L0组成的逻辑等价程序。这个L0就是计算机实际执行的语言,那么从L1生成L0的过程,我们称之为程序翻译,用来生成L0的工具叫做编译器。

程序翻译流程

程序分析

同样,如果我们用L1来描述程序的逻辑,那么L1写的程序是如何执行的呢?为了执行 L1,我们还需要使用 L0 来实现另一个程序。该程序将 L1 程序作为输入执行。每个 L1 程序都会在 L0 实现的程序中等价转换,然后执行。这是程序。解析,其中使用 L0 实现的程序称为解释器。

程序解释过程

程序翻译和程序解析小结:

对于前面两个例子,计算机执行的指令是L0翻译过程生成新的L0程序,解释过程不生成新的L0程序解释过程L0编写的解释器解释L1程序

了解了程序翻译和程序解释之后,我们再来看看常见的编程语言,哪些语言是翻译语言,哪些是解释语言,如下图所示:

翻译和口译语言

对于常见的,我们还有Java和C#,它们属于哪一种语言?其实严格来说,它们既不是翻译语言也不是解释语言,它们是翻译+解释语言。

如何理解笔译+口译语言?以Java程序的运行过程为例,Java程序首先由编译器编译成JVM字节码,再由解释器解释为机器码,供计算机执行。

计算机水平和编程语言

如果按照层次来划分计算机系统,我们可以把它分为七个层次。

计算机级别

下面逐层介绍。

硬件逻辑层:主要由门电路、触发器等逻辑电路组成。属于电子工程领域,这里不再介绍。

微程序机器层:编程语言主要是微指令集,由微指令组成的微程序直接由硬件执行程序设计低级语言有哪些,主要由生产硬件的公司的程序员编写。

传统机器层:编程语言主要是CPU指令集(机器指令),与硬件直接相关。程序员使用机器指令编写的程序可以直接被微程序解析,这里所说的指令集存储在CPU内部,它指导和优化CPU的运行。有了指令集,CPU就可以高效运行。我们知道CPU厂商分为两大阵营,AMD和Intel。这两家厂商生产的CPU最大的区别就是指令集不同。Intel 的 CPU 使用的指令集不适用于 AMD 的 CPU。同样,AMD 的 CPU 使用的指令集也不适合 Intel。除了不同的厂家,

微指令、微程序、机器指令的概念

操作系统层:操作系统一方面向上提供简单的操作界面,使用户可以轻松操作计算机;同时向下连接指挥系统,管理硬件资源。操作系统对用户程序所使用的机器的各种资源进行管理和分配,包括CPU、内存等。例如程序设计低级语言有哪些,当用户程序需要运行时,首先由操作系统加载到内存中,这就需要操作系统首先为其分配存储空间。又例如,当程序需要使用某个输出设备进行结果输出时,操作系统需要为其提供该设备的控制权。可见,操作系统是软件和硬件之间的适配层。

汇编语言层:编程语言为汇编语言。汇编语言可以直接翻译成可执行的机器语言。完成这个翻译过程的程序是汇编程序。从这一层来看,他们使用的编程语言是人类更容易理解的语言。

高级语言层:编程语言是被广大程序员接受的高级语言。有很多类型,包括数百种。常见的编程语言有 Python、Java、C/C++、Golang。

应用层:计算机为某种目的而设计的应用程序,如Word、Excel等。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论