从初中物理到高中信息技术

2021-05-30 04:53冯文科
中国信息技术教育 2021年26期
关键词:二进制

冯文科

摘要:本文是作者对计算机工作原理教学的新探索,主要阐述了机器如何从学生熟悉的初中物理电学知识出发,一步步演化成冯·诺依曼计算机雏形的过程。

关键词:初中电学;冯·诺依曼原理;二进制

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2021)S2-0056-04

问题背景

《普通高中信息技术课程标准(2017年版2020年修订)》中明确提出“高中信息技术课程旨在全面提升全体高中学生的信息素养”,并在必修课程《模块2:信息系统与社会》的课程内容中要求学生“描述计算机和移动终端的基本工作原理”。

经过调查发现,新高一的学生虽然对计算机软硬件都有了相当的了解,但对“计算机软件到底是怎么工作在硬件上的?”这一信息技术学科最基础、最核心的问题,却从没有正式面对过——即便对于已经学过高中信息技术的高二、高三学生来说也是如此。

根据这样的课程要求与学生情况,我们需要重新设计计算机工作原理部分的教学,补齐学生理论知识短板,为学生构建信息技术知识网络提供重要的理论结点。

设计思路

以初中物理电学知识为起点引入教学内容。这部分知识是学生已经掌握的,他们当然知道计算机本身也是一种“电器”——尽管他们从未将这二者联系起来。这样一个新鲜的教学起点,必然会提起学习兴趣、激发学习愿望、提升对新知识的预期,为教学内容的开展做足准备。

以进化性问题链系统安排教学内容。从初中物理电学知识到计算机工作原理,这之间的理论知识跨度还是相当巨大的,因此需要一套精心设计的问题链系统将其分为几级,而且其中每个问题都必须是学生现有水平之下可以理解并解决的,让学生在不知不觉中感受到知识的增长、理论的提升,以及对计算机越来越深刻的理解……

实施过程

【任务一】世界上最简单的显示器什么样?

这个显示器的实物展示如图1所示。

我们可以通过控制开关,用小灯的亮灭,向人们显示两种不同的信息:允许/不允许、有人/没人、好了/没好……任意两种互斥的都可以,可以随意进行解释。

这个“解释”的规则,就是在信息技术中经常出现的一个词——通信协议。只有收发双方使用相同的通信协议,信息才能被正确传达。

当我们用0表示灯灭、1表示灯亮,上面提到的某个通信协议,就可以用表1的通信协议表格来说明。

二进制与机器的缘分自此开始。在这个表格中,与某个现实意义(比如“允许”)对应的二进制序列(比如“0”),就叫作这个现实意义的编码。

不过,有学生曾经问我:为什么一个小灯只能用来表达两种信息?改进一下电路,用亮、弱、灭表示三种不成吗?再或者,加个滑动变阻器,表示更多信息不成吗?

听起来不错,但这些方案从未实际应用起来,请思考:这些用一个小灯表示多种信息的方案为什么全被放弃了?

本任务的作用在于帮助学生建立电学与信息技術的最简单联系——小灯原来就是显示器,让学生从信息技术的角度重新审视电学的知识与现象。同时,在完成任务的过程中,顺便向学生解释了信息技术的几个信息技术基本问题:①通信协议是什么?有什么作用?②编码是什么?③为什么计算机一定要使用二进制?

【任务二】想用这个显示器表达更多信息怎么办?

上面的“显示器”已经可以有很多实际应用了,但明显还不够,如果我们希望它能表达“向前、向后、向左、向右”四种信息怎么办?大家容易想到,用任务一的装置虽然不成,但只要加一组小灯,就可以了,如图2所示。

与此相对应,我们也需要使用新的通信协议,如表2所示。

按这样的思路,不论有多少种信息,我们都可以通过控制“小灯-开关”组的数量来精确表达。

基于上面的分析,请回答下面的问题:①上述四种信息的通信协议表其实并不是唯一的,你可以设计出     个。②如果我们设置了4个“小灯-开关”组,此时编码长度变成     位0/1,那么它最多能表达     种不同的信息。③如果我们希望表达80 种不同的信息,那么需要至少     个“小灯-开关”组,此时的编码长度是     位。

本任务是对任务一的自然推广:任务一的装置我们只能表示两种信息,当需要表达的信息多了之后,我们又该如何处理?

任务二的作用是帮助学生了解如下几个信息技术基本问题:①编码二进制位数与信息表达能力之间的数量关系。②通信协议的不唯一性。③机器能处理的二进制位数,是由硬件决定的。

【任务三】如果要表达的信息量过大,我们怎么办?

理论上讲,利用任务二的设备,只要有足够的“小灯-开关”组和对应的通信协议表,我们就可以用它来表达任何信息了。但是,这也仅仅是“理论上”的……看下面这个问题:请用这个设备,表达任意一个电话号码。

北京的电话号码由8位数字组成,从0000,0000至9999,9999共有1,0000,0000个。可以预见:如果给每个电话号码分配一个编码,我们至少需要27个“小灯-开关”组和一个1,0000,0000行的通信协议。

这样的通信协议表,人查着麻烦——其实,机器查着也麻烦。所以,我们需要一个新的思路:为什么一定要给每个电话号码分配一个编码呢?我们平时读电话号码不也是一个数字一个数字地读的吗?只要我们把每个数字依次呈现出来,不也能表达电话号码吗?

