• 工程类
  • 会计类
  • 资格类
  • 医学类
  • 公务员
  • 学历类
  • 外语类
  • 计算机
  • 金融类
  • 当前位置: 天一资源网 > 计算机 正文

    计算机组成原理教学方法改革——以计算机的运算方法内容为例*

    时间:2023-01-17 09:20:24 来源:天一资源网 本文已影响 天一资源网手机站

    三亚学院信息与智能工程学院 魏爽 张晶

    在《计算机组成原理》的教学中,计算机的运算方法是一个重难点内容,而其中定点运算中的除法运算在很多教材中都只给出了它的基本运算步骤,学生通过学习后不能真正理解这种算法的原理。本文结合所授课对象的实际情况,对补码除法的教学方法进行探讨,提出了一种可行的教学方法。

    乘除法运算是计算机中的重要运算。实现乘除运算的方法也很多,既可以通过硬件电路实现,也可由软件编程的方式实现,或者将两者相结合来实现。尽管运算实现的方法不同,然而它们实现的算法却是相同的。因此,深入理解乘除运算的运算原理,对于乘法器、除法器的设计或实现乘除运算的程序设计是非常重要的。计算机中常用的编码,如原码或补码均可实现乘除运算。原码因为其编码规则的特殊性,因此,通过原码进行乘除运算的原理比较简单,实现起来也非常方便。在专门的乘法器和除法器或以乘除运算为主的计算机中,可以采用原码乘除运算[1]。但是原码进行加减运算却非常繁琐,而补码的加减运算则比较简单,所以在以加减运算为主的通用机中,大多采用补码编码方式。在补码制机器中,数据均以补码形式表示与存储。如果用原码进行乘除运算,则要经过繁锁的变补操作,严重影响运算的速度,所以要研究直接用补码进行乘除运算的算法,以加速计算机进行乘除运算的效率[2]。根据笔者在五年教学中的体会,在本文中简要叙述了有关的算法,重点讨论了算法的证明,给出了一种简单易懂的证明方法。

    为了下文容易理解补码除法,本节首先简单介绍下原码除法的原理以及上商规则,原码除法的运算过程可以简单的归纳为:比较、上商、求新余数。原码与真值就相差一个符号位,原码数值部分就是真值的绝对值,而乘除运算的乘积或商的符号与两个操作数的符号相关,同号为正,异号为负。因此,用原码进行除法运算时,可以将两个操作数,也就是被除数和除数的符号位进行异或运算得到商的符号位。因为如果两个操作数符号相同,那么商应该为正,也就是商的符号位应该是0,而两个符号位如果相同,则将两符号位进行异或运算时,根据异或运算的规则,异或运算的结果正好是0。而如果两个操作数的符号不同,那么商应该为负,也就是商的原码的符号位应该是1,而两个不同的符号位进行异或运算时,根据异或运算规则,其结果也正好是1。把被除数和除数的绝对值进行相除得到商的绝对值,也就是商的原码的数值部分。因此,原码除法的原理很简单,关键是如何上商。上商原则就是比较被除数(余数)的绝对值与除数的绝对值,如果被除数或余数的绝对值大,则上商1,否则,上商0,因此,要确定上商,就需要进行比较。

    2.1 比较

    比较其实就是将两操作数的绝对值做减法运算,然后通过差的符号判断两操作数的相对大小[3]。而在计算机中进行加减运算,采用的是操作数的补码,因为补码制可以将减法运算转换为加法运算,并且符号位可以直接参与运算,最终的计算结果也是和或差的补码,因此直接根据结果的符号位就能很容易判断两操作数绝对值的大小。因此,比较是将被除数(或余数)和除数的绝对值用补码表示,为方便说明,这里被除数(或余数)用X表示,除数用Y表示,计算[|X|-|Y|]补=|X|补+[-|Y|]补,因此,每次比较时,都是计算|X|补+[-|Y|]补,然后根据结果的符号位得到比较结果。

    2.2 上商

    上商规则就是,如果|X|补+[-|Y|]补的结果的符号位为0,表示被除数(或余数)的绝对值大于除数的绝对值,这样商就应该上1。如果|X|补+[-|Y|]补的结果的符号位为1,表示被除数(或余数)的绝对值小于除数的绝对值,这样商就应该上0。

    2.3 求新余数

    新余数要根据本次上商的结果,经过运算之后得到:若本次商上1,则将余数左移一位,再减去除数得新余数;
    若本次上商为0,那么则这次不应该减去除数,因此,需要加上|Y|]补恢复余数,再将余数左移一位之后,再减去除数得到新的余数。这种方式就是恢复余数法。当然,也可以将这个过程归纳下,即本次上商为1时,将余数左移一位,再减去除数得新余数。本次上商为0时,将余数左移一位,再加上除数得新余数,这就是所谓的不恢复余数法。

    2.4 原码除法运算步骤

    (1)先将两操作数用原码表示,取两操作数原码的符号位进行异或运算,得到结果的符号位。再取两操作数原码的数值部分,作为两操作数的绝对值。再写出两操作数绝对值的补码形式,同时把负除数的绝对值的补码也表示出来,为后面做减法运算做好准备。

    (2)将被除数的绝对值的补码加上,然后看结果的符号位是0还是1,如果是0,则上商1,再把结果左移一位,加上负的除数的绝对值的补码得到新的余数。如果是1,则商上0,如果按照恢复余数法,就把结果再加上除数绝对值的补码恢复余数,然后将恢复后的余数左移一位再加上负除数的绝对值的补码得到新的余数。如果按照不恢复余数法,则将结果左移一位,再加上除数的绝对值的补码得到新的余数。

    (3)重复步骤2若干次,得到所需位数的商即可。一般我们保持商的位数与两操作数的位数一致即可。

    补码除法的运算过程跟原码除法类似,主要也是需要解决三个问题,一是确定上商;
    二是新余数的形成方式;
    三是商符的确定。但是,补码除法中参与运算的两操作数用补码来表示。而上商的原则是根据操作数绝对值的大小来决定的,这就需要确定如何通过补码运算来判断两操作数绝对值的大小,从而决定上商。

    3.1 上商

    从本质上来讲,上商和新余数的形成是统一的,要确定上商0还是1,就是要比较被除数与除数绝对值的大小,当被除数的绝对值大于除数的绝对值时。这里需要分两种情况进行讨论,一是被除数和除数同号,在这种情况下,商为正,因此,商的补码与其原码是相等的,所以在够减的情况下,商上1,不够减的情况下,商上0。第二种情况,当被除数和除数异号时,商为负,这时,商的补码与原码,在从低位往高位看,找到第一个1时,在这个1的右边部分,包括这个1,与原码是相同的,在1的左边,与原码是相反的。但是此时,商并没有确定,因此,也不能确定此刻上商是在1的左边还是右边。因此,约定用补码进行除法运算时,商的最末尾采用恒置1的方式上商。这样一来,商的最末尾为1,那么现在上的每一位商均在1的左边,也就是商的补码与原码是相反的,因此,上商原则也应该相反,所以,在够减的情况下,商上0,在不够减的情况下,商上1。因此,将上述两种情况归纳,得出如下结论:当被除数与除数同号,上商规则是够减上1,不够减上0;
    当被除数与除数异号时,上商规则是够减上0,不够减上1。因此,现在的关键问题就是如何通过操作数的补码进行运算,来判断够减与不够减的条件。下面,通过简单易懂的方式给出证明。

    够减等价于被除数的绝对值大于除数的绝对值,为了方便后面用表达式进行说明,这里被除数用X表示,除数用Y表示,下面就X,Y分别为正、负四种不同的情况进行讨论。特别说明:以下所有运算都是用X,Y的补码形式进行的,而不是两操作数的真值直接运算。

    (1)X>0,Y>0,则|X|>|Y|↔X>Y↔X-Y>0,这时,我们发现,这种情况下,X-Y与Y是同号的,则够减,X-Y与Y是异号的,则不够减。

    (2)X<0,Y<0,则|X|>|Y|↔X0,这时,我们发现,这种情况下,X-Y与Y是同号的,则够减,X-Y与Y是异号的,则不够减。

    因此,这两种情况下总结的结论就是,在X与Y同号的情况下,当X-Y与Y同号时,够减,当X-Y与Y异号时,不够减。

    (3)X>0,Y<0,则|X|>|Y|↔X>-Y↔X+Y>0,这时,我们发现,这种情况下,X+Y与Y是异号的,则够减,X+Y与Y是同号的,则不够减。

    (4)X<0,Y>0,则|X|>|Y|↔-X>Y↔X+Y<0,这时,我们发现,这种情况下,X+Y与Y是异号的,则够减,X+Y与Y是同号的,则不够减。

    因此,这两种情况下总结的结论就是,在X与Y异号的情况下,当X+Y与Y异号时,够减,当X+Y与Y同号时,不够减。

    再结合上述的上商规则,则有以下结论:

    (1)当X,Y同号时,在X-Y与Y同号时,上商1,在X-Y与Y异号时,上商0。

    (2)当X,Y异号时,在X+Y与Y同号时,上商1,在X+Y与Y异号时,上商0。

    3.2 新余数的形成方法

    新余数的形成与上商是紧密相关的,因此,下面也分四种情况来讨论新余数的形成方法。同样,以下所有的加减运算都是在补码下进行的。

    (1)X与Y同号,X-Y与Y同号,商上1。因为这种情况是够减的,所以新余数为上一次余数左移一位,再减去Y,假设用Ri表示上一次的余数,则新余数Ri+1=2Ri-Y。

    (2)X与Y同号,X-Y与Y异号,商上0。因为这种情况是不够减的,所以需要先恢复余数,而原来的余数是减去Y得到的,因此,恢复余数需要加上Y,因此是Ri+Y,再左移一位,即2(Ri+Y),又由于恢复余数后,余数与除数同号,所以,通过减法比较大小,即2(Ri+Y)-Y=2Ri+Y。新余数为上一次余数左移一位,再减去Y,假设用Ri表示上一次的余数,则新余数Ri+1=2Ri-Y。

    (3)X与Y异号,X+Y与Y异号,商上0。因为这种情况是够减的,所以新余数为上一次余数左移一位,而X,Y异号,所以新余数与Y相加比价大小,则新余数Ri+1=2Ri+Y。

    (4)X与Y异号,X+Y与Y同号,商上1。因为这种情况是不够减的,所以需要先恢复余数,而原来的余数是加上Y得到的,因此,恢复余数需要减去Y,因此是Ri-Y,再左移一位,即2(Ri-Y),又由于恢复余数后,余数与除数异号,所以,通过加法比较大小,即2(Ri-Y)+Y=2Ri-Y。

    最后,将上商规则与新余数的形成方法进行总结,得到的结论就是:

    (1)上商1,则新余数通过2Ri-Y形成。

    (2)上商0,则新余数通过2Ri+Y形成。

    3.3 商符的确定

    根据前面的上商规则,我们不难理解得到的商的数值部分是补码,那么符号位是不是也是补码的符号位呢?事实证明,商符也是补码的符号位,也就是说,商符是在求商的过程中自动形成的。因为,在小数定点除法中,为了避免溢出,约定,被除数的绝对值必须小于除数的绝对值。因此,当X与Y同号时,X-Y与Y异号,上商0,正好与商的符号位一致。当X与Y异号时,X+Y与Y同号,上商1,也正好与商的符号位一致。由此可见,商符是在求商的过程中自动形成的。

    在教学过程中,学生一般对这部分内容感觉理解起来比较困难,主要是因为按算法进行运算时,在各个不同的运算步骤中都要根据不同的情况来进行分别处理。如比较时要根据除数与被除数同号与否分别作减、加运算;
    上商时要根据比较的结果是否够减分别上0或1,而判断够不够减又要分同号异号比较的结果为正还是为负……。总之,如果在教学过程中,授课老师仅仅只是按照算法的运算步骤一步步地介绍算法,学生很难真正理解并掌握这种重要的运算方法,甚至有可能对这门课程的学习失去兴趣和信心。所以,若教师能先把补码一位除法的运算规律总结一下,通过通俗易懂的方法进行说明每一步的由来,然后在教学过程中由浅入深的介绍算法原理并证明它,则教学效果必定能事半功倍。

    根据所授课对象的学情考虑,再结合定点除法运算这部分内容的特殊性,给出了定点除法运算原理通俗易懂的证明。同时笔者结合学校目前教学的实际条件,我将本部分的证明内容放在芯位教育平台相关章节部分,然后组织学生课前进行预习,并讨论。最终的教学效果还是非常理想的,学生不仅会进行除法运算,更能理解每一步运算的原理,极大增强了他们继续学习的信心与兴趣。

    引用

    [1] 李潇雯.以学生为中心的多元混合式教学活动设计研究与实践:以“计算机组成原理”课程为例[J].工业和信息化教育,2022(1):52-55.

    [2] 王俐.计算机组成原理课程教学改革探析[J].电脑与电信,2021 (8):61-63.

    [3] 范喆,沙全友.计算机组成原理课程在线教学设计探讨[J].科教文汇(下旬刊),2021(6):110-112.

    猜你喜欢 被除数除数运算 “除数是整十数的笔算除法”的教学实践与反思理科爱好者(教育教学版)(2022年1期)2022-04-14除法中的数学问题小学生学习指导·中年级(2022年2期)2022-02-14长算式的简便运算学苑创造·B版(2019年4期)2019-05-09加减运算符号的由来小天使·三年级语数英综合(2017年10期)2017-11-20“整式的乘法与因式分解”知识归纳中学生数理化·八年级数学人教版(2017年2期)2017-03-25被除数可能是多少读写算·小学中年级版(2017年1期)2017-02-28巧求被除数读写算·小学中年级版(2015年11期)2015-11-18商和除数可以交换位置吗读写算·小学中年级版(2015年6期)2015-06-26错中求对数学大世界·小学低年级辅导版(2010年4期)2010-03-25如何在除法估算中求近似数数学大世界·小学中高年级辅导版(2009年7期)2009-07-31 相关关键词: 编程语言及相关计算机硬件基础知识问答 计算机c语言基础知识 计算机硬件管理编程 借鉴计算机学科知识,对智能手机解构如下两个主要部分 计算机学科的三个过程
    相关热词搜索: 计算机 教学方法 为例

    • 范文大全
    • 教案下载
    • 优秀作文
    • 励志
    • 课件
    • 散文
    • 名人名言