第三节 计算机系统的软、硬件取舍及定量设计原理

  1. 软、硬件取舍的基本原则

软、硬件的功能分配是计算机系统结构的主要任务,而软件和硬件在逻辑功能上又是等效的,从原理上讲,软件的功能可以用硬件或固件完成的。硬件功能也可以用软件模拟完成,只不过在性能、价格、实现的难易程度上是不同的。具有相同功能的计算机系统,其软、硬件功能分配比例可以在很宽的范围内变化,如图:

原则1 费用=生产费+设计费

应考虑在现有硬、器件(主要是逻辑器件和存储器件)条件下,系统要有的性能价格比,主要从实现费用,速度和其他性能要求来综合考虑。仅从实现费用要求讨论,无论是硬件实现,还是软件是西安,实现费用都应包括研制费用和重复生产费用。虽目前软件的设计效率低,但用硬件实现的设计费用还是明显高于用软件实现的费用,尤其是VLSI专用芯片的设计费用是比较高的。

假设某功能的软、硬件实现的每次设计费用分别为DS和Dh,则Dh≈100DS是完全可能的。

至于重复生产费用,硬件实现的也比软件实现贵得多,后者只是软件的复制费用加上存放该软件的存储介质(如盘片)的价格。假设该功能软、硬件实现的每次重复生产费用分别为MS和Mh,则Mh≈100MS也是可能的。

原则2

要考虑到准备采用和可能采用的组成技术,使之尽可能不要过多或不合理的限制各种组成、实现技术的采用。

原则3

不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言程序的设计提供更多、更好的硬件支持放在首位。

结论:

应当进步以缩短高级语言与机器语言,操作系统与计算机系统结构、程序设计环境(如模块化、数据类型抽象)等与计算机系统结构之间存在的语义差距。计算机系统结构、机器语言是用硬件和固件实现的,而这些语义差距是用软件来填补的。语义差距的大小实质上取决于软、硬件功能的分配,差距缩小了、系统结构对软件设计的支持就加强了。

例题:

1.(简答题)简述软、硬件取舍的基本原则。

应考虑在现有硬、器件的条件下,系统要有高的性价比

主要从实现费用,熟读和其他性能要求来综合考虑;

要考虑到准备采用和可能采用的组成技术,使之尽可能不要过多或不合理地限制务种组成,实现技术的次啊用;

不能仅从“硬”的角度考虑如何便于应用技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及高级语言程序的设计提供更多、更好的硬件支持放在首位。

知识点2 计算机系统的定量设计原理

在设计计算机系统时,一般应遵循如下的定量设计原理。

1.哈夫曼(Huffman)压缩原理

尽可能加速处理高概率的事件远比加速处理概率很低的事件对性能的提高要显著。如:CPU在运算中发生溢出的概率是限低的,为此,设计师可考虑加快不溢出时的运算速度、而对溢出时的速度不予考虑。

2.Amdahl定律

该定律时1976年IBM公司的Amdahl在设计IBM360系列机时首先提出来的。该定律可用于确定对系统中性能某一部件采用措施提高速度后系统性能改进的程度,即系统加速比Sp。系统加速比Sp定义为系统改进后的性能与未改进时的比值,或者定义为系统未改进时的程序执行时间Told与改进后的程序执行事件Tnew的壁纸。系统加速比Sp与两个因素有关,即性能可改进比fnew和部件加速比rnew。

程序访问的局部定律

程序访问的局部性包括了时间上和空间上的两个局部性。

1.时间上的局部性指的是现在正使用的信息可能不久还要适用,这是因为程序存在着循环。

2.空间上的局部性指的是最近的将来要用到的信息很可能与现在正在使用的信息在程序上是邻近的,这是因为指令通常是顺序存放、顺序执行的,数据也通常是以向量、阵列、树、表等形式簇聚地存放在一起的。

知识点3 计算机系统设计的主要任务和方法

计算机系统设计首先要根据市场和应用情况,确定用户对计算机系统的功能、性能和价格的要求。其中,应用软件对功能的确定其主要作用。如果某类应用软件基于某种指令系统且在市场上应用很普遍,就必须在系统结构设计时实现这种指令系统,以满足应用需求。

1.要弄清其应用领域是专用的还是通用的。

2.要弄清软件兼容是放在哪级层次。

3.要弄清对操作系统有何种要求。

4.要如何保证有高的标准化程度。

硬件实现的优点时速度往往较快,性能好,但缺点是不灵活,适应性差。

软件是实现的优点是设计容易,修改容易,有灵活的适应性,但缺点是速度、性能低。

2.计算机系统的设计方法

从多级层次结构出发,计算机系统的设计按多级层次结构的由上、下中开始设计可以有“由上往下”、“由下往上”、“由中间开始”3中不同的设计方法

1.“由上往下”设计,也称“由顶向底“设计。是一种串行设计方法,设计周期较长,是一种环境要求比较稳定的专用机的设计方法,无法用于通用机的设计。

2.“由下往上”设计,也称“由底向顶”设计,是一种通用机的设计方法。由于硬件不改变,仅靠设计软件来被动适应硬件,有时只需稍许改变或增加某些硬件的功能就能大大简化软件的设计,也做不到软、硬件脱节,软件因得不到硬件支持而显得繁杂。

3.“从中间开始”向两边设计。这是通用机一般采用的方法。它可以克服“由上往下”和“由下往上”两种设计方法中, 软、硬件设计分离和脱节的致命缺点。“从中间开始”设计是选择从层次结构的主要软、硬界面开始设计,即在传统机器语言机器级与操作系统机器级之间进行合理的软、硬件功能分配。

软件人员依次设计操作系级、汇编语言级、高级语言级和应用语言级;硬件人员依次设计传统机器语言级、微程序机器级和数字逻辑级。软件和硬件并行设计,大大缩短了系统的设计周期,设计过程中两部分人可交流协调,适当微调软、硬件实现的比例。所以是一种较好的交互式设计方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值