摘要:《计算机组成原理》是计算机学科学生的一门必修课程,针对在教学过程中,学生不易理解或易混淆的几个基本概念进行分析,以期学生能加深对这些概念的理解,为后续课程的学习以及今后的工程实践中运用相关知识解决问题有所帮助。

关键词:计算机组成原理;教学改革;基本概念

中图分类号:G642 文献标志码:A 文章编号:1674-9324(2013)38-0075-03

《计算机组成原理》是所有计算机学科学生的专业基础课,是构成学生终生知识体系的重要组成部分,在整个计算机科学与技术专业的课程中起着承上启下的关键作用,是计算机学科的研究生入学考试必考科目之一。从事该课程教学的教师们已进行了不少探索,包括教材的选择、教学内容设计,以及对教学模式、教学方法和实验教学等方面研究,为该课程的教学提供了有益的经验。《计算机组成原理》这门课有一定的理论深度,其实践要求也高,涉及较多的前期知识和相关领域,课程的横向跨度大。随着计算机硬件水平发展迅速,集成化程度不断提高,CPU由单核、双核发展到四核、多核;目前学生自己配置的计算机中笔记本已占大多数,学生很难直接了解计算机的内部结构,在课程学习中普遍感到概念抽象而难以感性化、内容多、难度大,他们认为《计算机组成原理》是一门比较难掌握的课程。不少学生在完成该课程的学习后仍感到并未真正理解和掌握其中的基本原理。为此,笔者介绍在近年来从事《计算机组成原理》教学过程中对几个基本概念的把握。

一、定点小数的补码表示范围

定点小数在用补码表示时,负数最小时为-1,而-1本不属于小数范围,但是定点小数中[-1]的补码却存在,另外,整数的-1和小数的-1的表示也不一样,如机器字长为8时,整数的[-1]补=11111111和小数的[-1]补=1.0000000。对此,学生难以理解和接受,进而影响浮点数表示范围的理解。定点小数的原码定义在(-1,1)之间,其定义式为:[x]原=x, 1>x≥01-x,0≥x>-1,属于纯小数,定义域中没有-1。但是定点小数的补码定义为:

[x]原=x, 1>x≥01-x,0≥x>-1(mod2),在定义式中-1被包含在定义域内。对此笔者认为可从以下三个方面进行说明。其一,用数轴进行说明,为了便于说明,先以机器字长为n=3(包括一个符号位)为例。字长为3,那么应该有23=8种编码,正负方向各4个编码,包括0在内,原码示意如图1所示,为区别起见,图中将正数与负数分别用小圆圈和小三角形表示,因为有-0的存在,故负数的最小值为1.11,这样正负方向的数值是对称的。而定点小数的补码表示中,负方向上因为没有-0,故其第一个刻度为1.11,为1.01的补码,从数轴上,可以看到,同样是4个编码,补码在负方向的编码到最小时为1.00,即为-1。

图3为字长n=4时的定点小数的补码表示,从数轴示意图可以看出,定点小数的补码负数最小也为-1,只是-1的表示从n=3时的1.00变为了1.000,以此类推,当n=8时,-1的补码即为1.0000000。从数轴示意图还可以看出,n=3时,一个刻度为0.01,n=4时,一个刻度为0.001,而当n=8时,为0.0000001,为n位时,即为2-n,这也为用表达式说明补码的表示范围做一个铺垫。对于数轴的说明进一步可以加大数值位进行分析,得出结论,无论小数的位数是多少,在用补码表示时,绝对值最大的负数均为-1(1.00…0)。

其二,用列表的形式进行说明。可以将数值位取得少些,这里还是以字长n=3为例,将定点整数与定点小数以列表的形式进行说明。如表1和表2所示,其中表1为定点整数,表2为定点小数。很明显,定点小数的补码表示时,负方向最小值为1.00,即为-1。

