计算机硬件教学中关注点分离思维的培养实践

2015-05-15 10:22黄沛杰徐东风
现代计算机 2015年4期
关键词:关注点计算机硬件细化

黄沛杰,徐东风

(华南农业大学信息学院,广州 510642)

计算机硬件教学中关注点分离思维的培养实践

黄沛杰,徐东风

(华南农业大学信息学院,广州 510642)

分析计算思维中的关注点分离思维,并从功能划分和逐步细化两个方面讨论其实现方式。进而结合计算机硬件教学里中央处理器(CPU)的教学实践,探讨关注点分离思维的培养方案。实践表明,该方案对培养学生的关注点思维有良好效果。

关注点分离;计算机硬件课程;教学实践;计算思维

0 引言

在2010年出版的《高等学校计算机科学与技术专业人才专业能力构成与培养》中,计算思维被列为计算机专业基本能力之一[1]。计算机软硬件相关科目的理论与实验教学中,计算思维的培养越来越受到重视[2~3]。

然而,要将计算思维培养落实到具体课程内容与教学过程中,也即是解决计算思维培养如何“落地”的问题,还需要做大量细致的研究和实践工作[3]。本文以计算机硬件系列课程中的中央处理器(CPU)及相关知识点为例,探讨计算机硬件教学中计算思维之关注点分离思维的培养实践。

1 计算思维与关注点分离

卡内基·梅隆大学的周以真教授将计算思维定义为“运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它涵盖计算机科学之广度的一系列思维活动”[4],并将计算思维进一步更细致描述为“计算思维是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题;是一种递归思维,是并行处理;是基于关注点分离的方法;是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;是在不确定情况下的规划、学习和调度的思维方法;是权衡和折中的思维方法”。其中的关注点分离(Separation of Concerns,SoC)方法指的是采用抽象和分解来迎战庞杂的任务或者设计巨大复杂的系统[4]。关注点分离作为一种普适的处理复杂问题的系统思维方法和原则,在计算机软硬件设计与实现的许多方面都有体现。其价值在于系统中的一部分需要发生改变时,能够清晰地识别出哪些部分(如子系统或者组件)需要改变,不会影响其他部分。同时,如果系统需要扩展,影响将会最小化,已经可以工作的每个部分都保持继续可用。

实践上,可以从功能划分和逐步细化两个方面的关注点分离来实现子系统或者组件的独立性,如图1所示,在实际工作中可以综合运用这两方面。

图1 关注点分离

(1)通过功能划分来分离关注点。系统由一系列功能部件组成的“协作体系”组成,当不同功能被合理分离之后,为了实现新的系统设计只需构造新的“协作体系”,而需求变更也往往只影响到少数功能模块的定义和实现。无论是组件还是子系统,它们所承担的功能都应该具有高度独立性。

(2)通过逐步细化来分离关注点。逐步将系统细化为粒度不同的子系统,例如先考虑大粒度的子系统,而暂时忽略子系统是如何通过更小粒度的模块组成的。在实现上,可以将系统划分为一系列子系统,或者一系列组件(模块),并为子系统(组件)定义明确的接口,其中的细节可以相对独立地实现。

2 硬件教学中关注点分离思维培养的思考

作为计算机硬件系统中的重要部件,CPU的教学一直是硬件教学的重点。CPU及内部细分功能组件如算术逻辑单元(ALU)、操作控制器、时序产生器和通用寄存器组等的工作原理在《计算机组成原理》课程讲授,细化到全加器、触发器以及门电路则在《数字电路》课程讲授。

一方面,关注点分离思维的培养要注重CPU内部各功能组件通过时间及空间协作形成整机基础上的功能划分。首先,一般先根据功能需求设计CPU的数据通路图;其次,分析各功能部件的功能及输入输出信号,将各个功能部件连接起来形成一个整体。在这个基础上的各功能模块的设计与实现则具有高度独立性,在实践上可以选择不同的设计方案。

另一方面,关注点分离思维的形成要注重层次化、模块化的设计理念和自顶向下(top-down)的设计思想的培养[5]。根据自顶向下的设计思想,一般先进行系统描述,将系统划分为若干子系统或功能模块,负责各模块的接口定义,并编写子系统或模块模型;经过仿真验证后,再把这些子系统或模块分配给下一层的设计者,由他们完成子系统或模块的具体设计。在整机模型和各功能部件的设计中,都可以采用自顶向下的层次化、模块化设计方法。在CPU模型中,在ALU和通用寄存器组的部件级设计上,都可以进一步细化为低一层的全加器、寄存器和多路选择开关,甚至更低层次的门电路等模块进行构建。

3 教学设计和实施

