计算机基础与逻辑门知识科普
计算机性能提升与操作问题探讨
在计算机的操作中,我们可以将其类比为文件管理员的工作。现在有几个有趣的问题值得探讨。
首先,假设有多个文件管理员,那么他们如何获取指令呢?并且能否将解决方案推广到 K 个甚至 2K 个管理员的情况呢?另外,K 个管理员实际上能加速哪些类型的问题,又显然不能加速哪些类型的问题呢?
目前大多数计算机只有一个中央处理器,就像只有一个文件管理员。这个管理员一整天都疯狂地工作,不断地从存储中取出和放入卡片。整个计算机的速度最终由这个管理员(即中央处理器)执行操作的速度决定。
为了提高计算机的性能,我们来看一个具体的例子。假设要比较两个 n 位的数字(n 是一个较大的数,如 1024),判断它们是否相同。对于单个文件管理员来说,最简单的方法是依次比较每个数字,显然,这所需的总时间与需要检查的数字位数 n 成正比。但如果我们可以雇佣与 n 成比例的文件管理员,比如 n 个、2n 个或 3n 个,那么通过增加管理员的数量,比较时间可以降低到与 log₂n 成正比。这是因为多个管理员可以同时比较不同位置的数字,大大提高了比较效率。
如果能解决比较问题,还可以尝试更难的问题,比如在“log n”时间内将两个 n 位的数字相加。这更具挑战性,因为需要考虑进位的问题。
还有一个关于乘法的问题。由于乘法不在文件管理员的基本指令集中,所以需要找到执行乘法所需的一组基本指令。找到后,将它们存储在机器的特定位置(如从位置 m 到 m + k)。然后要给出指令,让管理员使用这些指令进行乘法运算,并返回到程序的正确位置。操作步骤如下:
1. 确定执行乘法所需的基本指令集合。
2. 将这些指
超级会员免费看
订阅专栏 解锁全文
7232

被折叠的 条评论
为什么被折叠?