其三,用表达式进行说明。当机器字长为n时,定点整数的原码表示范围为-(2n-1)~2n-1,去括号后为:-2n+1~2n-1,而补码表示范围为-2n~2n-1,比较两个表示范围,可以发现,在负方向上,补码的表示范围在数值上比原码少1或者说补码在数轴上比原码在负的方向上多走一个刻度;同理,对于定点小数,其原码的表示范围-(2-n-1)~1-2n=-1+2n~1-2-n,那么与定点整数类似,定点小数在用补码表示时,负方向要再走一个刻度2-n,即为-1~1-2-n。由此看出,定点小数用补码表示时,最小的负数为-1。

二、CPU与存储器连接的相关问题

在存储器与CPU连接时一般要考虑CPU总线的负载能力、CPU与存储器速度的配合问题、存储器的地址空间分配、读/写控制信号的连接、数据线的连接、地址线的连接与存储芯片片选信号的产生等几个方面。在组成原理这门课中,对负载能力及时序配合要求相对少些,因而重点关注是三类信号线的连接:地址信号、数据信号和控制信号,而存储器与CPU连接在微机接口技术和单片机原理等课程仍有应用。在一般情况下,单个芯片的存储容量有限,需要多个芯片组合构成系统所需的较大容量的存储器,这即是所谓的存储器容量扩展。扩展方式通常有位扩展、字扩展和字位同时扩展三种,位扩展如8片4K×1位的芯片构成4K×8位的存储器时,系统与芯片的读写信号对应相连,存储器的地址线与芯片的地址线一样多,因此地址线A0~A11分别对应相连即可,数据线D0~D7中每一条分别与芯片唯一的一位数据对应相连,而8个芯片的片选则都接到一起即可。在字扩展时,如8片4K×8位的芯片构成32K×8位的存储器,同样,读写信号对应相连,但此时,存储器的数据线与芯片的数据线的数目相同,只需对应相连即可,而地址线的数目不一致,先将存储器的低位地址线与芯片地址线对应相连,多出的地址线则用于形成片选信号线。对于片选信号的形成,在由浅入深的讲解过程中,一方面,需要先对译码器和一些可能用上的门路进行复习,另一方面,系统存储器由多片存储芯片构成,而构成存储器的这些芯片势必就有编号,片选信号从某种程度上讲,与芯片编号相对应,此时与译码器的关系就顺理成章地联系起来。例如,由16KB的RAM芯片构成一个64KB的存储器,需要4片RAM芯片,若用二进制对其进行编号即为:00、01、10、11,再从存储器的角度出发分析其地址线、数据线和控制线,有16条地址线,可写成A15~A0,数据线为8条,写成D7~D0,控制信号线为WR和MREQ。芯片的信号线有14条地址线,可写成A13~A0,数据线为8条,写成D7~D0,控制信号线为WR和CS。将16条地址线的状态变化情况写出,对比芯片的地址线状态变化情况,发现多出来的地址线有2条信号线A14、A15,它们有4种状态:00、01、10、11(二进制形式),可以与4片RAM芯片的编号00、01、10、11(二进制形式)对应。这样,A14、A15可以接2-4译码器的两个输入端,而2-4译码器的四个输出端Y0、Y1、Y2、Y3分别接四个芯片的片选端。但是在实际工程或考试中,往往是给出地址范围或芯片所在的地址空间后来确定片选逻辑,这时的思考思路与前面的例子类似,写出地址的二进制形式,确定芯片所要接的地址信号线后,从剩下的地址中找出可以接入译码器输入端的信号,让学生自己观察,他们便能确定出来。与这里的片选逻辑类似的地方,还有此章的CACHE与主存的地址映射中主存地址格式的设计问题。CACHE与主存的地址映射方式有三种:直接映射、全相联映射和组相联映射,其中直接映射最为简单,学生需要对此概念吃透,这样对于理解组相联映射方式就相对容易些。在直接映射方式中,直接给出主存块映j射到CACHE块i的公式(1),学生比较难理解。i=j modC(1)其中C为CACHE的块数,C=2c,指数c为CACHE的字块位数。

