关于计算机体系结构的一点思考。

最近一位朋友提到了在一个项目中的设计思想:
    要实现一个类似电信增值服务的软件(就像我们经常接触的系统:“话费查询请按1,缴费请按2...”)
他的设计思想是将拨号、话音操作等基础操作做成一个个原子操作。这些原子操作功能很单一,因而
他的实现很可靠。然后他又自己实现了一个业务规则层,相当于一个特殊的语言,然后还有一个解释
器将规则转化成 原子操作序列,这样在保证可靠性的同时,系统的灵活性也很高。如果要添加一个
新的业务,如果没有加入新的原子操作,只需几分钟编写一个新的业务规则即可。
    听完他的叙述,我第一个反映便是 cpu指令集,编译器,程序代码,是不是很像。
    计算机体系中很多地方硬件和软件都有相同的设计思想,硬件体系中有cache,软件中很多服务器为了
提高性能也用cache。硬件体系中有分层思想,软件中也有。cpu技术中有流水线结构,软件中有并行处理。
 等等。。。
    所以,我觉得做软件的如果对硬件也了解一些,那会提高他的软件设计能力。因为硬件,软件很多地方是
相通的,很多思想可以借鉴。如果某人对硬件很精通,同时又对软件很精通,那么他在开发软件时,我想他
设计的系统,写出的代码可能远强于一般人。每个人的精力都有限,也许这是幻想。
    本人水平有限,很多理解或者认识还不到位。误导之处,还请见谅。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值