静心书斋-各类知识的反思与归纳分享 http://blog.sciencenet.cn/u/williammilo 构建知识体系 完善哲学认知

博文

计算机系统结构简单小结

已有 5392 次阅读 2010-3-14 12:52 |个人分类:电子信息工程与计算机科学|系统分类:科研笔记|关键词:学者| 计算机, 系统, 结构


我的博客已经搬家到 xiongbox.com 欢迎访问熊伟的博客!

本文永久链接 http://xiongbox.com/计算机系统结构简单小结/


1.计算机系统结构是从程序设计的角度研究的计算机的概念性结构和功能特性。包括软件和硬件的计算机系统可被看成是按功能划分的多级层次结构。表计算机系统层次结构中每一级各对应一类机器,各有自己的机器语言。在这里,“机器”的定义是能存储、执行程序的算法和数据结构的集合体。各级机器的算法和数据结构的实现方法不同,由软件实现的机器称为虚拟机器,以区别由硬件或固件实现的实际机器。各级的程序被翻译成比它低一级的语言的程序,或由低一级的程序解释

2.概念性结构与功能特性是从程序设计者角度所看到的计算机属性它包括机器内的数据表示、寻址方式,以及对这些数据的运算和控制这些运算的执行等(即指令系统)。不过,它并非仅包括与中央处理器有关的部分,而应是工作于机器级的程序设计者所看到的机器的所有部分,也就是包括处理机、存储系统、输入-输出联结方法和中断机构等。对于通用型机器,一般包括:数据表示(能由硬件直接辨认的数据类型,如定点、浮点数、逻辑数等);寻址方式(指令是如何访问到其操作数的,包括最小编址单元和地址运算等);寄存器定义包括操作数寄存器、变址寄存器、控制寄存器的定义);指令系统(包括机器指令的操作类型和格式,指令间的排序和控制机构等);中断机构;机器工作状态(如管态和自态等)的定义和状态切换;机器级的输入-输出结构(包括对输入-输出设备的访问方式,输入-输出数据的源、目的与数据传送的控制,输入-输出操作的结束与出错指示)以及对信息保护的支持等

3.采用带标志符的数据表示,即由每个数据的标志位指明数据是二进制整数、十进制整数、浮点数、字符串,还是地址等,可以显著缩小这方面的语义差距,从而有两方面的好处。①简化程序设计:标志符数据表示能提高指令的通用性。例如,加法指令只需一种,而不必分为二进制加、十进制加、浮点加、逻辑加等,可减少指令种类,简化汇编程序设计。②为应用软件的研制提供支持:采用标志符技术,可由机器硬件直接检测出多种程序设计错误,例如操作数错误定义、不相容、有未被定义的操作数等,从而提供了“类型安全环境”。由于每一字都可以有“软件定义捕捉标志符”而有助于程序跟踪和调试。此外,还能简化编译过程,由硬件直接执行数据变换,并有利于数据库系统去实现与数据类型的无关性。标志符技术的缺点是使字长增加,每条指令所需的操作和拍数增加。从计算机的微观性能,如从机器的运算速度来看,标志符的引入是不利的;但从宏观性能,如从程序的编制、调试和执行的总开销来看,却是有利的。

4.编译中主要是采用翻译技术。采用微程序控制的机器,则是通过解释来实现机器语言的。因此,语义差距的缩小意味着增大解释的比重,减少翻译的比重。计算机系统要设置对应多种语言的多个编译系统,为缩小语义差距所需增大的解释部分,可以为多个编译系统用以简化翻译过程,这从总体上看是合理的。进一步增大解释的比重,直至几乎没有语义差距,则可达到使高级语言成为机器的汇编语言,这种机器被称为高级语言机器。它用汇编的方法把高级语言源程序翻译成机器语言程序。高级语言机器本身也可以没有机器语言,而直接由硬件和固件对高级语言源程序的语句逐条进行解释。它既没有编译程序,也不用汇编程序,这种机器被称为直接执行高级语言机器。已有的高级语言机器还没有较好的性能价格比。随着超大规模集成电路的发展,高级语言机器必然会得到发展。

5.缩小语义差距,改进指令系统、寻址方式和数据表示的目的远不限于简化编译程序的设计和提高代码生成的效率。对于计算机系统来说,编译程序只是软件中很小的一部分,而且它是由专门的、熟练的软件人员来设计的,又往往只须1~2年设计一次。然而,应用软件的开发却要天天进行,而且设计人员的水平相对比较低。应用软件的调试和排错开销很大,因而,应从计算机系统结构方面来改善软件的开发,如由硬件发现高级语言程序的语法、语义和词法上的错误,指明其错误所在,并将它返回映像到源程序,以及对安全性和程序的模块化提供更好的条件等,其意义远比改进编译程序的设计大得多。

6.操作系统与计算机系统结构间的语义差距较大。例如,进程的概念是操作系统的重要基础,但是计算机系统结构对于进程的生成与撤销、进程的切换、进程间的相互控制、进行间的同步与通信等提供的条件很少,几乎没有相应的机器指令。又如,计算机系统结构提供的存储保护是对连续、定长存储块的保护,这和操作系统所要求的对子程序或变量的保护和共享,在语义上差别较大。还有,对操作系统中用得很多的表格和队等也没有反映。

7.人们对于尽可能缩小计算机系统结构和操作系统的语义差距,已有几乎一致的认识,而不象对高级语言机器有不同的看法。但这并不意味着应把整个操作系统的全部功能硬化或固化,宜于硬化的是“机构型”的功能,而不是“策略型”的功能。机构型功能是指基本的、通用的功能,如进程管理、信息保护和存储管理等,它们是稳定的,是常用的并且能够确切定义的,因而宜于实现硬化。典型的策略型功能有上机费用计算、作业排队、用户标识、资源管理等。这些功能随环境不同而异,而且用户能够修改,所以是不稳定的,在操作系统的生存期内可能会不断变化,因而适于用软件实现。硬件实现利于提高操作系统的执行效率和速度,减少开销;软件实现利于提供应有的灵活性。

8.随着超大规模集成电路的发展,必然会缩小语义差距。不过语义差距也非越小越好,因为语义差距的大小实质上取决于软、硬件功能分配,而这主要应从实现费用、对速度的影响和其他性能要求来考虑,亦即考虑如何分配能提高性能价格比实现费用主要包括研制费用和重复生产费用硬件的设计费用和重复生产费用都比软件大,宜于硬件实现的功能应该是稳定的、常用的、比较小的、而且是软件实现的速度下降会对计算机系统性能有较大影响的那些功能。硬件实现只是对产量大的计算机系统才有经济效益。如果硬件实现不能给用户带来明显的好处,则不论硬件比例多高也不会有生命力。



https://m.sciencenet.cn/blog-395991-302850.html

上一篇:细胞自动机论的简单小结
下一篇:可计算性理论的简单小结

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-5 19:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部