由公式中的C表示CACHE的块数可知,在直接映射方式下主存与CACHE之间存在的关系是:主存可分为若干个CACHE大小的区,对所有的区进行编号,此时区的编号(与之前的芯片编号类似)即是主存地址中的字块标记字段,而主存地址中除去区号外的低位地址与CACHE的地址完全相同。而每个区与CACHE也完全相同,那么任一区中每个字块与CACHE的每个字块一一对应,于是学生自己就可以得出这样的结论:主存中多个区中相同位置的字块与CACHE的某一字块映射,即主存字块与CACHE字块是多对一的关系,而且主存字块只能映射到CACHE的固定位置。而映射关系表达式的推导,可由下面的一个具体例子得出。

如图4所示,设主存容量为1KB,CACHE容量为128B,字块大小为32B,因而CACHE有4块,即C=4,块的编号分别为0、1、2、3,主存有32块,其编号分别为0、1、…31。任取主存块号j=28,那么它被映射到CACHE中的位置由i=jmodC,得28mod4=0;同理,当j=31时,得31mod 4=3,即第31块将被映射到CACHE中的第3块所在位置。故已知主存块号j后,映射到CACHE中的位置关系表达式为:i=jmodC。此外,对于组相联的地址映射关系的推导学生就可水到渠成地写出来了。

《计算机组成原理》的教学内容和方法的研究是计算机科学与技术学科课程改革中的重要部分,本文对在教学过程中学生容易产生混淆的几个基本概念进行分析,旨在使学生能加深对这些概念的理解和运用以及加深这几个概念之间联系的理解,以期对其今后的工程实践及后续课程的学习有所帮助。

参考文献:

[1]白中英.数字逻辑.计算机组成原理两门课的衔接性[J],计算机教育,2011,10(19):36.

[2]王丁磊.统考下的《计算机组成原理》教学方法探讨[J].计算机教育,2010,8.

[3]纪禄平,罗克露.计算机组成原理创新型教学方法设计》[J].计算机教育,2011,4(7):85-91.

[4]唐朔飞.计算机组成原理[M](第2版),高等教育出版社,2010:295.

基金项目:中央高校基本科研业务费专项项目(11NZYQN29)和(11NZYTH06)资助

作者简介:李涛,女,西南民族大学计算机科学与技术学院副教授,研究方向:计算机图形图像处理、模式识别等。

