计算机系统概论第一章

文章目录

第一章

(还在学习中,会慢慢更新的)

1·1 试解释1.5节中两个重要思想中的第一个

每台计算机都可以做与其他计算机相同的事情。一台小或慢的电脑需要更长的时间。

1·2 试问,同汇编语言相比,高级语言是否能向底层计算机表述更多的计算方式

不会,高级语言的实现是基于汇编语言的,汇编语言是直接与电路运行相关的。所有的高级语言的表述都是要依赖于汇编语言实现的。

1·3 试问,是什么原因使得模拟计算机难以实现,从而使设计者转向采用数字设计

难以提高模拟机的精度。

1·4 自然语言为什么不适合直接做为编程语言

自然语言在表达时有大量的模糊性表达,直接作为编程语言需要额外实现很多规范化。例如:能穿多少穿多少

1·5 黑箱计算

(a) 到第一个(x)框的输入是a和x
第一个(x)盒的输出为ax
对第二个(+)框的输入为ax和b
第二个(+)框的输出为ax+b
(b)到第一个(+)框的输入为w,第一个(+)框的x输出为w+x到第二(+)框的输入为y,第二(+)框的z输出为y+z
对第三个(+)框的输入为(w+x)和(y+z)
第三个(+)框的输出为w+x+y+z
到第四(x)框的输入为(w+x+y+z)和0.25
第四个(x)个框的输出值为0。25(w+x+y+z),即平均值
©关键是要考虑到a2+2ab+b2=(a+b)2
对第一个(+)框的输入为a和b
第一个(+)框的输出为+b
对第二个(x)框的输入为(+b)和(+b)
第二个(x)个框的输出为(a+b)2 =a2+2ab+b2

1·6 试用自然语言写一句话,然后给出这句话俩种可能的解释

能穿多少穿多少 尽量少穿 尽量多穿

1·7抽象讨论

有效情况:从始到终 都是准确无误的
无效情况:三个环节任意出现问题都会有反效果,比如始发点就在飞机场,比如到飞机场的距离不是司机能实现的,比如没有飞机场

1.8John说:“I saw the man in the park with a telescope.“。这意味着什么?对这句话有多少种可能的解释?请列出来。这句话具备的什么特性,使得它如果出现在程序中是无法接受的?

我在公园看见那个人拿着电话。
我看见那个人在公园拿着电话。
这句话具有二义性,出现在程序中是无法接受的。

1·9自然语言可以表达算法么?

自然语言可以表达算法 在描述准确具体的步骤的时候就是算法描述

1·10给出并解释算法的三个特性

准确性:每个操作步骤的描述都是准确的
可计算性:每一步的描述都可被计算机执行
有限性:过程会终止

1·11缺少算法特性例子

(a)缺乏明确:在大街向南走一英里左右。
(b)缺乏有效的可计算性:找到作为14的平方根的整数。
©缺乏有限性:做点什么。永远重复。

1·12以下是否算为算法,并给出解释

a 不是 缺乏可计算性
b 不是 缺乏有限性
c 是
d 不符合 缺乏有限性
e 是

1·13俩台计算机,a比b多一个减法指令,他们解决的问题更多

两台计算机A和B都能够解决相同的问题。计算机B可以通过取出第二个数字的负数并将其添加到第一个数字中来执行减法。由于A和B是其他相同的,它们能够解决相同的问题。

1·14 假设我们试图对一组名字做字母排序(sorting)。有一种算法为“冒泡排序(bubble sort)“;我们用C语言编写这个算法,对其编译并运行在x86 ISA的机器上;x86 ISA可以实现为Pentium IV微结构的方式。我们称这样一个序列为“冒泡排序、C语言编程、x86 ISA、Pentium IV微结构“的转换过程(transformation process)。再假设我们有四种排序算法,且可以用5种语言编程(C、C++、Pascal、Fortran、COBOL);有面向x86和SPARC两种ISA的编译器,且有三种x86的微结构实现、3种SPARC的微结构实现。请问:

a.共有多少种转换过程?4523=120种
b.列举其中三种转换工程;
排序1、C语言编程、x86 ISA、SPARC I微结构
排序2、COBOL语言编程、SPARC ISA、SPARC II微结构
排序4、C++语言编程、x86 ISA、SPARC III微结构
c.如果x86的微结构是2种(而不是3种),SPARC的微结构是4种(而不是3种),那么共有多少种转换过程?
45*(2+4)=120种

1·15高级语言相较于低级语言的优缺点

一种更高级别的语言的优点:做相同数量的工作需要更少的指令。这通常意味着程序员编写程序来解决问题所花费的时间更少。高级语言程序通常更容易阅读,因此知道发生了什么。高级语言的缺点:每条指令对实际执行计算的底层硬件的控制都较少,而程序经常执行得较低。

1·16列举至少三个ISA定义所包含的内容

ISA定义包括
指令集合 计算机所能执行的操作;
操作数 即计算机执行的每个操作所需的数据是什么;
数据类型 即计算机可接受的操作数的表达方式;
寻址模式 即计算机获取操作数的机制 定位不同操作数的不同方法。

1·17简单描述ISA和微结构的区别

ISA从程序的角度描述到计算机的接口。例如,它描述了程序员可以在该特定计算机上使用的操作、数据类型和寻址模式。它没有指定实际的物理实现。微架构可以做到这一点。使用汽车类比,ISA是司机看到的,微观架构是引擎盖下的。

1·18一种微结构可以实现多少种ISA?一种ISA可以在多少种微结构上实现

在不考虑性价比的情况下,微结构和ISA都可以实现一对多的映射

1·19列出转换过程的所有层次,并举例

(a)问题:例如,十个最小的正整数的和是多少。
(b)算法:任何过程只要具有确定性、有效可计算性和有限性。
©语言:例如,C、C++、Fortran、IA-32汇编语言。
(d)ISA:例如,IA-32、PowerPC、阿尔法、SPARC。
(e)微体系结构:例如,奔腾III,康柏21064。
(f)电路:例如,一个用来添加两个数字的电路。
设备:例如,CMOS、NMOS、砷化镓。

1·20解释图1-6

是不同的抽象层次,各层次之间无法实现兼容

1·21假如你去商店购买字处理软件,请问该软件通常以什么方式存在?

它将在计算机的ISA中运行它。我们知道这一点,因为如果单词处理软件是在一种高级或低级的编程语言中,那么用户将需要在使用它之前编译或组装它。这种情况从未发生过。用户只需复制这些文件即可运行该程序,因此它必须已经使用了正确的机器语言,或ISA。

1·22完成图1-6中某层的转换工作,你觉得哪层最难?

问题到算法的转换,不是所有的问题都可以设计出算法来

1·23为什么通常会不断改变微结构实现却不改变ISA?

eg:微结构优化对高级语言的实现影响较小,ISA改变之后对高级语言的向上兼容和对之前软件的向前兼容容易出问题,由于需要向后兼容性,ISA在连续几代人之间不会发生太大变化

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值