本节以硬件核心部件CPU的教学设计和实施为例,从功能划分和逐步细化两个方面,介绍关注点分离思维的培养实践,采用了理论教学和实验实践相结合的方式。

3.1 实验环境

在电子设计自动化(EDA)技术和可编程逻辑器件(PLD)的支持下,目前主流的硬件系列实验已经从接插式箱式实验台的“验证”型实验向“验证-设计-创新”结合型方向转变,为计算思维的培养提供了条件。

实验环境包括Altera公司的可编程逻辑设计环境的软件平台Quartus II和清华大学科教仪器厂研制生产的硬件平台TEC-CA开放式CPU实验平台[5]。Quartus II可以完成设计输入、编辑、编译、仿真、封装到下载的全过程。而通过TEC-CA平台上的设备和接口可以检测设计结果的正确性。

3.2 关注点分离之功能划分

CPU从功能划分角度,可以进一步分成控制器和运算器。如果从实验模块角度,还可以细分为算术逻辑单元(ALU)、操作控制器、时序产生器、通用寄存器组等功能块,以及一些零散的专用寄存器(主要包括程序计数器PC、指令寄存器IR、数据缓冲寄存器DR和地址寄存器AR等,这些专用寄存器主要负责取指令以及存取操作数),如图2所示。

这些主要功能部件通过时空配合实现CPU的主要功能。这些功能模块都具有独立性,功能部件的内部设计的改变,对其他模块影响不大,例如改变算术逻辑单元或者操作控制器的内部实现方式。这使得在实验设计上可以让学生专注于单一功能模块上的设计与实现,有利于分工开展。在功能部件的基础上才是整个实验小组在CPU系统层次上的集成。

图2 CPU功能划分

3.3 关注点分离之逐步细化

CPU的各功能部件,在一些功能模块内部的设计上,又可以通过层次化和模块化逐步细化的方式来实现。例如ALU功能部件中的核心部件加法器可以分解为多个全加器,而全加器又可以进一步细分为更低层的门电路组件来实现。加法器的逐步细化示例如图3所示。

图3中的加法器采用的是行波进位加法器[6]。加法器及全加器的内部实现细节相对独立,可以更换而不影响更高层次的模块的功能。

图3 加法器逐步细化

4 结语

本文探讨了计算思维中的关注点分离思维,并以硬件核心部件CPU为例,介绍以关注点分离方法为导向的计算机硬件教学方案及具体实施细节。经过教学实践发现,本文的方案对学生关注点分离思维的培养具有良好的效果。下一步,我们将在计算机硬件教学中探索更多计算思维能力的培养方案。

[1] 教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业人才专业能力构成与培养[M].北京:机械工业出版社,2010

[2] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7~11

[3] 冯博琴.对于计算思维能力培养“落地”问题的探讨[J].中国大学教学,2012(9):6~9

[4] Wing J.M.Computational Thinking[J].Communications of the ACM,2006,49(3):33~35

[5] 黄沛杰,徐东风,殷建军.计算机组成原理实验教学中的计算思维培养[J].计算机教育,2012(16):103~106

[6] 白中英.计算机组成原理[M].第5版.北京:科学出版社,2013

Training and Practice of Separation of Concerns in Computer Hardware Teaching

HUANG Pei-jie XU Dong-feng
(College of Informatics,South China Agricultural University,Guangzhou 510642)

Analyses the separation of concerns method of computational thinking,and discusses its realization methods from two aspects of function division and gradual refinement.Combined with the teaching practice of the central processing unit in computer hardware courses,discusses the cultivation scheme of separation of concerns thinking.Experiment shows that the scheme receives good effect.

Separation of Concerns(SoC);Computer Hardware Courses;Teaching Practice;Computational Thinking

1007-1423(2015)04-0022-04

10.3969/j.issn.1007-1423.2015.04.006

黄沛杰(1980-),男,广东潮州人,博士,副教授,研究方向为计算机系统结构、人工智能

徐东风(1962-),男,山西临汾人,副教授,研究方向为虚拟现实与仿真

2014-12-09

2015-01-06

华南农业大学教育教学与改革项目(No.JG12046、No.JG14011)、广东省高等教育教学改革(No.GDJG20142092)、中华农业科教基金会项目(No.NKJ201202013)

猜你喜欢
关注点计算机硬件细化
细化量筒 细说作用
冬奥关注点
基于Unity的计算机硬件组装仿真教学系统设计
寻找关注点 提高复习效率——以初中教学中“0”为关注点为例
下半年尿素市场四大关注点
如何分析一组数据的集中和分散——数据分析的两个关注点
浅析基于医院特点的计算机硬件维护研究
计算机硬件设备驱动程序分析
中小企业重在责任细化
中职计算机硬件课程教学策略探讨