作者:CQU_Clancy
教材:计算机系统概述(原书第2版)【机械工业出版社】
能够自然地操纵一种语言(如C语言)来编写程序,并能使用其中的一些高级功能,同时也能理解在程序执行过程中,计算机底层所发生的相应运作。
一是“抽象”,二是“在脑子里不要对硬件和软件做任何区分”。
第一:所有的计算机(不管是最大的还是最小的、最快的还是最慢的、最贵的还是最廉价的),只要给予足够的时间和内存,它们所能完成的计算任务是相同的。换句话说,最快的计算机能够完成的事情,最慢的计算机也一样能够完成,只是更慢一些而已,而一个便宜的计算机所不能完成的事情(如果有足够内存的话),对于一个更昂贵的计算机来说,同样也是无法完成的。总之,所有的计算机能够完成完全相同的事情。只是有些计算机可能做得更快些,但绝不会做得更多。
第二:我们用英语或其他语言给出了一个问题,然而计算机却能通过电子运转(运行程序)来解决这个问题,太奇妙了!至于怎样把用人类语言描述的问题转换成能够影响电子运转的电压,需要一系列的、系统的转换过程。在计算机的50年历史里,这一转换问题竟然被成功解决了,而且这一复杂的转换任务竟然是由计算机本身完成的。看起来不可思议,但确实如此。
模拟机器的缺陷主要是难以提高其精度
数字设计原理:图灵机
计算机或图灵机能够计算任何可计算的任务,因为它们都是可编程的。
算法的特性:确定性、可计算性、有限性