于是,一个新的表达信息的方式出现了:我们去表达一些基础信息,再用这些基础信息的表达序列去形成我们最终需要的信息。

在这样的思想指引下,我们的通信协议表只需要表达10种信息(数字0~9)即可,如表3所示。

这种用来表达基础信息的编码,因为它不光表达了信息,还同时说明了一个动作,所以我们给它们起了一个新名字——指令,整个表格也随之有了新名字——指令集。

将上面规定的指令形成序列,就可以表达出任意一个电话号码了。

任务三是任务二的自然进化,在可以表达多于两种的信息之后,任务三提出了超大量信息的表达问题,并给出了一种切实可行的方案,让学生思路朝“可编程机器”的思路慢慢发展。

任务三主要渗透了如下一些信息技术基本问题:①“可编程机器”的基本思想。②指令及指令集有什么作用。

【任务四】信息表达没问题了,如何提高信息表达效率?

任务三解决了如何表达任意电话号码的问题,但它并没有解决如何才能提高表达效率的问题——每个号码由8条指令组成,指令切换是由手动调整开关完成的,手速再快,提升的空间也非常有限。

要想提高信息表达效率,必须对开关进行升级。首先,我们要把这种常见的“铡刀式开关”,更换成“触点式开关”,如图3所示。

在电路基板上开个窄缝,在窄缝两侧安装一对带触点的导体,并将这对导体分别接入电路。两端的触点平时处于接触状态,此时电路接通;但如果通过窄缝,在触点之间插入绝缘体,则触点分开,电路断开;移走绝缘体,触点恢复接触,电路重新接通。

我们让同一条窄缝同时经过四个触点开关,用一张较大的绝缘体薄片从中穿过。在某个时刻,需要哪盏小灯亮,就在对应的触点开关下打个小孔接通电路即可(如图4所示的数字“9”)(在0、3号灯的触点开关之下,打了小孔)。

因此,只要在绝缘片上科学地打上小孔,再让它由窄缝通过四个触点开关,就可以显示任意的电话号码了。

任务四是对任务三在信息表达效率上的提升。同时,它已经具备了完整的计算机系统的核心部件。此任务是理解现代计算机工作原理的核心任务。

任务四重点解决了如下信息技术核心问题:冯·诺依曼计算机是如何工作的?

【任务五】理论提升。

至此,我们的“显示器”已经具备了当代计算机系统的雏形,可以用于帮我们理解计算机工作原理了。

目前,我们日常使用的计算机都属于“冯·诺依曼结构”计算机,遵循“程序存储原理”,即:把控制机器的指令序列事先存储起来(这个序列就叫“程序”),然后再放到机器上快速执行。虽然设计和存储指令序列的過程非常缓慢,但在机器上执行非常快,在不需要反复修改操作序列的情况下,它带来的效率提升是革命性的。

冯·诺依曼体系结构如图5所示。

把我们的机器和图5做一下对比就会发现结构上的一致性。请回答如下几个问题:①让绝缘片前进的装置(比如人手)属于     。②绝缘片本身属于     ,经过技术上的不断进步,它最终演变成了现代的     。③小灯阵列属于     ,它最终演变成了现代的     。④触点开关阵列属于     ,它最终演变成了现代的     。⑤特别地,如果我们的机器就是一台原始电脑,那么这台电脑的“软件”是     。

任务五是整个课程的理论提升,让学生从整体上清晰理解冯·诺依曼原理。

任务五解决了如下几个信息技术基本问题:①冯·诺依曼原理的各部分之间如何协同工作?②什么是软件?③软件是如何运行在硬件上的?

【任务六】领域拓展。

通过上面的学习,我们对计算机的工作原理已经有了相当的认识。请回答下面的问题,来检验一下你对计算机工作原理的理解程度。

“位(bit)”是个信息技术领域的概念:一个0/1就叫1位。

从硬件角度上讲,一台机器可以同时处理的最大的二进制信息位数,就叫作这台机器的“位数”。所以我们的“显示器”是一台“4位机”。

从软件角度上讲,我们用的绝缘片上的小孔也对应地分成了4列,分别控制4个触点开关,所以我们的“软件”也是“4位”的。

基于这个提示,请简答:为什么64位的电脑上可以运行32位的软件,而 32位的电脑上却不能运行64位的软件?

实施效果

这样依托于物理知识与实物教具的教学过程,收到了很好的教学效果。学生不仅深刻地了解了经常出现在各种技术文档中的专有名词,还在课堂上举一反三,理解了接口、总线、程序设计等预设之外的专有名词。

相信这些知识,必定在将来某个时候,在学生的学习生涯中,发挥其应有的作用。

猜你喜欢
二进制
用二进制解一道高中数学联赛数论题
MIPS安卓平台上ARM二进制翻译系统
有用的二进制
用Scratch把十进制转为二进制
有趣的进度
二进制在竞赛题中的应用
基于二进制链表的粗糙集属性约简
二进制宽带毫米波合成器设计与分析
基于VLIW目标机的ELF二进制编辑器设计与实现
计算机原理之进制篇——如何学好进制初探