M0 微程序机器(微指令系统):
由硬件直接执行微指令
M1 传统机器 (用机器语言的机器):
执行二进制机器指令
M0 和 M1的关系如下:
比如执行一条加法指令,其执行步骤分为:取值、计算地址、取操作数和加法运算;其每一步都由一组微操作实现,故以上四步为微指令,其构成了一个微程序,加法指令就由其微程序实现。
程序由一组指令组成;
指令由一个微程序实现
微程序由一组微指令实现
微指令由一组微操作实现
M2 虚拟机器 (操作系统机器):
它并不是一台实际的机器,只是人们感觉存在的一台具有翻译功能的机器,故称之为虚拟机,向上提供“广义指令”(系统调用)。
操作系统提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作,还起到控制并管理计算机系统全部硬件和软件资源的作用,为用户使用计算机系统提供极为方便的条件。
M3 虚拟机器 (汇编语言机器):
用汇编程序将汇编语言翻译成机器语言程序,汇编语言指令和机器语言指令一一对应,但使用汇编语言要求程序员对机器的内部组成和指令系统非常熟悉,而且汇编语言摆脱不了实际机器的指令系统,没有通用性,每台机器必须有一种与之相对应的汇编语言。
M4 虚拟机器 (高级语言机器):
用编译程序将高级语言翻译成汇编语言程序
下层是上层的基础,上层是下层的扩展!!
编译程序 和 解释程序 的区别:
第一个:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后在执行机器语言程序(只需翻译一次,如:C、C++)
第二个:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着在翻译下一条(每次执行都要翻译,如:JS、Py)
组成原理这门课,主要学习的是 M1传统机器 和 M0微指令系统。