《计算机科学导论》课后习题 第1章 绪论

发布时间 2023-11-15 16:36:44作者: Acolyte_9527

一、复习题

Q1-1 定义一个基于图灵模型的计算机

A:输入数据-可编程的数据处理器-输出数据。

Q1-2 定义一个基于冯诺依曼模型的计算机

A:由存储器、算数逻辑单元、控制单元、输入/输出设备四大部分组成。数据与程序以位模式存储于存储器。串行计算。

Q1-3 在基于图灵模型的计算机中,程序的作用是什么?

A:处理数据。但在图灵模型中,并未描述这一过程如何实现。

Q1-4 在基于冯·诺伊曼模型的计算机中,程序的作用是什么?

A:处理数据。在冯·诺伊曼架构中,“程序”以位模式存储于存储器中,由一组数量有限的指令组成。且程序在完成算数逻辑运算的同时,能通过控制单元,控制计算机其他子系统执行指令的过程。
Q1-3、Q1-4明显是想问“程序“概念在两种模型中有什么不同。冯·诺伊曼架构中“程序”更加具有实践上的可操作性。

Q1-5 计算机中有那些子系统?

A:存储器、算数逻辑单元、控制单元、输入/输出设备。

Q1-6 计算机中存储器子系统的功能是什么

A:存储器在计算机的处理过程中存储数据和程序。

Q1-7 计算机中ALU子系统的功能是什么

A:算术逻辑单元ALU负责进行算数运算和逻辑运算。

Q1-8 计算机中控制单元子系统的功能是什么

A:控制单元对存储器、ALU、输入/输出等子系统进行控制。

Q1-9 计算机中输入/输出子系统的功能是什么

A:输入子系统负责从计算机外部接收输入数据和程序,输出子系统负责将计算机的处理结果输出到计算机外部。

Q1-10 简述5代计算机。

A:

  • 第一代计算机(约1950-1959),以商用计算机的出现为主要特征。只有相关专家能够使用,体积庞大,以真空管作为电子开关。只有大机构才能负担。
  • 第二代计算机(约1959-1965),晶体管替代了真空管,缩小了计算机体积,节省了开支,中小企业可负担。FORTRAN和COBOL编程语言发明,使得变成任务和计算机底层原理分离开来,一个程序员员不必理解具体电子细节也能编写实用程序。
  • 第三代计算机(约1965-1975),集成电路的发明进一步减少了计算机的体积和成本。小型计算机上市。封装的程序开始售卖,一般用户不必自行编程。软件行业诞生。
  • 第四代计算机(约1975-1985),电子工业的发展允许整个计算机子系统集成在单块电路板上,桌面计算机(微型计算机)出现。计算机网络出现。
  • 第五代计算机(1985-今),笔记本电脑、智能手机诞生,第二代存储媒体改进,多媒体应用,虚拟现实……
    首先,这里的计算机都是指”电子计算机“,上面是本书的说法,但我查到的另外一些资料在时间节点和划代标准上有不少出入,这里的说法姑且作为参考吧。

二、练习题

P1-1 解释为什么计算机不能解决那些计算机外部世界无解决方法的问题。

A:这个问题挺有趣,所以我专门写了篇文章。详见:我如何看待命题:计算机不能解决那些计算机外部世界无解决方法的问题
我的回答当然不是唯一的、正确的答案,只是我个人的乐观展望罢了。

P1-2 如果一台小的便宜的计算机可以做大型昂贵的计算能做的同样事情,为什么人们需要大型计算机?

A:效率。

P1-3 研究Pascaline计算器,看看它是否符合图灵模型。

A:不符合。只能以预设的机械结构进行加减法运算,无法编辑程序,不符合图灵模型“可编程”的定义。
详见:帕斯卡计算机如何工作

P1-4 研究莱布尼茨之轮,看看它是否符合图灵模型。

A:不符合。我没有找到具体的结构演示,但一般认为,莱布尼兹是利用齿轮的特性来实现乘法运算。莱布尼茨之轮虽然比Pascaline有进步,但依旧只能凭借预置的机械结构进行加、减、乘、除四则运算方式,无法编辑程序。

P1-5 研究雅卡尔提花织布机,看看它是否符合图灵模型。

A:符合。雅卡尔提花织布机已经能够通过打孔带改变织布程序,算是某种程度上达成了“可编程”的目的,只不过输出数据要经过更进一步的解释,否则在一般人看来就是一块花布。
详见:雅卡尔提花机

P1-6 研究查尔斯·巴比奇分析引擎,看看它是否符合冯·诺伊曼模型。

A:不符合。我其实不太能查到这分析机的具体架构,它符合图灵模型肯定是没问题的,但要符合冯·诺伊曼模型的话,应该是缺少了“将程序存储在存储器中”这一条。
详见:走进巴贝奇的机械式计算机:分析机

P1-7 研究ABC计算机,看看它是否符合冯·诺伊曼模型。

A:不符合。ABC是用于求解线性方程组的专用计算机,虽然在架构上非常近似冯·诺伊曼模型,但由于不可编程,使得它连图灵机都算不上。
详见:最早的电子计算机 ABC计算机的操作

P1-8 研究并找出键盘起源于哪一代计算机。

A:这个问题有点迷惑,键盘的起源肯定是早于计算机的,如果要说什么时候键盘开始“插在计算机上”,我查到的不知道几手的说法是1964年IBM360。按本书的划代标准是在第二代的区间里(我之前说过,这本书的划代并不权威),但我又查到资料说最早一批集成电路计算机就包括这IBM360系列,那明显该属于第三代计算机了。
详见:计算机历史: IBM System/360 大型机,演示视频里明显有键盘。