计算机组成原理唐朔飞第2版高等教育出版社高等教育电子音像出版社为配合由高等教育出版社出版的面向21世纪课程教材《计算机组成原理》教学和自学的需要,随书出版了《计算机组成原理》配套课件。为了配合该教材的第2版,本课件在保留原课件特色的基础上,做了相应的补充和修改。该课件与《计算机组成原理》第2版教材在体系上完全一致,它以课堂教学为依托,帮助读者边阅读边思考,通过点击鼠标,逐行显示精练的文字和简明的图表,既可从文稿中对教材的重点和难点加深理解,又可从视图中看到动画演示效果,形象地理解各种电路的工作原理和设计思路。新版课件提供了章目录和节目录。操作上除了顺序播放外,还可任选一章、任选一节播放,并可从任意一页幻灯片返回到上一级目录。具体功能如下。1.进入章目录后,可点击任一章播放。2.进入节目录后,可点击任一节播放。3.每一节播放结束时,可继续播放,也可点击本节最后一页幻灯片右下角的按钮,回到上一级目录,再点击节目录幻灯片右下角的按钮,即可回到章目录。4.点击任一页幻灯片右下角的按钮,均可回到上一级目录。在修改课件过程中,哈尔滨工业大学计算机科学与技术学院张丽杰、罗丹彦为课件的录入、排版、绘图、动画演示做了大量工作,在此表示衷心感谢。由于时间仓促,难免有不妥之处,敬请读者和专家批评指正。唐朔飞2007年12月第1章计算机系统概论第3章系统总线第4章存储器第5章输入输出系统第6章计算机的运算方法第7章指令系统第8章CPU的结构和功能第9章控制单元的功能第10章控制单元的设计第2章计算机的发展及应用第1章计算机系统概论1.1计算机系统简介1.4本书结构1.3计算机硬件的主要技术指标1.2计算机的基本组成1.1计算机系统简介由具有各类特殊功能的信息(程序)组成1.计算机系统计算机系统计算机的实体,如主机、外设等一、计算机的软硬件概念硬件软件按任务需要编制成的各种程序用来管理整个计算机系统系统软件应用软件语言处理程序操作系统服务性程序数据库管理系统网络软件软件1.1计算机高级语言程序目标程序结果翻译运行1.12.计算机的解题过程二、计算机系统的层次结构高级语言虚拟机器M3汇编语言虚拟机器M2操作系统虚拟机器机器语言实际机器M1微指令系统微程序机器M01.1用编译程序翻译成汇编语言程序用汇编程序翻译成机器语言程序用机器语言解释操作系统用微指令解释机器指令由硬件直接执行微指令软件硬件1.1虚拟机器M4虚拟机器M3虚拟机器M2实际机器M1微程序机器M0程序员所见到的计算机系统的属性概念性的结构与功能特性计算机体系结构计算机组成实现计算机体系结构所体现的属性有无乘法指令如何实现乘法指令(指令系统、数据类型、寻址技术、I/O机理)(具体指令的实现)1.1三、计算机体系结构和计算机组成1.2计算机的基本组成1.计算机由五大部件组成3.指令和数据用二进制表示4.指令由操作码和地址码组成6.以运算器为中心2.指令和数据以同等地位存于存储器,可按地址寻访5.存储程序一、冯·诺依曼计算机的特点5.存储程序算术运算逻辑运算存放数据和程序将信息转换成机器能识别的形式将结果转换成人们熟悉的形式指挥程序运行1.2冯·诺依曼计算机硬件框图存储器输入设备运算器控制器输出设备1.2冯·诺依曼计算机硬件框图存储器输入设备运算器控制器输出设备二、计算机硬件框图1.21.以存储器为中心的计算机硬件框图程序存储器输出设备输入设备运算器控制器数据结果计算ALU主存辅存CPU主机I/O设备硬件CU2.现代计算机硬件框图存储器输入设备运算器输出设备控制器1.2ALUCPU主机I/O设备CU主存1.上机前的准备•建立数学模型-+-+-=!x9!x7!x5!x3xx9753sin…•编制解题程序•确定计算方法程序——运算的全部步骤0,1,2,)()(21nynxynx=+=√…指令——每一个步骤1.2三、计算机的工作步骤取x至运算器中乘以x在运算器中乘以a在运算器中存ax2在存储器中取b至运算器中乘以x在运算器中加ax2在运算器中加c在运算器中=(ax+b)x+c取x至运算器中乘以a在运算器中加b在运算器中乘以x在运算器中加c在运算器中计算ax2+bx+c1.2编程举例0000010000001000打印停机取数α[α]ACC存数β[ACC]β加γ[ACC]+[γ]ACC乘δ[ACC]×[δ]ACC指令格式举例1.2操作码地址码[]打印机指令和数据存于主存单元的地址指令注释操作码地址码00000010000001000取数x至ACC10001000000001001乘a得ax,存于ACC中20000110000001010加b得ax+b,存于ACC中30001000000001000乘x得(ax+b)x,存于ACC中40000110000001011加c得ax2+bx+c,存于ACC50000100000001100将ax2+bx+c,存于主存单元60001010000001100打印7000110停机8x原始数据x9a原始数据a10b原始数据b11c原始数据c12存放结果1.2计算ax2+bx+c程序清单存储体大楼存储单元存放一串二进制代码存储字存储单元中二进制代码的组合存储字长存储单元中二进制代码的位数每个存储单元赋予一个地址号按地址寻访–存储单元–存储元件(0/1)–房间–床位(无人/有人)(1)存储器的基本组成1.2MDR主存储器存储体MAR2.计算机的解题过程MARMDR存储单元个数16存储字长8设MAR=4位MDR=8位1.2存储器地址寄存器反映存储单元的个数存储器数据寄存器反映存储字长(1)存储器的基本组成MDR主存储器存储体MARACCMQX(2)运算器的基本组成及操作过程1.2运算器MQACCALUX被加数被减数被除数乘数商加数减数被乘数除数加法减法乘法除法和差余数乘积高位乘积低位运算器MQACCALUXACC被加数ACC初态①加法操作过程1.2[ACC]+[X]ALU[M]XXACCACC指令加M1.2②减法操作过程运算器MQACCALUX指令减MACC被减数ACC初态[M]XX[ACC]-[X]ALUACCACC运算器MQACCALUXACCACC被乘数初态1.2MQ[M]MQ指令乘M③乘法操作过程X[ACC]XALU[X]×[MQ]00ACCACC∥MQACCMQ运算器MQACCALUXACC被除数ACC初态1.2[ACC]÷[X]ALUMQACCMQ余数在ACC中指令除M[M]XX④除法操作过程取指令分析指令执行指令PCIRCU取指执行PC存放当前欲执行指令的地址,具有计数功能(PC)+1PCIR存放当前欲执行的指令访存访存完成一条指令1.2(3)控制器的基本组成CU控制单元PCIRCU12356789以取数指令为例4(4)主机完成一条指令的过程1.2CU控制单元主存储器MDRMAR存储体CPUPC控制器IR…运算器MQACCALUXI/O设备12356798以存数指令为例41.2(4)主机完成一条指令的过程CU控制单元主存储器MDRMAR存储体CPUPC控制器IR…运算器MQACCALUXI/O设备(5)ax2+bx+c程序的运行过程•将程序通过输入设备送至计算机•程序首地址•打印结果•分析指令•取指令…•停机•启动程序运行,(PC)+1PC•执行指令1.2MARMMDRIRPCCUOP(IR)Ad(IR)MARMMDRACCPC1.3计算机硬件的主要技术指标1.机器字长2.运算速度CPU一次能处理数据的位数与CPU中的寄存器位数有关=ni=1fitiTM吉普森法主频每秒执行百万条指令MIPS执行一条指令所需时钟周期数CPI每秒浮点运算次数FLOPS221=256KB213=1KB如3.存储容量主存容量辅存容量存储单元个数×存储字长字节数字节数80GB如MARMDR容量1081632存放二进制信息的总位数1.31K=2101B=23b1GB=230b1K×8位64K×32位第1篇概论1.4本书结构计算机1.4本书结构第2篇计算机系统的硬件结构计算机I/O系统总线存储器CPU1.4本书结构CPU内部互连ALUCU寄存器中央处理器第3篇CPU计算机I/O系统总线存储器CPU1.4本书结构CPU内部互连ALUCU寄存器中央处理器寄存器和解码器控制单元排队逻辑控制存储器第4篇CU计算机I/O系统总线存储器CPU第2章计算机的发展及应用2.3计算机的展望2.2计算机的应用2.1计算机的发展史2.1计算机的发展史一、计算机的产生和发展1946年美国ENIAC1955年退役十进制运算180001500150301500多个电子管多个继电器千瓦吨平方英尺5000次加法/秒用手工搬动开关和拔插电缆来编程世界上第一台电子计算机ENIAC(1946)2.1硬件技术对计算机更新换代的影响100000000超大规模集成电路1978-现在五10000000大规模集成电路1972-19771000000中小规模集成电路1965-1971200000晶体管1958-196440000电子管1946-1957速度/(次/秒)硬件技术时间代三四二一2.1第一台vonNeumann系统结构的计算机2.1IBMSystem/3602.12.1最快的五台超级计算机(截止到2009.06)1.IBMRoadrunner(走鹊)129600个计算核心最大平均速度1105000GFLOPS2.CrayXT5Jaguar(美洲虎)150152个计算核心最大平均速度1059000GFLOPS2.1最快的五台超级计算机(截止到2009.06)2.13.IBMJUGENE-BlueGene/P最快的五台超级计算机(截止到2009.06)294912个计算核心最大平均速度825500GFLOPS2.1最快的五台超级计算机(截止到2009.06)4.SGIPleiades系统51200个计算核心最大平均速度487005GFLOPS2.1最快的五台超级计算机(截止到2009.06)5.IBMBlueGene/L系统212992个计算核心最大平均速度478200GFLOPS2.1最权威的超级计算机排名的参考网址二、微型计算机的出现和发展微处理器芯片存储器芯片1971年8位16位32位64位4位(4004)1970年256位1K位16K位64K位256K位1M位16M位64M位4K位4M位2.1Moore定律Intel公司的缔造者之一GordonMoore提出微芯片上集成的晶体管数目每三年翻两番2.1Intel公司的典型微处理器产品80808位1974年808616位1979年2.9万个晶体管8028616位1982年13.4万个晶体管8038632位1985年27.5万个晶体管8048632位1989年120.0万个晶体管Pentium64位(准)1993年310.0万个晶体管PentiumPro64位(准)1995年550.0万个晶体管PentiumⅡ64位(准)1997年750.0万个晶体管PentiumⅢ64位(准)1999年950.0万个晶体管PentiumⅣ64位2000年4200.0万个晶体管2.12007年芯片上可集成3亿5千万个晶体管预计2010年芯片上可集成8亿个晶体管三、软件技术的兴起和发展机器语言面向机器汇编语言面向机器高级语言面向问题FORTRAN科学计算和工程计算PASCAL结构化程序设计C++面向对象Java适应网络环境1.各种语言2.12.系统软件语言处理程序汇编程序编译程序解释程序操作系统DOSUNIXWindows服务性程序装配调试诊断排错数据库管理系统数据库和数据库管理软件网络软件2.13.软件发展的特点⑴开发周期长⑵制作成本昂贵⑶检测软件产品质量的特殊性软件是程序以及开发、使用和维护程序所需要的所有文档2.12.2计算机的应用一、科学计算和数据处理二、工业控制和实时控制三、网络技术1.电子商务2.网络教育3.敏捷制造四、虚拟现实五、办公自动化和管理信息系统六、CAD/CAM/CIMS七、多媒体技术八、人工智能2.22.3计算机