姜咏江
实用的通用计算机都可以用高级语言编程,因而又叫做高级语言计算机。
所谓的高级语言是人能够容易识别的使用计算机的符号表达方式。像basic、c、fortran、java等都是高级语言。一般人们将汇编独立出来,因为汇编的指令与机器指令具有一一对应的特点,有人就将其误认为是机器语言。其实汇编也是高级语言。
一、直接高级语言计算机
用高级语言书写的程序被称为高级语言程序。如果一台计算机能够直接执行高级语言程序,那么这个计算机就称为直接高级语言计算机。直接高级语言计算机有解释执行计算机和直接编译执行计算机。
1.解释执行计算机
所谓解释执行是指放入内存的程序就可以逐条逐句地执行。早期的苹果机Apple II就是一种高级语言解释执行计算机,程序员将basic程序送入存储器之后,给一个执行信号,程序就能够自动一个语句一个语句执行。
解释执行计算机程序执行的过程如图1所示。
图 1 解释执行计算机程序执行过程
解释执行计算机是将每个语句同相应的机器指令程序对应起来,执行该机器语言程序的过程,就是执行相应的高级语言语句。这样逐条执行了高级语言程序的语句,就能够完成高级语言程序的执行。
凡是将高级语言语句直接转换成对应的机器指令程序执行的计算机都可以称为解释执行计算机。
2.直接编译执行计算机
将高级语言程序事先编译成一个完整的机器语言程序,然后送到机器指令计算机执行,这种方式的计算机叫编译执行计算机。显然,编译执行计算机是由高级语言编译器 + 机器语言计算机组成的。
高级语言程序编译器一般都是由特定的机器语言程序组成,因而一般情况下都是软件。如果将编译器嵌入到计算机内部,并且程序员直接输入的是高级语言程序让计算机执行,那么这个计算机就是图2所示的直接编译执行计算机。
图 2 直接编译执行计算机程序执行过程
二、虚拟高级语言计算机
高级语言计算机还有虚拟高级语言计算机。
直接高级语言计算机每次执行高级语言程序,或者通过语句子程序调用,或者要进行高级语言程序编译过程,最后还是要通过机器指令程序执行完成任务,这较直接机器指令程序执行显然要慢,因而任务完成效率低,特别是多次高级语言程序执行的情况更是如此。
如果将高级语言编译器单独组织,事先将高级语言程序编译成机器语言程序,以后将机器语言程序放到机器语言计算机上执行,这样就避免了重复编译,也可以大幅度提高任务程序多次执行的效率。现在计算机高级语言程序执行都采用这种编译和执行分开的方式。
高级语言编译程序可以在本机上执行,也可以在其他计算机上执行,所以编译过程和程序执行分开的的情形就形成了并没有组织在一起的计算机结构,这种计算机就称为虚拟高级语言计算机。
一般由功能软件程序和机器指令计算机组织在一起都可以称为虚拟计算机。因而虚拟计算机是通过软件扩充机器指令计算机功能的计算机。
2010-3-31
https://blog.sciencenet.cn/blog-340399-307759.html
上一篇:
机器指令计算机下一篇:
一针见血的描述