计算机组成原理基本概念,《计算机组成原理》教学中几个基本概念的分析相关推荐

  1. 借助计算机音乐,计算机音乐制作在高校作曲教学中的应用

    李严梅 [摘 要]计算机音乐制作是在计算机软件和相关技术辅助之下进行音乐作品的创作,对当前的音乐发展来说产生了巨大的影响,同时也开始掀起音乐制作的变革.在计算机音乐制作技术的影响和带动之下,高校的作曲 ...

  2. 计算机在英语口语教学中的应用,计算机在英语口语与听力教学中的应用.doc

    计算机在英语口语与听力教学中的应用 计算机在英语口语与听力教学中的应用 扬州市邗江区霍桥学校 225104 练厚兵 [摘要]:随着计算机技术的发展,计算机对语音处理的速度越来越快,语音处理质量也越来越 ...

  3. 计算机绘图设计论文,计算机绘图软件在室内装饰设计教学中的应论文

    计算机绘图软件在室内装饰设计教学中的应论文 随着我国经济发展水平的不断提高,人们的生活水平也在不断提高,在21世纪的今天人们追求的是物质享受,室内设计受到了人们的广泛关注,计算机应用技术的出现,推动了 ...

  4. 小学语文教师如何利用好多媒体计算机,对多媒体在小学语文教学中的几点思考...

    陆奎 摘要:多媒体(Multimedia),即多种媒体.相对于单一媒体而言,多媒体在教学中占有十分明显的优势.近年来,随着电子信息技术的发展,多媒体在教育教学中得到了广泛应用,多媒体计算机辅助教学(M ...

  5. 计算机在音乐教学中的运用,计算机音乐软件在音乐理论课教学中的运用

    计算机音乐软件在音乐理论课教学中的运用 计算机音乐学科技术的开发和利用是计算机技术和传统音乐理论相结合,形成的一个现代化的新兴学科.它的出现可以追溯到上世纪60年代左右,但真正意义的普及和高速发展也只 ...

  6. 计算机模拟技术在教学上的应用,计算机模拟技术在水利工程学科试验教学中的应用...

    [摘要]本文对水利工程试验教学中计算机模拟技术的应用问题进行了初步探讨,计算机模拟是一项技术,同时也是一种学习环境.教学模式.教学思想.计算机模拟教学应用的研究涉及了现代教育技术.教育心理.课程结构. ...

  7. 计算机仿真有哪些优点,【计算机仿真论文】汽车理论教学中运用计算机仿真的优点(共2821字)...

    本文作者:杨年炯 单位:广西工学院汽车系 1<汽车理论>课程教学内容及其教学方法 <汽车理论>课程的教学内容较多,涉及的范围较广,比如:汽车行驶条件和动力性分析计算.动力装置参 ...

  8. 计算机基础技能培养,计算机应用基础教学中计算思维与应用技能的双重培养

    [摘要]分析非计算机专业计算机基础教育改革必要性,探讨应用技能与计算思维培养相结合的发展思路.建议加强学生计算思维的培养,提高学生的逻辑思维能力,同时建立基于知识点聚类的网络课程,使得课堂与网络教学之 ...

  9. c语言计算机那类教,C语言教学中的兴趣驱动

    摘要:C语言因其自身的优点成为计算机教学的最佳语言.现有的C语言教材普遍存在着重语法.理论,轻应用.实践的情况,教学中也存在着内容定位不准.对上机实验重要性认识不够等问题.文中对这些现象进行了分析,提 ...

  10. 升平,景玉军.计算机虚拟技术在高职汽车维修教学中的应用研究[j].,汽车新技术教学方法探讨...

    汽车新技术教学方法探讨 本文关键词:教学方法,新技术,探讨,汽车 汽车新技术教学方法探讨 本文简介:[摘要]自进入新世纪以来,汽车在完成交通使命的同时,人们对其安全和环保的性能要求越来越高,这就使得汽 ...

最新文章

  1. HTML5中的本地数据库-Web SQL Database
  2. 怎样用c语言算平均成绩,用C语言编程平均分数
  3. Python安装Matplotlib,wordcloud,jieba第三方库
  4. [转]在python中删除list中元素的3种方法:remove、pop、del
  5. [Andriod官方API指南]连接之蓝牙
  6. 播放音乐的html代码,音乐播放器-html代码
  7. 关于Qt的无边框窗口移动
  8. 解决 Minimum supported Gradle version is 5.1.1. Current version is 4.6 以及最终apk打包输出
  9. 推荐一个数据库文档生成神器
  10. 在Debian系统下使用自带的Fcitx配置中文输入法
  11. matlab能否算高中数学题,Matlab软件在高中数学学习中的应用
  12. [转帖] “王者对战”之 MySQL 8 vs PostgreSQL 10
  13. 欧姆龙NX1P2编程学习(1)-编写功能块注意事项
  14. 一场美好的婚礼对女孩子来说意味着什么?
  15. mybatis之抛弃XML,拥抱注解
  16. docker管理mysql风险_不要再问了,数据库不建议上Docker
  17. WDF模型驱动程序开发
  18. SurfaceFlinger服务的启动
  19. Android解决分屏情况下背景拉伸问题
  20. win11更新后Translucent TB 任务栏透明失效

热门文章

  1. 解决VMware卸载后再安装出现的问题
  2. 【学习教程】CMIP6数据处理方法与典型案例分析
  3. 关于蓝桥杯的经验(本人java B 国二)
  4. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之享元模式
  5. Verilog常用语法
  6. VoLTE前台信令详析及注释说明
  7. 破解绘声绘影x5的方法
  8. Linux网络编程:libnet 移植及使用
  9. 2017年c语言试题,2017年计算机二级C语言试题
  10. 关于计算机的英语介绍,计算机专业的英语自我介绍