论文部分内容阅读
摘要:计算机组成原理是计算机专业的基础课,包含了很多复杂、抽象的概念。这些概念又需要组合成一个系统,相互辅助起来才好理解。这门课内容的复杂性给讲授教师提了很高的要求。该文结合本人教学实践经验,提出一种以数据为主线的计算机组成原理课程教学方法。该方法把理论教学和计算机模拟结合在一起,使学生学习更加直观、易懂。
关键词:计算机组成原理;教学手段;主存
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)16-3767-03
1 概述
发展计算机的技术,硬件设计的人才培养不可或缺。若要设计某个部件,首先得了解该部件存在的目的,然后掌握该部件的工作原理,才能设计出来,或改进得更好。学生想要掌握这些知识,需要学习多门课程,计算机组成原理就是其中典型的一门。计算机组成原理需要给学生讲述计算机的各种主要组成部件以及它们的工作原理。为计算机类专业的后继课程学习打下基础,也是学生以后从事计算机设计的必修知识。
计算机从诞生到现在,经过了几十年,根据不同的需要,产生的部件和理论都是多种多样。而且计算机仍然在迅速发展中。这些导致了计算机组成原理课程的内容繁多。而且由于计算机的设计更倾向于系统工程,课程的理论讲解若不结合实践设计,将使学生理解肤浅,很难应用于实际。这些情况都给授课教师提出更高的要求。教师如何能够通过课程教学,把原理讲清楚,包括整体系统开发的概念,是一个值得探讨的问题。
现在大多数计算机组成原理课程教学采用冯·诺依曼计算机结构的部件划分方式[1]。不可否认,运算器、控制器、存储器、输入设备和输出设备等五大部件仍然覆盖了现在大多数的计算机部件。从模块来看,如果能够掌握各个模块的工作原理及其相互作用关系,对课程掌握是达到目的的。但是对刚开始了解计算机内部的学生来说,在听讲各个模块孤立的内部工作原理时,将会觉得枯燥、不知所措,“学这些内容有什么用”会一直萦绕心中。
对五大部件的介绍,需要不断地提及系统性,关注各部件之间的关系。这种讲述方式可以以某个部件为中心或主线。冯·诺依曼计算机结构是受限于当时计算机发展的情况,以运算器为中心。现代的计算机已转化为以存储器为中心[2]。从没有存储器的第一台计算机ENIAC到现在的以存储器为中心的体系结构的计算机,得益于存储器的不断发展。而现在的学生,如果以后想设计出更加先进的计算机,从存储器的理解开始,不失为一种可行途径。唐朔飞老师著的教材[2]就把存储器放在了中心的位置,但是从内容分布来看,仍然是介绍完一个部件,再介绍另一个,而很少显式地体现出它们之间的关系,需要教师在介绍的时候讲述、强调。
本文提出一种以数据为主线的计算机组成原理课程讲述方法,以供大家探讨。该方法主要以主存的工作原理、读写操作、数据解析等数据操作为主线,以数据为中心的软件模拟为辅助手段,模拟硬件设计流程,从而让学生由熟知的硬件单元开始,不断逐步扩展,了解新的内容,直至掌握计算机的各个主要组成部件的工作原理。
2 教学模式改革
在一个学期的一门课的课时里,需要讲述计算机许多部件的组成、工作原理。由于时间的限制,不可能引入太多新颖的、时髦的具体器件介绍来吸引学生[3],因此还是应该由浅入深,讲清楚各个部件的基本工作原理,并留下问题,抛砖引玉。让学生有了一定基础后,可以对自己感兴趣的内容继续探索和研究。
基本工作原理是基础,是学习与理解计算机组成与运行机制的核心知识,其特点是稳定性(不随时间变迁而改变)和通用性(不随具体机型而变化),是学生一定要掌握的重要部分[4]。现在计算机的基本功能就是保存数据、处理数据和表现数据。这些功能都要依赖于数据。而学生在学习计算机组成原理时,一般已经掌握至少1门程序语言,对数据已经有一定的了解。如果从数据入手,将可使学生由熟悉的内容开始学习,更容易接受。
另外,现在在很多学校里,由于经费等原因,计算机组成原理教学缺乏一个能让教师和学生运用工程实践理念进行设计和实现计算机系统的实验平台[4]。从产业界来看,由于硬件设计的成本昂贵,很多硬件设计的前期都是要经过软件模拟的验证的,所以软件模拟也是让学生逐步熟悉设计的过程。硬件成本比较高,但简单软件模拟应该是可以做到的。
对于计算机组成原理这样系统性课程,软件模拟又不能一蹴而就,所以需要形成一个可以把课程内容逐步加进去且方便软件模拟实现的教学方式。从软件模拟的角度,由数据入手,可以逐个讲解以下几个内容:数据的存储模拟、数据的读写、数据的数值解析、数据的指令解析等。
2.1 数据的存储模拟
2.2 主存数据读出、写入
图 3给出了两种主要的读数据方式,其中“(H)”代表十六进制数,“(B)”代表二进制数。地址分配方式可以选择大端或小端的方式。从该模拟中,学生可以了解的读数据必须提供地址,而所读得的数据就可以通过可视化的主存观察到。特别是当从同一地址读出多字节字数据时,采用不同地址分配方式,将组成不同的字。通过可视化的主存,让学生直接比对所读得的数据和主存中保存的数据,将能够让他们更能掌握这方面知识。另外,还可以加入多个层次的存储器,在读取过程中,人为地为各存储器构造一些不同长度延时,从而讲述存储器速度、容量和位价,还有高速缓冲器的作用等。
2.3 主存数据解析
主存数据除了能够被解析成数值,还能够被解析成机器指令。这同样需要从主存里读出数据并解析,但是就不像数值那样固定,因为它跟具体的指令系统有关。不同指令系统,对于相同的主存数据的解释可能是不一样的。而提供一个模拟,让学生自己设计指令系统,从而解析从主存里读出的数据,将可以使他们更能理解指令系统内容。类似指令系统,可以定义指令周期、流水线、微指令、控制形成等内容。
2.4 学生的自主模拟实现
学生在学习计算机组成原理的时候,应该已经学习过编程语言,已经可以根据一些逻辑要求编写和运行程序,并得到正确的结果。那么,教师可以给定《电子技术》、《数字逻辑》等在计算机组成原理模拟中会用到的基本模块,比如存储单元,然后鼓励学生主动实现各个知识点的模拟。产业界的硬件设计也是从软件模拟检验开始。当学生对模块进行模拟时,肯定是建立在掌握其工作原理的基础之上。当实现了模拟,对学生来说是完成了自己独有的设计,会产生成就感,不断推进学习。那么再让他们设计硬件模块,将能够更容易上手。
3 结 论
本文提出了一种以数据为主线的计算机组成原理教学方法。该方法提出把理论讲解和实践相结合,实践除了硬件实验外,还包括教师提供的模拟平台的实验,通过不同值的输入来了解工作原理,也可以让学生进行工作原理的自主模拟,加深理解。该方法从学生熟悉的数据开始,从存储、读写到解析,通过主存可视化,让学生在学习时更加直观、易懂。
参考文献:
[1] 岳珂娟. 冯·诺依曼体系结构在计算机组成原理教学中的重要性[J]. 计算机教育,2012(24):99-101.
[2] 唐朔飞. 计算机组成原理[M]. 第2版. 北京: 高等教育出版社, 2008.
[3] 赵艳丽. 《计算机组成原理》课程教学探讨[J]. 电脑知识与技术, 2012,8(25):6082-6083.
[4] 郭超峰. 计算机组成原理课程教学模式改革与创新[J]. 计算机教育, 2012(24):45-48.
关键词:计算机组成原理;教学手段;主存
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)16-3767-03
1 概述
发展计算机的技术,硬件设计的人才培养不可或缺。若要设计某个部件,首先得了解该部件存在的目的,然后掌握该部件的工作原理,才能设计出来,或改进得更好。学生想要掌握这些知识,需要学习多门课程,计算机组成原理就是其中典型的一门。计算机组成原理需要给学生讲述计算机的各种主要组成部件以及它们的工作原理。为计算机类专业的后继课程学习打下基础,也是学生以后从事计算机设计的必修知识。
计算机从诞生到现在,经过了几十年,根据不同的需要,产生的部件和理论都是多种多样。而且计算机仍然在迅速发展中。这些导致了计算机组成原理课程的内容繁多。而且由于计算机的设计更倾向于系统工程,课程的理论讲解若不结合实践设计,将使学生理解肤浅,很难应用于实际。这些情况都给授课教师提出更高的要求。教师如何能够通过课程教学,把原理讲清楚,包括整体系统开发的概念,是一个值得探讨的问题。
现在大多数计算机组成原理课程教学采用冯·诺依曼计算机结构的部件划分方式[1]。不可否认,运算器、控制器、存储器、输入设备和输出设备等五大部件仍然覆盖了现在大多数的计算机部件。从模块来看,如果能够掌握各个模块的工作原理及其相互作用关系,对课程掌握是达到目的的。但是对刚开始了解计算机内部的学生来说,在听讲各个模块孤立的内部工作原理时,将会觉得枯燥、不知所措,“学这些内容有什么用”会一直萦绕心中。
对五大部件的介绍,需要不断地提及系统性,关注各部件之间的关系。这种讲述方式可以以某个部件为中心或主线。冯·诺依曼计算机结构是受限于当时计算机发展的情况,以运算器为中心。现代的计算机已转化为以存储器为中心[2]。从没有存储器的第一台计算机ENIAC到现在的以存储器为中心的体系结构的计算机,得益于存储器的不断发展。而现在的学生,如果以后想设计出更加先进的计算机,从存储器的理解开始,不失为一种可行途径。唐朔飞老师著的教材[2]就把存储器放在了中心的位置,但是从内容分布来看,仍然是介绍完一个部件,再介绍另一个,而很少显式地体现出它们之间的关系,需要教师在介绍的时候讲述、强调。
本文提出一种以数据为主线的计算机组成原理课程讲述方法,以供大家探讨。该方法主要以主存的工作原理、读写操作、数据解析等数据操作为主线,以数据为中心的软件模拟为辅助手段,模拟硬件设计流程,从而让学生由熟知的硬件单元开始,不断逐步扩展,了解新的内容,直至掌握计算机的各个主要组成部件的工作原理。
2 教学模式改革
在一个学期的一门课的课时里,需要讲述计算机许多部件的组成、工作原理。由于时间的限制,不可能引入太多新颖的、时髦的具体器件介绍来吸引学生[3],因此还是应该由浅入深,讲清楚各个部件的基本工作原理,并留下问题,抛砖引玉。让学生有了一定基础后,可以对自己感兴趣的内容继续探索和研究。
基本工作原理是基础,是学习与理解计算机组成与运行机制的核心知识,其特点是稳定性(不随时间变迁而改变)和通用性(不随具体机型而变化),是学生一定要掌握的重要部分[4]。现在计算机的基本功能就是保存数据、处理数据和表现数据。这些功能都要依赖于数据。而学生在学习计算机组成原理时,一般已经掌握至少1门程序语言,对数据已经有一定的了解。如果从数据入手,将可使学生由熟悉的内容开始学习,更容易接受。
另外,现在在很多学校里,由于经费等原因,计算机组成原理教学缺乏一个能让教师和学生运用工程实践理念进行设计和实现计算机系统的实验平台[4]。从产业界来看,由于硬件设计的成本昂贵,很多硬件设计的前期都是要经过软件模拟的验证的,所以软件模拟也是让学生逐步熟悉设计的过程。硬件成本比较高,但简单软件模拟应该是可以做到的。
对于计算机组成原理这样系统性课程,软件模拟又不能一蹴而就,所以需要形成一个可以把课程内容逐步加进去且方便软件模拟实现的教学方式。从软件模拟的角度,由数据入手,可以逐个讲解以下几个内容:数据的存储模拟、数据的读写、数据的数值解析、数据的指令解析等。
2.1 数据的存储模拟
2.2 主存数据读出、写入
图 3给出了两种主要的读数据方式,其中“(H)”代表十六进制数,“(B)”代表二进制数。地址分配方式可以选择大端或小端的方式。从该模拟中,学生可以了解的读数据必须提供地址,而所读得的数据就可以通过可视化的主存观察到。特别是当从同一地址读出多字节字数据时,采用不同地址分配方式,将组成不同的字。通过可视化的主存,让学生直接比对所读得的数据和主存中保存的数据,将能够让他们更能掌握这方面知识。另外,还可以加入多个层次的存储器,在读取过程中,人为地为各存储器构造一些不同长度延时,从而讲述存储器速度、容量和位价,还有高速缓冲器的作用等。
2.3 主存数据解析
主存数据除了能够被解析成数值,还能够被解析成机器指令。这同样需要从主存里读出数据并解析,但是就不像数值那样固定,因为它跟具体的指令系统有关。不同指令系统,对于相同的主存数据的解释可能是不一样的。而提供一个模拟,让学生自己设计指令系统,从而解析从主存里读出的数据,将可以使他们更能理解指令系统内容。类似指令系统,可以定义指令周期、流水线、微指令、控制形成等内容。
2.4 学生的自主模拟实现
学生在学习计算机组成原理的时候,应该已经学习过编程语言,已经可以根据一些逻辑要求编写和运行程序,并得到正确的结果。那么,教师可以给定《电子技术》、《数字逻辑》等在计算机组成原理模拟中会用到的基本模块,比如存储单元,然后鼓励学生主动实现各个知识点的模拟。产业界的硬件设计也是从软件模拟检验开始。当学生对模块进行模拟时,肯定是建立在掌握其工作原理的基础之上。当实现了模拟,对学生来说是完成了自己独有的设计,会产生成就感,不断推进学习。那么再让他们设计硬件模块,将能够更容易上手。
3 结 论
本文提出了一种以数据为主线的计算机组成原理教学方法。该方法提出把理论讲解和实践相结合,实践除了硬件实验外,还包括教师提供的模拟平台的实验,通过不同值的输入来了解工作原理,也可以让学生进行工作原理的自主模拟,加深理解。该方法从学生熟悉的数据开始,从存储、读写到解析,通过主存可视化,让学生在学习时更加直观、易懂。
参考文献:
[1] 岳珂娟. 冯·诺依曼体系结构在计算机组成原理教学中的重要性[J]. 计算机教育,2012(24):99-101.
[2] 唐朔飞. 计算机组成原理[M]. 第2版. 北京: 高等教育出版社, 2008.
[3] 赵艳丽. 《计算机组成原理》课程教学探讨[J]. 电脑知识与技术, 2012,8(25):6082-6083.
[4] 郭超峰. 计算机组成原理课程教学模式改革与创新[J]. 计算机教育, 2012(24):45-48.