您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理_白中英_教案
目录第一章计算机系统概论第二章运算方法和运算器第三章存储系统第四章指令系统第五章中央处理器第六章总线系统第七章外围设备第八章输入输出系统第一章计算机系统概论•§1.1计算机的分类和应用•§1.2计算机的硬件•§1.3计算机的软件•§1.4计算机系统的层次结构§1.1计算机的应用和分类•1.1.1计算机的分类–模拟计算机和数字计算机–数字计算机又分为•通用机•专用机(DSP、IOP、工控机)•去年最快的计算机•目前最快的计算机返回通用计算机分类•返回今年最快的计算机(2003)•日本富士通公司-超级高速电子计算机。HPC2500•最大扩展能力可将16384个中央处理器连接起来进行计算,其理论演算速度为每秒钟85.1万亿次(太拉FLOPS),比目前世界上运算速度最快的超级计算机还要快1倍多。•太拉FLOPS:运算单位,表示每秒运算1012浮点运算•太拉=1012=T返回去年最快的计算机(2002)•日本宇宙开发事业团、日本原子能研究所及海洋科学技术中心-地球模拟器•地球模拟器配备有5120个处理器,理论峰值运算性能可达40太拉FLOPS,是一台处理能力惊人的超级计算机。其性能可与10万~20万台个人电脑相匹敌。返回1.1.2计算机的应用•科学计算•自动控制•测量和测试•信息处理•教育和卫生•家用电器*•人工智能返回§1.2计算机的硬件存储器输入设备输出设备控制器运算器地址线控制线数据线•一般的计算机结构框图(存储器为中心)总线相连的计算机模块1.运算器•算术运算和逻辑运算•在计算机中参与运算的数是二进制的•运算器的长度一般是8、16、32或64位运算电路单元寄存器B累加器A2.存储器•存储器–存储数据和程序)–容量(存储单元、存储单元地址、容量单位)–分类内存(ROM、RAM)、外存–存储器单位:210byte=1K210K=1M210M=1G210G=1T计算机存储体系示意图计算机存储体系示意图3、控制器•控制器–指令和程序(计算机工作原理)–指令的形式(操作和地址码、存储程序的概念、指令中程序和数据的存放、指令系统)–控制器的基本任务:按照一定的顺序一条接着一条取指令、指令译码、执行指令。取指周期和执行周期–指令流和数据流•4、适配器与I/O设备•计算机的发展(系统结构1.2doc)返回手工模仿计算机工作(1)手工模仿计算机工作(2)•加法001•减法010•乘法011•除法100•取数101•存数110•打印111•停机000操作码操作数§1.3计算机的软件•分类–系统软件•操作系统•各种服务程序•语言程序•数据库管理系统–应用软件返回发展演变(以系统软件为例)•手编程序•汇编程序•算法语言•操作系统–BPOS–TSOS–RTOS–NWOS返回§1.4计算机系统的层次结构高级语言机器虚拟机M4汇编语言机器虚拟机M3操作系统级虚拟机M2一般机器级虚拟机M1微程序设计级虚拟机M0编译程序汇编程序操作系统微程序由硬件直接执行软件硬件•多级组成的计算机系统软件与硬件逻辑等价性•任何操作可以由软件来实现也可以有硬件来实现(设计计算机系统时,应考虑各个方面的因素)•实体硬件机功能的扩大•固件的概念(功能上是软件,形态上是硬件)返回第二章运算方法和运算器•信息在计算机中的表示(数字、字符、汉字)•定点运算方法(加减乘除)以及定点运算器的组成•浮点运算方法、浮点运算器的组成§2.1信息在计算机中的表示•2.1.1数据格式•2.1.2数的机器码表示•2.1.3字符的表示•2.1.4汉字的表示•2.1.5校验码2.1.1数据格式•补充知识10进制和R进制之间的转换R进制到10进制:10进制到R进制:整数部分:除r取余,r为进制基数小数部分:乘r取整2.1.1数据格式选用数据格式(定点格式、浮点格式)考虑的因素–类型–范围–数值精度–硬件代价1、定点格式–所有数据的小数点位置固定不变–理论上位置可以任意,但实际上将数据表示成为纯小数或纯整数(目前常用)–定点数可以表示带符号数和不带符号数定点纯小数x0x1x2x3…xn-1xn表示数的范围是0≤|x|≤1-2-n(最小数、最大数、最接近0的正数、最接近0的负数)符号量值小数点固定于符号位之后,不需专门存放位置纯小数的表示范围x=0.00...0x=1.00...0x=0正0和负0都是0x=0.11...1x=1-2-n最大x=0.00...01x=2-n最接近0的正数x=1.00...01x=-2-n最接近0的负数x=1.11...1x=-(1-2-n)最小定点纯整数•x0x1x2x3…xn-1xn•表示数的范围是0≤|x|≤2n-1?:最小数、最大数、最接近0的正数、最接近0的负数呢符号量值小数点固定于最后一位之后,不需专门存放位置–说明:•定点数表示数的范围受字长限制,表示数的范围有限•机器中,常用定点纯整数表示•实际表示的精度也有限,如果用定点整数,则如何表示小数呢?(引入浮点)2、浮点格式•浮点格式(小数点位置随阶码不同而浮动)–格式:N=Re.m–机器中表示指数基数,取固定的值,比如10,2等尾数阶符阶码数符尾数IEEE754标准–IEEE754标准(规定了浮点数的表示格式,运算规则)•规则规定了单精度(32)和双精度(64)的基本格式.•规则中,尾数用原码,指数用移码(便于对阶和比较)IEEE754标准•按照移码的定义应为E=e+128,为什么书上??•原因:规格化的32位浮点数尾数第一位应为1•如数+0.111*220(规格化数)–由于尾数扩大了,为了保持值不变,所以…..020+128111……..最高有效为1,这1位可以不存储,认为隐藏在小数点左边020+12711……..3、十进制数串的表示•字符串形式•BCD(压缩)•编码方式–有权码:(8421码、2421码、5211码)–无权码:(余三码、格雷码)•自定义数据表示返回2.1.2数的机器码表示•数的机器码表示–真值和机器码–原码–补码1、原码表示法•定点小数x0.x1x2…xnx1x≥00,正[x]原=符号1-x0≥x-11,负数•有正0和负0之分•范围2-n-1~1-2-n–例:x=+0.11001110[x]原=0.11001110[-x]原=1.110011101、原码表示法–定点整数X0X1X2…Xnx2nx≥00,正数[x]原=符号2n-x0≥x-2n1,负数说明:•有正0和负0之分•范围1-2n~2n–1–例:x=+11001110[x]原=011001110[-x]原=1110011102、补码表示法•计算机运算受字长限制,属于有模运算.–定点小数x0.x1x2…..xn溢出量为2,以2为模–定点整数x0x1x2…..xn溢出量为2,以2n+1为模•定义•定点小数x0.x1x2…xn–x1x≥00,正数–[x]补=符号–2+x0≥x-11,负数2、补码表示法–例:x=-0.1011•[x]补=10+x=10.0000-0.1011=1.0101•y=-0.01111•[y]补=10+y=10.00000-0.01111=1,10001–定点整数x0x1x2…xn–x2nx≥00,正数,0–[x]补=符号–2n+1+x0≥x-2n1,负数2、补码表示法–补码性质•高位表明正负•正数补码,尾数与原码相同•范围-2n~2n-1(定点整数)–变相补码•为了防止溢出而设定3、反码表示法–对尾数求反,它跟补码的区别在于末位少加一个1,所以可以推出反码的定义•定点小数x0.x1x2…xn–x1x≥0–[x]反=–2+x–2-n0≥x-1–证明见书–有正0和负0之分–例子3、反码表示法–[x]补=[x]反+2-n–这样解决了前边的问题(求补码还要减法)–定点整数的反码定义见书4、移码表示法•4、移码表示法(用在阶码中)–定点整数定义[x]移=2n+x2nx≥-2n–例+1011111原码为01011111–补码为01011111反码为01011111–移码为110111114、移码表示法–例-1011111原码为11011111–补码为10100001反码为10100000–移码为00100001–特点:移码和补码尾数相同,符号位相反–例3和例4返回2.1.3字符和字符串的表示方法•字符表示方法ASCII:用一个字节来表示,低7位用来编码(128),最高位为校验位•字符串的存放方法返回2.1.4汉字的存放•汉字的表示方法(一级汉字3755个,二级汉字3008个)–输入码•国标码–一级(16~55)*94–二级(56~87)*94–图形符号(682个)(01~09)*94•拼音、五笔–汉字内码:汉字信息的存储,交换和检索的机内代码,两个字节组成,每个字节高位都为1(区别于英文字符)2.1.4汉字的存放–汉字字模码:汉字字形•点阵•汉字库返回2.1.5校验码•校验码(只讲奇偶校验码)–引入:信息传输和处理过程中受到干扰和故障,容易出错。–解决方法:是在有效信息中加入一些冗余信息(校验位)–奇偶校验位定义–只能检查出奇数位错;不能纠正错误。–例7–其它还有Hamming,CRC返回§2.2定点加法、减法运算•2.2.1补码加减法•2.2.2溢出检测•2.2.3基本的加法和减法器•2.2.4十进制加法器2.2.1补码加减法•补码加法–公式:[x+y]补=[x]补+[y]补•补码减法–为了将减法转变为加法,需证明公式:[x-y]补=[x]补+[-y]补(证明)为了求得同时[-y]补,需要证明[-y]补=乛[y]补+2-n(意义是[-y]补等于[y]补取反,末位加1)2.2.1补码加减法–如:y=0.0111[y]补=0.0111[-y]补=1.1001从右边到左边,除了第一个1和右边的0保持不变以外,其它按位取反,很重要哟!2.2.1补码加减法–例1:x=-0.1011,y=0.0111–[x]补=1.0101[y]补=0.0111–[x+y]补=[x]补+[y]补=1.0101+0.0111=1.1100–x+y=-0.0100–例2:x=+0.11011,y=-0.11111–[x]补=0.11011[y]补=1.00001[-y]补=0.11111–[x-y]补=[x]补+[-y]补=1.11010返回2.2.2溢出的检测•溢出的检测–可能产生溢出的情况•两正数加,变负数,上溢(大于机器所能表示的最大数)•两负数加,变正数,下溢(小于机器所能表示的最小数)2.2.2溢出的检测•例3:x=+0.1011,y=+0.1001,求x+y•例4:x=-0.1101,y=-0.1011,求x+y2.2.2溢出的检测–检测方法•1、双符号位法(参与加减运算的数采用变形补码表示)–x2x≥0–[x]补=–4+x0≥x-2Sf1SF200正确(正数)01上溢10下溢11正确(负数)•Sf1表示正确的符号,逻辑表达式为V=Sf1⊕Sf2,可以用异或门来实现2.2.2溢出的检测–检验举例:–x=+0.1100,y=+0.1000,求x+y–x=-0.1100,y=-0.1000,求x+y–结果出现了01或10的情况就为溢出2.2.2溢出的检测•2、单符号位法•CfC000正确(正数)01上溢10下溢11正确(负数)•V=Cf⊕C0其中Cf为符号位产生的进位,C0为最高有效位产生返回2.2.3基本的加法和减法器•基本的加法和减法器–半加器Hi=Ai⊕Bi不考虑进位–全加器考虑低位进位Ci-1和向高位的进位Ci11+111(Ci)1(Ci+1)01一位全加器真值表输入输出AiBiCiSiCi+10000000110010100110110010101011100111111FA逻辑方程–逻辑方程见下iiiiCBASiiiiCBASiiiiiiiiiiiiiiiiiCBABACBABACBCABAC).(.)(1FA逻辑方程iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiCBCABACBABACBABABACBABACBACBABACBA
本文标题:计算机组成原理_白中英_教案
链接地址:https://www.777doc.com/doc-6071696 .html