关于计算机体系结构的一点思考。
2004-12-16 22:50
696 查看
最近一位朋友提到了在一个项目中的设计思想:
要实现一个类似电信增值服务的软件(就像我们经常接触的系统:“话费查询请按1,缴费请按2...”)
他的设计思想是将拨号、话音操作等基础操作做成一个个原子操作。这些原子操作功能很单一,因而
他的实现很可靠。然后他又自己实现了一个业务规则层,相当于一个特殊的语言,然后还有一个解释
器将规则转化成 原子操作序列,这样在保证可靠性的同时,系统的灵活性也很高。如果要添加一个
新的业务,如果没有加入新的原子操作,只需几分钟编写一个新的业务规则即可。
听完他的叙述,我第一个反映便是 cpu指令集,编译器,程序代码,是不是很像。
计算机体系中很多地方硬件和软件都有相同的设计思想,硬件体系中有cache,软件中很多服务器为了
提高性能也用cache。硬件体系中有分层思想,软件中也有。cpu技术中有流水线结构,软件中有并行处理。
等等。。。
所以,我觉得做软件的如果对硬件也了解一些,那会提高他的软件设计能力。因为硬件,软件很多地方是
相通的,很多思想可以借鉴。如果某人对硬件很精通,同时又对软件很精通,那么他在开发软件时,我想他
设计的系统,写出的代码可能远强于一般人。每个人的精力都有限,也许这是幻想。
本人水平有限,很多理解或者认识还不到位。误导之处,还请见谅。
要实现一个类似电信增值服务的软件(就像我们经常接触的系统:“话费查询请按1,缴费请按2...”)
他的设计思想是将拨号、话音操作等基础操作做成一个个原子操作。这些原子操作功能很单一,因而
他的实现很可靠。然后他又自己实现了一个业务规则层,相当于一个特殊的语言,然后还有一个解释
器将规则转化成 原子操作序列,这样在保证可靠性的同时,系统的灵活性也很高。如果要添加一个
新的业务,如果没有加入新的原子操作,只需几分钟编写一个新的业务规则即可。
听完他的叙述,我第一个反映便是 cpu指令集,编译器,程序代码,是不是很像。
计算机体系中很多地方硬件和软件都有相同的设计思想,硬件体系中有cache,软件中很多服务器为了
提高性能也用cache。硬件体系中有分层思想,软件中也有。cpu技术中有流水线结构,软件中有并行处理。
等等。。。
所以,我觉得做软件的如果对硬件也了解一些,那会提高他的软件设计能力。因为硬件,软件很多地方是
相通的,很多思想可以借鉴。如果某人对硬件很精通,同时又对软件很精通,那么他在开发软件时,我想他
设计的系统,写出的代码可能远强于一般人。每个人的精力都有限,也许这是幻想。
本人水平有限,很多理解或者认识还不到位。误导之处,还请见谅。
相关文章推荐
- 关于计算机体系结构的一点思考
- 关于构建自己的知识体系架构的一点个人思考(转载)
- 计算机体系结构一点基础知识
- linux系统编程之基础必备(一):计算机体系结构一点基础知识
- 关于计算机体系结构-北桥和南桥
- 共享点关于计算机体系结构学习的资料
- 计算机体系结构一点基础知识
- 关于计算机的一点思考
- linux系统编程之基础必备(一):计算机体系结构一点基础知识
- 关于计算机体系结构之RAM
- 关于计算机体系结构-北桥和南桥
- 计算机系统结构 存储体系
- 【分析】关于Windows下ShellCode编写的一点思考
- 计算机网络7-网络体系结构
- 关于数据冗余的一点思考
- 关于json template一点思考
- 计算机体系结构笔记一
- 关于前端路由和后端路由的一点思考
- 关于工作的一点总结和思考
- 关于C++两个类相互引用的一点思考