计算机组成原理计算机科学与技术系硬件教研室赵志瑛138345026162015.3硕士研究生计算机专业基础综合考试:数据结构45分计算机组成原理45分操作系统35分计算机网络25分=150分课程介绍一、课程性质计算机科学与技术专业本科教学中与硬件相关的一门重要技术基础课。前继:数字逻辑电路设计二、课程任务建立计算机系统的整体概念,理解计算机硬件各子系统的组成原理、基本部件的构造和组织方式、基本运算的操作原理、部件和单元的设计思想及实现技术等。三、研究方法不结合具体机型,围绕单CPU硬件系统,从整体框架入手,自顶向下,层层细化。1、注重一般性原理的理解,了解问题解决方法的沿革。即:典型机型历史硬件设计原理最新发展追踪(主动查阅资料尽可能了解本专业前沿知识)2、理论→→→初步实践四、学时安排理论:62学时实验:10学时五、参考教材计算机组成原理唐朔飞高等教育出版社计算机组成与结构王爱英清华大学出版社计算机组织与体系结构白中英清华大学出版社六、授课内容第1章计算机系统概论1.1计算机系统简介1.4本书结构1.3计算机硬件的主要技术指标1.2计算机的基本组成计算机组成概貌计算机工作原理重点:1、计算机发展尽管千变万化,但其最根本的组成原理还是基于冯•诺依曼的结构。2、简明了解计算机内部的工作过程:指令流和数据流在机器内由(I/O→)存储器→CPU→存储器(→I/O)的过程,是通过逐条取指令、分析指令和执行指令来运行程序的。难点:1、本章概念、名词较多,这些只是为进一步深化学习打下基础,因此严格讲本章没什么难点,只要建立计算机组成的框架即可。2、指令和数据都以0或1代码存放于存储器,计算机如何区分,应注意理解。1.1计算机系统简介由具有各类特殊功能的信息(程序)组成1.计算机系统计算机系统计算机的实体,如主机、外设等一、计算机的软件与硬件硬件软件2.计算机硬件与软件可实现逻辑功能的等效性能、价格、实现的难易程度不同软、硬件界面模糊软、硬件功能分配比例考虑应用、效率、价格、资源状况的综合平衡(性价比),可在很宽范围内变化。3.计算机软硬件的发展硬件:摩尔定律作用未来受限软件:日益复杂……不同角度、不同研究领域对层次结构划分不同。使用语言功能二、计算机系统的层次结构高级语言虚拟机器M4汇编语言虚拟机器M3操作系统虚拟机器M2机器语言实际机器M1微指令系统微程序机器M0用编译程序翻译成汇编语言程序用汇编程序翻译成机器语言程序用机器语言解释操作系统用微指令解释机器指令由硬件直接执行微指令软件硬件虚拟机器M4虚拟机器M3虚拟机器M2实际机器M1微程序机器M0数字逻辑层模型机分析与设计结果汇编编译或解释2.计算机的解题过程1.软硬件界面向“上”延伸高级语言程序汇编语言程序可执行程序(目标程序)言程序机器语链接运行程序员所见到的计算机系统的属性概念性的结构与功能特性计算机体系结构计算机组成计算机体系结构所体现的属性实现有无乘法指令如何实现乘法指令(指令系统、数据类型、寻址技术、I/O)(具体指令的实现)3.计算机体系结构和计算机组成4.常用术语透明:客观存在的事物或属性,从某个角度看(感觉)不到;系列机:具有相同体系结构、使用相同基本指令系统的多个不同型号的计算机组成的产品系列;软件可移植性:使用在某个系列机中的软件直接或很少修改即可运行在其它系列机的可能性;兼容:指计算机软件硬件的通用性;固件:写有特定程序的可编程器件。1.2计算机的基本组成1.由五大部件组成;2.指令和数据用二进制代码表示;4.指令由操作码和地址码组成;5.以运算器为中心(早期)。3.指令(程序)和数据以同等地位顺序存储于存储器,可按地址寻访;一、冯·诺依曼计算机的特点指令:机器完成某种操作的命令。指令系统:机器可执行全部指令集合。程序:为解决某特定问题而设计的有序指令集合。算术运算逻辑运算存放数据和程序将信息转换成机器能识别的形式将结果转换成人们熟悉的形式指挥程序运行冯·诺依曼计算机硬件框图存储器输入设备运算器控制器输出设备不同角度,不同发展时期,硬件框图描述不同。1、早期,以运算器为中心。二、计算机硬件框图(冯·诺依曼计算机硬件框图)存储器输入设备运算器控制器输出设备2.以存储器为中心的计算机硬件框图程序存储器输出设备输入设备运算器控制器数据结果计算ALU主存辅存CPU主机I/O设备硬件CU3.现代计算机硬件逻辑框图存储器输入设备运算器输出设备控制器ALUCPU主机I/O设备CU主存接口1.上机前的准备•分析问题,建立数学模型;-+-+-=!x9!x7!x5!x3xx9753sin…•编制解题程序。•确定计算方法;程序——运算的全部步骤0,1,2,)()(21nynxynx=+=√…指令——每一个步骤三、计算机的工作步骤2.计算机工作过程(以机器语言级程序为例)•程序及数据存入主存(顺序存放);•调试程序;•输出运算结果。•从程序的起始地址开始运行程序;取指令指令分析(译码)指令执行区别指令和数据的依据:指令周期的不同阶段指令周期算法设计(ax+b)x+c取x至运算器中乘以a在运算器中加b在运算器中乘以x在运算器中加c在运算器中1、数学模型ax2+bx+c四、模型机工作过程举例2、模型机(16位)?寄存器位数运算器MQACCALUXPCIRCUMDR主存储器存储体MARCPU总线ACCMQX(1)运算器的基本组成运算器MQACCALUX商被除数乘数被乘数除数被减数被加数加数减数加法减法乘法除法和差余数乘积高位乘积低位ALU取指令分析指令执行指令CUPCIRCU取指执行PC存放当前欲执行指令的地址,具有计数功能(PC)+1PCIR存放当前执行的指令访存访存(2)控制器的基本组成CU存储体大楼存储单元存放一串二进制代码存储字存储单元中二进制代码的组合存储字长存储单元中二进制代码的位数–存储单元–存储元件(0/1)–房间–床位(无人/有人)(3)存储器的基本组成MDR主存储器存储体MAR存储器容量字数*字长(位)K、M、G、T存储体MDR主存储器存储体MAR存储单元访问方式:按地址访问每个存储单元赋予一个地址号存储单元访问类型:*存储单元地址与内容存(写)/取(读)MARMDR存储单元个数:16存储字长:8设MAR=4位MDR=8位存储器地址寄存器(当前访问M单元地址)(反映存储单元的个数)存储器数据寄存器(当前访问M单元数据)(反映存储字长)MDR主存储器存储体MAR2、模型机(16位)?寄存器位数运算器MQACCALUXPCIRCUMDR主存储器存储体MARCPU总线3、模型机指令系统操作码地址码指令格式:OP(6b)Ad(10b)可操作类型(指令个数)26可访问存储空间210(000H----3FFH)指令操作功能指令操作数地址功能指令助记符操作码地址码ACC←[M]000001…………LDAM[M]←ACC000010…………STAMACC←ACC+[M]000011…………ADDMACC←ACC*[M]000100…………MULM打印←[M]000101…………PRTM停机000110HALT指令系统:(ax+b)x+cMULMa4、计算ax2+bx+c程序清单及存储器结构算法设计:(ax+b)x+cLDAMxADDMbMULMxADDMcSTAMyPRTMyHALT指令和数据存于主存单元的地址指令注释操作码地址码00000000000000010000001000取数x至ACC00000000010001000000001001乘a得ax,存于ACC中00100000110000001010加b得ax+b,存于ACC中00110001000000001000乘x得(ax+b)x,存于ACC中01000000110000001011加c得ax2+bx+c,存于ACC01010000100000001100将ax2+bx+c,存于主存单元01100001010000001100打印0111000110停机1000x原始数据x1001a原始数据a1010b原始数据b1011c原始数据c1100y存放结果程序区数据区MULMa算法设计:(ax+b)x+cLDAMxADDMbMULMxADDMcSTAMyPRTMyHALTADD00BHMUL009HLDA008HADD00AHMUL008HSTA00CHPRT00CHHALTORG000H•程序及数据存入主存(顺序存放)•设PC初值(程序首地址)(PC=0)•启动程序运行:(LDAMx)5、模型机工作过程分析指令取指令执行指令MARMDRIRPCCUOP(IR)Ad(IR)MARMDRACC[MAR]MDRPC(PC)+1[MAR]MDRLDAMx…………访问程序区访问数据区指令周期高级语言虚拟机器M3汇编语言虚拟机器M2操作系统虚拟机器机器语言实际机器M1微指令系统微程序机器M0分析指令取指令执行指令MARMDRIRPCCUOP(IR)Ad(IR)MARMDRACC[MAR]MDRPC(PC)+1[MAR]MDRLDAMx…………机器语言机器微程序机器微指令微操作分析指令取指令执行指令MARMDRIRPCCUOP(IR)Ad(IR)MARMDRACC[MAR]MDRPC(PC)+1[MAR]MDRLDAMx…………数据流、控制流(信息流)123678910以取数指令(LDAMx)为例4完成一条指令信息流程CU控制单元主存储器MDRMAR存储体CPUPC控制器IR…运算器MQACCALUXI/O设备51.3计算机硬件的主要技术指标1.机器字长2.运算速度CPU一次能处理数据的位数与CPU中的寄存器位数有关=ni=1fitiTM吉普森法主频每秒执行百万条指令MIPS执行一条指令所需时钟周期数CPI每秒浮点运算次数FLOPS221=256KB213=1KB如3.存储容量主存容量辅存容量存储单元个数×存储字长(字×位)字节数字节数80GB如MARMDR容量1081632存放二进制信息的总位数1K=2101B=23b1G=2301K×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作业:1.9、1.11