跳到正文
IGCSE·Tuition
计算机科学 · 主题

硬件与处理

你能说出电脑的每个部件,却仍可能在题目问“里面发生了什么”时丢分。

本页内容
  1. 开始之前需要先知道什么?
  2. 一个导入例子
  3. 应该按什么顺序学习这几课?
  4. 哪些陷阱最常让学生出错?
  5. 如何使用练习题?

硬件与处理是计算机科学中解释电脑运行程序时到底在做什么的部分:处理器取出(fetch)一条指令,理解它的意思,执行它,并在寄存器、内存、存储和设备之间移动数据。

这个课题属于计算机科学学习指南,与软件与系统以及图像、声音与存储(在那里会计算存储数据的大小)关系密切。

开始之前需要先知道什么?

你需要熟悉二进制(binary),并明白指令和数据都以二进制存储。如果这部分还不稳,请先复习数字与文本的表示。你还需要能按一串简短的步骤记录数值的变化,这和填写追踪表(trace table)是同一种技能。

一个导入例子

内存中存放着一段很小的程序。地址 100 存 LDA 200,地址 101 存 ADD 201,地址 102 存 STO 202。地址 200 存 7,地址 201 存 5。

处理器从程序计数器(PC)等于 100 开始。取出第一条指令后,PC 变为 101,MAR 曾是 100,当前指令寄存器(CIR)存着 LDA 200。执行它会把 7 复制到累加器(ACC)。

第二条指令把地址 201 的值加上去:ACC 变为 7 + 5 = 12。第三条把 ACC 复制到地址 202,所以那里的内存现在是 12。本模块的每一课都用同一个思路:一个小而清楚的模型,每个寄存器只有一项工作。

应该按什么顺序学习这几课?

  1. 追踪简化的指令周期。先学这一课,因为它用追踪表给出 fetch、decode、execute 的完整图景。
  2. 把寄存器与其作用对应起来。会追踪之后,就能准确说出每个寄存器存什么、为什么。
  3. 用具体任务比较内存与存储。从处理器转向程序和文件存放的地方。
  4. 解释输入与输出设备的选择。练习为特定情境说明设备选择的理由。
  5. 不要从通用模型推断品牌规格。最后一课教你让答案停留在题目和模型所能支持的范围内。

然后用硬件与处理练习题检验整个模块。

哪些陷阱最常让学生出错?

  • 说 MAR 存数据。它存的是地址;MDR 存正在移动的数据或指令。
  • 在错误的时刻更新 PC。在简化的周期中,PC 在 fetch 期间前进,而不是在 execute 之后。
  • 题目指的是辅助存储(secondary storage)时写成“内存”,或者反过来。
  • 选了输入或输出设备,却没有把它和题目中的任务联系起来。
  • 把真实产品的数字当作通用模型已经证明了的事实。

如何使用练习题?

先盖住答案,在纸上做每一题,需要时画出追踪表。然后打开解答,逐步对照,而不只是核对最终数值。受限伪代码追踪训练器和安全的 Python 推理沙盒可以帮你检查小例子的逻辑,错题记录与重测队列则帮你记录反复出现的错误。

有些学生能背出 CPU 的各个部分,却说不清每一步什么在改变。老师在现场追踪时很快就能找到这个缺口,它也是我们线上一对一计算机科学补习中很自然的起点。

常见问题

这个课题需要背真实的处理器型号吗?

不需要。这个课题讲的是通用模型:处理器有哪些部分、每个寄存器(register)存什么、数据如何移动。作答时只用题目给出的信息,并到 Cambridge 官网的科目页面查看当前考纲对考核内容的具体表述。

硬件只考理论,还是也要追踪过程?

两者都有。你既要用文字描述各部分,也要一步步追踪一段小程序,写出每个寄存器的值。追踪是需要在纸上练习的技能,和算法题里追踪循环是同一类能力。

这个课题和软件与系统有什么不同?

硬件与处理讲实体部件和处理器如何执行指令;软件与系统讲操作系统、实用程序和编程语言。回答其中一个课题时,常常需要用到另一个课题的一句话,所以建议把两者安排得靠近一些学习。

资料来源

  1. Cambridge IGCSE Computer Science 0478 科目页面

更新于:

下一步

如果你的硬件答案只是一串名称,一对一的老师可以帮你把每个名称变成简短、可追踪的说明:什么在变,为什么变。

一小时付费试听课,按所安排老师确认的收费,RM80 起。 其他费用、时间安排及后续课程,在试听课后由家长与老师直接确认。

补习由家长或监护人安排。用 WhatsApp 把这页发给他们,他们就可以替你咨询。

是家长或监护人?在这里咨询

已通过我们的服务帮助 9,000+ 名学生