《专题一运算计算机硬件技术基础4学时.ppt》由会员分享,可在线阅读,更多相关《专题一运算计算机硬件技术基础4学时.ppt(87页珍藏版)》请在三一办公上搜索。
1、计算机硬件技术基础,河北工业大学计算机科学与软件学院计算机基础教学部,主讲教师 王建勋,学时分配专题一用4学时2学时:2月17日第一讲片150+7881,53片 概述内容、“三微”、表示数、编码、逻辑运算 引出算术运算电路的求补电路2学时:片5077 先引出求补码和求补 算术运算,解决 本课学什么?掌握什么?怎样学?计算机中数及运算 随时考虑怎么用?按时完成,本课的地位,学习本课对基础知识的要求,本课教学目标,学习本课的方法,本课使用教材,授课章节及学时安排,实验内容及安排,第一讲的重点和难点,本课的地位,计算机文化基础,计算机技术基础,计算机应用基础,第一层,第二层,第三层,计算机软件技术基
2、础,计算机硬件技术基础,计算机硬件技术基础微机原理、微机接口、微机应用,微机运算基础 微机组成、基本工作原理、微机系统初步 了解CPU体系结构 了解存储器系统结构、作用 了解I/O接口基本功能、结构、端口的编址方式 和I/O同步控制方式 掌握中断概念、CPU响应中断的条件和处理过程 掌握指令系统和汇编语言程序设计(隐含的),微机原理(重点),了解并行接口与串行接口的共性与区别 掌握串行通讯的基本概念掌握可编程并行接口芯片的工作方式、初始化编程掌握定时器、计数器的原理、功能、应用与编程了解键盘、显示器等人机交互设备的作用、原理及接口方法 理解并掌握A/D,D/A转换原理、主要性能参数,了解典型D
3、AC、ADC集成芯片,与MPU的接口方法、应用及编程了解异步串行通讯协议、应用与编程,微机接口(重点),了解微机在测控系统中的应用了解计算机测控系统的实时处理概念和一般结构了解测控系统的分析和设计方法单片机应用系统的一般分析和设计方法(重点),微机应用,学习本课对基础知识的要求,预先应学习:1、计算机文化基础2、计算机软件技术基础3、数字电路、模拟电路4、电工基础,本课教学目标,基本知识,基本技能,思路方法,独立分析问题和解决问题的能力实践能力和创新能力综合运用能力独立获取知识的能力,教师讲解,学生“悟”,教学目标,传授知识与能力培养统一,理论与实践统一。,学习本课的方法,1、利用迁移原理 将
4、自身积累的知识充分发挥出来,迁移到本课新知识的学习。2、重视实践,独立思考,认真做实验3、带着问题学,寻找解决问题的知识、思路、方法,本课使用教材,课堂用教材:天大出版社 计算机硬件技术基础MCS-51单片机原理及应用实验指导书:本校印 计算机硬件技术基础实验指导书,授课章节及学时安排,实验内容及安排,内容:书P1P28重点:难点:“三微”的概念 减法运算的原理 机器数与真值 补码 补码、定点补码运算及 BCD 码、ASCII 码 判溢出 算术运算与逻辑运算 BCD码运算及调整作业:消化本讲内容,P33思考习题1 1-11-5 消化1.4.3 计算机中的运算 P33 1-11、1-12、1-1
5、3、1-14、1-15 1-16、1-17、1-18,第一讲,第一章 微型计算机基础,.1 微型计算机系统的概念 1、微处理器、微型计算机、微型计算机系统 2、本课主要讲授内容及要求专题一 计算机中的数、编码及运算 1.微型计算机的运算基础,第一讲,1.“三微”的概念,1、微处理器(MPU)算术逻辑单元 其核心cpu运算器和控制器 寄存器组 是微型计算机的核心部件 控制部件,2、微型计算机 MPU 为核心 半导体存储器(ROM/RAM)I/O(Input/Output)接口和中断系统 系统总线(CB DB AB),集成在一个半导体芯片上,组装在一块或数块印刷电路板上,多板微型计算机单板微型计算
6、机单片微型计算机,微型计算机的两大分支,核心器件,微处理器,微控制器,MicroProcessor Unit,embed,MicroController Unit,MPU,MCU,微机组成结构的两大类型,冯.诺依曼型,哈佛型,系统总线,例:PC机,例:MCS-51单片机,3、微型计算机系统,硬件系统,软件系统,硬件系统,微型计算机微处理器:运算器、控制器内存储器ROM:ROM、PROM、EPROM、E2PROM、Flash ROM RAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中断接口、DMA接口系统总线:数据、地址、控制总线(DB、AB、CB)外围设备输入/输出设备
7、A/D、D/A转换器开关量输入/输出终端,微型计算机微处理器:运算器、控制器内存储器ROM:ROM、PROM、EPROM、E2PROM、Flash ROM RAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中断接口、DMA接口系统总线:数据、地址、控制总线(DB、AB、CB)外围设备输入/输出设备A/D、D/A转换器开关量输入/输出终端,软件系统,系统软件操作系统编译系统监控程序汇编程序程序设计语言机器语言汇编语言高级语言应用软件,把汇编语言源程序翻译成机器语言目标程序的语言处理程序 自汇编程序 交叉汇编程序,本课的主要内容及要求,微型计算机,MPU 微处理器,存储器(内
8、存),I/O接口,系统总线,连线,编程,综合应用,器件的外特性掌握规律,具体机型:MCS-51单片微型计算机,Single-Chip MicrocomputerMicro-Controller,MCS-51 单片机的基本组成一、中央处理器CPU二、时钟电路三、内部存储器四、定时器/计数器(T/C)五、并行I/O口六、串行口七、中断控制系统,14 微型计算机运算基础(p12)1.4.1 计算机中数的表示方法 1.4.2 计算机中的编码 1.4.3 计算机中的运算,重点解决:计算机的重要职能之一处理数 在计算机中如何表示一个数?不同性质数的运算规则和算法。,几个重要概念复习不同进制数之间的互换(黑
9、板)3.机器数与真值4带符号数的原码、反码、补码5数的定点与浮点表示,1.4.1 计算机中数的表示方法,1 几个重要概念,重点概念1:计算机中的数据都是以二进制形式进行存储和运算的,重点概念2:在计算机中存储数据时,每类数据占据固定长度的二进制数位,而不管其实际长度。一般长度为字节的整倍数,重点概念3:计算机中不仅要处理无符号数,还要处理带符号和带小数点的数。,例如:在八位微机中,整数216 存储为11011000B 整数56 存储为00111000B,重点概念4:机器数与真值,2 不同进制数之间的互换,4、用权表示数(2n 2n-1 2n-1 2n-1-1)1)权 n位二进制数各位的权从高位
10、到低位依次为:n位二进制数:Bn-1Bn-2Bn-3 B1B0权:2n-12n-22n-3 2120 2)用权表示数例:111111111B=2n-1,即n个1。011111111B=2n-1-1,即n-1个1 最高位的权为:2n-1例:n=8,11111111B=FFH=28-1 01111111B=7FH=28-1-1例:n位二进制数表示无符号数的范围:02n-1 n=8 0 28-1 0 255 n=16 0 216-1 065535,n=32?N=64?,3.机器数与真值,1)机器数:能被计算机识别的数称为机器数。2)真值:机器数所代表的真实值称为机器数的真值。3)对于无符号数其机器数
11、与真值表示方法相同。例:真值:100=64H=01100100B 对应的机器数:64H=01100100B n位二进制数可表示的数的范围是:0 2n-1 8位二进制数可表示的数的范围是:0 28-1,0,FFH,0,255 16位二进制数可表示的数的范围是:0 216-1,0,FFFFH,0,65535 例:01100100B 其8位全部为数值位。特点:无符号数的机器数与其真值为等值关系,4)带符号数的机器数的表示方法(重点和难点)常见的有原码、反码和补码三种表示方式。,特点:带符号数的机器数与其真值表示方法不同,两者的关系不是等值关系,仅是一一对应关系。,例如:在八位微机中,真值:65可表示
12、成机器数(原码)为01000001B真值:65可表示成机器数(原码)为11000001B,0,1,1,0,0,0,0,0,符号位,数值位,符号位:“0”表示正号“1”表示负号,4 带符号数的原码、反码、补码,(1)原码定义:在表示带符号数时,正数的符号位为“0”,负数的符号位为“1”,数值位表示数的绝对值,这样就得到了数的原码。例如在八位微机中:38原100110原00100110B38原100110原10100110B,计算公式:对于字长为n位的机器数:当真值X0时,X可表示为Xn-2Xn-3X0;当真值X0时,X可表示为Xn-2Xn-3X0,则X的原码可定义为:,可见n位原码可表示数的范围
13、为:(2n11)(2n11)则在八位微机中,码可表示数的范围为127至127求真值:带符号数的原码表示法简单易懂,而且与真值转换方便。,此公式第一项即是原码,等号后面是由真值求原码(负),原码的缺点:l“0”的原码有两种形式,这在运算中非常不方便。0原 00000000B 0原 10000000B,即分为0和0l原码在进行两个异符号数相加或两个同符号数相减时,需做减法运算,由于微机中一般只有加法器而无减法器,所以,为了把减法运算转变为加法运算就引入了反码和补码。原码的用途:l原码做乘除法运算方便,两数的符号和数值分别处理 积的符号为两数符号位的异或运算结果 积的数值部分为两数绝对值相乘的结果,
14、(2)反码定义:正数的反码表示与原码相同;负数的反码,可将负数原码的符号位保持不变、数值位按位取反得到,或者将负数看作正数求原码,再将所有位按位取反得到。因此,在n位机器数的计算机中,数X的反码定义为:,缺点:“0”的反码也有两种表示法,即0和0。0反00000000B 0反11111111B,n位反码表示数的范围与原码相同,八位二进制反码表示的范围仍是127至127。,例如八位微机中:,求真值:由反码求得原码,再由原码求得真值,即可得到反码的真值。例如:反码11011001B,符号位为1,将数值位按位取反,得到原码10100110B,其真值为0100110B即十进制数38。,(3)补码(难点
15、)定义:正数的补码表示与原码相同 负数的补码等于它的反码末位加1 即X补X反1 例如:,补码的含义:以时钟对时为例来说明,现由7点钟调到4点钟。,顺时针调:79 4(mod 12),逆时针调:73 4(mod 12),由于时钟上超过12点时就会自动丢失一个数12,这个自动丢失的数叫做“模”(module,简写为mod),由补码的定义得求补码公式:,l则n位补码表示数的范围为:2n1(2n11)l八位二进制补码表示的数值范围是128至127。优点:0的补码为00000000B,只有这一种形式。,(mod 2n),已知补码求真值:已知正数的补码求真值与原码相同,只要将符号位的0变为(正号),即得到
16、它的真值。已知负数的补码求真值方法1:将负数补码的数值位按位取反再加1,将符号位的1变为(负号),即得到它的真值。方法2:用公式:X=-(2n-X补)已知 补码为 01111111B,其真值为+1111111B=+7FH 已知 补码为 11111111B,其真值为:10000000B+1=10000001B,其真值为01H或:X=(28 11111111B)=(00H-FFH)=1,小结:已知带符号数的机器数求真值,1.已知正数的原码、反码、补码求真值,只需将符号位的“0”改为正号“+”即可。2.已知负数的原码,其真值只需将原码的符号位的“1”改为负号“-”即可。3.已知负数的反码,先将它变为
17、原码,再求真值。或用公式计算:真值x=-(2n-1-x反)4.已知负数的补码,数值位取反加1,符号为改为-号,或 用公式:X=-(2n-X补),例:已知带符号数的机器数为 56H,求其真值。真值=+56H例:已知带符号数的机器数为 0D6H,求其真值。若0D6H是原码,则真值为:-56H 11010110B-1010110B 若0D6H是反码,则真值为:-29H-(0FFH-0D6H)若0D6H是补码,则真值为:-2AH-(00H-0D6H),当n=8时,几种码的表示范围,当n=16时,几种码的表示范围,5 数的定点与浮点表示,计算机中如何表示实数中的小数点呢?,计算机中不用专门的器件表示小数
18、点,而是用数的两种不同的表示法来表示小数点的位置。,根据小数点的位置是否固定,数的表示方法分为定点表示和浮点表示,相应的机器数称为定点数和浮点数。,任意一个二进制数N均可表示为:NS2J 其中:S称为数N的尾数,表示数N的全部有效数字,决定了N的精度。J称为数N的阶码,底为2,指明了小数点的位置,决定了数N的大小范围。,(1)定点表示法 计算机在处理定点数时,常把小数点固定在数值位的最后面或最前面,即分为定点纯小数与定点纯整数两类,如图1-6所示。,例如:00011000B,如果看作定点纯整数,其真值为24 看作定点纯小数,其真值为0.1875,(2)浮点表示法,在浮点表示法中,小数点的位置是
19、浮动的,阶码J可取不同的数值,则在计算机中除了要表示尾码S,还要表示阶码J。因此,一个浮点数表示为阶码和尾数两部分,尾数一般是定点纯小数,阶码是定点纯整数,其形式如图1-7所示。,(469.375)10(111010101.011)2(229(221001B补1001B补00001001B,例如,某计算机用32位表示浮点数,尾数部分占24,为补码定点纯小数;阶码为8位补码定点纯整数。用来表示一个数469.375,先进行变换:,因此,数469.375在该计算机中的浮点表示为:,1.4.2 计算机中的编码,ASCII码:由七位二进制编码组成,共有128个字符编码。包括图形字符(字母、数字、其它可见
20、字符共96个)和控制字符(回车、空格等共32个)其中 数字09的ASCII码为30H39H,差30H 字母AF的ASCII码为41H46H,差37H D7位加奇偶校验位:无校验 D7位补0 奇校验 D7位使含1的个数为奇数个 偶校验 D7位使含1的个数为偶数个 例:30H 00110000H D7补0为无校验和偶校验 10110000H D7补1为奇校验,BCD编码:具有十进制位权的二进制编码。最常见的是8421码。(见书17页)注意:0000B1001B是09的BCD码 1010B1111B是非BCD码 例:15 的BCD码为0001 0101B=15H 15=0FH 100=64H 100
21、的BCD码为0001 0000 0000B=100H 压缩的BCD码 56H 占一个存储单元 非压缩BCD码 05H 06H 占两个单元,逻辑运算 1、与 3、非 2、或 4、异或 算术运算1加/减运算电路及二进制无符号数四则运算2带符号数补码运算及判OV3BCD码加/减法及十进制调整 4、算术运算小结,1.4.3 计算机中的运算,计算机中的运算分为两类:逻辑运算:逻辑“与”、“或”、“非”、“异或”等算术运算:加、减、乘、除运算,1加/减运算电路及二进制无符号数的四则运算,加/减运算电路,减法的实现,减法时SUB=1,有取反加1功能加法时SUB=0无取反加1功能,求 补电 路,二进制无符号数
22、的四则运算,(1)加法运算二进制加法法则为:00010011111011111,例:二进制无符号数加法,1、求 187+22,结果:11010001B 即209 SUB=0,C8=0,CY=0,2、求200+200,结果:SUB=0,C8=1,CY=1 和=进位值+8位和值=256+10010000B=400,1,1,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,1,1,结果:11010001B 即209 SUB=0,C8=0,CY=0,1,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,1,0,0,结果:SUB=0,C8=1,CY=1 和=进位值+8位和值=256+
23、10010000B=400,(2)减法运算法则:(借1当2),手算:,例:求 187-22,例:二进制无符号数减法,结果:无借位,差为10100101B 即165,直接减,取反,1,1,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1,1,机器算:,难点,被减数10111011B 减数 00010110B,求补电路,减法 SUB=1,加1,对减数求补后,加被减数,例:求187-22,结果:10100101B 即165 无借位,SUB=1,C8=1,CY=0说明:直接相减无借位,求补相加有进位,反之亦然。,(3)乘法运算法则 00=0 01=10=0 11=1,常用算法:1、左移加
24、2、右移加3、连加P124例4-23,(4)定点整数除法运算,2带符号数定点补码运算及判OV,定点补码运算定律:当X,Y,X+Y,X-Y均在2n1(2n11)范围内时,则:补补补 补 X补 Y补=+()补=补补 如果XY,X-Y的值不在2n1(2n11)范围内(n=8时-128,127),则机器就产生了溢出错误,上式不成立,运算结果无意义。,溢出判别(overflow),(1)定点补码加法 步骤:、将、(或)转换为补码。、进行加法运算,符号位参与运算。,编写出程序片段:MOV A,#76;(A)=4CH=01001100BADD A,#23;(A)=4CH+17H=63H OV=0或:MOV
25、A,#4CH;(A)=4CH=01001100BADD A,#17H;(A)=63H,真值,补码,两个正数的和为负数,两个负数的和为正数,两个正数的和为负数,两个负数的和为正数,溢出后,运算结果无意义,需要将两个操作数扩大位数后,再算。例1-5 可将76的补码写成004CH,69得补码写成0049H 计算:0 000 0000 0100 1100B+0 000 0000 0100 1001B 0 000 0000 1001 0101B=0095H C16 C15 OV=0,不溢出 例1-6同理,用16位二进制数表示数,-76得补码为FFB4H-69的补码为FFBBH,再算即可。,双符号位法判断
26、溢出变形码 用两位来表示符号:00表示正号,11表示负号,称为变形码。用变形码进行加法运算时,两位符号位同数值位一起参加运算,运算后,若运算结果的两个符号位相同,则没有溢出;若运算结果的两个符号位不同,则发生了溢出,运算结果错误。用Sf和Sf表示运算结果的两个符号位,则有:OVSfSf,(2)定点补码减法运算 XY补 X补 Y补 X补Y补,作加法,需人工求补做减法,机器自动求补,步骤:、将、(或)转换为补码。、进行减法运算,符号位参与运算。判溢出的方法与加法相同,例1-9 已知X76,Y23,求XY,编写出程序片段:MOV A,#76;(A)=4CH=01001100BMOV B,#-23;(
27、B)=0E9HCLR CSUBB A,B;(A)=4CH-0E9H=63H OV=0,4CH,0E9H,典型算法:两个带符号数比较大小 用S表示和的符号位,OV为溢出标志位则:X补 Y补 S OV 比较结果 0 0 XY 0 1 XY,3BCD码加法及十进制调整,编写出程序片段:MOV A,#68H;(A)=68H=01101000BADD A,#49H;(A)=B1HDA A;(A)=B1H+66H=17H CY=1 代表100 结果:117,必须写BCD码不能写真值,说明:如果指令系统中有BCD码的减法调整指令,即可直接用该指令完成上述调整。如果指令系统中没有BCD码的减法调整指令,则不能
28、用减法指令直接对两个BCD码进行减法运算,而需对减数求补,进行加法运算,然后用加法运算的调整指令进行调整。对八位微机,BCD码的模为100(十进制数),减去减数实现对减数的求补。为在八位加减运算电路中运算,将100表示成9AH,即10011010B,减去减数求补。,例1-17 已知X68,Y49,求XY,求补,编写出程序片段:CLR CMOV A,#9AH;(A)=9AH MODSUBB A,#49H;(A)=51H BCDADD A,#68H;(A)=B9H 非BCDDA A;(A)=19H BCDCPL C;CY=0 无借位,差=19HBCD 求补相加有进位,直接相减位无借位,反之,有借位
29、。,算术运算小结1、求补码与求补 求补码:已知真值求补码 求补:两个含义:减法变加法;减数变成模内互补的数。对于无符号数来说,减去一个数,在模内运算则等于加上一个与之互补的数。两个互补的数的和等于模。对于带符号数,由于符号位与数值位一起参与运算,当不溢出时,运算规律与无符号数相同。即把带符号数当作无符号数一样处理。求补的含义转换为:已知X补,求-X补,减变加 即减正变加负,减负变加正。例如:10-1=?按无符号做,10+255=9 按带符号数做,10+-1补=10+0FFH=9(模256丢失),X-Y=X+2n-Y=2n+(X-Y)1、X=Y,X-Y=0,则 X-Y=2n+(X-Y)=X-Y,
30、进位为2n,即模2n丢失,也即,X-Y=2n+(X-Y)=2n 也即,直接相减没借位,求补相加有进位;2、XY,X-Y0,则 X-Y=2n+(X-Y)2n 也即,直接相减有借位,求补相加无进位。,对二进制数来说 模为2n,2、算术运算与标志位 对于运算器来说:只根据加/减命令对送给它的两个操作数进行相应的运算,并不区分是什么性质的数,并且根据运算结果,填写标志位。其运算结果代表什么完全由用户决定。一般情况下:无符号数运算判CY 定点带符号补码运算判溢出OV BCD码运算判CY,机器调整判AC、CY,例:求62+98=?1、作无符号数运算,结果0A0H=160,CY=0。一般,CY=0,结果在0
31、255之间,CY=1,代表256,结果在0256+255之间 2、做带符号补码运算,OV=1,正溢出,结果无意义。一般,结果应在-128127之间,超出则溢出。可扩大位数到16位再重新做。3、做BCD码运算,必须送BCD 码,调整后,CY=1,代表100,(A)=60H,代表 60,合成后代表160。一般,CY=0,结果在0099之间 CY=1,代表100,结果在00199之间 4、位数相同,性质不同的数,表示数的范围不同。,逻辑运算计算机由专门的逻辑电路完成一些逻辑运算。逻辑运算都是位对位运算,即运算中位与位之间互不相关,不存在进位或借位,比算术运算简单。(1)逻辑与运算 逻辑与的运算符为“
32、”,其运算规则为:000 01l00 111,逻辑与运算的真值表,逻辑“与”的作用:1、将一个字的一部分析取出来,与1 2、将一个字的一部分清0,又称屏蔽 与03、可用于“拆字”4、自身相与,不变,析取,清零,例:将56H拆成05H和 06H MOV A,#56H;(A)=01010110B=56H ANL A,#0FH;(A)=00000110B=06H MOV 30H,A;(30H)=06H MOV A,#56H;(A)=56H ANL A,#0F0H;(A)=01010000B=50H SWAP A;(A)=00000101B=05H,析取低四位屏蔽高四位,(2)逻辑或运算 逻辑或的运算
33、符为“”,其运算规则为:000 01101 111,逻辑或运算的真值表,逻辑“或”的用途 1、某位置1 2、自身相或,不变 3、拼字,或0,不变,或1,置1,例:求9的ASCII码 MOV A,#30H;(A)=00110000B ORL A,#09H;(A)=00111001B=39H,(3)逻辑非运算 逻辑非运算的真值表 逻辑非又称为“求反”运算,它的运算规则是:1=0 0=1 这里“0”或“l”上面的“一横”表示“非”运算,或称“求反”,其真值表如表所示。微型机中通常有“求反”(CPL)指令。在机器中求一个数的补码,就是先求该数的“反”,再在末位加1得到的。,例:求-5的补码 MOV A,#5;(A)=00000101B CPL A;(A)=11111010B INC A;(A)=11111011B=0FBH,-5的补码,例:将68H的低四位求反MOV A,#68H;(A)=01101000BXRL A,#0FH;(A)=01100111B,高四位不变低四位变反,专题一 结束,下次见,