现代计算机是一个硬件与软件组成的综合体。由于面对的应用范围越来越广,因此必须要有复杂的系统软件和硬件的支持。由于硬件和软件的设计者和使用者懂从不同的角度并用不同的语言来对待同一个计算机系统,因此他们各自看到的计算机系统的属性挤兑计算机系统提出的要求也就不同。
计算机系统的多级层次机构的作用,就是针对上述情况,根据从各种角度看到的机器之间的有机联系,来分清彼此之间的界面,明确各自的功能,以便构成合理。高效的计算机系统。
关于计算机系统层次结构的分层方式,目前尚无统一的标椎,这里采用如下图所示的层次结构。
第一级
第1级是微程序机器层,机器M0是直接将机器M1中的每一条指令翻译成一组微指令,即构成一个微程序。机器M0每执行完对应于一条机器指令的一个微程序后,便由机器M1中的下一条指令使机器M0自动进去预期对应的另一个微程序的执行。由此可见,微程序机器M0可看做是对实际机器M1的分解,即用M0的微程序解释并执行M1的每一条机器指令。由于机器M0也是实际机器,因此,为了区别于M1,通常又将M1称为传统机器,将M0称为微程序机器。
第二级
第2级是传统机器语言层,它也是一个实际的机器层,由微程序解释机器指令系统。可以执行机器语言。
第三级
第3级是操作系统层,它由操作系统程序实现。操作系统程序是由机器指令和广义指令组成的,这些广义指令时为了扩展机器功能而设置的,是由操作系统定义和结合的软件指令,所以这一层也成混合层。操作系统提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作,还起到控制并管理计算机系统全部硬件和软件资源的作用,为用户使用计算机系统提供极为方便的条件。
第四级
第四级是汇编语言层,它为用户提供一种符号化的语言,它用符号ADD,SUB,MUL,DIV等分别表示加,减,乘,除等操作,并用符号表示指令或数据所在的存储单元的地址,使程序猿可以不再适应繁杂而又易错的二进制代码来编写程序。但是,实际上没有一种机器能直接是这种汇编语言程序,必须先将汇编语言程序翻译成机器语言程序,然后才能被机器接受并自动运行。这个翻译过程是由机器系统软件中的汇编程序来完成的。
第五级
第5级是高级语言层,它是面向用户的,是为方便用户编写应用程序而设置的,该层由各种高级语言编译程序支持和执行。机器M1本省不能识别高级语言的,因此,在进入M1运行前,必须先将高级语言程序翻译成汇编语言程序(或其他中间语言程序),然后在将其翻译成机器程序;也可以将高级语言直接翻译成机器语言。这些工作都是由虚拟机器M3完成的。
通常,将高级语言程序翻译成机器语言程序的软件称为翻译程序。翻译程序由两种:一种是编译程序,另一种设计解释程序。编译程序是将用户编写的高级语言程序(源程序)的全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序。因此,只要源程序不变,就无须再次进行翻译。及时程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条语句,接着翻译源程序的下一条语句,并执行这几条语句,如此城府直至完成源程序的全部翻译任务。它的特点是翻译一次执行一次,即使下一次冲服执行该语句时,也必须完成重新翻译。
其他
在高级语言层之上, 还可以有应用层,它由解决实际问题和应用的处理程序组成,如文字处理软件、数据库软件、多媒体处理软件和办公自动化软件等。
通常把没有配备软件的纯硬件系统称为“裸机”。第3-第5层称为虚拟机,简单来说就是软件实现的机器。虚拟机只对该层的观察者存在,这里分层和计算机网络的分层类似,对于某层的观察者来说,智能通过该层次的语言来了解和使用计算机,而不必关心下层是如何工作的。
层次之间的关系紧密,下层是上层的基础,上层是下层的扩展。随着超大规模集成电路计数的不断发展,部分软件公会不能将由硬件来实现,因而软硬件交界面的划分也不是绝对的
参考
本文参考《计算机组成原理 唐朔飞 第三版》和《2021王道考研知识讲解》