计算机组成原理丁宁第2版高等教育出版社辽宁科技大学第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.指令在存储器内按顺序存放算术运算逻辑运算存放数据和程序将信息转换成机器能识别的形式将结果转换成人们熟悉的形式指挥程序运行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④除法操作过程取指令分析指令执行指令PCIRCUPCIRCU取指执行PC存放当前欲执行指令的地址,具有计数功能(PC)+1PCIR存放当前欲执行的指令访存访存完成一条指令1.2(3)控制器的基本组成12356789以取数指令为例4(4)主机完成一条指令的过程1.2CU控制单元主存储器MDRMAR存储体CPUPC控制器IR…运算器MQACCALUXI/O设备12356798以存数指令为例41.2(4)主机完成一条指令的过程CU控制单元主存储器MDRMAR存储体CPUPC控制器IR…运算器MQACCALUXI/O设备1.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.11.IBM:BlueGene/L-eServerBlueGeneSolution212992个CPU最大平均速度478200GFLOPS最快的五台超级计算机(截止到2007.11)2.12.IBM:JUGENE-BlueGene/PSolution65536个CPU最大平均速度167300GFLOPS最快的五台超级计算机(截止到2007.11)3.SGI:SGIAltixICE82002.114336个CPU最大平均速度126900GFLOPS最快的五台超级计算机(截止到2007.11)2.14.HP:EKA-ClusterPlatform3000BL460c14240个CPU最大平均速度117900GFLOPS最快的五台超级计算机(截止到2007.11)2.1最快的五台超级计算机(截止到2007.11)5.HP:ClusterPlatform3000BL460c13728个CPU最大平均速度102800GFLOPS2.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计算机的展望一、计算机具有类似人脑的一些超级智能功能要求计算机的速度达1015/秒二、芯片集成度的提高受以下三方面的限制•芯片集成度受物理极限的制约•按几何级数递增的制作成本•芯片的功耗、散热、线延迟三、?替代传统的硅芯片1.光计算机2.DNA生物计算机3.量子计算机利用光子取代电子进行运算和存储通过控制DNA分子间的生化反应利用原子所具有的量子特性2.3第3章系统总线3.1总线的基本概念3.2总线的分类3.3总线特性及性能指标3.4总线结构3.5总线控制3.1总线的基本概念一、为什么要用总线二、什么是总线三、总线上信息的传送总线是连接各个部件的信息传输线,是各个部件共享的传输介质串行并行四、总线结构的计算机举例1.面向CPU的双总线结构框图中央处理器CPUI/O总线M总线3.1主存I/O接口I/O设备1I/O设备2……I/O接口I/O接口I/O设备n单总线(系统总线)2.单总线结构框图CPU主存I/O接口I/O设备1I/O设备2I/O接口…I/O设备nI/O接口…3.13.以存储器为中心的双总线结构框图系统总线主存CPUI/O接口I/O设备1…I/O设备nI/O接口…存储总线3.13.2总线的分类1.片内总线2.系统总线芯片内部的总线数据总线地址总线控制总线双向与机器字长、存储字长有关单向与存储地址、I/O地址有关