《计算机组成原理》教案48学时Word格式.docx
《《计算机组成原理》教案48学时Word格式.docx》由会员分享,可在线阅读,更多相关《《计算机组成原理》教案48学时Word格式.docx(88页珍藏版)》请在冰豆网上搜索。
本课程旨在让学生熟悉运算器、存储器、控制器等部件的构成原理、功能和作用,以便更好地开发和利用硬件资源,提高计算机的利用效率。
课程的目的:
1、熟悉计算机组成结构、原理、功能、作用。
2、理解计算机硬件与软件之间的关系。
3、为计算机系统的学习和应用打下良好的基础。
教学重点及难点:
教学重点:
运算器、存储器、控制器等部件的构成原理、功能和作用,及各部件之间协调工作。
难点:
运算器和控制器的功能、组成及工作原理
注:
表中()选项请打“√”。
附件3:
章节或分次(课时)教案
计算机组成原理 课程授课教案
周次
1
课次
课时
2
课型
√理论课□讨论课□实验课□习题课□其他
章节
名称
第1章计算机系统概论
教学目的及要求:
目的:
掌握计算机硬件系统和软件系统的组成与功能
了解计算机系统的五级层次结构
要求:
从不同的角度理解并掌握计算机硬件系统结构
教学重点与难点:
重点:
计算机硬件系统结构
计算机系统层次结构
教学方式方法、手段:
讲授法、归纳法
辅助手段:
图表法
教学过程:
一、计算机硬件系统
如图1.1和图1.2所示
图1.1计算机系统
图1.2计算机各硬件之间的通路
二、计算机软件系统
如图1.1和图1.3所示
图1.3计算机语言
三、计算机系统层次结构
级别
说明
第5级
高级语言级
第4级
汇编语言级
第3级
操作系统级
第2级
机器语言级
第1级
微程序级(硬件级)
讨论、练习、作业:
无
教学反思:
能够清晰地讲解课程的重点、难点,内容讲解透彻、层次清晰、逻辑性强、信息量大,时间分配合理,师生互动效果良好,板书工整。
参考书目资料:
《计算机组成与结构》(第五版)王爱英著,清华大学出版社2013.01
填表说明:
1.每项页面大小可自行添减,一次课(二或三节)写一份上述格式教案。
重复班只填写一份。
2.课次为授课次序,填1、2、3……等。
2.1数据的表示
掌握数制及数制之间的转换方法
掌握带符号数的四种编码表示方法及其相互转换
熟练进行数制转换、编码转换
原码、反码、补码、移码之间的相互转换
带符号定点数的四种编码与真值之间的转换
一、数制及其转换方法
(一)数制
数制
基本数码
位系数Ki
基数
位权
位值
权展开式
十进制
0~9
10
10i
Ki*10i
二进制
0、1
2i
Ki*2i
八进制
0~7
8
8i
Ki*8i
十六进制
0~9、A~F
16
16i
Ki*16i
(二)数制之间的转换(等值、相互)
1.十进制与N进制之间的转换(N为2、8、16)
1)十进制<
-N进制(按权相加法)
即将N进制数的权展开式写出来,然后用十进制的运算规则进行运算,最后相加得到的和,即为该N进制数转换到的等值十进制数。
2)十进制->
N进制
(1)整数部分(除基逆取余,商为零止)
用该十进制的整数部分,除以要转换到的进制的基数,除到商为零时停止,然后按逆序取每次得到的余数,即为该十进制数转换到的等值N进制数。
(2)小数部分(乘基顺取余,达精度止)
用该十进制的小数部分,乘以要转换到的进制的基数,乘到满足精度要求为止,然后按顺序取每次得到的整数,即为该十进制数转换到的等值N进制数。
2.二进制与2m进制之间的转换(m为3、4)
1)二进制<
-2m进制(m位变1位)
对二进制数以小数点为界,向左右两侧进行分组,每m位为1组,1组转换成1位2m进制的数。
2)二进制->
2m进制(1位变m位)
用除基逆取余法,将1位2m进制的数转换成m位二进制数。
二、带符号定点数的编码表示及其相互转换
(一)定点数的概念(小数点位置固定的数,表示时可省略小数点)
1.定点整数:
小数点位置固定在数值位的末尾
2.定点小数:
小数点位置固定在数值位的前面
3.定点数表示方法
类别
符号位
数值位
定点整数
Xn
Xn-1Xn-2……X1X0
N位定点整数
定点小数
X0
X-1X-2……X-(m-1)X-m
M位定点小数
(二)带符号定点数的编码表示(适用于定点整数和定点小数)
1.带符号数的机器码
1)真值:
带“+、-”号的数
2)符号数值化:
即用0和1表示“+、-”号
3)用二进制数表示
4)有四种编码方式:
原码、反码、补码、移码
2.原码(符号位连接绝对值的数值位|X|)
[X]原=0|X|,X>
[X]原=1|X|,X<
定点字节整数原码表示数的范围如表2.2所示,范围为:
-(28-1-1)~+(28-1-1),则n位定点整数原码表示数的范围为:
-(2n-1-1)~+(2n-1-1),其中+0和-0的原码是不相同的。
二进制数
原码范围
反码范围
补码范围
个数
00000000
+0
128个
正数
……
01111111
+127
10000000
-0
-127
-128
负数
11111111
-1
3.反码(负数的反码为其原码数值位按位取反,符号位不变)
[X]反=0|X|,X>
[X]反=1
,X<
定点字节整数反码表示数的范围如表2.2所示,范围为:
-(28-1-1)~+(28-1-1),则n位定点整数反码表示数的范围为:
-(2n-1-1)~+(2n-1-1),其中+0和-0的反码是不相同的。
4.补码(负数的补码为其反码数值位末位加1,符号位不变)
[X]补=0|X|,X>
[X]补=1(
+1),X<
定点字节整数补码表示数的范围如表2.2所示,范围为:
-28-1~+(28-1-1),则n位定点整数补码表示数的范围为:
-2n-1~+(2n-1-1),其中+0和-0的补码是相同的。
5.移码(也叫增码,移码为其补码符号位取反,数值位不变)
[X]移=1|X|,X>
[X]移=0(
移码只用来表示浮点数阶码,只进行加减运算。
(三)带符号定点数的编码之间的转换
1.正数的原码、反码和补码是一样的,符号位固定为0
2.负数的原码、反码和补码关系为:
1)符号位固定为1
2)负数的反码为其原码数值位按位取反,符号位不变
3)负数的补码为其反码数值位末位加1,符号位不变
4)负数的原码为其补码数值位末位减1再变反,或者补码数值位变反末位加1,符号位不变
3.移码和补码的关系为:
移码为补码符号位取反,数值位不变
62页第1、2题
3
2.2定点加法、减法运算
熟练掌握用补码定点加法、补码定点减法运算的方法
熟练进行定点加法运算、定点减法运算
定点加法、减法运算
定点加法、减法运算方法
一、定点加法运算
(一)补码加法
1.公式:
[X]补+[Y]补=[X+Y]补(mod2n+1)
2.例题:
27页例11和例12题
(二)补码加法溢出检测方法
1.溢出的概念:
超出所能表示数的范围
2.溢出检测方法
(1)双符号位法:
也称变形补码法
两个加数X和Y分别用双符号位补码进行运算,00表示正数,11表示负数,若相加结果两符号位相同,则没有溢出,否则有溢出,10表示负溢,01表示正溢。
溢出标志V=Sf1⊕Sf2
例题:
29页例17和例18
(2)单符号法
两个加数X和Y分别用单符号位补码进行加法运算,0表示正数,1表示负数,若相加结果最高数值位进位标志C0和符号位进位标志Cf不一致,则有溢出,否则无溢出。
溢出标志V=Cf⊕C0
(四)基本的二进制加法/减法器
1.一位全加器
2.n位串行(行波)进位加法器
二、定点减法运算
[X-Y]补=[X]补+[-Y]补
2.[-Y]补的求法:
将[Y]补所有位(包括符号位)变反,末位加1。
此过程叫做求补运算,不是求补码。
3.例题:
28页例13和例14题
62页第5、6题
4
2.3定点乘法(上)
熟练掌握用原码乘法运算的方法
熟练进行定点乘法运算
定点乘法运算
定点阵列乘法运算方法
定点原码并行乘法运算
1.不带符号的阵列乘法器
已知:
被乘数[X]原=XfXm-1……X1X0,乘数[Y]原=YfYn-1……Y1Y0
则:
乘积[Z]原=(Xf⊕Yf)(Xm-1……X1X0)*(Yn-1……Y1Y0)
=ZfZm+n-1……Z1Z0
其中:
Xf和Yf分别为被乘数与乘数的符号位;
乘积数值位被乘数与乘数的数值位之和,即m+n位。
运算规则:
1)乘积的符号位为两数的符号位异或,即Zf=Xf⊕Yf
2)乘积的数值部分则是两个正数相乘之积
即Zm+n-1……Z1Z0=(Xm-1……X1X0)*(Yn-1……Y1Y0)
数值相乘的过程与手工乘法类似:
Xm-1Xm-2……X1X0
X)Yn-1……Y1Y0
Xm-1Y0Xm-2Y0……X1Y0X0Y0
Xm-1Y1Xm-2Y1……X1Y1X0Y1
……………
+)Xm-1Yn-1Xm-2Yn-1……X1Yn-1X0Yn-1
Zm+n-1……Z1Z0
上述过程说明了与门电路产生被加数的过程及mXn乘法阵列实现被加数求和过程,实现电路如下图所示:
34页例19题
62页第7题
5
2.3定点乘法(下)
定点原码并行乘法运算
2.带符号的阵列乘法器
被乘数X=XmXm-1……X1X0,乘数Y=YnYn-1……Y1Y0
乘积Z=(Xn⊕Yn)(Xm-1……X1X0)*(Yn-1……Y1Y0)
=Zm+nZm+n-1……Z1Z0
Xm和Yn分别为被乘数与乘数的符号位,Zm+n为乘积的符号位;
乘积数值位是被乘数与乘数的数值位之和,即m+n位。
1)算前求补:
将两个操作数X和Y先变成正整数
2)不带符号的乘法阵列:
对两个正整数相乘
3)算后求补:
当两个输入操作数的符号不一致时,把运算结果变换成带符号的数
带符号的阵列乘法器(也称符号求补的阵列乘法器,或者称带求补级的阵列乘法器)如下图所示:
带求补级的阵列乘法器既适用于原码乘法,也适用于间接的补码乘法。
在原码乘法中,算前求补和算后求补都不需要,因为输入数据都是立即可用的。
在间接的补码阵列乘法却需要使用三个求补器,算前求补器将输入的两个乘数补码求出对应的绝对值,送入不带符号乘法阵列器中运算;
算后求补器,将不带符号乘法阵列运算得到的值,转换为乘积的补码。
35页例20、21题
6
2.4定点除法运算
熟练掌握定点除法运算的方法
熟练进行定点除法运算
定点除法运算
定点阵列除法运算方法
一、定点除法运算
(一)原码除法算法原理
两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。
设有n位定点小数(定点整数也同样适用):
被除数[X]原=Xf.Xn-1……X1X0,除数[Y]原=Yf.Yn-1……Y1Y0
则:
商[Q]原=(Xf⊕Yf)(0.Xn-1……X1X0)/(0.Yn-1……Y1Y0)
=Qf.Qn-1……Q1Q0
其中:
Xf和Yf分别为被除数与除数的符号位,商的符号Qf=Xf⊕Yf
原码除法手算的过程:
例:
设被除数x=0.1001,除数y=0.1011,手算求x÷
y。
0.1101商q
0.10110.10010x(r0)被除数小于除数,商0
-0.010112-1y除数右移1位,减除数,商1
0.001110r1得余数r1
-0.0010112-2y除数右移1位,减除数,商1
0.00001100r2得余数r2
-0.000010112-4y除数右移1位,减除数,商1
0.00000001r4得余数r4
得x÷
y的商q=0.1101,余数为r=0.00000001
在计算机中,小数点是固定的,不能简单地采用手算的办法。
为便于机器操作,使“除数右移”和“右移上商”的操作统一起来。
机器除法运算的特点:
先减,后判断。
(二)定点原码并行除法器
1.可控加法/减法(CAS)单元
有四个输出端和四上输出端。
当输入线P=0是,CAS做加法运算;
当P=1时,CAS做减法运算。
Bi除数右移。
2.不恢复余数的阵列除法器(也称加减交替法阵列除法器)
不恢复余数法的除法阵列由一组可控加法/减法(CAS)单元的阵列来构成。
在不恢复余数的除法阵列中,每一行所执行的操作究竟是加法还是减法,取决于前一行输出的符号与被除数的符号是否一致。
当出现不够减时,部分余数相对于被除数来说要改变符号。
这时产生一个商位“0”,除数首先沿对角线右移,然后加到下一行的部分余数上。
当部分余数不改变它的符号时,即产生一个商位“1”,下一行的操作应该是减法。
在不恢复余数的除法阵列中,完成定点数除法数值运算过程如下:
(1)初始操作是被除数X减除数Y,即[X]补+[-Y]补
(2)若余数为负,则商上0,除数右移一位,下一步做加法;
(3)若余数为正,则商上1,除数右移一位,下一步做减法;
(4)循环n+1次
已知x=0.101001,y=0.111,求x÷
y
解:
[|y|]补=0.111[-|y|]补=1.001[|x|]补=0.101001
0.101001
+[-|y|]补1.001
1.110001r0<
0,商0
+[|y|]补0.0111
0.001101r1>
0,商1
+[-|y|]补1.11001
1.111111r2<
0,商0
+[|y|]补0.000111
0.000110r3>
QS=XS⊕YS=0⊕0=0RS=XS=0
所以,商q=0.101,余数r=0.000110
63页第8题
7
2.5定点运算器的组成
了解定点运算器的组成
基本组成包括:
1)算术逻辑运算单元ALU:
核心部件
2)暂存器:
用来存放参与计算的数据及运算结果,它只对硬件设计者可见,即只被控制器硬件逻辑控制或微程序所访问。
3)通用寄存器堆:
用于存放程序中用到的数据,它可以被软件设计者访问。
4)内部总线:
用于连接各个部件的信息通道。
(一)逻辑运算(没有进位)
所谓逻辑数,是指不带符号的二进制数,是非数值型数据,表示的是计算机所要处理的一些状态信息。
利用逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。
计算机中的逻辑运算,主要是指逻辑非、逻辑加、逻辑乘、逻辑异四种基本运算。
(二)多功能算术/逻辑运算单元(ALU)
本节我们介绍的多功能算术/逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。
它的逻辑功能图如下图所示:
74181是一个四位的ALU,它有两种工作方式。
对正逻辑操作数来说,算术运算称高电平操作,逻辑运算称正逻辑操作(即高电平为“1”)。
对于负逻辑操作数来说,正好相反。
由于S0~S3有16种状态组合,因此,ALU有16种算术运算和16种逻辑运算功能。
控制端M用于控制ALU是进行算术运算还是逻辑运算。
当M=0时,进行算术运算。
当M=1时,进行逻辑运算。
(三)内部总线
总线是计算机内各部件之间传送信息的公用的一组连线。
根据总线所在位置,总线分为内部总线和外部总线两类。
内部总线是指CPU内各部件的连线,而外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。
按总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线。
所谓单向总线,就是信息只能向一个方向传送。
所谓双向总线,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据。
(四)定点运算器的基本结构
运算器包括ALU、阵列乘/除法器、寄存器组、多路开关、三态缓冲器、数据总线等逻辑部件。
运算器的设计,主要是围绕ALU和寄存器组与数据总线之间如何传送操作数和运算结果的。
计算机的运算器有如下三种结构形式。
1.单总线结构的定点运算器
在单总线结构中,输入数据和输出操作结果需要三次串行的选通操作。
控制电路比较简单。
2.双总线结构的定点运算器
在双总线结构中,操作的控制要分两步完成:
(1)在ALU的两个输入端输入操作数,形成结果并送入缓冲寄存器;
(2)把结果送入目的寄存器。
3.三总线结构的定点运算器
在三总线结构中,ALU的两个输入端分别由两条总线供给,而ALU的输出则与第三条总线相连。
这样,算术逻辑操作就可以在一步的控制之内完成。
另外,设置了一个总线旁路器。
如果一个操作数不需要修改,而直接从总线2传送到总线3,那么可以通过控制总线旁路器把数据传出。
操作时间