1.2.3 计算机系统设计的主要方法
计算机系统由多级层次组成。从哪一层开始设计构成了"由下往上"、"由上往下"
和"由中间开始"的三种设计方法。
1."由下往上" (Bottom-Up)设计
它是根据硬件技术条件,特别是器件水平,首先把微程序机器级和传统机器研制出来。在此基础上,再设计操作系统、汇编语言、高级语言等虚拟机器级。最后设计面向应用的虚拟机器级。这种设计方法在计算机早期设计中广为采用,其原因是那时硬件成本昴贵,硬件技术水平较低等,计算机设计中更关注硬件结构,而软件技术往往处于被动地位。这种方法容易使软件和硬件脱节,整个计算机系统的效率降低。由于硬件技术飞速发展,而软件技术发展相对缓慢的情况下,这种由下往上的设计方法很难适应系统的设计要求,因而也就很少被采用了。
2."由上往下"(Top-Down)设计
这是一种自然直观的设计方法。首先确定用户级虚拟机器的基本特征、数据类型和基本命令等,而后再逐级向下设计,直到由硬件执行或解释那级为止。当然每级设计过程中,既要考虑实现的方法,也要考虑如何使上一级能优化实现。
3."由中间开始" (Middle-Out)
设计
这里"中间"是指多级层次结构的某两级的界面。多数计算机设计时把"中间"取在传统机器级与操作系统机器级之间。首先对这个界面进行详尽的功能描述与软、硬件功能分配。再由中间点往上、往下同时进行设计。软件系统从操作系统、汇编、编译系统设计,硬件从传统机器级、微程序机器级、数字逻辑级进行设计。软件设计与硬件设计同时进行这是中间开始设计的一个优点。