《计算机组成原理第二版唐朔飞》由会员分享,可在线阅读,更多相关《计算机组成原理第二版唐朔飞(547页珍藏版)》请在金锄头文库上搜索。
1、计计算算机机组组成成原原理理第版第版高高 等等 教教 育育 出出 版版 社社高高等等教教育育电电子子音音像像出出版版社社 为配合由高等教育出版社出版的面向21世纪课程教材计算机组成原理教学和自学的需要,随书出版了计算机组成原理配套课件。为了配合该教材的第版,本课件在保留原课件特色的基础上,做了相应的补充和修改。 该课件与计算机组成原理第版教材在体系上完全一致,它以课堂教学为依托,帮助读者边阅读边思考,通过点击鼠标,逐行显示精练的文字和简明的图表,既可从文稿中对教材的重点和难点加深理解,又可从视图中看到动画演示效果,形象地理解各种电路的工作原理和设计思路。 新版课件提供了章目录和节目录。操作上除
2、了顺序播放外,还可任选一章、任选一节播放,并可从任意一页幻灯片返回到上一级目录。具体功能如下。 1. 进入章目录后,可点击任一章播放。 2. 进入节目录后,可点击任一节播放。 3. 每一节播放结束时,可继续播放,也可点击本节最后一页幻灯片右下角的按钮,回到上一级目录,再点击节目录幻灯片右下角的按钮,即可回到章目录。 4. 点击任一页幻灯片右下角的按钮,均可回到上一级目录。 在修改课件过程中,哈尔滨工业大学计算机科学与技术学院张丽杰、罗丹彦为课件的录入、排版、绘图、动画演示做了大量工作,在此表示衷心感谢。 由于时间仓促,难免有不妥之处,敬请读者和专家批评指正。 唐朔飞 2007年年12月月第第第
3、第章章章章 计算机系统概论计算机系统概论计算机系统概论计算机系统概论第第第第章章章章 系统总线系统总线系统总线系统总线第第第第章章章章 存储器存储器存储器存储器第第第第章章章章 输入输出系统输入输出系统输入输出系统输入输出系统第第第第章章章章 计算机的运算方法计算机的运算方法计算机的运算方法计算机的运算方法第第第第章章章章 指令系统指令系统指令系统指令系统第第第第章章章章 CPU CPU 的结构和功能的结构和功能的结构和功能的结构和功能第第第第章章章章 控制单元的功能控制单元的功能控制单元的功能控制单元的功能第第第第1010章章章章 控制单元的设计控制单元的设计控制单元的设计控制单元的设计第第
4、第第章章章章 计算机的发展及应用计算机的发展及应用计算机的发展及应用计算机的发展及应用第第章章 计算机系统概论计算机系统概论1.1 计算机系统简介计算机系统简介1.4 本书结构本书结构1.3 计算机硬件的主要技术指标计算机硬件的主要技术指标1.2 计算机的基本组成计算机的基本组成1.1 计算机系统简介计算机系统简介由具有各类特殊功能由具有各类特殊功能的信息(程序)组成的信息(程序)组成1. 计算机系统计算机系统计计算算机机系系统统计算机的实体,计算机的实体,如主机、外设等如主机、外设等一、一、 计算机的软硬件概念计算机的软硬件概念硬件硬件软件软件按任务需要编制成的各种程序按任务需要编制成的各种
5、程序用来管理整个计算机系统用来管理整个计算机系统 系统软件系统软件应用软件应用软件语言处理程序语言处理程序操作系统操作系统服务性程序服务性程序数据库管理系统数据库管理系统网络软件网络软件软软件件1.1计算机计算机高级语高级语言程序言程序目标目标程序程序结果结果翻译翻译运行运行1.12. 计算机的解题过程计算机的解题过程二、计算机系统的层次结构二、计算机系统的层次结构高级语言高级语言虚拟机器虚拟机器 M3汇编语言汇编语言虚拟机器虚拟机器 M2操作系统操作系统虚拟机器虚拟机器机器语言机器语言实际机器实际机器 M1微指令系统微指令系统微程序机器微程序机器 M01.1用编译程序翻译用编译程序翻译成汇编
6、语言程序成汇编语言程序用汇编程序翻译用汇编程序翻译成机器语言程序成机器语言程序用机器语言解释操作系统用机器语言解释操作系统用微指令解释机器指令用微指令解释机器指令由硬件直接执行微指令由硬件直接执行微指令软软件件硬硬件件1.1虚拟机器虚拟机器 M4虚拟机器虚拟机器 M3虚拟机器虚拟机器 M2实际机器实际机器 M1微程序机器微程序机器 M0程序员所见到的计算机系统的属性程序员所见到的计算机系统的属性概念性的结构与功能特性概念性的结构与功能特性计算机计算机体系结构体系结构计算机计算机组成组成实现计算机体系结构所体现的属性实现计算机体系结构所体现的属性有无乘法指令有无乘法指令如何实现乘法指令如何实现乘
7、法指令(指令系统、数据类型、寻址技术、(指令系统、数据类型、寻址技术、I/OI/O机理)机理)(具体指令的实现)(具体指令的实现)1.1三、三、计算机体系结构和计算机组成计算机体系结构和计算机组成1.2 计算机的基本组成计算机的基本组成1. 计算机由五大部件组成计算机由五大部件组成3. 指令和数据用二进制表示指令和数据用二进制表示4. 指令由操作码和地址码组成指令由操作码和地址码组成6. 以运算器为中心以运算器为中心2. 指令和数据以同等地位存于存储器,指令和数据以同等地位存于存储器, 可按地址寻访可按地址寻访5. 存储程序存储程序一、冯冯诺依曼计算机的特点诺依曼计算机的特点5. 存储程序存储
8、程序算术运算算术运算逻辑运算逻辑运算存放数据存放数据和程序和程序将信息转换成机将信息转换成机器能识别的形式器能识别的形式将结果转换成将结果转换成人们熟悉的形式人们熟悉的形式指挥程序指挥程序运行运行1.2冯冯诺依曼计算机硬件框图诺依曼计算机硬件框图存储器存储器输入设备输入设备运算器运算器控制器控制器输出设备输出设备1.2冯冯诺依曼计算机硬件框图诺依曼计算机硬件框图存储器存储器输入设备输入设备运算器运算器控制器控制器输出设备输出设备二、计算机硬件框图二、计算机硬件框图1.21. 以存储器为中心的计算机硬件框图以存储器为中心的计算机硬件框图程序程序存储器存储器输出设备输出设备输入设备输入设备运算器运
9、算器控制器控制器数据数据结果结果计算计算ALU主存主存辅存辅存CPU主机主机I/O设备设备硬件硬件CU2. .现代计算机硬件框图现代计算机硬件框图存储器存储器输入设备输入设备运算器运算器输出设备输出设备控制器控制器1.2ALUCPU主机主机I/O设备设备CU主主存存1. .上机前的准备上机前的准备 建立数学模型建立数学模型 - -+ +- -+ +- -= =!x9!x7!x5!x3xx9753sin 编制解题程序编制解题程序 确定计算方法确定计算方法程序程序 运算的运算的 全部步骤全部步骤0, 1, 2,)( )(21nyn xynx= =+ += =指令指令 每每 一个步骤一个步骤1.2三
10、、计算机的工作步骤三、计算机的工作步骤取取x 至运算器中至运算器中乘以乘以x 在运算器中在运算器中乘以乘以a 在运算器中在运算器中存存ax2 在存储器中在存储器中取取b 至运算器中至运算器中乘以乘以x 在运算器中在运算器中加加ax2 在运算器中在运算器中加加c 在运算器中在运算器中= ( (ax + b) )x + c 取取x 至运算器中至运算器中乘以乘以a 在运算器中在运算器中加加b 在运算器中在运算器中乘以乘以x 在运算器中在运算器中加加c 在运算器中在运算器中计算计算 ax2 + bx + c1.2编程举例编程举例000001 0000001000打印打印 停机停机取数取数 ACC存数存
11、数 ACC 加加 ACC+ ACC乘乘 ACC ACC指令格式举例指令格式举例1.2操作码操作码地址码地址码 打印机打印机指令和数据存于指令和数据存于主存单元的地址主存单元的地址 指令指令 注释注释操作码操作码 地址码地址码 00000010000001000取数取数x至至ACC 10001000000001001乘乘a得得ax ,存于存于ACC中中 20000110000001010加加b得得ax+b ,存于存于ACC中中 30001000000001000乘乘x得(得(ax+b)x,存于存于ACC中中 40000110000001011加加c得得ax2 + bx + c ,存于存于ACC
12、50000100000001100将将ax2 + bx +c ,存于主存单元存于主存单元 60001010000001100打印打印 7000110停机停机 8 x原始数据原始数据x 9 a原始数据原始数据a 10 b原始数据原始数据b 11 c原始数据原始数据c 12存放结果存放结果1.2计算计算 ax2 + bx + c 程序清单程序清单存储体存储体大楼大楼存储单元存储单元 存放一串二进制代码存放一串二进制代码存储字存储字 存储单元中二进制代码的组合存储单元中二进制代码的组合存储字长存储字长 存储单元中二进制代码的位数存储单元中二进制代码的位数每个存储单元赋予一个地址号每个存储单元赋予一个
13、地址号按地址寻访按地址寻访 存储单元存储单元 存储元件存储元件(0/1) 房房间间 床位床位(无人(无人/ / 有人)有人)( (1) )存储器的基本组成存储器的基本组成1.2MDR主存储器主存储器存储体存储体MAR2. .计算机的解题过程计算机的解题过程MARMDR 存储单元个数存储单元个数 16存储字长存储字长 8 设设 MAR = = 4 位位 MDR = = 8 位位1.2存储器地址寄存器存储器地址寄存器反映存储单元的个数反映存储单元的个数存储器数据寄存器存储器数据寄存器反映存储字长反映存储字长( (1) )存储器的基本组成存储器的基本组成MDR主存储器主存储器存储体存储体MAR AC
14、C MQ X(2)运算器的基本组成及操作过程运算器的基本组成及操作过程1.2运算器运算器MQACCALUX被加数被加数被减数被减数被除数被除数乘数乘数商商加数加数减数减数被乘数被乘数除数除数加法加法减法减法乘法乘法除法除法和和差差余数余数乘积高位乘积高位乘积低位乘积低位运算器运算器MQACCALUXACC 被加数被加数ACC初态初态 加法操作过程加法操作过程1.2 ACC+X ALU M XXACCACC指令指令 加加M1.2 减法操作过程减法操作过程运算器运算器MQACCALUX指令指令 减减MACC 被减数被减数ACC初态初态 M XX ACC-X ALUACCACC运算器运算器MQACC
15、ALUXACCACC 被乘数被乘数初态初态 1.2MQ M MQ指令指令 乘乘M 乘法操作过程乘法操作过程X ACC XALU X MQ 00ACCACCMQACCMQ运算器运算器MQACCALUXACC 被除数被除数ACC初态初态 1.2 ACCX ALUMQACCMQ余数在余数在ACC中中指令指令 除除M M XX 除法操作过程除法操作过程取指令取指令分析指令分析指令执行指令执行指令PCIRCU取指取指执行执行PC 存放当前欲执行指令的地址,存放当前欲执行指令的地址, 具有计数功能(具有计数功能(PC)+ + 1 1 PCIR 存放当前欲执行的指令存放当前欲执行的指令访存访存访存访存完成完
16、成一条一条指令指令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) )
17、ax2 + bx + c 程序的运行程序的运行过程过程 将程序通过输入设备送至计算机将程序通过输入设备送至计算机 程序首地址程序首地址 打印结果打印结果 分析指令分析指令 取指令取指令 停机停机 启动程序运行启动程序运行,(PC,(PC )+)+ 1 PC1 PC 执行指令执行指令 1.2MARMARM MMDRMDRIRIRPCPCCUCUOP(IR)OP(IR)Ad(IR)Ad(IR)MARMARM MMDRMDRACCACCPCPC1.3 计算机硬件的主要技术指标计算机硬件的主要技术指标1. .机器字长机器字长2. .运算速度运算速度CPU 一次能处理数据的位数一次能处理数据的位数与与
18、CPU 中的中的 寄存器位数寄存器位数 有关有关= =ni = =1fi tiTM吉普森法吉普森法主频主频每秒执行百万条指令每秒执行百万条指令MIPS执行一条指令所需时钟周期数执行一条指令所需时钟周期数CPI每秒浮点运算次数每秒浮点运算次数FLOPS221 = = 256 KB213 = = 1 KB如如3. .存储容量存储容量主存容量主存容量辅存容量辅存容量存储单元个数存储单元个数 存储字长存储字长字节数字节数字节数字节数 80 GB如如 MAR MDR 容量容量 10 8 16 32存放二进制信息的总位数存放二进制信息的总位数1.31K = 210 1B = 23b1GB = 230b1
19、K 8位位64 K 32位位第第篇篇 概论概论1.4 本书结构本书结构计算机计算机1.4 本书结构本书结构第篇第篇计算机系统的硬件结构计算机系统的硬件结构计算机计算机I/O系统总线系统总线存储器存储器CPU1.4 本书结构本书结构 CPU内部互连内部互连ALUCU寄存器寄存器中央处理器中央处理器第第篇篇 CPU计算机计算机I/O系统总线系统总线存储器存储器CPU1.4 本书结构本书结构 CPU内部互连内部互连ALUCU寄存器寄存器中央处理器中央处理器寄存器寄存器和解码器和解码器控制单元控制单元排队排队逻辑逻辑控制控制存储器存储器第篇第篇 CU计算机计算机I/O系统总线系统总线存储器存储器CPU
20、第章第章 计算机的发展及应用计算机的发展及应用2.3 计算机的展望计算机的展望2.2 计算机的应用计算机的应用2.1 计算机的发展史计算机的发展史2.1 计算机的发展史计算机的发展史一、计算机的产生和发展一、计算机的产生和发展1946年年 美国美国 ENIAC1955年退役年退役十进制运算十进制运算18 0001 500150301 500多个电子管多个电子管多个继电器多个继电器千瓦千瓦吨吨平方英尺平方英尺5 000次加法秒次加法秒用手工搬动开关和拔插电缆来编程用手工搬动开关和拔插电缆来编程世界上第一台电子计算机世界上第一台电子计算机 ENIAC(1946)2.1硬件技术对计算机更新换代的影响
21、硬件技术对计算机更新换代的影响 100 000 000 超大规模超大规模 集成电路集成电路 1978现在现在五五 10 000 000 大规模大规模 集成电路集成电路 19721977 1 000 000 中小规模中小规模 集成电路集成电路 19651971 200 000 晶体管晶体管 19581964 40 000 电子管电子管 19461957 速度速度 /(次(次/秒)秒) 硬件技术硬件技术 时间时间 代代三三四四二二一一2.1第一台第一台von Neumann 系统结构的计算机系统结构的计算机2.1IBM System360 2.12.1最快的五台超级计算机最快的五台超级计算机(截止
22、到(截止到 2009.06)1. .IBM Roadrunner( 走鹊走鹊 )129 600 个计算核心个计算核心 最大平均速度最大平均速度 1 105 000 GFLOPS2. . Cray XT5 Jaguar(美洲虎)(美洲虎)150 152 个计算核心个计算核心 最大平均速度最大平均速度 1 059 000 GFLOPS2.1最快的五台超级计算机最快的五台超级计算机(截止到(截止到 2009.06)2.13. . IBM JUGENE-Blue Gene/P 最快的五台超级计算机最快的五台超级计算机(截止到(截止到 2009.06)294 912 个个计算核心计算核心 最大平均速度最
23、大平均速度 825 500 GFLOPS2.1最快的五台超级计算机最快的五台超级计算机(截止到(截止到 2009.06)4. SGI Pleiades系统系统51 200 个计算核心个计算核心 最大平均速度最大平均速度 487 005 GFLOPS 2.1最快的五台超级计算机最快的五台超级计算机(截止到(截止到 2009.06)5. . IBM BlueGene/L系统系统212 992 个计算核心个计算核心 最大平均速度最大平均速度 478 200 GFLOPS2.1最权威的超级计算机排名的参考网址最权威的超级计算机排名的参考网址 http:/www.top500.org二、微型计算机的出现
24、和发展二、微型计算机的出现和发展微处理器芯片微处理器芯片存储器芯片存储器芯片1971年年 8位位16位位32位位64位位4位(位(4004)1970年年256位位 1K位位16K位位64K位位256K位位1M位位16M位位64M位位4K位位4M位位2.1Moore 定律定律Intel 公司的缔造者之一公司的缔造者之一 Gordon Moore 提出提出微芯片上集成的微芯片上集成的 晶体管数目每三年翻两番晶体管数目每三年翻两番2.1Intel 公司的典型微处理器产品公司的典型微处理器产品8080 8位位 1974年年8086 16位位 1979年年 2.9 万个晶体管万个晶体管80286 16位
25、位 1982年年 13.4 万个晶体管万个晶体管80386 32位位 1985年年 27.5 万个晶体管万个晶体管80486 32位位 1989年年 120.0 万个晶体管万个晶体管Pentium 64位(准)位(准) 1993年年 310.0 万个晶体管万个晶体管Pentium Pro 64位(准)位(准) 1995年年 550.0 万个晶体管万个晶体管Pentium 64位(准)位(准) 1997年年 750.0 万个晶体管万个晶体管Pentium 64位(准)位(准) 1999年年 950.0 万个晶体管万个晶体管Pentium 64位位 2000年年 4 200.0 万个晶体管万个晶体
26、管2.12007 年年 芯片上可集成芯片上可集成 3 亿亿 5 千万千万 个个晶体管晶体管 预计预计2010 年年 芯片上可集成芯片上可集成 8 亿亿 个晶体管个晶体管三、软件技术的兴起和发展三、软件技术的兴起和发展机器语言机器语言 面向机器面向机器汇编语言汇编语言 面向机器面向机器高级语言高级语言 面向问题面向问题FORTRAN 科学计算和工程计算科学计算和工程计算PASCAL 结构化程序设计结构化程序设计C 面向对象面向对象Java 适应网络环境适应网络环境 1. 各种语言各种语言2.12. 系统软件系统软件语言处理程序语言处理程序 汇编程序汇编程序 编译程序编译程序 解释程序解释程序操作
27、系统操作系统 DOS UNIX Windows 服务性程序服务性程序 装配装配 调试调试 诊断诊断 排错排错数据库管理系统数据库管理系统 数据库和数据库管理软件数据库和数据库管理软件网络软件网络软件2.13. 软件发展的特点软件发展的特点 开发周期长开发周期长 制作成本昂贵制作成本昂贵 检测软件产品质量的特殊性检测软件产品质量的特殊性软件是程序以及开发、使用和软件是程序以及开发、使用和维护程序所需要的所有文档维护程序所需要的所有文档2.12.2 计算机的应用计算机的应用一、科学计算和数据处理一、科学计算和数据处理二、工业控制和实时控制二、工业控制和实时控制三、网络技术三、网络技术1. 电子商务
28、电子商务2. 网络教育网络教育3. 敏捷制造敏捷制造四、虚拟现实四、虚拟现实五、办公自动化和管理信息系统五、办公自动化和管理信息系统六、六、CAD/CAM/CIMS七、多媒体技术七、多媒体技术八、人工智能八、人工智能2.22.3 计算机的展望计算机的展望一、计算机具有类似人脑的一些超级一、计算机具有类似人脑的一些超级 智能功能智能功能要求计算机的速度达要求计算机的速度达1015/秒秒二、芯片集成度的提高受以下三方面的限制二、芯片集成度的提高受以下三方面的限制 芯片集成度受物理极限的制约芯片集成度受物理极限的制约 按几何级数递增的制作成本按几何级数递增的制作成本 芯片的功耗、散热、线延迟芯片的功
29、耗、散热、线延迟三、?替代传统的硅芯片三、?替代传统的硅芯片1. 光计算机光计算机2. DNA生物计算机生物计算机3. 量子计算机量子计算机利用光子取代电子进行运算和存储利用光子取代电子进行运算和存储通过控制通过控制DNA分子间的生化反应分子间的生化反应利用原子所具有的量子特性利用原子所具有的量子特性2.3第章第章 系统总线系统总线3.1 总线的基本概念总线的基本概念3.2 总线的分类总线的分类3.3 总线特性及性能指标总线特性及性能指标3.4 总线结构总线结构3.5 总线控制总线控制3.1 总线的基本概念总线的基本概念一、为什么要用总线一、为什么要用总线二、什么是总线二、什么是总线三、总线上
30、信息的传送三、总线上信息的传送总线是连接各个部件的信息传输线,总线是连接各个部件的信息传输线,是是 各个部件共享的传输介质各个部件共享的传输介质串行串行并行并行四、总线结构的计算机举例四、总线结构的计算机举例1. 面向面向 CPU 的双总线结构框图的双总线结构框图 中央处理器中央处理器 CPUI/O总线总线M总总线线3.1主存主存 I/O接口接口 I/O 设备设备1 I/O 设备设备2I/O接口接口I/O接口接口 I/O 设备设备n单总线(系统总线)单总线(系统总线)2. 单总线结构框图单总线结构框图 CPU 主存主存 I/O接口接口 I/O 设备设备1 I/O 设备设备2 I/O接口接口 I
31、/O 设备设备n I/O接口接口3.13. 以存储器为中心的双总线结构框图以存储器为中心的双总线结构框图系统总线系统总线 主存主存 CPU I/O接口接口 I/O 设备设备1 I/O 设备设备n I/O接口接口存储总线存储总线3.13.2 总线的分类总线的分类1. .片内总线片内总线2. .系统总线系统总线芯片内部芯片内部 的总线的总线数据总线数据总线地址总线地址总线控制总线控制总线双向双向 与机器字长、存储字长有关与机器字长、存储字长有关单向单向 与存储地址、与存储地址、 I/O地址有关地址有关有出有出 有入有入计算机各部件之间计算机各部件之间 的信息传输线的信息传输线存储器读、存储器写存储
32、器读、存储器写总线允许、中断确认总线允许、中断确认中断请求、总线请求中断请求、总线请求3. .通信总线通信总线串行通信总线串行通信总线并行通信总线并行通信总线传输方式传输方式3.2 用于用于 计算机系统之间计算机系统之间 或或 计算机系统计算机系统与其他系统与其他系统(如控制仪表、移动通信等)(如控制仪表、移动通信等)之间的通信之间的通信3.3 总线特性及性能指标总线特性及性能指标CPU 插板插板主存主存 插板插板I/O 插板插板一、总线物理实现一、总线物理实现BUS主板主板1. 机械特性机械特性2. 电气特性电气特性3. 功能特性功能特性4. 时间特性时间特性二、总线特性二、总线特性尺寸尺寸
33、、形状、形状、管脚数管脚数及及排列顺序排列顺序传输方向传输方向 和有效的和有效的 电平电平 范围范围每根传输线的每根传输线的 功能功能信号的信号的 时序时序 关系关系3.3地址地址数据数据控制控制三、总线的性能指标三、总线的性能指标1. 总线宽度总线宽度2. 总线带宽总线带宽3. 时钟同步时钟同步/异步异步4. 总总线线复复用用5. 信号线数信号线数6. 总线控制方式总线控制方式7. 其他指标其他指标数据线数据线 的根数的根数每秒传输的最大字节数(每秒传输的最大字节数(MBps)同步同步、不同步不同步地址线地址线 与与 数据线数据线 复用复用地址线、数据线和控制线的地址线、数据线和控制线的 总
34、和总和负载能力负载能力并发、自动、仲裁、逻辑、计数并发、自动、仲裁、逻辑、计数3.3ISAEISAVESA(LV-BUS)PCIAGPRS-232USB模块模块系统系统总总线线标标准准 四、总线标准四、总线标准系统系统模块模块3.3标标 准准 界界 面面总线标准总线标准数据线数据线总线时钟总线时钟带宽带宽ISA168 MHz(独立)(独立)16 MBpsEISA328 MHz(独立)(独立)33 MBpsVESA(VL-BUS)3233 MHz(CPU)133 MBpsPCI326433 MHz(独立)(独立)66 MHz(独立)(独立)132 MBps528 MBpsAGP3266.7 MH
35、z(独立)(独立)133 MHz(独立)(独立)266 MBps533 MBpsRS-232串行通信串行通信总线标准总线标准数据终端设备(计算机)和数据通信设备数据终端设备(计算机)和数据通信设备(调制解调器)之间的标准接口(调制解调器)之间的标准接口USB串行接口串行接口总线标准总线标准普通无屏蔽双绞线普通无屏蔽双绞线带屏蔽双绞线带屏蔽双绞线最高最高1.5 Mbps (USB1.0)12 Mbps (USB1.0)480 Mbps (USB2.0)3.3 四、总线标准四、总线标准3.4 总线结构总线结构一、单总线结构一、单总线结构单总线(系统总线)单总线(系统总线) CPU 主存主存 I/O
36、接口接口 I/O 设备设备1 I/O 设备设备2 I/O接口接口 I/O 设备设备n I/O接口接口1. 双总线结构双总线结构具有特殊功能的处理器,具有特殊功能的处理器,由通道对由通道对I/O统一管理统一管理通道通道 I/O接口接口 设备设备n I/O接口接口 设备设备0 CPU主存主存主存总线主存总线I/O总线总线二、多总线结构二、多总线结构3.42. 三总线结构三总线结构主存总线主存总线DMA总线总线I/O总线总线 CPU 主存主存设备设备1设备设备n高速外设高速外设I/O接口接口I/O接口接口I/O接口接口3.43. 三总线结构的又一形式三总线结构的又一形式3.4局域网局域网系统总线系统
37、总线CPUCache局部总线局部总线扩展总线接口扩展总线接口扩展总线扩展总线Modem串行接口串行接口SCSI局部局部I/O控制器控制器主存主存4. 四总线结构四总线结构多媒体多媒体 Modem主存主存扩展总线接口扩展总线接口局域网局域网SCSICPU串行接口串行接口FAX系统总线系统总线局部总线局部总线高速总线高速总线扩展总线扩展总线图形图形Cache/桥桥3.41. 传传统微型机总线结构统微型机总线结构三、总线结构举例三、总线结构举例3.4存储器存储器SCSI 控制器控制器主存控制器主存控制器ISA、EISA 8 MHz的的16位数据通路位数据通路标准总线控制器标准总线控制器33 MHz的
38、的32位数据通路位数据通路系统总线系统总线多媒体多媒体高速局域网高速局域网高性能图形高性能图形 CPU Modem2. VL-BUS局部总线结构局部总线结构3.433 MHz的的32位数据通路位数据通路系统总线系统总线ISA、EISA多媒体多媒体高速局域网高速局域网高性能图形高性能图形图文传真图文传真8 MHz的的16位数据通路位数据通路标准总线标准总线 控制器控制器CPU主存控制器主存控制器存储器存储器局部总线局部总线 控制器控制器 SCSI控制器控制器VL BUS Modem3. PCI 总线结构总线结构3.4CPU多媒体多媒体PCI 桥桥高速局域网高速局域网高性能图形高性能图形图文传真图
39、文传真PCI 总线总线系统总线系统总线33 MHz的的32位数据通路位数据通路8 MHz的的16位数据通路位数据通路ISA、EISA标准总线标准总线 控制器控制器 SCSI 控制器控制器存储器存储器 Modem4. 多层多层 PCI 总线结构总线结构PCI总线总线2存储器存储器桥桥0桥桥4 PCI设备设备桥桥5总线桥总线桥桥桥3桥桥1设备设备桥桥2第一级桥第一级桥第二级桥第二级桥第三级桥第三级桥PCI总线总线4PCI总线总线5PCI总线总线3PCI总线总线1PCI总线总线0存储器总线存储器总线 标准总线标准总线CPU3.43.5 总线控制总线控制一、总线判优控制一、总线判优控制 总线判优控制总
40、线判优控制分布式分布式集中式集中式 主设备主设备(模块模块)对总线有对总线有 控制权控制权 从设备从设备(模块模块)响应响应 从主设备发来的总线命令从主设备发来的总线命令1. 基本概念基本概念链式查询链式查询计数器定时查询计数器定时查询独立请求方式独立请求方式2. 链式查询方式链式查询方式总总线线控控制制部部件件I/O接口接口0BSBRI/O接口接口1I/O接口接口nBG数据线数据线地址线地址线BS 总线忙总线忙BR总线请求总线请求BG总线同意总线同意3.5I/O接口接口1 0BS 总线忙总线忙BR总线请求总线请求总总线线控控制制部部件件数据线数据线地址线地址线I/O接口接口0BSBRI/O接
41、口接口1I/O接口接口n设备地址设备地址3. 计数器定时查询方式计数器定时查询方式I/O接口接口13.5 计数器计数器设备地址设备地址 1排队器排队器排队器排队器4. 独立请求方式独立请求方式总总线线控控制制部部件件数据线数据线地址线地址线I/O接口接口0I/O接口接口1I/O接口接口nBR0 BG0BR1BG1BRnBGnBG总线同意总线同意BR总线请求总线请求3.5二、总线通信控制二、总线通信控制1. 目的目的2. 总线传输周期总线传输周期主模块申请主模块申请,总线仲裁决定,总线仲裁决定主模块向从模块主模块向从模块 给出地址给出地址 和和 命令命令主模块和从模块主模块和从模块 交换数据交换
42、数据主模块主模块 撤消有关信息撤消有关信息 申请分配阶段申请分配阶段寻址阶段寻址阶段传数阶段传数阶段结束阶段结束阶段解决通信双方解决通信双方 协调配合协调配合 问题问题3.5由由 统一时标统一时标 控制数据传送控制数据传送充分充分 挖掘挖掘 系统系统 总线每个瞬间总线每个瞬间 的的 潜力潜力同步通信同步通信 异步通信异步通信 半同步通信半同步通信 分离式通信分离式通信 3. 总线通信的四种方式总线通信的四种方式采用采用 应答方式应答方式 ,没有公共时钟标准,没有公共时钟标准同步同步、异步结合异步结合3.5 读读命令命令(1) 同步式数据输入同步式数据输入T1总线传输周期总线传输周期T2T3T4
43、 时钟时钟 地址地址 数据数据3.5 数据数据(2) 同步式数据输出同步式数据输出T1总线传输周期总线传输周期T2T3T4 时钟时钟 地址地址 写写命令命令3.5不互锁不互锁半互锁半互锁全互锁全互锁异步通信异步通信主设备主设备从设备从设备请请求求回回答答单机单机多机多机网络通信网络通信(4) 半同步通信半同步通信同步同步 发送方发送方 用系统用系统 时钟前沿时钟前沿 发信号发信号 接收方接收方 用系统用系统 时钟后沿时钟后沿 判断、识别判断、识别3.5(同步同步、异步异步 结合)结合)异步异步 允许不同速度的模块和谐工作允许不同速度的模块和谐工作 增加一条增加一条 “等待等待”响应信号响应信号
44、 WAIT以输入数据为例的半同步通信时序以输入数据为例的半同步通信时序T1 主模块发地址主模块发地址T2 主模块发命令主模块发命令T3 从模块提供数据从模块提供数据T4 从模块撤销数据,主模块撤销命令从模块撤销数据,主模块撤销命令Tw 当当 为低电平时,等待一个为低电平时,等待一个 TWAITTw 当当 为低电平时,等待一个为低电平时,等待一个 TWAIT3.5 读读 命令命令WAIT 地址地址 数据数据3.5 时钟时钟总线传输周期总线传输周期T1T2TWTWT3T4(4) 半同步通信半同步通信 (同步同步、异步异步 结合)结合)上述三种通信的共同点上述三种通信的共同点一个总线传输周期(以输入
45、数据为例)一个总线传输周期(以输入数据为例) 主模块发地址主模块发地址 、命令、命令 从模块准备数据从模块准备数据 从模块向主模块发数据从模块向主模块发数据总线空闲总线空闲3.5占用总线占用总线不占用总线不占用总线占用总线占用总线(5) 分离式通信分离式通信充分挖掘系统总线每个瞬间的潜力充分挖掘系统总线每个瞬间的潜力主模块主模块 申请申请 占用总线占用总线,使用完后,使用完后即即 放弃总线放弃总线 的使用权的使用权从模块从模块 申请申请 占用总线占用总线,将各种信,将各种信息送至总线上息送至总线上一个总线传输周期一个总线传输周期子周期子周期1子周期子周期23.5主模块主模块1. 各模块有权申请
46、占用总线各模块有权申请占用总线分离式通信特点分离式通信特点充分提高了总线的有效占用充分提高了总线的有效占用2. 采用同步方式通信,不等对方回答采用同步方式通信,不等对方回答3. 各模块准备数据时,不占用总线各模块准备数据时,不占用总线4. 总线被占用时,无空闲总线被占用时,无空闲3.5第第章章 存存 储储 器器4.1 概述概述4.2 主存储器主存储器4.3 高速缓冲存储器高速缓冲存储器4.4 辅助存储器辅助存储器4.1 概概 述述一、存储器分类一、存储器分类1. 按存储介质分类按存储介质分类(1) 半导体存储器半导体存储器(2) 磁表面存储器磁表面存储器(3) 磁芯存储器磁芯存储器(4) 光盘
47、存储器光盘存储器易失易失TTL 、MOS磁头、载磁体磁头、载磁体硬磁材料、环状元件硬磁材料、环状元件激光、磁光材料激光、磁光材料非非易易失失(1) 存取时间与物理地址无关(随机访问)存取时间与物理地址无关(随机访问) 顺序存取存储器顺序存取存储器 磁带磁带4.12. 按存取方式分类按存取方式分类(2) 存取时间与物理地址有关(串行访问)存取时间与物理地址有关(串行访问) 随机存储器随机存储器 只读存储器只读存储器 直接存取存储器直接存取存储器 磁盘磁盘在程序的执行过程中在程序的执行过程中 可可 读读 可可 写写在程序的执行过程中在程序的执行过程中 只只 读读磁盘、磁带、光盘磁盘、磁带、光盘 高
48、速缓冲存储器(高速缓冲存储器(Cache)Flash Memory存存储储器器主存储器主存储器辅助存储器辅助存储器MROMPROMEPROMEEPROMRAMROM静态静态 RAM动态动态 RAM3. 按在计算机中的作用分类按在计算机中的作用分类4.1高高低低小小大大快快慢慢辅辅存存寄存器寄存器缓存缓存主存主存磁盘磁盘光盘光盘磁带磁带光盘光盘磁带磁带速度速度容量容量 价格价格 位位1. 存储器三个主要特性的关系存储器三个主要特性的关系 二、存储器的层次结构二、存储器的层次结构CPUCPU主主机机4.1缓存缓存CPU主存主存辅存辅存2. 缓存缓存 主存层次和主存主存层次和主存 辅存层次辅存层次缓
49、存缓存主存主存辅存辅存主存主存虚拟存储器虚拟存储器10 ns20 ns200 nsms虚地址虚地址逻辑地址逻辑地址实地址实地址物理地址物理地址主存储器主存储器4.1(速度)(速度)(容量)(容量)4.2 主存储器主存储器一、概述一、概述1. 主存的基本组成主存的基本组成存储体存储体驱动器驱动器译码器译码器MAR控制电路控制电路读读写写电电路路MDR地址总线地址总线数据总线数据总线读读写写2. 主存和主存和 CPU 的联系的联系MDRMARCPU主主 存存读读数据总线数据总线地址总线地址总线写写4.2 高位字节高位字节 地址为字地址地址为字地址 低位字节低位字节 地址为字地址地址为字地址设地址线
50、设地址线 24 根根按按 字节字节 寻址寻址按按 字字 寻址寻址若字长为若字长为 16 位位按按 字字 寻址寻址若字长为若字长为 32 位位字地址字地址字节地址字节地址11109876543210840字节地址字节地址字地址字地址4523014203. 主存中存储单元地址的分配主存中存储单元地址的分配4.2224 = 16 M8 M4 M(2) 存储速度存储速度4. 主存的技术指标主存的技术指标(1) 存储容量存储容量(3) 存储器的带宽存储器的带宽主存主存 存放二进制代码的总位数存放二进制代码的总位数 读出时间读出时间 写入时间写入时间 存储器的存储器的 访问时间访问时间 存取时间存取时间
51、存取周期存取周期 读周期读周期 写周期写周期 连续两次独立的存储器操作连续两次独立的存储器操作(读或写)所需的(读或写)所需的 最小间隔时间最小间隔时间 位位/秒秒4.2芯片容量芯片容量二、半导体存储芯片简介二、半导体存储芯片简介1. 半导体存储芯片的基本结构半导体存储芯片的基本结构译译码码驱驱动动存存储储矩矩阵阵读读写写电电路路1K4位位16K1位位8K8位位片选线片选线读读/写控制线写控制线地地址址线线数数据据线线地址线地址线(单向)(单向)数据线数据线(双向)(双向)1041411384.2二、半导体存储芯片简介二、半导体存储芯片简介1. 半导体存储芯片的基本结构半导体存储芯片的基本结构
52、译译码码驱驱动动存存储储矩矩阵阵读读写写电电路路片选线片选线读读/写控制线写控制线地地址址线线数数据据线线片选线片选线读读/写控制线写控制线(低电平写(低电平写 高电平读)高电平读)(允许读)(允许读)4.2CSCEWE(允许写)(允许写)WEOE存储芯片片选线的作用存储芯片片选线的作用用用 16K 1位位 的存储芯片组成的存储芯片组成 64K 8位位 的存储器的存储器 32片片当地址为当地址为 65 535 时,此时,此 8 片的片选有效片的片选有效 8片片16K 1位位 8片片16K 1位位 8片片16K 1位位 8片片16K 1位位4.20,015,015,70,7 读读/写控制电路写控
53、制电路 地地址址译译码码器器 字线字线015168矩阵矩阵07D07D 位线位线 读读 / 写选通写选通A3A2A1A02. 半导体存储芯片的译码驱动方式半导体存储芯片的译码驱动方式(1) 线选法线选法4.200000,00,7007D07D 读读 / 写写选通选通 读读/写控制电路写控制电路 A3A2A1A0A40,310,031,031,31 Y 地址译码器地址译码器 X地地址址译译码码器器 3232 矩阵矩阵A9I/OA8A7A56AY0Y31X0X31D读读/写写(2) 重合法重合法4.200000000000,031,00,31I/OD0,0读读 三、随机存取存储器三、随机存取存储器
54、 ( RAM ) 1. 静态静态 RAM (SRAM) (1) 静态静态 RAM 基本电路基本电路A 触发器非端触发器非端1T4T触发器触发器5TT6、行开关行开关7TT8、列开关列开关7TT8、一列共用一列共用A 触发器原端触发器原端T1 T4T5T6T7T8AA写放大器写放大器写放大器写放大器DIN写选择写选择读选择读选择DOUT读放读放位线位线A位线位线A列地址选择列地址选择行地址选择行地址选择4.2T1 T4AT1 T4T5T6T7T8A写放大器写放大器写放大器写放大器DIN写选择写选择读选择读选择读放读放位线位线A位线位线A列地址选择列地址选择行地址选择行地址选择DOUT 静态静态
55、RAM 基本电路的基本电路的 读读 操作操作 行选行选 T5、T6 开开4.2T7、T8 开开列选列选读放读放DOUTVAT6T8DOUT读选择有效读选择有效T1 T4T5T6T7T8AADIN位线位线A位线位线A 列地址选择列地址选择行地址选择行地址选择写放写放写放写放读放读放DOUT写选择写选择读选择读选择 静态静态 RAM 基本电路的基本电路的 写写 操作操作 行选行选T5、T6 开开 两个写放两个写放 DIN4.2列选列选T7、T8 开开(左)(左) 反相反相T5A(右)(右) T8T6ADINDINT7写选择有效写选择有效T1 T4 (2) 静态静态 RAM 芯片举例芯片举例 Int
56、el 2114 外特性外特性存储容量存储容量1K4 位位4.2I/O1I/O2I/O3I/O4A0A8A9WECSVCCGNDIntel 2114 Intel 2114 RAM 矩阵矩阵 (64 64) 读读A3A4A5A6A7A8A0A1A2A9150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS第一组第一组第二组第二组第三组第三组第四组第四组4.2150311647326348150311647326348读写电路读写电路读写
57、电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS第一组第一组第二组第二组第三组第三组第四组第四组00000000004.2 Intel 2114 RAM 矩阵矩阵 (64 64) 读读第一组第一组第二组第二组第三组第三组第四组第四组150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS00000000004.2 Intel 2114 RAM 矩
58、阵矩阵 (64 64) 读读150311647326348第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 读读150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS00000000001503116473263480164832150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地
59、地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS00000000001503116473263480164832第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 读读0163248CSWE150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS0164832第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩
60、阵 (64 64) 读读15031164732634801632480000000000150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS0000000000第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 读读15031164732634801632480164832150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路
61、读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS0000000000第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 读读1503116473263480163248读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0164832150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS000
62、0000000第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 读读1503116473263480163248读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0164832I/O1I/O2I/O3I/O4A3A4A5A6A7A8A0A1A2A9150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS第一组第一组第二组第二组第三组第三组第四组第四组4.2 I
63、ntel 2114 RAM 矩阵矩阵 (64 64) 写写150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS第一组第一组第二组第二组第三组第三组第四组第四组00000000004.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写第一组第一组第二组第二组第三组第三组第四组第四组150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行
64、行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS00000000004.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写150311647326348第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码I/O1I/O2I/O3I/O4WECS0000000000150311647326348WECS016483
65、2第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写I/O1I/O2I/O3I/O4WECS150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码0000000000150311647326348I/O1I/O2I/O3I/O40164832第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写I/O1I/O2I/O3I/O4WECS150311
66、647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码0000000000150311647326348I/O1I/O2I/O3I/O4读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0164832第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写I/O1I/O2I/O3I/O4WECS150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读
67、写电路0163015行行地地址址译译码码列列地地址址译译码码0000000000150311647326348I/O1I/O2I/O3I/O4读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0164832第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写I/O1I/O2I/O3I/O4150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码WECS00000000001503116473263
68、48读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路I/O1I/O2I/O3I/O40164832第一组第一组第二组第二组第三组第三组第四组第四组4.2 Intel 2114 RAM 矩阵矩阵 (64 64) 写写I/O1I/O2I/O3I/O4150311647326348150311647326348读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路0163015行行地地址址译译码码列列地地址址译译码码WECS0000000000150311647326348I/O1I/O2I/O3I/O4读写电路读写电路读写电路读写电路读写电路读写电路读写电路读写电路016
69、32480164832ACSDOUT地址有效地址有效地址失效地址失效片选失效片选失效数据有效数据有效数据稳定数据稳定高阻高阻 (3) 静态静态 RAM 读读 时序时序 tAtCOtOHAtOTDtRC片选有效片选有效4.2读周期读周期 t tRCRC 地址有效地址有效 下一次地址有效下一次地址有效读时间读时间 t tA A 地址有效地址有效数据稳定数据稳定 t tCOCO 片选有效片选有效数据稳定数据稳定t tOTDOTD 片选失效片选失效输出高阻输出高阻t tOHAOHA 地址失效后的地址失效后的 数据维持时间数据维持时间ACSWEDOUTDIN (4) 静态静态 RAM (2114) 写写
70、 时序时序 tWCtWtAWtDWtDHtWR写周期写周期 t tWCWC 地址有效地址有效下一次地址有效下一次地址有效4.2写时间写时间 t tW W 写命令写命令 WEWE 的有效时间的有效时间t tAWAW 地址有效地址有效片选有效的滞后时间片选有效的滞后时间t tWRWR 片选失效片选失效下一次地址有效下一次地址有效t tDW DW 数据稳定数据稳定 WE WE 失效失效t tDHDH WE WE 失效后的数据维持时间失效后的数据维持时间DD预充电信号预充电信号读选择线读选择线写数据线写数据线写选择线写选择线读数据线读数据线VCgT4T3T2T11 (1) 动态动态 RAM 基本单元电
71、路基本单元电路 2. 动态动态 RAM ( DRAM )读出与原存信息相反读出与原存信息相反读出时数据线有电流读出时数据线有电流 为为 “1”数据线数据线CsT字线字线DDV0 10 11 0写入与输入信息相同写入与输入信息相同写入时写入时 CS 充电充电 为为 “1” 放电放电 为为 “0”4.2T3T2T1T无电流无电流有电流有电流单元单元电路电路读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D行行地地址址译译码码器器001131311A9A8A7A6A531A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0 (
72、2) 动态动态 RAM 芯片举例芯片举例 三管动态三管动态 RAM 芯片芯片 (Intel 1103) 读读00000000000D0 04.2单元单元电路电路读读 写写 控控 制制 电电 路路A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0 三管动态三管动态 RAM 芯片芯片 (Intel 1103) 写写4.2111114.2 三管动态三管动态 RAM 芯片芯片 (Intel 110
73、3) 写写A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0111114.2 三管动态三管动态 RAM 芯片芯片 (Intel 110
74、3) 写写A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线001000111114.2 三管动态三管动态 RAM 芯片芯片 (Intel 1103) 写写A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线
75、线读读数数据据线线0111111010001 14.2 三管动态三管动态 RAM 芯片芯片 (Intel 1103) 写写A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0D111110100014.2 三管动态三管动态 RAM 芯片芯片 (Intel 1103) 写写A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D
76、单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0D111110100014.2 三管动态三管动态 RAM 芯片芯片 (Intel 1103) 写写读读 写写 控控 制制 电电 路路A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0D111110100014.2 三管动态三管动态 RAM 芯片芯片 (In
77、tel 1103) 写写读读 写写 控控 制制 电电 路路A9A8A7A6A5读读 写写 控控 制制 电电 路路列列 地地 址址 译译 码码 器器读选择线读选择线写选择线写选择线D单元单元电路电路行行地地址址译译码码器器00113131131A4A3A2A1A0刷新放大器刷新放大器写写数数据据线线读读数数据据线线0D111110100014.2 三管动态三管动态 RAM 芯片芯片 (Intel 1103) 写写读读 写写 控控 制制 电电 路路时序与控制时序与控制 行时钟行时钟列时钟列时钟写时钟写时钟 WERASCAS A6A0存储单元阵列存储单元阵列基准单元基准单元行行译译码码列译码器列译码
78、器再生放大器再生放大器列译码器列译码器读读出出放放大大基准单元基准单元存储单元阵列存储单元阵列行行译译码码 I/O缓存器缓存器数据输出数据输出驱动驱动数据输入数据输入寄存器寄存器 DINDOUT行地址行地址缓存器缓存器列地址列地址缓存器缓存器 单管动态单管动态 RAM 4116 (16K 1 1位位) 外特性外特性4.2DINDOUTA6A0 读放大器读放大器 读放大器读放大器 读放大器读放大器06364127128 根行线根行线Cs01271128列列选选择择读读/写线写线数据输入数据输入I/O缓冲缓冲输出驱动输出驱动DOUTDINCs 4116 (16K 1位位) 芯片芯片 读读 原理原理
79、 读放大器读放大器 读放大器读放大器 读放大器读放大器4.2630 0 0I/O缓冲缓冲输出驱动输出驱动OUTD 读放大器读放大器 读放大器读放大器 读放大器读放大器06364127128 根行线根行线Cs01271128列列选选择择读读/写线写线数据输入数据输入I/O缓冲缓冲输出驱动输出驱动DOUTDINCs 4116 (16K1位位) 芯片芯片 写写 原理原理数据输入数据输入I/O缓冲缓冲I/O缓冲缓冲DIN读出放大器读出放大器 读放大器读放大器4.2630 (3) 动态动态 RAM 时序时序 行、列地址分开传送行、列地址分开传送写时序写时序行地址行地址 RAS 有效有效写允许写允许 WE
80、 有效有效(高高)数据数据 DOUT 有有效效数据数据 DIN 有效有效读时序读时序4.2行地址行地址 RAS 有效有效写允许写允许 WE 有效有效(低低)列地址列地址 CAS 有效有效列地址列地址 CAS 有效有效 (4) 动态动态 RAM 刷新刷新 刷新与行地址有关刷新与行地址有关 集中刷新集中刷新 (存取周期为存取周期为0.5 s s )“死时间率死时间率” 为为 128/4 000 100% = 3.2%“死区死区” 为为 0.5 s s 128 = 64 s s 周期序号周期序号地址序号地址序号tc0123871 387201tctctctc3999V W01127读读/写或维持写或
81、维持刷新刷新读读/写或维持写或维持3872 个周期个周期(1936 s s) 128个周期个周期 (64 s s) 刷新时间间隔刷新时间间隔 (2 ms)刷新序号刷新序号tcXtcY 4.2以以128 128 矩阵为例矩阵为例tC = = tM + + tR读写读写 刷新刷新无无 “死区死区” 分散刷新分散刷新(存取周期为存取周期为1 s )(存取周期为存取周期为 0.5 s + 0.5 s )4.2以以 128 128 矩阵为例矩阵为例W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔刷新间隔 128 个存取周期个存取周期 分散刷新与集中刷新相结合
82、(异步刷新)分散刷新与集中刷新相结合(异步刷新)对于对于 128 128 的存储芯片的存储芯片(存取周期为存取周期为 0.5 s s )将刷新安排在指令译码阶段,不会出现将刷新安排在指令译码阶段,不会出现 “死区死区”“死区死区” 为为 0.5 s s 若每隔若每隔 15.6 s s 刷新一行刷新一行每行每隔每行每隔 2 ms 刷新一次刷新一次4.2 3. 动态动态 RAM 和静态和静态 RAM 的比较的比较DRAMSRAM存储原理存储原理集成度集成度芯片引脚芯片引脚功耗功耗价格价格速度速度刷新刷新电容电容触发器触发器高高低低少少多多小小大大低低高高慢慢快快有有无无主存主存缓存缓存4.2 四、
83、只读存储器(四、只读存储器(ROM) 1. 掩模掩模 ROM ( MROM ) 行列选择线交叉处有行列选择线交叉处有 MOS 管为管为“1”行列选择线交叉处无行列选择线交叉处无 MOS 管为管为“0” 2. PROM (一次性编程一次性编程) VCC行线行线列列线线熔丝熔丝熔丝断熔丝断为为 “0”为为 “1”熔丝未断熔丝未断4.2 3. EPROM (多次性编程多次性编程 ) (1) N型沟道浮动栅型沟道浮动栅 MOS 电路电路G 栅极栅极S 源源D 漏漏紫外线全部擦洗紫外线全部擦洗D 端加正电压端加正电压形成浮动栅形成浮动栅S 与与 D 不导通为不导通为 “0”D 端不加正电压端不加正电压不
84、形成浮动栅不形成浮动栅S 与与 D 导通为导通为 “1”SGDN+N+P基片基片GDS浮动栅浮动栅SiO2+ + + + +_ _ _ 4.2控制逻辑控制逻辑Y 译码译码X 译译码码数据缓冲区数据缓冲区Y 控制控制128 128存储矩阵存储矩阵PD/ProgrCSA10A7A6A0DO0DO7112A7A1A0VSSDO2DO0DO127162413VCCA8A9VPPCSA10PD/ProgrDO3DO7(2) 2716 EPROM 的逻辑图和引脚的逻辑图和引脚4.2PD/ProgrPD/Progr功率下降功率下降 / 编程输入端编程输入端 读出时读出时 为为 低电平低电平 4. EEPRO
85、M (多次性编程多次性编程 ) 电可擦写电可擦写局部擦写局部擦写全部擦写全部擦写5. Flash Memory (闪速型存储器闪速型存储器) 比比 EEPROM快快4.2EPROM价格便宜价格便宜 集成度高集成度高EEPROM电可擦洗重写电可擦洗重写具备具备 RAM 功能功能 用用 1K 4位位 存储芯片组成存储芯片组成 1K 8位位 的存储器的存储器?片?片 五、存储器与五、存储器与 CPU 的连接的连接 1. 存储器容量的扩展存储器容量的扩展 (1) 位扩展位扩展(增加存储字长)(增加存储字长)10根地址线根地址线8根数据线根数据线DDD0479AA021142114CSWE4.22片片
86、(2) 字扩展(增加存储字的数量)字扩展(增加存储字的数量) 用用 1K 8位位 存储芯片组成存储芯片组成 2K 8位位 的存储器的存储器11根地址线根地址线8根数据线根数据线4.2?片?片2片片1K 8 8位位1K 8 8位位D7D0WEA1A0A9CS0A10 1CS1 (3) 字、位扩展字、位扩展用用 1K 4位位 存储芯片组成存储芯片组成 4K 8位位 的存储器的存储器8根数据线根数据线12根地址线根地址线WEA8A9A0.D7D0A11A10CS0CS1CS2CS3片选片选译码译码4.21K41K41K41K41K41K41K41K4?片?片8片片 2. 存储器与存储器与 CPU 的
87、连接的连接 (1) 地址线的连接地址线的连接(2) 数据线的连接数据线的连接(3) 读读/写命令线的连接写命令线的连接(4) 片选线的连接片选线的连接(5) 合理选择存储芯片合理选择存储芯片(6) 其他其他 时序、负载时序、负载4.2例例4.1 解解: : (1) 写出对应的二进制地址码写出对应的二进制地址码(2) 确定芯片的数量及类型确定芯片的数量及类型0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15A14A13 A11 A10 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0
88、00 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K8位位1K8位位RAM2片片1K4位位ROM1片片 2K8位位4.2(3) 分配地址线分配地址线A10 A0 接接 2K 8位位 ROM 的地址线的地址线A9 A0 接接 1K 4位位 RAM 的地址线的地址线(4) 确定片选信号确定片选信号C B A0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15 A13 A11 A10 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 1 1 1 1
89、1 1 1 1 1 12K 8位位1片片 ROM1K 4位位2片片RAM4.2 2K 8位位 ROM 1K 4位位 RAM1K 4位位 RAM&PD/ProgrY5Y4G1CBAG2BG2AMREQA14A15A13A12A11A10A9A0D7D4D3D0WR例例 4.1 CPU 与存储器的连接图与存储器的连接图4.2(1) 写出对应的二进制地址码写出对应的二进制地址码例例4.2 假设同前,要求最小假设同前,要求最小 4K为系统为系统 程序区,相邻程序区,相邻 8K为用户程序区。为用户程序区。(2) 确定芯片的数量及类型确定芯片的数量及类型(3) 分配地址线分配地址线(4) 确定片选信号确定
90、片选信号1片片 4K 8位位 ROM 2片片 4K 8位位 RAMA11 A0 接接 ROM 和和 RAM 的地址线的地址线4.2例例 4.3 设设 CPU 有有 20 根地址线,根地址线,8 根数据线。根数据线。 并用并用 IO/M 作访存控制信号。作访存控制信号。RD 为读命令,为读命令, WR 为写命令。现有为写命令。现有 2764 EPROM ( 8K 8位位 ), 外特性如下:外特性如下:用用 138 译码器及其他门电路(门电路自定)画出译码器及其他门电路(门电路自定)画出 CPU和和 2764 的连接图。要求地址为的连接图。要求地址为 F0000HFFFFFH , 并并写出每片写出
91、每片 2764 的地址范围。的地址范围。4.2D7D0CEOECE片选信号片选信号OE允许输出允许输出PGM可编程端可编程端PGMA0A12六、存储器的校验六、存储器的校验编码的纠错编码的纠错 、检错能力与编码的最小距离有关检错能力与编码的最小距离有关L 编码的最小距离编码的最小距离D 检测错误的位数检测错误的位数C 纠正错误的位数纠正错误的位数汉明码是具有一位纠错能力的编码汉明码是具有一位纠错能力的编码4.2L 1 = D + C ( DC )1 . 编码的最小距离编码的最小距离任意两组合法代码之间任意两组合法代码之间 二进制位数二进制位数 的的 最少差异最少差异L = 3 具有具有 一位一
92、位 纠错能力纠错能力汉明码的组成需增添汉明码的组成需增添 ?位检测位位检测位检测位的位置检测位的位置 ?检测位的取值检测位的取值 ?2k n + k + 1检测位的取值与该位所在的检测检测位的取值与该位所在的检测“小组小组” 中中承担的奇偶校验任务有关承担的奇偶校验任务有关组成汉明码的三要素组成汉明码的三要素4.22 . 汉明码的组成汉明码的组成2i ( i = 0,1,2 ,3 , )各检测位各检测位 Ci 所承担的检测小组为所承担的检测小组为gi 小组独占第小组独占第 2i1 位位gi 和和 gj 小组共同占第小组共同占第 2i1 + 2j1 位位gi、gj 和和 gl 小组共同占第小组共
93、同占第 2i1 + 2j1 + 2l1 位位 C1 检测的检测的 g1 小组包含第小组包含第 1,3,5,7,9,11,C2 检测的检测的 g2 小组包含第小组包含第 2,3,6,7,10,11,C4 检测的检测的 g3 小组包含第小组包含第 4,5,6,7,12,13,C8 检测的检测的 g4 小组包含第小组包含第 8,9,10,11,12,13,14,15,24,4.2例例4.4 求求 0101 按按 “偶校验偶校验” 配置的汉明码配置的汉明码解:解: n = 4根据根据 2k n + k + 1得得 k = 3汉明码排序如下汉明码排序如下:二进制序号二进制序号名称名称1 2 3 4 5
94、6 7C1 C2 C40 0101 的汉明码为的汉明码为 010010101 0 14.210按配偶原则配置按配偶原则配置 0011 的汉明码的汉明码 二进制序号二进制序号 名称名称1 2 3 4 5 6 7C1 C2 C41 0 000 1 1解:解: n = 4 根据根据 2k n + k + 1取取 k = 3C1= 3 5 7 = 1C2= 3 6 7 = 0C4= 5 6 7 = 0 0011 的汉明码为的汉明码为 1000011练习练习14.23. 汉明码的纠错过程汉明码的纠错过程形成新的检测位形成新的检测位 Pi ,如增添如增添 3 位位 (k = 3), 新的检测位为新的检测位
95、为 P4 P2 P1 。以以 k = 3 为例,为例,Pi 的取值为的取值为P1 = 1 3 5 7P2 = 2 3 6 7P4 = 4 5 6 7对于按对于按 “偶校验偶校验” 配置的汉明码配置的汉明码 不出错时不出错时 P1= 0,P2 = 0,P4 = 0C1C2C4其位数与增添的检测位有关,其位数与增添的检测位有关,4.2P1= 1 3 5 7 = 0 无错无错P2= 2 3 6 7 = 1 有错有错P4= 4 5 6 7 = 1 有错有错P4P2P1 = 110第第 6 位出错,可纠正为位出错,可纠正为 0100101,故要求传送的信息为故要求传送的信息为 0101。纠错过程如下纠错
96、过程如下例例4.5解:解: 已知接收到的汉明码为已知接收到的汉明码为 0100111(按配偶原则配置)试问要求传送的信息是什么(按配偶原则配置)试问要求传送的信息是什么?4.2 练习练习2P4 = 4 5 6 7 = 1P2 = 2 3 6 7 = 0P1 = 1 3 5 7 = 0 P4 P2 P1 = 100第第 4 位错,可不纠位错,可不纠写出按偶校验配置的汉明码写出按偶校验配置的汉明码0101101 的纠错过程的纠错过程练习练习3按配奇原则配置按配奇原则配置 0011 的汉明码的汉明码配奇的汉明码为配奇的汉明码为 01010114.2七、提高访存速度的措施七、提高访存速度的措施 采用高
97、速器件采用高速器件 调整主存结构调整主存结构1. 单体多字系统单体多字系统 W位位W位位W位位W位位W位位 地址寄存器地址寄存器 主主存存控控制制器器. . . . . . 单字长寄存器单字长寄存器 数据寄存器数据寄存器 存储体存储体 采用层次结构采用层次结构 Cache 主存主存 增加存储器的带宽增加存储器的带宽 4.22. 多体并行系统多体并行系统(1) 高位交叉高位交叉 M0M1M2M34.2体内地址体内地址体号体号体号体号地址地址00 000000 000100 111101 000001 000101 111110 000010 000110 111111 000011 000111
98、 1111顺序编址顺序编址 各个体并行工作各个体并行工作4.2M0地址地址01n1M1nn+12n1M22n2n+13n1M33n3n+14n1地址译码地址译码体内地址体内地址体号体号体号体号(1) 高位交叉高位交叉 M0M1M2M34.2体号体号体内地址体内地址地址地址0000 000000 010000 100000 110001 000001 010001 100001 111111 001111 011111 101111 11(2) 低位交叉低位交叉各个体轮流编址各个体轮流编址4.2M0地址地址044n4M1154n3M2264n2M3374n1地址译码地址译码 体号体号体内地址体内
99、地址 体号体号(2) 低位交叉低位交叉 各个体轮流编址各个体轮流编址低位交叉的特点低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽在不改变存取周期的前提下,增加存储器的带宽时间时间 单体单体访存周期访存周期 单体单体访存周期访存周期4.2启动存储体启动存储体 0启动存储体启动存储体 1启动存储体启动存储体 2启动存储体启动存储体 3 4.2设四体低位交叉存储器,存取周期为设四体低位交叉存储器,存取周期为T,总线传输周期,总线传输周期为为,为实现流水线方式存取,应满足,为实现流水线方式存取,应满足 T 4。连续读取连续读取 4 个字所需的时间为个字所需的时间为 T(4 1)(3) 存储器
100、控制部件(简称存控)存储器控制部件(简称存控)易发生代码易发生代码丢失的请求丢失的请求源,优先级源,优先级最高最高严重影响严重影响 CPU工作的请求源,工作的请求源,给予给予 次高次高 优先级优先级4.2控制线路控制线路排队器排队器 节拍节拍发生器发生器QQCM来自各个请求源来自各个请求源 主脉冲主脉冲存控标记存控标记 触发器触发器4.23.高性能存储芯片高性能存储芯片(1) SDRAM (同步同步 DRAM)在系统时钟的控制下进行读出和写入在系统时钟的控制下进行读出和写入CPU 无须等待无须等待(2) RDRAM由由 Rambus 开发,主要解决开发,主要解决 存储器带宽存储器带宽 问题问题
101、 (3) 带带 Cache 的的 DRAM 在在 DRAM 的芯片内的芯片内 集成集成 了一个由了一个由 SRAM 组成的组成的 Cache ,有利于,有利于 猝发式读取猝发式读取 4.3 高速缓冲存储器高速缓冲存储器一、概述一、概述1. 问题的提出问题的提出避免避免 CPU “空等空等” 现象现象CPU 和主存(和主存(DRAM)的速度差异的速度差异缓存缓存CPU主存主存容量小容量小速度高速度高容量大容量大速度低速度低程序访问的局部性原理程序访问的局部性原理2. Cache 的工作原理的工作原理(1) 主存和缓存的编址主存和缓存的编址主存和缓存按块存储主存和缓存按块存储 块的大小相同块的大小
102、相同B 为块长为块长 主存块号主存块号主存储器主存储器012m1字块字块 0字块字块 1字块字块 M1主存块号主存块号块内地址块内地址m位位b位位n位位M块块B个字个字缓存块号缓存块号块内地址块内地址c位位b位位C块块B个字个字 字块字块 0字块字块 1字块字块 C1012c1标记标记Cache缓存块号缓存块号4.3(2) 命中与未命中命中与未命中缓存共有缓存共有 C 块块主存共有主存共有 M 块块M C主存块主存块 调入调入 缓存缓存主存块与缓存块主存块与缓存块 建立建立 了对应关系了对应关系用用 标记记录标记记录 与某缓存块建立了对应关系的与某缓存块建立了对应关系的 主存块号主存块号命中命
103、中未命中未命中主存块与缓存块主存块与缓存块 未建立未建立 对应关系对应关系主存块主存块 未调入未调入 缓存缓存4.3(3) Cache 的命中率的命中率CPU 欲访问的信息在欲访问的信息在 Cache 中的中的 比率比率命中率命中率 与与 Cache 的的 容量容量 与与 块长块长 有关有关 一般每块可取一般每块可取 4 8 个字个字块长取一个存取周期内从主存调出的信息长度块长取一个存取周期内从主存调出的信息长度 CRAY_1 16体交叉体交叉 块长取块长取 16 个存储字个存储字 IBM 370/168 4体交叉体交叉 块长取块长取 4 个存储字个存储字(64位位4 = 256位)位)4.3
104、(4) Cache 主存系统的效率主存系统的效率效率效率 e 与与 命中率命中率 有关有关 设设 Cache 命中率命中率 为为 h,访问访问 Cache 的时间为的时间为 tc , 访问访问 主存主存 的时间为的时间为 tm 4.3则则 e = 100% tc h tc+ (1h) tm 访问访问 Cache 的时间的时间 平均访问时间平均访问时间 e = 100%3. Cache 的基本结构的基本结构4.3Cache替换机构替换机构Cache存储体存储体主存主存Cache地址映射地址映射变换机构变换机构由由CPU完成完成4. Cache 的的 读写读写 操作操作 访问访问Cache取出信息
105、送取出信息送CPU 访问主存访问主存取出信息送取出信息送CPU将新的主存块将新的主存块调入调入Cache中中执行替换算法执行替换算法 腾出空位腾出空位 结束结束命中?命中?Cache满?满?CPU发出访问地址发出访问地址 开始开始是是否否是是否否读读4.3Cache 和主存的一致性和主存的一致性 4. Cache 的的 读写读写 操作操作写写4.3 写直达法写直达法(Write through) 写回法写回法(Write back) 写操作时数据既写入写操作时数据既写入Cache又写入主存又写入主存 写操作时只把数据写入写操作时只把数据写入 Cache 而不写入主存而不写入主存当当 Cache
106、 数据被替换出去时才写回主存数据被替换出去时才写回主存 写操作时间就是访问主存的时间写操作时间就是访问主存的时间,读操作时不,读操作时不涉及对主存的写操作,更新策略比较容易实现涉及对主存的写操作,更新策略比较容易实现写操作时间就是访问写操作时间就是访问 Cache 的时间的时间,读操作读操作 Cache 失效发生数据替换时,失效发生数据替换时,被替换的块需写回主存,增加了被替换的块需写回主存,增加了 Cache 的复杂性的复杂性5. Cache 的改进的改进(1) 增加增加 Cache 的级数的级数片载(片内)片载(片内)Cache片外片外 Cache(2) 统一缓存和分立缓存统一缓存和分立缓
107、存指令指令 Cache数据数据 Cache与主存结构有关与主存结构有关与指令执行的控制方式有关与指令执行的控制方式有关是否流水是否流水Pentium 8K 指令指令 Cache 8K 数据数据 CachePowerPC620 32K 指令指令 Cache 32K 数据数据 Cache4.3 字块字块2m1 字块字块2c+1 字块字块2c+11 字块字块2c +1 字块字块2c 字块字块2c1 字块字块1 字块字块0主存储体主存储体 字块字块 1 标记标记 字块字块 0 标记标记字块字块 2c1标记标记Cache存储体存储体t位位012c1 字块字块字块地址字块地址 主存字主存字 块标记块标记t
108、 位位c 位位b 位位主存地址主存地址 比较器(比较器(t位)位)= 不命中不命中有效位有效位=1?*m位位 Cache内地址内地址否否是是命中命中二、二、Cache 主存的地址映射主存的地址映射1. 直接映射直接映射每个缓存块每个缓存块 i 可以和可以和 若干若干 个个 主存块主存块 对应对应每个主存块每个主存块 j 只能和只能和 一一 个个 缓存块缓存块 对应对应i = j mod C4.3 字块字块2c+1 字块字块2c 字块字块0 字块字块 02. 全相联映射全相联映射主存主存 中的中的 任一块任一块 可以映射到可以映射到 缓存缓存 中的中的 任一块任一块字块字块2m1字块字块2c1字
109、块字块1 字块字块0字块字块2c1字块字块1字块字块0标记标记标记标记标记标记主存字块标记主存字块标记 字块内地址字块内地址主存地址主存地址m = t + c 位位b位位m = t+cCache 存储器存储器主存储器主存储器 字块字块04.3字块字块2m1字块字块2c-r+1 字块字块2c-r + 1 字块字块2c-r字块字块2c-r 字块字块1 字块字块0 字块字块 3标记标记 字块字块 1标记标记字块字块 2c1标记标记 字块字块 2标记标记 字块字块 0标记标记字块字块 2c2标记标记 字块内地址字块内地址组地址组地址主存字块标记主存字块标记s = t + r 位位q = cr 位位b
110、位位组组012c-r1主存地址主存地址Cache主存储器主存储器m 位位共共 Q 组组,每组内两块(,每组内两块(r = 1)1某一主存块某一主存块 j 按模按模 Q 映射到映射到 缓存缓存 的第的第 i 组组中的中的 任一块任一块i = j mod Q直接映射直接映射全相联映射全相联映射3. 组相联映射组相联映射4.3 字块字块0 字块字块 1 字块字块 0 字块字块2c-r 字块字块2c-r+1三、替换算法三、替换算法1. 先进先出先进先出 ( FIFO )算法算法 2. 近期最少使用(近期最少使用( LRU)算法算法小结小结某一某一 主存块主存块 只能固定只能固定 映射到映射到 某一某一
111、 缓存块缓存块直接直接全相联全相联组相联组相联某一某一 主存块主存块 能能 映射到映射到 任一任一 缓存块缓存块某一某一 主存块主存块 只能只能 映射到映射到 某一某一 缓存缓存 组组 中的中的 任一块任一块不灵活不灵活成本高成本高4.34.4 辅助存储器辅助存储器一、概述一、概述1. 特点特点不直接与不直接与 CPU 交换信息交换信息2. 磁表面存储器的技术指标磁表面存储器的技术指标道密度道密度 Dt位密度位密度 DbC = n k s寻道时间寻道时间 + 等待时间等待时间(1) 记录密度记录密度(2) 存储容量存储容量(3) 平均寻址时间平均寻址时间(4) 数据传输率数据传输率(5) 误码
112、率误码率辅存的速度辅存的速度寻址时间寻址时间磁头读写时间磁头读写时间Dr = Db V出错信息位数与读出信息的总位数之比出错信息位数与读出信息的总位数之比二、磁记录原理和记录方式二、磁记录原理和记录方式1. 磁记录原理磁记录原理写写4.4局部磁化单元局部磁化单元载磁体载磁体写线圈写线圈SNI局部磁化单元局部磁化单元写线圈写线圈SN铁芯铁芯磁通磁通磁层磁层写入写入“0”写入写入“1”IN读线圈读线圈S读线圈读线圈SN铁芯铁芯磁通磁通磁层磁层运动方向运动方向运动方向运动方向ssttffee读出读出 “0”读出读出 “1”4.4读读1. 磁记录原理磁记录原理2. 磁表面存储器的记录方式磁表面存储器的
113、记录方式011100010数据序列数据序列RZNRZNRZ1PMFMMFMT位周期位周期4.4例例 NRZ1 的读出代码波形的读出代码波形0110010数据序列数据序列驱动电流驱动电流磁通变化磁通变化感应电势感应电势同步脉冲同步脉冲读出代码读出代码4.4三、硬磁盘存储器三、硬磁盘存储器1. 硬磁盘存储器的类型硬磁盘存储器的类型(1) 固定磁头和移动磁头固定磁头和移动磁头(2) 可换盘和固定盘可换盘和固定盘2. 硬磁盘存储器结构硬磁盘存储器结构磁磁 盘盘 控控 制制 器器磁磁 盘盘 驱驱 动动 器器盘盘 片片主主 机机4.4磁盘磁盘磁磁盘盘组组主轴主轴磁头磁头音圈音圈电机电机位置检测位置检测定位
114、驱动定位驱动模拟控制模拟控制放放大大闭环自动控制系统闭环自动控制系统由磁盘控制由磁盘控制器送来的目器送来的目标磁道信号标磁道信号测测速速输输出出读写臂读写臂传动机构传动机构主轴主轴定位驱动定位驱动数据控制数据控制(1) 磁盘驱动器磁盘驱动器4.4(2) 磁盘控制器磁盘控制器 接收主机发来的命令,转换成磁盘驱动器的控制命令接收主机发来的命令,转换成磁盘驱动器的控制命令 实现主机和驱动器之间的数据格式转换实现主机和驱动器之间的数据格式转换 控制磁盘驱动器读写控制磁盘驱动器读写通过总线通过总线(3) 盘片盘片对主机对主机对硬盘(设备)对硬盘(设备)磁盘控制器磁盘控制器 是是主机与磁盘驱动器之间的主机
115、与磁盘驱动器之间的 接口接口由硬质铝合金材料制成由硬质铝合金材料制成4.4四、软磁盘存储器四、软磁盘存储器1. 概述概述速度速度磁头磁头盘片盘片价格价格环境环境硬盘硬盘软盘软盘高高低低固定、活动固定、活动活动活动固定盘、盘组固定盘、盘组大部分不可换大部分不可换可换盘片可换盘片苛刻苛刻浮动浮动接触盘片接触盘片高高低低4.42. 软盘片软盘片由聚酯薄膜制成由聚酯薄膜制成保护套保护套主轴孔主轴孔实际的软盘片实际的软盘片写保护口写保护口读读/写磁头访问槽写磁头访问槽衬里衬里/清洁材料清洁材料4.4五、光盘存储器五、光盘存储器1. 概述概述采用光存储技术采用光存储技术采用非磁性介质采用非磁性介质采用磁性
116、介质采用磁性介质第一代光存储技术第一代光存储技术第二代光存储技术第二代光存储技术不可擦写不可擦写可擦写可擦写2. 光盘的存储原理光盘的存储原理只读型和只写一次型只读型和只写一次型可擦写光盘可擦写光盘热作用热作用(物理或化学变化)(物理或化学变化)热磁效应热磁效应4.4利用激光写入和读出利用激光写入和读出第第章章 输入输出系统输入输出系统5.6 DMA方式方式5.5 程序中断方式程序中断方式5.4 程序查询方式程序查询方式5.3 I/O接口接口5.2 外部设备外部设备5.1 概述概述5.1 概概 述述一、输入输出系统的发展概况一、输入输出系统的发展概况1. 早期早期分散连接分散连接CPU 和和
117、I/O设备设备 串行串行 工作工作程序查询方式程序查询方式2. 接口模块和接口模块和 DMA 阶段阶段总线连接总线连接CPU 和和 I/O设备设备 并行并行 工作工作3. 具有通道结构的阶段具有通道结构的阶段4. 具有具有 I/O 处理机的阶段处理机的阶段中断方式中断方式DMA 方式方式二、输入输出系统的组成二、输入输出系统的组成1. I/O 软件软件(1) I/O 指令指令(2) 通道指令通道指令CPU 指令的一部分指令的一部分通道自身的指令通道自身的指令指出数组的首地址、传送字数、操作命令指出数组的首地址、传送字数、操作命令如如 IBM/370 通道指令为通道指令为 64 位位2. I/O
118、 硬件硬件设备设备I/O 接口接口设备设备设备控制器设备控制器通道通道操作码操作码命令码命令码设备码设备码5.1三、三、I/O 设备与主机的联系方式设备与主机的联系方式1. I/O 设备编址方式设备编址方式(1) 统一编址统一编址(2) 不统一编址不统一编址用取数、存数指令用取数、存数指令有专门的有专门的 I/O 指令指令2. 设备选址设备选址用设备选择电路识别是否被选中用设备选择电路识别是否被选中3. 传送方式传送方式(1) 串行串行(2) 并行并行5.1数据字数据字命令字命令字命令字命令字0 1 1 0 1 0 0 0起起始始位位终终止止位位9.09 ms2 9.09 ms4. 联络方式联
119、络方式(1) 立即响应立即响应(2) 异步工作采用应答信号异步工作采用应答信号 “Ready”“Strobe”I/O 接接 口口I/O 设设 备备CPU(3) 同步工作采用同步时标同步工作采用同步时标5.1并行并行串行串行起起始始位位终终止止位位9.09 ms2 9.09 ms5. I/O 设备与主机的连接方式设备与主机的连接方式(1) 辐射式连接辐射式连接(2) 总线连接总线连接 外设外设 外设外设 外设外设 主主机机不便于增删设备不便于增删设备每台设备都配有一套每台设备都配有一套控制线路和一组信号线控制线路和一组信号线5.1便于增删设备便于增删设备四、四、I/O设备与主机信息传送的控制方式
120、设备与主机信息传送的控制方式1. 程序查询方式程序查询方式CPU 和和 I/O 串行工作串行工作踏步等待踏步等待CPU读读I/O状态状态检查状态检查状态未准备就绪未准备就绪出错出错从从I/O接口中读接口中读 一个字到一个字到CPU从从CPU向主存向主存 写入一个字写入一个字CPU向向I/O发发 读指令读指令CPU读读I/O状态状态检查状态检查状态 完成否完成否未准备就绪未准备就绪现行程序现行程序是是出错出错已准备就绪已准备就绪否否5.12. 程序中断方式程序中断方式I/O 工作工作CPU 不查询不查询CPU 暂停现行程序暂停现行程序自身准备自身准备与主机交换信息与主机交换信息CPU 和和 I/
121、O 并行工作并行工作 启动启动 I/O设备设备现行程序现行程序 中中断断服服务务程程序序KK+1没有踏步等待现象没有踏步等待现象中断现行程序中断现行程序5.1程序中断方式流程程序中断方式流程CPU 向向 I/O 发读指令发读指令CPU 读读 I/O 状态状态检查状态检查状态完成否?完成否?CPU 做其他事情做其他事情I/O 设备工作设备工作准备就绪准备就绪CPU I/O从从 CPU 向主存写入一个字向主存写入一个字CPU 主存主存从从 I/O 接口中读一个字到接口中读一个字到CPUI/O CPU中断请求中断请求I/O CPU出错出错是是否否未错未错5.13. DMA 方式方式主存和主存和 I/
122、O 之间有一条直接数据通道之间有一条直接数据通道不中断现行程序不中断现行程序周期挪用(周期窃取)周期挪用(周期窃取)CPU 和和 I/O 并行工作并行工作存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现实现I/O与主存之间的传送与主存之间的传送5.1三种方式的三种方式的 CPU 工作效率比较工作效率比较存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现
123、实现I/O与主存与主存之间的传送之间的传送CPU 执行执行现行程序现行程序CPU查询等待并传输查询等待并传输I/O数据数据CPU 执行执行现行程序现行程序启动启动I/OI/O 准备及传送准备及传送指令执行周期结束指令执行周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序启动启动I/O中断请求中断请求I/O准备准备I/O准备准备CPU 处理中断服务程序处理中断服务程序实现实现 I/O 与主机之间的传送与主机之间的传送间间断断启动启动I/O启动启动I/OI/O准备准备中断请求中断请求启动启动I/OI/O准备准备一个存取周期一个存取周期DMA请求请求程序程序查询查询方式方式程序
124、程序中断中断方式方式DMA 方式方式5.1I/O 准备及传送准备及传送间间断断I/O准备准备I/O准备准备5.2 I/O设备设备一、概述一、概述主主机机 设备设备控制器控制器机、电机、电磁、光磁、光部分部分I/O接接口口外部设备外部设备外部设备大致分三类外部设备大致分三类键盘、鼠标、打印机、显示器键盘、鼠标、打印机、显示器 磁盘、光盘、磁带磁盘、光盘、磁带1. 人机交互设备人机交互设备2. 计算机信息存储设备计算机信息存储设备3. 机机 机通信设备机通信设备调制解调器等调制解调器等二、输入设备二、输入设备1. 键盘键盘2. 鼠标鼠标3. 触摸屏触摸屏按键按键判断哪个键按下判断哪个键按下将此键翻
125、译成将此键翻译成 ASCII 码码 (编码键盘法)(编码键盘法)机械式机械式 金属球金属球 电位器电位器5.2光电式光电式 光电转换器光电转换器三、输出设备三、输出设备1. 显示器显示器(1) 字符显示字符显示(2) 图形显示图形显示(3) 图像显示图像显示字符发生器字符发生器主观图像主观图像客观图像客观图像2. 打印机打印机(1) 击打式击打式(2) 非击打式非击打式点阵式(逐字、逐行)点阵式(逐字、逐行)喷墨(逐字)喷墨(逐字)激光(逐页)激光(逐页)5.2四、其他四、其他1. A/D、D/A2. 终端终端3. 汉字处理汉字处理五、多媒体技术五、多媒体技术完成显示控制与存储、键盘管理及通信
126、控制完成显示控制与存储、键盘管理及通信控制模拟模拟/数字(数字数字(数字/模拟)转换器模拟)转换器汉字输入、汉字存储、汉字输出汉字输入、汉字存储、汉字输出1. 什么是多媒体什么是多媒体2. 多媒体计算机的关键技术多媒体计算机的关键技术5.2由键盘和显示器组成由键盘和显示器组成5.3 I/O 接接 口口一、概述一、概述为什么要设置接口?为什么要设置接口?1. 实现设备的选择实现设备的选择2. 实现数据缓冲达到速度匹配实现数据缓冲达到速度匹配4. 实现电平转换实现电平转换5. 传送控制命令传送控制命令6. 反映设备的状态(反映设备的状态(“忙忙”、“就绪就绪”、“中断请求中断请求”)3. 实现数据
127、串实现数据串 并格式转换并格式转换二、接口的功能和组成二、接口的功能和组成(1) 设备选择线设备选择线(2) 数据线数据线(3) 命令线命令线(4) 状态线状态线I/O 接口接口设备设备I/O 接口接口设备设备数数据据线线命命令令线线状状态态线线I/O总线总线设设备备选选择择线线1.总线连接方式的总线连接方式的 I/O 接口电路接口电路5.32. 接口的功能和组成接口的功能和组成功能功能组成组成选址功能选址功能传送命令的功能传送命令的功能传送数据的功能传送数据的功能反映设备状态的功能反映设备状态的功能设备选择电路设备选择电路命令寄存器、命令译码器命令寄存器、命令译码器数据缓冲寄存器数据缓冲寄存
128、器设备状态标记设备状态标记完成触发器完成触发器 D工作触发器工作触发器 B中断请求触发器中断请求触发器 INTR屏蔽触发器屏蔽触发器 MASK5.33. I/O 接口的基本组成接口的基本组成 命令寄存器命令寄存器和命令译码器和命令译码器 设备选择设备选择 电路电路 设备状态设备状态 标记标记 数据缓冲数据缓冲 寄存器寄存器DBR 控控制制逻逻辑辑电电路路I/O接口接口外外 部部 设设 备备数据线数据线命令命令状态状态数据线数据线命令线命令线状态线状态线CPU地址线地址线5.3三、接口类型三、接口类型并行接口并行接口串行接口串行接口可编程接口可编程接口不可编程接口不可编程接口通用接口通用接口专用
129、接口专用接口1. 按数据按数据 传送方式传送方式 分类分类2. 按功能按功能 选择的灵活性选择的灵活性 分类分类3. 按按 通用性通用性 分类分类4. 按数据传送的按数据传送的 控制方式控制方式 分类分类中断接口中断接口DMA 接口接口5.3Intel 8255Intel 8251Intel 8255、 Intel 8251Intel 8212Intel 8255、 Intel 8251Intel 8279、 Intel 8275Intel 8259Intel 82575.4 程序查询方式程序查询方式一、程序查询流程一、程序查询流程检查状态标记检查状态标记1 设备设备1 准备就绪?准备就绪?检
130、查状态标记检查状态标记N 设备设备N准备就绪?准备就绪?处理设备处理设备1是是否否否否处理设备处理设备N是是1. 查询流程查询流程检查状态标记检查状态标记交换数据交换数据准备就绪准备就绪?是是否否单个设备单个设备多个设备多个设备测测试试指指令令转转移移指指令令传传送送指指令令2. 程序流程程序流程设置主存缓冲区首址设置主存缓冲区首址设置计数值设置计数值启动外设启动外设传送一个数据传送一个数据修改主存地址修改主存地址修改计数值修改计数值结束结束I/O传送传送准备好?准备好?传送完?传送完?未完未完是是完完否否5.4 保存保存 寄存器内容寄存器内容设备选择电路设备选择电路DBRQQ&数据线数据线准
131、备就绪准备就绪启动命令启动命令地址线地址线SEL输入数据输入数据启动设备启动设备设备工作设备工作 结束结束DB二、程序查询方式的接口电路二、程序查询方式的接口电路10 105.4以输入为例以输入为例5.5 程序中断方式程序中断方式一、中断的概念一、中断的概念KK+1QQ+1中中断断服服务务程程序序1中中断断服服务务程程序序2入口入口1入口入口2二、二、I/O 中断的产生中断的产生以打印机为例以打印机为例发发中中断断请请求求 空闲空闲接收接收数据数据接收接收数据数据准备准备发发中中断断请请求求打印打印打印打印打印机打印机执行主程序执行主程序继续执行主程序继续执行主程序继续执行主程序继续执行主程序
132、响响应应中中断断中中断断返返回回响响应应中中断断中中断断返返回回 启动启动打印机打印机传送传送数据数据传送传送数据数据CPUCPU 与打印机并行工作与打印机并行工作5.5三、程序中断方式的接口电路三、程序中断方式的接口电路1. 配置中断请求触发器和中断屏蔽触发器配置中断请求触发器和中断屏蔽触发器DQ&1INTR 中断请求触发器中断请求触发器INTR = 1 有请求有请求MASK 中断屏蔽触发器中断屏蔽触发器MASK = 1 被屏蔽被屏蔽来自来自 CPU 的的中断查询信号中断查询信号受设备本身控制受设备本身控制INTR D MASKQD 完成触发器完成触发器5.5中断请求中断请求2. 排队器排队
133、器排队排队在在 CPU 内或在接口电路中(链式排队器)内或在接口电路中(链式排队器)硬件硬件软件软件5.5详见第八章详见第八章INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTR1设备设备 1#、2#、3#、4# 优先级按优先级按 降序排列降序排列INTRi = 1 有请求有请求 即即 INTRi = 01INTP11INTP21INTP31INTP4&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTP1INTP2INTP3INTP4INTR2INTR1INTR1INT
134、R25.51&INTP22. 排队器排队器排队排队在在 CPU 内或在接口电路中(链式排队器)内或在接口电路中(链式排队器)硬件硬件软件软件 详见第八章详见第八章3. 中断向量地址形成部件中断向量地址形成部件入口地址入口地址向量地址向量地址排队器输出排队器输出由软件产生由软件产生硬件向量法硬件向量法 显示器服务程序显示器服务程序 打印机服务程序打印机服务程序JMP 400JMP 300JMP 200主存主存12H13H14H200300向量地址向量地址入口地址入口地址入口地址入口地址中断向量地址中断向量地址 形成部件形成部件 设备设备编码器编码器1 0 0 0000100100 1 0 000
135、010011详见第八章详见第八章由由 硬件硬件 产生产生 向量地址向量地址再由再由 向量地址向量地址 找到找到 入口地址入口地址5.5设备选择电路设备选择电路DBR DQ&数据线数据线启动命令启动命令地址线地址线SEL输入数据输入数据启动设备启动设备设备工作设备工作 结束结束&1QQDINTR BQQMASK 设备编码器设备编码器排队器排队器中断查询中断查询来自高一级来自高一级 的排队器的排队器至低一级至低一级的排队器的排队器向量地址向量地址中断响应中断响应 INTA中断请求中断请求命令译码命令译码4. 程序中断方式接口电路的基本组成程序中断方式接口电路的基本组成5.5四、四、I/O 中断处理
136、过程中断处理过程1. CPU 响应中断的条件和时间响应中断的条件和时间(1) 条件条件(2) 时间时间允许中断触发器允许中断触发器 EINT = 1用用 开中断开中断 指令将指令将 EINT 置置 “1”用用 关中断关中断 指令将指令将 EINT 置置“ 0” 或硬件或硬件 自动复自动复位位当当 D = 1(随机)且随机)且 MASK = 0 时时在每条指令执行阶段的结束前在每条指令执行阶段的结束前CPU 发发 中断查询信号中断查询信号(将(将 INTR 置置“1”)5.5设备选择电路设备选择电路DBR DQ&数据线数据线启动命令启动命令地址线地址线SEL输入数据输入数据启动设备启动设备设备工
137、作设备工作 结束结束&1QQDINTR BQQ MASK设备编码器设备编码器排队器排队器中断查询中断查询来自高一级来自高一级 的排队器的排队器至低一级至低一级的排队器的排队器向量地址向量地址中断响应中断响应 INTA中断请求中断请求命令译码命令译码2. I/O 中断处理过程中断处理过程10&DBR设备选择电路设备选择电路01以输入为例以输入为例5.5五、中断服务程序流程五、中断服务程序流程1. 中断服务程序的流程中断服务程序的流程(1) 保护现场保护现场(2) 中断服务中断服务(3) 恢复现场恢复现场(4) 中断返回中断返回对不同的对不同的 I/O 设备具有不同内容的设备服务设备具有不同内容的
138、设备服务中断返回指令中断返回指令2. 单重中断和多重中断单重中断和多重中断不允许中断不允许中断 现行的现行的 中断服务程序中断服务程序单重单重 中断中断多重多重 中断中断允许级别更高允许级别更高 的中断源的中断源中断中断 现行的现行的 中断服务程序中断服务程序中断隐指令完成中断隐指令完成进栈指令进栈指令出栈指令出栈指令程序断点的保护程序断点的保护寄存器内容的保护寄存器内容的保护5.53. 单重中断和多重中断的服务程序流程单重中断和多重中断的服务程序流程中断否?中断否?保护现场保护现场设备服务设备服务恢复现场恢复现场 开中断开中断中断返回中断返回取指令取指令执行指令执行指令中中断断服服务务程程序
139、序 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断 向量地址向量地址 PC中中断断周周期期是是中断返回中断返回保护现场保护现场设备服务设备服务恢复现场恢复现场开中断开中断开中断开中断开中断开中断中中断断隐隐指指令令中中断断隐隐指指令令否否取指令取指令执行指令执行指令中断否?中断否?否否 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断向量地址向量地址 PC中中断断周周期期是是中中断断服服务务程程序序单重单重 多重多重 5.5程序中断接口芯片程序中断接口芯片 8259A 的内部结构的内部结构 5.5内部总线内部总线 缓冲器缓冲器读读 / 写写逻逻 辑辑级联缓冲级联缓冲器器/比较
140、器比较器优先权优先权判别器判别器 ( PR ) 中断中断 服务服务 寄存寄存 器器(ISR) 中断中断 请求请求 寄存寄存 器器(IRR)中断屏蔽寄存器中断屏蔽寄存器 (IMR)控制逻辑控制逻辑INTINTAD7D0A0RDWRCSCAS0CAS1CAS2SP/ENIR0IR1IR2IR3IR4IR5IR6IR7内部总线内部总线主程序和服务程序抢占主程序和服务程序抢占 CPU 示意图示意图准备工作准备工作准备工作准备工作准备工作准备工作传送数据传送数据传送数据传送数据发中断请求发中断请求发中断请求发中断请求I/O宏观宏观 上上 CPU 和和 I/O 并行并行 工作工作微观微观 上上 CPU 中
141、断现行程序中断现行程序 为为 I/O 服务服务主程序主程序继续执行主程序继续执行主程序启动外设启动外设 服务程序服务程序(传送数据)(传送数据) 服务程序服务程序(传送数据)(传送数据)继续执行主程序继续执行主程序CPU5.55.6 DMA 方式方式一、一、DMA 方式的特点方式的特点1. DMA 和程序中断两种方式的数据通路和程序中断两种方式的数据通路CPU主主存存ACC 中断接口中断接口DMA 接口接口I/O 设设 备备中断方式数据传送通路中断方式数据传送通路输入指令输入指令输出指令输出指令DMA方式数据传送通路方式数据传送通路2. DMA 与主存交换数据的三种方式与主存交换数据的三种方式
142、(1) 停止停止 CPU 访问主存访问主存控制简单控制简单CPU 处于不工作状态或保持状态处于不工作状态或保持状态未充分发挥未充分发挥 CPU 对主存的利用率对主存的利用率主存工作时间主存工作时间CPU不执行程序不执行程序DMA不工作不工作DMA不工作不工作DMA工作工作 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t5.6(2) 周期挪用(或周期窃取)周期挪用(或周期窃取)DMA 访问主存有三种可能访问主存有三种可能 CPU 此时不访存此时不访存 CPU 正在访存正在访存 CPU 与与 DMA 同时请求访存同时请求访存此时此时 CPU 将总线控制权让给将总线控制权让
143、给 DMA主存工作时间主存工作时间 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t5.6(3) DMA 与与 CPU 交替访问交替访问主存工作时间主存工作时间DMA控制控制并使用主存并使用主存CPU控制控制并使用主存并使用主存tCPU 工作周期工作周期C1 专供专供 DMA 访存访存C2 专供专供 CPU 访存访存所有指令执行过程中的一个基准时间所有指令执行过程中的一个基准时间5.6不需要不需要 申请建立和归还申请建立和归还 总线的使用权总线的使用权二、二、DMA 接口的功能和组成接口的功能和组成1. DMA 接口功能接口功能(1) 向向 CPU 申请申请 DMA 传
144、送传送(2) 处理总线处理总线 控制权的转交控制权的转交(3) 管理管理 系统总线、系统总线、控制控制 数据传送数据传送(4) 确定确定 数据传送的数据传送的 首地址和长度首地址和长度(5) DMA 传送结束时,传送结束时,给出操作完成信号给出操作完成信号修正修正 传送过程中的数据传送过程中的数据 地址地址 和和 长度长度5.6DMA接口接口主主存存CPU2. DMA 接口组成接口组成DMA 控控 制制 逻逻 辑辑 中中 断断 机机 构构设备设备HLDAARWCDARHRQ中中断断请请求求数数据据线线地地址址线线+1+1溢出信号溢出信号DREQDACKBR5.6三、三、DMA 的工作过程的工作
145、过程1. DMA 传送过程传送过程预处理、数据传送、后处理预处理、数据传送、后处理(1) 预处理预处理通过几条输入输出指令预置如下信息通过几条输入输出指令预置如下信息 通知通知 DMA 控制逻辑传送方向(入控制逻辑传送方向(入/出)出) 设备地址设备地址 DMA 的的 DAR 主存地址主存地址 DMA 的的 AR 传送字数传送字数 DMA 的的 WC5.6预处理预处理:主存起始地址主存起始地址设备地址设备地址 传送数据个数传送数据个数启动设备启动设备DMADMADMA数据传送数据传送:继续执行主程序继续执行主程序同时完成一批数据传送同时完成一批数据传送后处理后处理:中断服务程序中断服务程序做做
146、 DMA 结束处理结束处理继续执行主程序继续执行主程序CPU(2) DMA 传送过程示意传送过程示意允许传送?允许传送?主存地址送总线主存地址送总线数据送数据送I/O设备(或主存设备(或主存 )修改修改 主存地址主存地址修改修改 字计数器字计数器 数据块数据块传送结束?传送结束?向向CPU申请申请 程序中断程序中断DMA请求请求否否否否是是是是数据传送数据传送5.6BR设备设备DMA 控控 制制 逻逻 辑辑 中中 断断 机机 构构ARWCDARDMA接口接口主主存存CPU+1+1(3) 数据传送过程(输入)数据传送过程(输入)DREQHRQHLDA地地址址线线DACK数数据据线线溢出信号溢出信
147、号中中断断请请求求ARWC+1+15.6BRBRBRBRBRBR设备设备DMA 控控 制制 逻逻 辑辑 中中 断断 机机 构构ARWCDARDMA接口接口主主存存CPU+1+1BRDREQHRQHLDA地地址址线线DACK数数据据线线溢出信号溢出信号中中断断请请求求ARWC+1+1(4) 数据传送过程(输出)数据传送过程(输出)5.6BRBRBRBR(5) 后处理后处理校验送入主存的数是否正确校验送入主存的数是否正确是否继续用是否继续用 DMA测试传送过程是否正确,错则转诊断程序测试传送过程是否正确,错则转诊断程序由中断服务程序完成由中断服务程序完成5.62. DMA 接口与系统的连接方式接口
148、与系统的连接方式DMA接口接口1DMA接口接口2DMA接口接口nCPU主存主存DMA响应响应I/O总线总线数据线数据线地址线地址线DMA请求请求(1) 具有公共请求线的具有公共请求线的 DMA 请求请求5.6(2) 独立的独立的 DMA 请求请求DMA接口接口1DMA接口接口2DMA接口接口3CPU主存主存DMA响应响应1DMA请求请求1DMA响应响应2DMA请求请求2DMA响应响应3DMA请求请求3I/O总线总线数据线数据线地址线地址线5.63. DMA 方式与程序中断方式的比较方式与程序中断方式的比较(1) 数据传送数据传送(2) 响应时间响应时间(3) 处理异常情况处理异常情况(4) 中
149、断请求中断请求(5) 优先级优先级中断方式中断方式DMA 方式方式程序程序 硬件硬件指令执行结束指令执行结束 存取周期结束存取周期结束能能 不能不能低低 高高传送数据传送数据 后处理后处理 5.6四、四、DMA 接口的类型接口的类型1. 选择型选择型在在 物理上物理上 连接连接 多个多个 设备设备在在 逻辑上逻辑上 只允许连接只允许连接 一个一个 设备设备设备地址寄存器设备地址寄存器控制状态寄存器控制状态寄存器数据缓冲寄存器数据缓冲寄存器主存地址寄存器主存地址寄存器时序电路时序电路字计数器字计数器DMA接口接口CPU主存主存设备设备 1设备设备 2设备设备 n选选择择线线. . .系统总线系统
150、总线5.62. 多路型多路型在在 物理上物理上 连接连接 多个多个 设备设备在在 逻辑上逻辑上 允许连接允许连接 多个多个 设备同时工作设备同时工作5.6设备设备设备设备设备设备DMA 接口接口CPU主存主存独立请求式独立请求式设备设备设备设备设备设备DMA 接口接口CPU主存主存链式链式3. 多路型多路型 DMA 接口的工作原理接口的工作原理 T4T6 T7T2为磁盘为磁盘 服务服务T5T8T3为磁带为磁带 服务服务为打印为打印机服务机服务T15 s s 5.6DMA 请求请求打印机打印机tDMA 请求请求DMA 请求请求DMA 请求请求45 s s 磁带磁带tDMA 请求请求DMA 请求请
151、求DMA 请求请求DMA 请求请求30 s s 磁盘磁盘t第第章章 计算机的运算方法计算机的运算方法6.1 无符号数和有符号数无符号数和有符号数6.3 定点运算定点运算6.2 数的定点表示和浮点表示数的定点表示和浮点表示6.4 浮点四则运算浮点四则运算6.5 算术逻辑单元算术逻辑单元6.1 无符号数和有符号数无符号数和有符号数一、无符号数一、无符号数寄存器的位数寄存器的位数反映无符号数的表示范围反映无符号数的表示范围 8 位位 0 25516 位位 0 65535带符号的数带符号的数 符号数字化的数符号数字化的数+ 0.10110 1011小数点的位置小数点的位置+ 11000 1100小数点
152、的位置小数点的位置 11001 1100小数点的位置小数点的位置 0.10111 1011小数点的位置小数点的位置真值真值 机器数机器数1. 机器数与真值机器数与真值二、有符号数二、有符号数6.12. 原码表示法原码表示法带符号的绝对值表示带符号的绝对值表示(1) 定义定义整数整数x 为真值为真值n 为整数的位数为整数的位数如如x = +1110x原原 = 0 , 1110 x原原 = 24 + 1110 = 1 , 1110 x = 1110x原原 = 0,x 2n x 02n x 0 x 2n用用 逗号逗号 将符号位将符号位和数值部分隔开和数值部分隔开6.1小数小数x 为真值为真值如如x
153、= + 0.1101x原原 = 0 . 1101 x = 0.1101x原原 = 1 ( 0.1101) = 1 . 1101 x 1 x 0x原原 = 1 x 0 x 1x = 0.1000000x原原 = 1 ( 0.1000000) = 1 . 1000000x = + 0.1000000x原原 = 0 . 1000000用用 小数点小数点 将符号将符号位和数值部分隔开位和数值部分隔开用用 小数点小数点 将符号将符号位和数值部分隔开位和数值部分隔开6.1(2) 举例举例例例 6.1 已知已知 x原原 = 1.0011 求求 x解解:例例 6.2 已知已知 x原原 = 1,1100 求求
154、x解解:x = 1 x原原 = 1 1.0011 = 0.0011x = 24 x原原 = 10000 1,1100 = 1100 0.00111100由定义得由定义得由定义得由定义得6.1例例 6.4 求求 x = 0 的原码的原码解解: 设设 x = + 0.0000例例 6.3 已知已知 x原原 = 0.1101 求求 x解:解: x = + 0.1101同理,对于整数同理,对于整数+ 0 原原 = 0,0000+ 0.0000原原 = 0.0000x = 0.0000 0.0000原原 = 1.0000 0 原原 = 1,0000 + 0原原 0原原 根据根据 定义定义 x原原 = 0
155、.11016.1原码的特点:原码的特点:简单、直观简单、直观但是用原码作加法时,会出现如下问题:但是用原码作加法时,会出现如下问题:能否能否 只作加法只作加法 ? 找到一个与负数等价的正数找到一个与负数等价的正数 来代替这个负数来代替这个负数就可使就可使 减减 加加加法加法 正正 正正加加加法加法 正正 负负加法加法 负负 正正加法加法 负负 负负减减减减加加 要求要求 数数1 数数2 实际操作实际操作 结果符号结果符号正正可正可负可正可负可正可负可正可负负负6.1- 123(1) 补的概念补的概念 时钟时钟逆时针逆时针- 363顺时针顺时针+ 9 6153. 补码表示法补码表示法可见可见 3
156、 可用可用 + 9 代替代替记作记作 3 + 9 (mod 12)同理同理 4 + 8 (mod 12) 5 + 7 (mod 12) 时钟以时钟以 12为模为模减法减法 加法加法6.1称称 + 9 是是 3 以以 12 为模的为模的 补数补数结论结论 一个负数加上一个负数加上 “模模” 即得该负数的补数即得该负数的补数 一个正数和一个负数互为补数时一个正数和一个负数互为补数时 它们绝对值之和即为它们绝对值之和即为 模模 数数 计数器计数器(模(模 16) 101110110000+ 0101 1011100001011 0000 ?可见可见 1011 可用可用 + 0101 代替代替同理同理
157、 011 0.1001自然去掉自然去掉6.1记作记作 1011(mod 24) + 0101(mod 23) + 101 (mod 2) + 1.0111 + 0101(mod24) 1011(mod24)(2) 正数的补数即为其本身正数的补数即为其本身 + 10000+ 10000两个互为补数的数两个互为补数的数+ 0101+ 10101分别加上模分别加上模结果仍互为补数结果仍互为补数 + 0101 + 0101 + 010124+1 10111,0101用用 逗号逗号 将符号位将符号位和数值部分隔开和数值部分隔开丢掉丢掉 10110 , 1 ,?1011(mod24)可见可见?+ 0101
158、0101010110110101+(mod24+1)6.1100000=(3) 补码定义补码定义整数整数x 为真值为真值n 为整数的位数为整数的位数x补补 = 0,x 2n x 02n+1 + x 0 x 2n(mod 2n+1)如如x = +1010x补补 = 27+1 +( 1011000 )=x补补 = 0,1010x = 10110001,0101000用用 逗号逗号 将符号位将符号位和数值部分隔开和数值部分隔开6.11011000100000000小数小数x 为真值为真值x = + 0.1110x补补 = x 1 x 02 + x 0 x 1(mod 2)如如x补补 = 0.1110
159、x = 0.11000001.0100000x补补 = 2 + ( 0.1100000 )=用用 小数点小数点 将符号位将符号位和数值部分隔开和数值部分隔开6.10.110000010.0000000(4) 求补码的快捷方式求补码的快捷方式= 100000= 1,011010101 + 1= 1,0110 又又x原原 = 1,1010则则x补补 = 24+1 1010= 11111 + 1 1010= 1111110101010当真值为当真值为 负负 时,时,补码补码 可用可用 原码除符号位外原码除符号位外每位取反,末位加每位取反,末位加 1 求得求得6.1+ 1设设 x = 1010 时时(
160、5) 举例举例解:解:x = + 0.0001解:由定义得解:由定义得x = x补补 2 = 1.0001 10.0000x原原 = 1.1111例例 6.6 已知已知 x补补 = 1.0001求求 xx补补 x原原 ?由定义得由定义得6.1例例 6.5 已知已知 x补补 = 0.0001求求 x x = 0.1111 = 0.1111 例例 6.7解:解:x = x补补 24+1 = 1,1110 100000x原原 = 1,0010当真值为当真值为 负负 时,时,原码原码 可用可用 补码除符号位外补码除符号位外每位取反,末位加每位取反,末位加 1 求得求得x补补 x原原 ? x = 001
161、0= 0010求求 x已知已知 x补补 = 1,1110由定义得由定义得6.1真值真值0, 10001101, 01110100.11101.00100.00000.00001.00000,10001101,10001100.11101.11100.00001.0000不能表示不能表示练习练习求下列真值的补码求下列真值的补码 1补补 = 2 + x = 10.0000 1.0000 = 1.0000+ 0补补 = 0补补由小数补码定义由小数补码定义= 1000110x补补 x原原6.1x = +70x = 0.1110x = 0.0000x = 70x = 0.1110x = 0.0000x
162、= 1.0000= 1000110x补补 = x 1 x 02+ x 0 x 1(mod 2)4. 反码表示法反码表示法(1) 定义定义整数整数x反反 = 0,x 2n x 0( 2n+1 1) + x 0 x 2n(mod 2n+1 1)如如x = +1101x反反 = 0,1101 = 1,0010x = 1101x反反 = (24+1 1) 1101 = 11111 1101用用 逗号逗号 将符号位将符号位和数值部分隔开和数值部分隔开x 为真值为真值n 为整数的位数为整数的位数6.1小数小数x = + 0.1101x反反 = 0.1101x = 0.1010x反反 = (2 2-4) 0
163、.1010= 1.1111 0.1010= 1.0101如如x反反 = x 1 x 0( 2 2-n) + x 0 x 1(mod 2 2-n)用用 小数点小数点 将符号位将符号位和数值部分隔开和数值部分隔开x 为真值为真值6.1n 为小数的位数为小数的位数(2) 举例举例例例 6.10 求求 0 的反码的反码设设 x = + 0.0000+0.0000反反= 0.0000解:解:同理,对于整数同理,对于整数+0反反= 0,0000例例6.9 已知已知 x反反 = 1,1110 求求 x例例6.8 已知已知 x反反 = 0,1110 求求 x解:解:由定义得由定义得 x = + 1110解:解
164、:6.1= 1,1110 11111= 0001由定义得由定义得x = x反反 (24+1 1)x = 0.0000 0.0000反反= 1.1111 0反反= 1,1111 + 0反反 0反反 三种机器数的小结三种机器数的小结 对于对于正数正数,原码原码 = 补码补码 = 反码反码 对于对于负数负数 ,符号位为符号位为 1,其其 数值部分数值部分原码除符号位外每位取反末位加原码除符号位外每位取反末位加 1 补码补码原码除符号位外每位取反原码除符号位外每位取反 反码反码 最高位最高位为为符号位符号位,书写上用,书写上用“,”(整数)(整数)或或“.”(小数)将数值部分和符号位隔开(小数)将数值
165、部分和符号位隔开6.1例例6.11 000000000000000100000010011111111000000010000001111111011111111011111111128129-0-1-128-127-127-126二进制代码二进制代码 无符号数无符号数对应的真值对应的真值原码对应原码对应 的真值的真值补码对应补码对应 的真值的真值反码对应反码对应 的真值的真值012127253254255-125-126-127-3-2-1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+1276.1+0 设机器数字长为设机器数字长为 8 位(其中位为符号位)位(其中位为符号
166、位)对于整数,当其分别代表无符号数、原码、补码和对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?反码时,对应的真值范围各为多少?例例6.12 解:解:已知已知 y补补 求求 y补补 y补补 = 0. y1 y2 yny = 0. y1 y2 yny = 0. y1 y2 yn y补补 = 1.y1 y2 yn + 2-n y补补 = 1. y1 y2 yn y原原 = 1. y1 y2 yn + 2-n y = (0. y1 y2 yn + 2-n) y = 0. y1 y2 yn + 2-n y补补 = 0. y1 y2 yn + 2-n设设 y补补 = y0.
167、y1 y2 yn6.1每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 1每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 15. 移码表示法移码表示法补码表示很难直接判断其真值大小补码表示很难直接判断其真值大小如如 十进制十进制x = +21x = 21x = +31x = 31x + 25+10101 + 100000+11111 + 10000010101 + 10000011111 + 100000大大大大错错错错大大大大正确正确正确正确0,101011,010110,111111,00001+10101 10
168、101+11111 11111= 110101= 001011= 111111= 000001二进制二进制补码补码6.1(1) 移码定义移码定义x 为真值,为真值,n 为为 整数的位数整数的位数移码在数轴上的表示移码在数轴上的表示x移码移码2n+112n2n 12n00真值真值如如x = 10100x移移 = 25 + 10100用用 逗号逗号 将符号位将符号位和数值部分隔开和数值部分隔开x = 10100x移移 = 25 10100x移移 = 2n + x(2nx 2n)= 1,10100= 0,011006.1(2) 移码和补码的比较移码和补码的比较设设 x = +1100100x移移 =
169、 27 + 1100100x补补 = 0,1100100设设 x = 1100100x移移 = 27 1100100x补补 = 1,0011100补码与移码只差一个符号位补码与移码只差一个符号位= 1,1100100= 0,001110010016.1- 1 0 0 0 0 0- 1 1 1 1 1- 1 1 1 1 0- 0 0 0 0 1 0 0 0 0 0+ 0 0 0 0 1+ 0 0 0 1 0+ 1 1 1 1 0+ 1 1 1 1 1真值真值 x ( n = 5 )x补补x移移x 移移对应的对应的十进制整数十进制整数(3) 真值、补码和移码的对照表真值、补码和移码的对照表0123
170、132333462630 0 0 0 0 00 0 0 0 1 00 0 0 0 0 10 1 1 1 1 11 0 0 0 0 01 0 0 0 0 11 0 0 0 1 01 1 1 1 1 01 1 1 1 1 10 1 1 1 1 10 1 1 1 1 00 0 0 0 1 00 0 0 0 0 10 0 0 0 0 01 1 1 1 1 11 0 0 0 1 01 0 0 0 0 11 0 0 0 0 0- 1 0 0 0 0 0 0 0 0 0 0+ 1 1 1 1 10 0 0 0 0 01 1 1 1 1 10 0 0 0 0 01 0 0 0 0 06.1 当当 x = 0
171、时时 +0移移 = 25 + 0 当当 n = 5 时时可见,可见,最小真值的移码为全最小真值的移码为全 0(4) 移码的特点移码的特点用移码表示浮点数的阶码用移码表示浮点数的阶码能方便地判断浮点数的阶码大小能方便地判断浮点数的阶码大小= 1,00000= 1,00000= 0000006.1 0移移 = 25 0 +0移移 = 0移移 100000移移= 25 100000最小的真值为最小的真值为 25= 1000006.2 数的定点表示和浮点表示数的定点表示和浮点表示小数点按约定方式标出小数点按约定方式标出一、定点表示一、定点表示Sf S1S2 Sn数数符符数值部分数值部分小数点位置小数点
172、位置Sf S1S2 Sn数数符符数值部分数值部分小数点位置小数点位置或或定点机定点机小数定点机小数定点机整数定点机整数定点机原码原码补码补码反码反码(1 2-n) +(1 2-n)(2n 1) +( 2n 1) 1 +(1 2-n) 2n +( 2n 1)(1 2-n) +(1 2-n)(2n 1) +( 2n 1)二、浮点表示二、浮点表示N = Srj浮点数的一般形式浮点数的一般形式S 尾数尾数j 阶码阶码r 基数(基值)基数(基值)计算机中计算机中 r 取取 2、4、8、16 等等当当 r = 2N = 11.0101= 0.110101210 = 1.1010121 = 1101.012
173、-10 = 0.001101012100 计算机中计算机中 S 小数、可正可负小数、可正可负j 整数、可正可负整数、可正可负 规格化数规格化数二进制表示二进制表示6.21. 浮点数的表示形式浮点数的表示形式Sf 代表浮点数的符号代表浮点数的符号n 其位数反映浮点数的精度其位数反映浮点数的精度m 其位数反映浮点数的表示范围其位数反映浮点数的表示范围jf 和和 m 共同表示小数点的实际位置共同表示小数点的实际位置6.2jf j1 j2 jm Sf S1 S2 Sn j 阶码阶码S 尾数尾数阶阶符符数数符符阶码的阶码的数值部分数值部分尾数的数值部分尾数的数值部分小数点位置小数点位置2. 浮点数的表示
174、范围浮点数的表示范围2( 2m1)( 1 2n)2( 2m1)2n2( 2m1)( 1 2n)2( 2m1)2n最小负数最小负数最大负数最大负数最大正数最大正数最小正数最小正数负数区负数区正数区正数区下溢下溢0上溢上溢上溢上溢215 ( 1 2-10) 2-15 2-10 215 ( 1 2-10) 设设 m = 4 n =10上溢上溢 阶码阶码 最大阶码最大阶码下溢下溢 阶码阶码 1)时,需)时,需 右规右规即尾数出现即尾数出现 01. 或或 10. 时时尾数右移一位尾数右移一位,阶码加阶码加 16.4例例6.27x = 0.1101 210 y = 0.1011 201求求 x +y(除阶
175、符、数符外,阶码取除阶符、数符外,阶码取 3 位,尾数取位,尾数取 6 位)位) 解:解:x补补 = 00, 010; 00. 110100y补补 = 00, 001; 00. 101100 对阶对阶 尾数求和尾数求和j补补 = jx补补 jy补补 = 00, 010 11, 111100, 001阶差为阶差为 +1 Sy 1, jy+1 y补补 = 00, 010; 00. 010110Sx补补 = 00. 110100Sy补补 = 00. 010110对阶后的对阶后的Sy补补01. 001010+尾数溢出需右规尾数溢出需右规6.4 右规右规x +y补补 = 00, 010; 01. 001
176、010x +y补补 = 00, 011; 00. 100101右规后右规后 x +y = 0. 100101 2114. 舍入舍入在在 对阶对阶 和和 右规右规 过程中,可能出现过程中,可能出现 尾数末位丢失尾数末位丢失引起误差,需考虑舍入引起误差,需考虑舍入(1) 0 舍舍 1 入法入法 (2) 恒置恒置 “1” 法法6.4例例 6.28x = ( )2-5 y = () 2-4 5878求求 x y(除阶符、数符外,阶码取除阶符、数符外,阶码取 3 位,尾数取位,尾数取 6 位)位)解:解:x补补 = 11, 011; 11. 011000y补补 = 11, 100; 00. 111000
177、 对阶对阶j补补 = jx补补 jy补补 = 11, 011 00, 100 11, 111阶差为阶差为 1 Sx 1, jx+ 1 x补补 = 11, 100; 11. 101100x = ( 0.101000)2-101y = ( 0.111000)2-100+6.4 尾数求和尾数求和Sx补补 = 11. 101100Sy补补 = 11. 001000+110. 110100 右规右规x y补补 = 11, 100; 10. 110100x y补补 = 11, 101; 11. 011010右规后右规后 x y = (0.100110)2-11= ( )2-319326.45. 溢出判断溢
178、出判断 设机器数为补码,尾数为设机器数为补码,尾数为 规格化形式,规格化形式,并假并假设阶符取设阶符取 2 位,阶码的数值部分取位,阶码的数值部分取 7 位,数符取位,数符取 2 位,尾数取位,尾数取 n 位,则该位,则该 补码补码 在数轴上的表示为在数轴上的表示为上溢上溢下溢下溢上溢上溢 对应对应负浮点数负浮点数 对应对应正浮点数正浮点数00,1111111;11.00 0 00,1111111;00.11 111,0000000;11.011 111,0000000;00.100 02127(1) 2-128(2-1+ 2-n)2-1282-12127(12-n)最小负数最小负数最大负数最
179、大负数最小正数最小正数最大正数最大正数0阶码阶码01, 阶码阶码01, 阶码阶码 10, 按机器零处理按机器零处理6.4二、浮点乘除运算二、浮点乘除运算x = Sx 2jxy = Sy 2jy1. 乘法乘法x y = (Sx Sy)2jx+jy2. 除法除法xy=SxSy 2jx jy(1) 阶码采用阶码采用 补码定点加补码定点加(乘法)(乘法)减减(除法)运算(除法)运算(2) 尾数乘除同尾数乘除同 定点定点 运算运算4. 浮点运算部件浮点运算部件阶码运算部件,尾数运算部件阶码运算部件,尾数运算部件3. 步骤步骤(3) 规格化规格化6.46.5 算术逻辑单元算术逻辑单元一、一、ALU 电路电
180、路组合逻辑电路组合逻辑电路 Ki 不同取值不同取值 Fi 不同不同四位四位 ALU 74181M = 0 算术运算算术运算M = 1 逻辑运算逻辑运算S3 S0 不同取值,可做不同运算不同取值,可做不同运算ALUAiBiFiKi二、快速进位链二、快速进位链1. 并行加法器并行加法器= Ai Bi + (Ai+Bi)Ci-1di = Ai Bi 本地进位本地进位ti = Ai + Bi 传送条件传送条件则则 Ci = di + tiCi-1 Si = Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1Ci = Ai Bi Ci-1+Ai Bi Ci-1+Ai
181、Bi Ci-1+Ai Bi Ci-1FAn FAn-1FA1FA0 FAn-2CnSnCn-1Sn-1Cn-2Sn-2C1S1C0S0C-1A0B0A1B1An-2Bn-2An-1Bn-1AnBn6.52. 串行进位链串行进位链进位链进位链传送进位的电路传送进位的电路串行进位链串行进位链进位串行传送进位串行传送以以 4 位全加器为例,每一位的进位表达式为位全加器为例,每一位的进位表达式为C0 = d0 + t0C-1 C1 = d1 + t1C0C2 = d2 + t2C1C3 = d3 + t3C2= d0 t0C-1 4 位位 全加器产生进位的全部时间为全加器产生进位的全部时间为 8tyn
182、 位全加器产生进位的全部时间为位全加器产生进位的全部时间为 2nty&C3t3t2t1t0C2C1C0C-1d3d2d1d0设与非门的级延迟时间为设与非门的级延迟时间为ty6.53. 并行进位链并行进位链n 位加法器的进位同时产生位加法器的进位同时产生以以 4 位加法器为例位加法器为例C0 = d0 + t0C-1 C1 = d1 + t1C0 C2 = d2 + t2C1C3 = d3 + t3C2 = d1 + t1d0 + t1t0C-1 = d2 + t2d1 + t2t1d0 + t2t1t0C-1 = d3 + t3d2 + t3t2d1 + t3t2t1d0 + t3t2t1t0
183、C-1 (先行进位,跳跃进位)(先行进位,跳跃进位)当当 di ti 形成后,只需形成后,只需 2.5ty 产生全部进位产生全部进位1 & &1 &1 &1 &C-1d3t3d2t2d1t1d0t0 11 1 1C0C1C2C3设与或非门的延设与或非门的延迟时间为迟时间为 1.5ty6.5 n 位全加器分若干小组,小组中的进位同时产生,位全加器分若干小组,小组中的进位同时产生, 小组与小组之间采用串行进位小组与小组之间采用串行进位当当 di ti 形成后形成后经经 2.5 ty 5 ty 7.5 ty 1 0 ty (1) 单重分组跳跃进位链单重分组跳跃进位链 第第 1 组组 第第 2 组组
184、第第 3 组组 第第 4 组组C15C14C13C12C11C10C9C8C7C6C5C4C3C2C1C0d15t15d14d13d12t14t13t12d11d10d9d8t11t10t9t8d7d6d5d4t7t6t5t4d3d2d1d0t3t2t1t0 产生产生 C3 C0 产生产生 C7 C4 产生产生 C11 C8 产生产生 C15 C126.5以以 n = 16 为例为例C-1(2) 双重分组跳跃进位链双重分组跳跃进位链 n 位全加器分若干大组,大组中又包含若干小位全加器分若干大组,大组中又包含若干小组。每个大组中小组的最高位进位同时产生。大组。每个大组中小组的最高位进位同时产生。
185、大组与大组之间采用串行进位。组与大组之间采用串行进位。以以 n = 32 为例为例 13245678第第 一一 大大 组组第第 二二 大大 组组C31C27C23C19C15C11C7C36.5(3) 双重分组跳跃进位链双重分组跳跃进位链 大组进位分析大组进位分析C3 = d3 + t3C2 = d3 + t3d2 + t3t2d1 + t3t2t1d0 + t3t2t1t0C-1以第以第 8 小组为例小组为例 D8 小组的本地进位小组的本地进位 与外来进位无关与外来进位无关 T8 小组的传送条件小组的传送条件 与外来进位无关与外来进位无关 传递传递外来进位外来进位C7 = D7 + T7C3
186、C11= D6 + T6C7 进一步展开得进一步展开得C15 = D5 + T5C11 C3 = D8+T8C-1 C7 = D7+T7C3C11 = D6+T6C7C15 = D5+T5C11第第 7 小组小组第第 6 小组小组第第 5 小组小组同理同理 D8 T8 C-1 =+= D7+T7D8+T7T8C-1 = D6+T6D7+T6T7D8+T6T7T8C-1= D5+T5D6+T5T6D7+T5T6T7D8+T5T6T7T8C-16.5(4) 双重分组跳跃进位链的双重分组跳跃进位链的 大组大组 进位线路进位线路以第以第 2 大组为例大组为例 第第 5 小组小组第第 6 小组小组第第
187、7 小组小组第第 8 小组小组T5T611& &1&1&1& 1 1 1C-1D5D6D7T7D8T8C15C11C7C36.5(5) 双重分组跳跃进位链的双重分组跳跃进位链的 小组小组 进位线路进位线路以第以第 8 小组为例小组为例只产生只产生 低低 3 位位 的进位和的进位和 本小组的本小组的 D8 T8C2C1C0D8T8 11& &1&1&1& 1 1 1C-1 1d3t3d2t2d1t1d0t06.5(6) n =16 双重分组跳跃进位链双重分组跳跃进位链第第 5 小组小组第第 6 小组小组第第 7 小组小组第第 8 小组小组第第 二二 重重 进进 位位 链链D5T5D6T6D7T7
188、D8T8C15C11C7C3C1412C108C64C20d1512t1512d118t118d74t74d30t30C-1经经 5 ty经经 7.5 ty经经 3 2 ty经经 1 0 ty产生产生 C2、C1、C0、D5 D8、T5 T8产生产生 C15、 C11、 C7、 C3产生产生 C14C12、 C10C8 、 C6C4 产生产生 全部进位全部进位产生产生 全部进位全部进位6.5经经 2.5 ty当当 di ti 和和C-1形成后形成后串行进位链串行进位链单重分组跳跃进位链单重分组跳跃进位链(7) n =32 双重分组跳跃进位链双重分组跳跃进位链ditiditiditiditidi
189、tiditiditiditi12345678第第 一一 大大 组组第第 二二 大大 组组D1T1D2T2D3T3D4T4D5T5D6T6D7T7D8T8C31C27C23C19C15C11C7C3C3028C2624C2220C1816C1412C108C64C20C-1当当 di ti 形成后形成后产生产生 C2、C1、C0、D1 D8、T1 T8 产生产生 C15、 C11、 C7、 C3 产生产生 C18 C16、 C14C12、 C10C8 、 C6C4 C31、 C27、 C23、 C19产生产生 C30C28、 C26 C24、 C22 C20 经经 2.5 ty5 ty7.5 t
190、y1 0 ty6.5第章第章 指指 令令 系系 统统7.1 机器指令机器指令 7.2 操作数类型和操作类型操作数类型和操作类型 7.3 寻址方式寻址方式 7.4 指令格式举例指令格式举例 7.5 RISC 技术技术 7.1 机机 器器 指指 令令一、指令的一般格式一、指令的一般格式 操作码字段操作码字段 地址码字段地址码字段1. 操作码操作码反映机器做什么操作反映机器做什么操作(1) 长度固定长度固定(2) 长度可变长度可变用于指令字长较长的情况用于指令字长较长的情况 ,RISC如如 IBM 370操作码操作码 8 位位操作码分散在指令字的不同字段中操作码分散在指令字的不同字段中(3) 扩展操
191、作码技术扩展操作码技术操作码的位数随地址数的减少而增加操作码的位数随地址数的减少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码最多最多15条三地址指令条三地址指令最多最多15条二地址指令条二地址指令最多最多15条一地址指令
192、条一地址指令16条零地址指令条零地址指令7.1(3) 扩展操作码技术扩展操作码技术操作码的位数随地址数的减少而增加操作码的位数随地址数的减少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码三地址指令操作码三地址指令操作码每减
193、少一种可多构成每减少一种可多构成24 种二地址指令种二地址指令二地址指令操作码二地址指令操作码每减少一种可多构成每减少一种可多构成24 种一地址指令种一地址指令7.12. 地址码地址码(1) 四地址四地址(2) 三地址三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作数地址第一操作数地址A2 第二操作数地址第二操作数地址A3 结果的地址结果的地址A4 下一条指令地址下一条指令地址若若 PC 代替代替 A4(A1) OP (A2) A38 8 8 8 OP A1 A2 A3(A1) OP (A2) A34 次访存次访存4 次访存次访存寻址范围寻址范围 26 = 64寻址范围寻址范
194、围 28 = 256若若 A3 用用 A1 或或 A2 代替代替7.1设指令字长为设指令字长为 32 位位操作码固定为操作码固定为 8 位位(3) 二地址二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或或4 次访存次访存若若ACC 代替代替 A1(或或A2)若结果存于若结果存于 ACC (4) 一地址一地址(5) 零地址零地址OP A18 24无地址码无地址码(ACC) OP (A1) ACC2 次访存次访存寻址范围寻址范围 212 = 4 K寻址范围寻址范围 224 = 16 M 3次访存次访存7.1二、指令字长二、指令字长指令字长决定于指令
195、字长决定于操作码的长度操作码的长度指令字长指令字长 = 存储字长存储字长2. 指令字长指令字长 可变可变操作数地址的长度操作数地址的长度操作数地址的个数操作数地址的个数1. 指令字长指令字长 固定固定按字节的倍数变化按字节的倍数变化7.1小结小结 当用一些硬件资源代替指令字中的地址码字段后当用一些硬件资源代替指令字中的地址码字段后 当指令的地址字段为寄存器时当指令的地址字段为寄存器时 可扩大指令操作数的寻址范围可扩大指令操作数的寻址范围 可缩短指令字长可缩短指令字长 可减少访存次数可减少访存次数 三地址三地址 OP R1, R2, R3 二地址二地址 OP R1, R2 一地址一地址 OP R
196、1 指令执行阶段不访存指令执行阶段不访存 可缩短指令字长可缩短指令字长7.17.2 操作数类型和操作种类操作数类型和操作种类一、操作数类型一、操作数类型地址地址数字数字字符字符逻辑数逻辑数无符号整数无符号整数定点数、浮点数、十进制数定点数、浮点数、十进制数ASCII逻辑运算逻辑运算二、数据在存储器中的存放方式二、数据在存储器中的存放方式字地址字地址 为为 低字节低字节 地址地址字地址字地址 为为 高字节高字节 地址地址37621540字地址字地址04低字节低字节04512673字地址字地址04低字节低字节存储器中的数据存放(存储字长为存储器中的数据存放(存储字长为 32 位)位)地址(十进制)
197、地址(十进制) 0 4 812162024283236双字双字双字(地址双字(地址32)双字双字双字(地址双字(地址24)半字(地址半字(地址20)半字(地址半字(地址22)半字(地址半字(地址16)半字(地址半字(地址18)字节(地址字节(地址 8)字节(地址字节(地址 9)字节(地址字节(地址10)字节(地址字节(地址11)字(地址字(地址 4)字(地址字(地址 0)字节(地址字节(地址14) 字节(地址字节(地址15)字节(地址字节(地址13)字节(地址字节(地址12)边界对准边界对准地址(十进制)地址(十进制)048字节字节( 地址地址7)字节字节( 地址地址6)字字( 地址地址2)半
198、字半字( 地址地址10)半字半字( 地址地址8)半字半字( 地址地址0)字字( 地址地址4)边界未对准边界未对准 7.2三、操作类型三、操作类型1. 数据传送数据传送源源目的目的寄存器寄存器寄存器寄存器寄存器寄存器寄存器寄存器存储器存储器存储器存储器存储器存储器存储器存储器置置“1”,清,清“0”2. 算术逻辑操作算术逻辑操作加、减、乘、除、增加、减、乘、除、增 1、减、减 1、求补、浮点运算、十进制运算、求补、浮点运算、十进制运算与、或、非、异或、位操作、位测试、位清除、位求反与、或、非、异或、位操作、位测试、位清除、位求反如如 8086MOVESTORELOADMOVEPUSHPOP例如例
199、如MOVEMOVE7.2ADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST3. 移位操作移位操作算术移位算术移位4. 转移转移(1) 无条件转移无条件转移 JMP(2) 条件转移条件转移结果为零转结果为零转 (Z = 1) JZ结果溢出转结果溢出转 (O = 1)JO结果有进位转(结果有进位转(C = 1)JC跳过一条指令跳过一条指令 SKP循环移位(带进位和不带进位)循环移位(带进位和不带进位)如如300305306307SKP DZ D = 0 则跳则跳逻辑移位逻辑移位完成触发器完成触发器7.2(3) 调用
200、和返回调用和返回CALL SUB1.CALL SUB2.CALL SUB2RETURNRETURN主程序主程序地址地址200021002101子程序子程序SUB1240025002501256025612700主存空间分配主存空间分配程序执行流程程序执行流程子程序子程序SUB27.2.IN AX, nOUT DX, ALOUT n, AXOUT DX, AX(4) 陷阱(陷阱(Trap)与陷阱指令与陷阱指令意外事故的中断意外事故的中断 设置供用户使用的陷阱指令设置供用户使用的陷阱指令如如 8086 INT TYPE 软中断软中断提供给用户使用的陷阱指令,完成系统调用提供给用户使用的陷阱指令,完
201、成系统调用5. 输入输出输入输出 一般不提供给用户直接使用一般不提供给用户直接使用 在出现事故时,由在出现事故时,由 CPU 自动产生并执行(隐指令)自动产生并执行(隐指令)IN AL, DXIN AX, DX入入 端口地址端口地址 CPU 的寄存器的寄存器出出 CPU 的寄存器的寄存器 端口地址端口地址7.2如如如如IN AL, nOUT n, AL7.3 寻寻 址址 方方 式式寻址方式寻址方式 确定确定 本条指令本条指令 的的 操作数地址操作数地址下一条下一条 欲执行欲执行 指令指令 的的 指令地址指令地址指令寻址指令寻址数据寻址数据寻址寻址方式寻址方式7.3 寻寻 址址 方方 式式一、指
202、令寻址一、指令寻址顺序顺序( PC ) + 1 PC跳跃跳跃由转移指令指出由转移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址寻址方式指令地址寻址方式指令地址指令地址指令指令顺序寻址顺序寻址1顺序寻址顺序寻址2顺序寻址顺序寻址3跳跃寻址跳跃寻址7顺序寻址顺序寻址8二、数据寻址二、数据寻址 形式地址形式地址 指令字中的地址指令字中的地址 有效地址有效地址 操作数的真实地址操作数的真实地址 约定约定 指令字长指令字长 = 存储字长存储字长 = 机器字长机器字长1. 立即寻
203、址立即寻址 指令执行阶段不访存指令执行阶段不访存 A 的位数限制了立即数的范围的位数限制了立即数的范围形式地址形式地址 A操作码操作码寻址特征寻址特征OP # A立即寻址特征立即寻址特征立即数立即数 可正可负可正可负 补码补码形式地址形式地址 A 就是操作数就是操作数7.32. 直接寻址直接寻址EA = A操作数操作数主存主存寻址特征寻址特征LDAAAACC 执行阶段访问一次存储器执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出有效地址由形式地址直接给出7
204、.33. 隐含寻址隐含寻址操作数地址隐含在操作码中操作数地址隐含在操作码中ADDA操作数操作数主存主存寻址特征寻址特征AACC暂存暂存ALU另一个操作数另一个操作数隐含在隐含在 ACC 中中如如 8086MUL 指令指令被乘数隐含在被乘数隐含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令源操作数的地址隐含在源操作数的地址隐含在 SI 中中目的操作数的地址隐含在目的操作数的地址隐含在 DI 中中 指令字中少了一个地址字段,可缩短指令字长指令字中少了一个地址字段,可缩短指令字长7.34. 间接寻址间接寻址EA =(A) 有效地址由形式地址间接提供有效地址由形式地址间接提供OPA
205、寻址特征寻址特征AEA主存主存EAA1EA A1主存主存 EA10 执行指令阶段执行指令阶段 2 次访存次访存 可扩大寻址范围可扩大寻址范围 便于编制程序便于编制程序OPA寻址特征寻址特征A一次间址一次间址多次间址多次间址操作数操作数操作数操作数多次访存多次访存7.3 子程序子程序主程序主程序8081201202调用子程序调用子程序调用子程序调用子程序间接寻址编程举例间接寻址编程举例(A) = 81(A) = 202 间址特征间址特征7.3JMP A 5. 寄存器寻址寄存器寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征寻址特
206、征 寄存器个数有限,可缩短指令字长寄存器个数有限,可缩短指令字长操作数操作数R0RiRn寄存器寄存器有效地址即为寄存器编号有效地址即为寄存器编号7.3EA = ( Ri )6. 寄存器间接寻址寄存器间接寻址 有效地址在寄存器中,有效地址在寄存器中, 操作数在存储器中,执行阶段访存操作数在存储器中,执行阶段访存操作数操作数主存主存OPRi寻址特征寻址特征 便于编制循环程序便于编制循环程序地址地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中7.37. 基址寻址基址寻址(1) 采用专用寄存器作基址寄存器采用专用寄存器作基址寄存器EA = ( BR ) + ABR 为基址寄存器为基址寄
207、存器OPA操作数操作数主存主存寻址特征寻址特征ALUBR 可扩大寻址范围可扩大寻址范围 有利于多道程序有利于多道程序 BR 内容由操作系统或管理程序确定内容由操作系统或管理程序确定 在程序的执行过程中在程序的执行过程中 BR 内容不变,形式地址内容不变,形式地址 A 可变可变7.3(2) 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作数操作数主存主存寻址特征寻址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器由用户指定哪个通用寄存器作为基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系统确定基址寄存器的内容由操作系统确定
208、 在程序的执行过程中在程序的执行过程中 R0 内容不变,形式地址内容不变,形式地址 A 可变可变7.38. 变址寻址变址寻址EA = ( IX ) +AOPA操作数操作数主存主存寻址特征寻址特征ALUIX 可扩大寻址范围可扩大寻址范围 便于处理数组问题便于处理数组问题 IX 的内容由用户给定的内容由用户给定 IX 为变址寄存器(专用)为变址寄存器(专用) 在程序的执行过程中在程序的执行过程中 IX 内容可变,形式地址内容可变,形式地址 A 不变不变通用寄存器也可以作为变址寄存器通用寄存器也可以作为变址寄存器7.3例例 设数据块首地址为设数据块首地址为 D,求求 N 个数的平均值个数的平均值直接
209、寻址直接寻址变址寻址变址寻址LDA DADD D + 1ADD D + 2ADD D + ( N -1 )DIV # NSTA ANSLDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANS共共 N + 2 条指令条指令共共 8 条指令条指令ADD X, DMX 为变址寄存器为变址寄存器D 为形式地址为形式地址(X) 和和 #N 比较比较(X) +1 X结果不为零则转结果不为零则转 7.39. 相对寻址相对寻址 EA = ( PC ) + AA 是相对于当前指令的位移量(可正可负,补码)是相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围的位
210、数决定操作数的寻址范围 程序浮动程序浮动 广泛用于转移指令广泛用于转移指令操作数操作数寻址特征寻址特征ALUOPA相对距离相对距离 A1000PC 主存主存1000AOP7.3 (1) 相对寻址举例相对寻址举例M 随程序所在存储空间的位置不同而不同随程序所在存储空间的位置不同而不同EA = ( M+3 ) 3 = M 3*LDA # 0LDX # 0ADD X, DINXCPX # NBNE MDIV # NSTA ANSMM+1M+2M+3而指令而指令 BNE 与与 指令指令 ADD X, D 相对位移量不变相对位移量不变 3* 指令指令 BNE操作数的有效地址为操作数的有效地址为 3* 相
211、对寻址特征相对寻址特征*7.3(2) 按字节寻址的相对寻址举例按字节寻址的相对寻址举例OP位移量位移量2000 H2008 H8JMP * + 8OP06 H2000 H2008 H8设设 当前指令地址当前指令地址 PC = 2000H转移后的目的地址为转移后的目的地址为 2008H因为因为 取出取出 JMP * + 8 后后 PC = 2002H二字节指令二字节指令故故 JMP * + 8 指令指令 的第二字节为的第二字节为 2008H - 2002H = 06H7.310. 堆栈寻址堆栈寻址(1) 堆栈的特点堆栈的特点堆栈堆栈硬堆栈硬堆栈软堆栈软堆栈多个寄存器多个寄存器指定的存储空间指定的
212、存储空间先进后出先进后出(一个入出口)(一个入出口) 栈顶地址栈顶地址 由由 SP 指出指出 11FFFH +12000 H进栈进栈 (SP) 1 SP出栈出栈 (SP)+ 1 SP栈顶栈顶栈底栈底2000 HSP2000 H1FFF HSP1FFFH栈顶栈顶栈底栈底进栈进栈出栈出栈 1FFF H栈顶栈顶 2000 H栈顶栈顶7.3(2) 堆栈寻址举例堆栈寻址举例15200HACCSPX栈顶栈顶200H栈底栈底主存主存151FFHACCSP15栈顶栈顶200H栈底栈底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX栈顶栈顶200H栈底
213、栈底主存主存151FFH15200HACCSP栈顶栈顶200H栈底栈底主存主存X157.3(3) SP 的修改与主存编址方法有关的修改与主存编址方法有关 按按 字字 编址编址进栈进栈出栈出栈(SP) 1 SP(SP)+ 1 SP 按按 字节字节 编址编址存储字长存储字长 16 位位进栈进栈出栈出栈(SP) 2 SP(SP)+ 2 SP存储字长存储字长 32 位位进栈进栈出栈出栈(SP) 4 SP(SP)+ 4 SP7.37.4 指令格式举例指令格式举例一、设计指令格式时应考虑的各种因素一、设计指令格式时应考虑的各种因素1. 指令系统的指令系统的 兼容性兼容性(向上兼容)(向上兼容)2. 其他因
214、素其他因素操作类型操作类型数据类型数据类型指令格式指令格式包括指令个数及操作的难易程度包括指令个数及操作的难易程度指令字长是否固定指令字长是否固定寻址方式寻址方式寄存器个数寄存器个数地址码位数、地址个数、寻址方式类型地址码位数、地址个数、寻址方式类型操作码位数、是否采用扩展操作码技术,操作码位数、是否采用扩展操作码技术,确定哪些数据类型可参与操作确定哪些数据类型可参与操作指令寻址、操作数寻址指令寻址、操作数寻址寄存器的多少直接影响指令的执行时间寄存器的多少直接影响指令的执行时间二、指令格式举例二、指令格式举例1. PDP 8指令字长固定指令字长固定 12 位位 操作码操作码 间间 页页 地址码
215、地址码访存类指令访存类指令0235411寄存器类指令寄存器类指令 1 1 1 辅助操作码辅助操作码02 311I/O 类指令类指令 1 1 0 设备设备 操作码操作码02 311987.4采用扩展操作码技术采用扩展操作码技术2. PDP 11源地址源地址OP4 6 6 16 16目的地址目的地址存储器地址存储器地址1存储器地址存储器地址2OP10 6 16目的地址目的地址存储器地址存储器地址目的地址目的地址4 6 6源地址源地址OP 10 6目的地址目的地址OP-CODE16OP-CODE指令字长有指令字长有 16 位、位、32 位、位、48 位三种位三种零地址零地址 (16 位位)一地址一地
216、址 (16 位位)二地址二地址 R R (16 位位)二地址二地址 R M (32 位位)二地址二地址 M M (48 位位)扩展操作码技术扩展操作码技术7.43. IBM 360OPR1R2 RR格式格式8 4 4OPR1XBD RX格式格式8 4 4 4 12OPR1R3BD RS格式格式8 4 4 4 12OPBDI SI格式格式8 8 4 12二地址二地址 R R基址加变址寻址基址加变址寻址二地址二地址 R M三地址三地址 R M基址寻址基址寻址二地址二地址 M M基址寻址基址寻址基址寻址基址寻址立即数立即数 M7.4OPB1D1LB2D2 SS格式格式884124124. Intel
217、 8086(1) 指令字长指令字长(2) 地址格地址格式式1 6 个字节个字节MOV WORD PTR0204, 0138H 6 字节字节INC AX 1 字节字节一地址一地址NOP 1 字节字节CALL段内调用段内调用 3 字节字节零地址零地址 5 字节字节段间调用段间调用寄存器寄存器 寄存器寄存器寄存器寄存器 立即数立即数寄存器寄存器 存储器存储器ADD AX,BX 2 字节字节ADD AX,3048H 4 字节字节ADD AX,3048H 3 字节字节二地址二地址CALL7.47.5 RISC 技技 术术 一、一、RISC 的产生和发展的产生和发展 80 20 规律规律 典型程序中典型程
218、序中 80% 的语句仅仅使的语句仅仅使 用处理机中用处理机中 20% 的指令的指令 执行频度高的简单指令,因复杂指令执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高的存在,执行速度无法提高RISC(Reduced Instruction Set Computer)CISC(Complex Instruction Set Computer) RISC技术技术 能否用能否用 20% 的简单指令组合不常用的的简单指令组合不常用的 80% 的指令功能的指令功能?二、二、RISC 的主要特征的主要特征 选用使用频度较高的一些选用使用频度较高的一些 简单指令简单指令, 复杂指令的功能由简单指令来
219、组合复杂指令的功能由简单指令来组合 指令指令 长度固定长度固定、指令格式种类少指令格式种类少、寻址方式少寻址方式少 只有只有 LOAD / STORE 指令访存指令访存 采用采用 流水技术流水技术 一个时钟周期一个时钟周期 内完成一条指令内完成一条指令 采用采用 组合逻辑组合逻辑 实现控制器实现控制器 CPU 中有中有多个多个 通用通用 寄存器寄存器 采用采用 优化优化 的的 编译编译 程序程序 7.5三、三、CISC 的主要特征的主要特征 系统指令系统指令 复杂庞大复杂庞大,各种指令使用频度相差大,各种指令使用频度相差大 指令指令 长度不固定长度不固定、指令格式种类多指令格式种类多、寻址方式
220、多寻址方式多 访存访存 指令指令 不受限制不受限制 大大多数指令需要多数指令需要 多个时钟周期多个时钟周期 执行完毕执行完毕 采用采用 微程序微程序 控制器控制器 CPU 中中设有有 专用寄存器专用寄存器 难以以 用用 优化编译优化编译 生成高效的目的代码生成高效的目的代码 7.5四、四、RISC和和CISC 的比较的比较 1. RISC更能更能 充分利用充分利用 VLSI 芯片芯片的面积的面积2. RISC 更能更能 提高计算机运算速度提高计算机运算速度指令数指令数、指令格式指令格式、寻址方式少寻址方式少,通用通用 寄存器多寄存器多,采用,采用 组合逻辑组合逻辑 ,便于实现便于实现 指令流水
221、指令流水3. RISC 便于设计便于设计,可,可 降低成本降低成本,提高,提高 可靠性可靠性4. RISC 有利于编译程序代码优化有利于编译程序代码优化 5. RISC 不易不易 实现实现 指令系统兼容指令系统兼容 7.5第章第章 CPU 的结构和功能的结构和功能8.1 CPU 的结构的结构8.3 指令流水指令流水8.2 指令周期指令周期8.4 中断系统中断系统8.1 CPU 的结构的结构一、一、 CPU 的功能的功能取指令取指令分析指令分析指令执行指令,发出各种操作命令执行指令,发出各种操作命令控制程序输入及结果的输出控制程序输入及结果的输出总线管理总线管理处理异常情况和特殊请求处理异常情况
222、和特殊请求1. 控制器的功能控制器的功能2. 运算器的功能运算器的功能实现算术运算和逻辑运算实现算术运算和逻辑运算指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断二、二、CPU 结构框图结构框图PC IR指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断ALU 寄存器寄存器中断系统中断系统1. CPU 与系统总线与系统总线CU 时序电路时序电路寄存器寄存器ALU 中断中断 系统系统CUCPU控控制制总总线线数数据据总总线线地地址址总总线线8.12. CPU 的内部结构的内部结构8.1 算术和算术和布尔逻辑布尔逻辑取反取反移位移位状态
223、标志状态标志内内部部 数数据据总总线线寄存器寄存器CU中断中断系统系统ALU控制信号控制信号C P U1. 用户可见寄存器用户可见寄存器(1) 通用寄存器通用寄存器三、三、 CPU 的寄存器的寄存器存放操作数存放操作数可作可作 某种寻址方式所需的某种寻址方式所需的 专用寄存器专用寄存器(2) 数据寄存器数据寄存器存放操作数存放操作数(满足各种数据类型)(满足各种数据类型)两个寄存器拼接存放双倍字长数据两个寄存器拼接存放双倍字长数据(3) 地址寄存器地址寄存器存放地址存放地址,其位数应满足最大的地址范围,其位数应满足最大的地址范围用于特殊的寻址方式用于特殊的寻址方式 段基值段基值 栈指针栈指针(
224、4) 条件码寄存器条件码寄存器存放条件码存放条件码,可作程序分支的依据,可作程序分支的依据如如 正、负、零、溢出、进位等正、负、零、溢出、进位等8.12. 控制和状态寄存器控制和状态寄存器(1) 控制寄存器控制寄存器PC控制控制 CPU 操作操作(2) 状态寄存器状态寄存器状态寄存器状态寄存器其中其中 MAR、MDR、IR 用户不可见用户不可见 存放条件码存放条件码PSW 寄存器寄存器存放程序状态字存放程序状态字 PC 用户可见用户可见 3. 举例举例Z8000 8086 MC 68000MARMMDRIR8.1四、四、 控制单元控制单元 CU 和中断系统和中断系统1. CU 产生全部指令的微
225、操作命令序列产生全部指令的微操作命令序列组合逻辑设计组合逻辑设计微程序设计微程序设计硬连线逻辑硬连线逻辑存储逻辑存储逻辑2. 中断系统中断系统参见参见 第篇第篇 五、五、ALU参见参见 8.4 节节参见参见 第章第章8.18.2 指指 令令 周周 期期一、一、 指令周期的基本概念指令周期的基本概念1 . 指令周期指令周期取出并执行一条指令所需的全部时间取出并执行一条指令所需的全部时间完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周
226、期2. 每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行周期执行周期指令周期指令周期NOPADD mem MUL mem8.2取指周期取指周期执行周期执行周期指令周期指令周期3. 具有间接寻址的指令周期具有间接寻址的指令周期4. 带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期8.25. 指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期
227、中断周期是是是是否否否否8.26. CPU 工作周期的标志工作周期的标志CPU 访存有四种性质访存有四种性质取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的的4个工作周期个工作周期8.21. 取指周期数据流取指周期数据流二、二、 指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地地址址总总线线数数据据总总线线控控制制总总线线IR+1 8.22. 间址周期数据流间址周期数据流MDRCUMARCPU地地址址总总线线数数
228、据据总总线线控控制制总总线线PCIR存储器存储器MDR8.23. 执行周期数据流执行周期数据流4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线PC存储器存储器8.28.3 指指 令令 流流 水水一、如何提高机器速度一、如何提高机器速度1. 提高访存速度提高访存速度2. 提高提高 I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片Cache多体并行多体并行I/O 处理机处理机DMA多总线多总线通道通道高速器件高速器件改进系统结构改进系统
229、结构 ,开发系统的并行性开发系统的并行性中断中断3. 提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链二、系统的并行性二、系统的并行性时间上互相重叠时间上互相重叠2. 并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)(指令内部)(指令内部)过程级(程序、进程)过程级(程序、进程)两个或两个以上事件在两个或两个以上事件在 同一时刻同一时刻 发生发生两个或两个以上事件在两个或两个以上事件在 同一时间段同一时间段 发生发生并行并行1. 并行的概念并行的概念粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并发并发同时同时8.3取指令取指令 3执行指令
230、执行指令 3三、指令流水原理三、指令流水原理2. 指令的二级流水指令的二级流水1. 指令的串行执行指令的串行执行取指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲指令预取指令预取若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠指令周期指令周期 减半减半 速度提高速度提高 1 倍倍执行指令执行指令 执行指令部件执行指令部件 完成完成取指令取指令 1执行执行指令指令 1取取指令指令 2执行执行指令指令 2取取指令指令 3执行指令执行指令 3取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 18.3 必须等必须等 上条上条 指令执
231、行结束,才能确定指令执行结束,才能确定 下条下条 指令的地址,指令的地址, 造成时间损失造成时间损失3. 影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1) 执行时间执行时间 取指时间取指时间 (2) 条件转移指令条件转移指令 对指令流水的影响对指令流水的影响 解决办法解决办法 ?取指令取指令部件部件指令部件指令部件缓冲区缓冲区执行指令执行指令部件部件猜测法猜测法8.34. 指令的六级流水指令的六级流水六级流水六级流水14 个时间单位个时间单位串行执行串行执行6 9 54个时间单位个时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIF
232、ICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t8.3指令指令 1 与指令与指令 4 冲突冲突指令指令 2 与指令与指令 5 冲突冲突指令指令1、指令、指令3、指令、指令 6 冲突冲突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIF
233、ICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t四、影响指令流水线性能的因素四、影响指令流水线性能的因素1. 结构相关结构相关8.3不同指令争用同一功能部件产生资源冲突不同指令争用同一功能部件产生资源冲突程序的相近指令之间出现某种关联程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率使指令流水出现停顿,影响流水线效率解决办法解决办法 停顿停顿 指令存储器和数
234、据存储器分开指令存储器和数据存储器分开 指令预取技术指令预取技术 (适用于访存周期短的情况)(适用于访存周期短的情况)2. 数据相关数据相关不同指令因重叠操作,可能改变操作数的不同指令因重叠操作,可能改变操作数的 读读/写写 访问顺序访问顺序 采用采用 旁路技术旁路技术解决办法解决办法8.3 写后读相关(写后读相关(RAW)SUB R1,R2,R3ADD R4,R5,R1;(;(R2) (R3) R1;(;(R5)+(R1) R4 读后写相关(读后写相关(WAR)STA M,R2ADD R2,R4,R5;(;(R2) M 存储单元存储单元;(;(R4)+(R5) R2 写后写相关(写后写相关(
235、WAW) 后推法后推法MUL R3,R2,R1SUB R3,R4,R5;(;(R2) (R1) R3;(;(R4) (R5) R33. 控制相关控制相关8.3BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM由转移指令引起由转移指令引起3. 控制相关控制相关8.3WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令
236、1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令15指令指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14转移损失转移损失t设设 指令指令3 是转移指令是转移指令五、流水线性能五、流水线性能 1. 吞吐率吞吐率 单位时间内单位时间内 流水线所完成指令流水线所完成指令 或或 输出结果输出结果 的的 数量数量8.3 最大吞吐率最大吞吐率 实际吞吐率实际吞吐率 连续处理连续处理 n 条指令的吞吐率为条指令的吞吐率为设设 m 段的流水线各段时间为段的流水线各段时间为t tTpmax =1t tTp =m + (n-1) nt tt t2. 加速
237、比加速比 Sp 8.3 m 段的段的 流水线的速度流水线的速度 与等功能的与等功能的 非流水线的速度非流水线的速度 之比之比 设流水线各段时间为设流水线各段时间为 t 完成完成 n 条指令在条指令在 m 段流水线上共需段流水线上共需 T = m + (n-1) t t 完成完成 n 条指令在等效的非流水线上共需条指令在等效的非流水线上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 则则由于流水线有由于流水线有 建立时间建立时间 和和 排空时间排空时间因此各功能段的因此各功能段的 设备不可能设备不可能 一直一直 处于处于 工作工作 状态状态 8.3流水
238、线中各功能段的流水线中各功能段的 利用率利用率3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) t8.3m(m + n -1) t = mnt 流水线各段处于工作时间的时空区流水线各段处于工作时间的时空区流水线中各段总的时空区流水线中各段总的时空区 效率效率 = 3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) t流水线中各功能段的流水线中各功能段的 利用率利用率六、流水线的多发技
239、术六、流水线的多发技术 1. 超标量技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来8.3IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟时钟周期周期指令序列指令序列2. 超流水线技术超流水线技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段 ( 3 段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个
240、功能部件使用多次一个功能部件使用多次( 3 次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍8.3IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列3. 超长指令字技术超长指令字技术 采用采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位)由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性并行性,将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条8.3IF
241、 ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列七、流水线结构七、流水线结构1. 指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7 段段, 每段需一个时钟周期每段需一个时钟周期若若 流水线不出现断流流水线不出现断流1 个时钟周期出个时钟周期出 1 结果结果不采用流水技术不采用流水技术7 个时钟周期出个时钟周期出 1 结果结果理想情况下,理想情况下,7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 倍倍地地址址形形成成部部件件指指令令译译码码部部件件取取操操作作数数部部件件取取指指令令部部件件操操作
242、作执执行行部部件件回回写写结结果果部部件件修修改改指指令令指指针针部部件件锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存8.32. 运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分可分对阶对阶、尾数求和尾数求和、规格化规格化 三段三段分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致锁锁存存器器对对阶阶功功能能部部件件第一段第一段尾尾数数加加部部件件锁锁存存器器第二段第二段规规格格化化部部件件锁锁存存器器第三段第三段8.38.4 中断系统中断系统一、概述一、概述1. 引起中断的各种因素引起中断的各种因素(1) 人为设置的中断人为设置的中断(2) 程序性事故程序性事
243、故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) 外部事件外部事件(4) I/O 设备设备(3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序2. 中断系统需解决的问题中断系统需解决的问题(1) 各中断源各中断源 如何如何 向向 CPU 提出请求提出请求 ?(2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) 如何如何 寻找入口地址寻找入口地址 ?(4) 如何如何 保护现场保护现场 ?(3) CPU 什么什么 条件条件、什么、什么 时间时间、以什么以什么 方式方式 响应中断响应中断
244、?(6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件8.4二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1. 中断请求标记中断请求标记 INTR一个请求源一个请求源 一个一个 INTR 中断请求标记触发器中断请求标记触发器多个多个INTR 组成组成 中断请求标记寄存器中断请求标记寄存器INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR 集中集中 在在 CPU 的中断系统的中断系统 内内12345n掉掉电电过过热热阶阶上上溢溢主主存存读读写
245、写校校验验错错非非法法除除法法键键盘盘输输入入打打印印机机输输出出8.42. 中断判优逻辑中断判优逻辑 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 链式排队器链式排队器 集中集中 在在 CPU 内内(1) 硬件实现(排队器)硬件实现(排队器) 1 1 1 & 1 & 1 &参见参见 第五章第五章INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级优先级 按按 降序降序 排列排列 INTP1INTP2INTP3INTP48.4A、B、C 优先级按优先级按 降序降序 排列排列(2) 软件实现(程序查询)软件实现(程序查询)否否
246、是否是否 A 请求?请求?是否是否 B 请求?请求?是否是否 C 请求?请求?转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服务程序入口地址入口地址是是是是是是否否否否8.4三、中断服务程序入口地址的寻找三、中断服务程序入口地址的寻找1. 硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中断向量中断向量排队器输出排队器输出向量地址向量地址 12H、
247、13H、14H入口地址入口地址 200、 300、 4008.42. 软件查询法软件查询法 M JMP 1# SR1# D = 1 转转1# 服务程序服务程序 SKP DZ 2# JMP 2# SR2# D = 0 跳跳2# D = 1 转转2# 服务程序服务程序 SKP DZ 8# JMP 8# SR8# D = 0 跳跳8# D = 1 转转8# 服务程序服务程序八个中断源八个中断源 1,2, 8 按按 降序降序 排列排列8.4 SKP DZ 1#1# D = 0 跳跳(D为完成触发器)为完成触发器)中断识别程序中断识别程序(入口地址(入口地址 M)地地 址址说说 明明指指 令令四、中断响
248、应四、中断响应1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT = 12. 响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU 发查询信号发查询信号 CPU中断查询中断查询INTR1DQINTR2DQINTRnDQ中断源中断源 1中断源中断源 2中断源中断源 n至排队器至排队器8.43. 中断隐指令中断隐指令(1) 保护程序断点保护程序断点(2) 寻找服务程序入口地址寻找服务程序入口地址(3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排队器排队器断点存于断点存于 特定地址特定地址( 0
249、 号地址)号地址) 内内断点断点 进栈进栈INT 中断标记中断标记EINT 允许中断允许中断R S 触发器触发器8.4向量地址向量地址PC (硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址 MPC (软件查询法)(软件查询法)五、保护现场和恢复现场五、保护现场和恢复现场1. 保护现场保护现场2. 恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其它服务程序其它服务程序恢复现场恢复现场中断返回中断返回PUSH视不同请求源而定视不同请求源而定POP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完成中断服务程序中断服务程序 完
250、成完成8.4IRET1. 多重中断的概念多重中断的概念klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k+1 , l+1 , m+1六、中断屏蔽技术六、中断屏蔽技术8.42. 实现多重中断的条件实现多重中断的条件B、CA中断中断请求请求主程序主程序(2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序( A、B、 C、 D 优先级按优先级按 降序降序 排列)排列)D8.4 &3. 屏蔽技术屏蔽技术(1
251、) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)未屏蔽)INTR 能被置能被置 “1” & & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查询查询MASKi = 1 (屏蔽)屏蔽)INTPi = 0 (不能被排队选中)不能被排队选中)8.4(2) 屏蔽字屏蔽字8.4优先级优先级屏屏 蔽蔽 字字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1 1
252、1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1123456151616个中断源个中断源 1,2,3 , 16 按按 降序降序 排列排列(3) 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级响应优先级响应优先级响应优先级响应优先级 ABCD 降序排列降序排列 8.4不可改变不可改变处理优先级处理优
253、先级可改变(通过重新设置屏蔽字)可改变(通过重新设置屏蔽字)中断源中断源原屏蔽字原屏蔽字新屏蔽字新屏蔽字ABCD 1 1 1 10 1 1 10 0 1 10 0 0 1 1 1 1 10 1 0 00 1 1 00 1 1 1 处理优先级处理优先级 ADCB 降序排列降序排列(3) 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级8.4服务程序服务程序B处理完处理完C处理完处理完D处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU 执行程序轨迹(原屏蔽字)执行程序轨迹(原屏蔽字)(3) 屏蔽技术可改变处理优先等级屏
254、蔽技术可改变处理优先等级(4) 屏蔽技术的其他作用屏蔽技术的其他作用8.4便于程序控制便于程序控制可以可以 人为地屏蔽人为地屏蔽 某个中断源的请求某个中断源的请求服务程序服务程序D处理完处理完C处理完处理完B处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU 执行程序轨迹(新屏蔽字)执行程序轨迹(新屏蔽字)8.4(5) 新屏蔽字的设置新屏蔽字的设置 保护现场保护现场 置屏蔽字置屏蔽字 开中断开中断 中断服务中断服务 关中断关中断 恢复现场恢复现场 恢复屏蔽字恢复屏蔽字 开中断开中断 中断返回中断返回 置屏蔽字置屏蔽字 恢
255、复屏蔽字恢复屏蔽字 关中断关中断 开中断开中断(1) 断点进栈断点进栈(2) 断点存入断点存入“ 0 ” 地址地址中断隐指令中断隐指令 完成完成中断周期中断周期命令存储器写命令存储器写0 MARPC MDR(MDR) 存入存储器存入存储器三次中断,三个断点都存入三次中断,三个断点都存入 “ 0 ” 地址地址4. 多重中断的断点保护多重中断的断点保护断点断点 MDR?如何保证断点不丢失?如何保证断点不丢失?中断隐指令中断隐指令 完成完成8.4(3) 程序断点存入程序断点存入 “ 0 ” 地址的断点保护地址的断点保护 05JMP SERVE SAVE RETURNSTA SAVE0 地址内容转存地
256、址内容转存其他服务内容其他服务内容SERVELDA SAVEJMP RETURN存程序断点存程序断点5 为向量地址为向量地址保护现场保护现场恢复现场恢复现场间址返回间址返回存放存放 ACC 内容内容转存转存 0 地址内容地址内容开中断开中断ENILDA 0STA RETURN置屏蔽字置屏蔽字8.4地地 址址内内 容容说说 明明第第章章 控制单元的功能控制单元的功能9.1 操作命令的分析操作命令的分析9.2 控制单元的功能控制单元的功能9.1 操作命令的分析操作命令的分析完成一条指令分完成一条指令分 4 个工作周期个工作周期取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期一、取指
257、周期一、取指周期PC MAR 地址线地址线1 RM ( MAR ) MDRMDR IR( PC ) + 1 PC+1 MDRCUMAR PC IR存储器存储器CPU地地址址总总线线数数据据总总线线控控制制总总线线9.1 操作命令的分析操作命令的分析OP(IR) CU二、间址周期二、间址周期 M ( MAR ) MDR1 RAd ( IR ) MARMDR Ad ( IR )指令形式地址指令形式地址 MAR9.1MDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线IR存储器存储器三、执行周期三、执行周期1. 非访存指令非访存指令(1) CLA 清清A(2) COM 取反取反(4
258、) CSL 循环左移循环左移(3) SHR 算术右移算术右移(5) STP 停机指令停机指令0 ACCACC ACCL(ACC) R(ACC), ACC0 ACC0R(ACC) L(ACC), ACC0 ACCn0 G9.12. 访存指令访存指令Ad(IR) MAR1 RM(MAR) MDR(ACC) + (MDR) ACC Ad(IR) MAR1 WACC MDRMDR M(MAR)STA XADD X(2) 存数指令存数指令(1) 加法指令加法指令9.1(3) 取数指令取数指令Ad ( IR ) MAR1 RM ( MAR ) MDRMDR ACC 3. 转移指令转移指令(1) 无条件转无
259、条件转(2) 条件转移条件转移Ad ( IR ) PCA0 Ad ( IR ) + A0 ( PC ) PCLDA XJMP XBAN X(负则转)(负则转)9.14. 三类指令的指令周期三类指令的指令周期取指周期取指周期执行周期执行周期取指周期取指周期执行周期执行周期取指周期取指周期执行周期执行周期取指周期取指周期间址周期间址周期执行周期执行周期非访存非访存 指令周期指令周期直接访存直接访存 指令周期指令周期间接访存间接访存 指令周期指令周期转移转移 指令周期指令周期9.1取指周期取指周期间址周期间址周期执行周期执行周期间接转移间接转移 指令周期指令周期四、中断周期四、中断周期程序断点存入程
260、序断点存入 “ 0 ” 地址地址程序断点程序断点 进栈进栈0 MAR1 WPC MDRMDR M ( MAR )向量地址向量地址 PC0 EINT(置置“0”)0 EINT(置置“0”)向量地址向量地址 PCMDR M ( MAR )PC MDR1 W中断识别程序入口地址中断识别程序入口地址 M PC9.1( SP ) 1 MAR9.2 控制单元的功能控制单元的功能一、控制单元的外特性一、控制单元的外特性指令寄存器指令寄存器控制单元控制单元 CU时钟时钟标志标志CPU 内部的控制信号内部的控制信号到系统总线的控制信号到系统总线的控制信号来自系统总线的控制信号来自系统总线的控制信号系系统统总总线
261、线1. 输入信号输入信号(1) 时钟时钟(2) 指令寄存器指令寄存器(4) 外来信号外来信号(3) 标志标志CU 受时钟控制受时钟控制控制信号控制信号 与操作码有关与操作码有关OP ( IR ) CUCU 受标志控制受标志控制INTR 中断请求中断请求HRQ 总线请求总线请求一个时钟脉冲一个时钟脉冲 发一个操作命令或一组需同时执行的操作命令发一个操作命令或一组需同时执行的操作命令如如9.22. 输出信号输出信号(1) CPU 内的各种控制信号内的各种控制信号(2) 送至控制总线的信号送至控制总线的信号Ri Rj(PC) + 1 PCINTAHLDA访存控制信号访存控制信号访访 IO/ 存储器的
262、控制信号存储器的控制信号读命令读命令写命令写命令中断响应信号中断响应信号总线响应信号总线响应信号MREQIO/MRDWRALU 、与、或、与、或9.2二、控制信号举例二、控制信号举例PCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号C0C1C2C3C4取指周期取指周期以以 ADD X 为例为例PCIRCU9.21. 不采用不采用 CPU 内部总线的方式内部总线的方式PCPCPC M D R M A R M D R M A RPCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号 M D R M A R二、控制信号举例二、控制信号举例1. 不采用不采用 CPU
263、 内部总线的方式内部总线的方式C1C2C3C5ADD X 间址周期间址周期IR9.2 M D R M D R M A RPCIRACCU时钟时钟ALU控制信号控制信号标志标志控制控制信号信号 M D R M A R二、控制信号举例二、控制信号举例1. 不采用不采用 CPU 内部总线的方式内部总线的方式C1C2C5ADD X 执行周期执行周期C7C6C8ACALU控制控制信号信号9.2 M D R M A R M D RMDRMDRCU(1) ADD X 取指周期取指周期 PC CU 发读命令发读命令 1 R MDR OP(IR) (PC)+ 1 PCIRPCMARAC YALUZ控制信号控制信
264、号IRiIRiPCOPCOMARiMARiMDROMDRO 数据线数据线数据线数据线控制信号控制信号CPU 内内 部部 总总 线线时钟时钟2. 采用采用 CPU 内部总线方式内部总线方式地址线地址线地址线地址线MARMDRIRCU9.2IRPCPCMDRMARCUIRPCPCCU(2) ADD X 间址周期间址周期 MDR 1 R MDR有效地址有效地址 Ad(IR)MDROMDRO 数据线数据线数据线数据线时钟时钟CUIRPCMARMDRACYALUZ控制信号控制信号控制信号控制信号CPU 内内 部部 总总 线线MDRIRMARi MARi地址线地址线地址线地址线MARIRiIRiMARMD
265、RIRMDRMDRMDROMDROMDROMDROMDRO形式地址形式地址 MAR 9.2CU时钟时钟CUIRPCMARMDRACYALUZ控制信号控制信号CPU 内内 部部 总总 线线MDROMDRO(3) ADD X 执行周期执行周期 1 R MDR Z AC(AC)+(Y) MDR控制信号控制信号MARMDR地址线地址线 地址线地址线 数据线数据线数据线数据线MARMDRYMDRMDRMDROMDROMDROMDROMDROMDROMDROYiYi YALUACACOACO ALUiALUiALUALUACZZZZOZO ACiACiACACACACMARi MARiALUAC9.2CU
266、三、多级时序系统三、多级时序系统1. 机器周期机器周期(1) 机器周期的概念机器周期的概念(2) 确定机器周期需考虑的因素确定机器周期需考虑的因素(3) 基准时间的确定基准时间的确定所有指令执行过程中的一个基准时间所有指令执行过程中的一个基准时间每条指令的执行每条指令的执行 步骤步骤每一步骤每一步骤 所需的所需的 时间时间 以完成以完成 最复杂最复杂 指令功能的时间指令功能的时间 为准为准 以以 访问一次存储器访问一次存储器 的时间的时间 为基准为基准若指令字长若指令字长 = 存储字长存储字长取指周期取指周期 = 机器周期机器周期9.22. 时钟周期时钟周期(节拍、状态)(节拍、状态) 一个机
267、器周期内可完成若干个微操作一个机器周期内可完成若干个微操作每个微操作需一定的时间每个微操作需一定的时间时钟周期是控制计算机操作的最小单位时间时钟周期是控制计算机操作的最小单位时间将一个机器周期分成若干个时间相等的将一个机器周期分成若干个时间相等的时间段(时间段(节拍、状态、时钟周期节拍、状态、时钟周期)9.2用时钟周期控制产生一个或几个微操作命令用时钟周期控制产生一个或几个微操作命令CLKT0T1T2T3时钟周期时钟周期2. 时钟周期时钟周期(节拍、状态)(节拍、状态) 机器周期机器周期机器周期机器周期T0T1T2T3T0T1T2T39.23. 多级时序系统多级时序系统机器周期、节拍(状态)组
268、成多级时序系统机器周期、节拍(状态)组成多级时序系统一个指令周期包含若干个机器周期一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期一个机器周期包含若干个时钟周期CLK机器周期机器周期 机器周期机器周期 机器周期机器周期 (取指令)(取指令) (取有效地址)(取有效地址) (执行指令)(执行指令) 指令周期指令周期T0T1T2T3T0T1T2T3T0T1T2T3机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)指令周期指令周期T0T1T2T3T0T1T2 节拍节拍(状态状态) 节拍节拍(状态状态)9.24. 机器速度与机器主频的关系机器速度与机器主频的关系机
269、器的机器的 主频主频 f 越快越快 机器的机器的 速度也越快速度也越快在机器周期所含时钟周期数在机器周期所含时钟周期数 相同相同 的前提下,的前提下,两机两机 平均指令执行速度之比平均指令执行速度之比 等于等于 两机主频之比两机主频之比机器速度机器速度 不仅与不仅与 主频有关主频有关 ,还与机器周期中所含,还与机器周期中所含时钟周期时钟周期(主频的倒数)(主频的倒数)数数 以及指令周期中所含以及指令周期中所含的的 机器周期数有关机器周期数有关9.2MIPS1MIPS2=f1f2四、控制方式四、控制方式产生不同微操作命令序列所用的时序控制方式产生不同微操作命令序列所用的时序控制方式1. 同步控制
270、方式同步控制方式任一微操作均由任一微操作均由 统一基准时标统一基准时标 的时序信号控制的时序信号控制CLK机器周期机器周期机器周期机器周期机器周期机器周期(取指令)(取指令)(取有效地址)(取有效地址)(执行指令)(执行指令)指令周期指令周期T0T1T2T3T0T1T2T3T0T1T2T3(1) 采用采用 定长定长 的机器周期的机器周期以以 最长最长 的的 微操作序列微操作序列 和和 最繁最繁 的微操作作为的微操作作为 标准标准9.2机器周期内机器周期内 节拍数相同节拍数相同(2) 采用不定长的机器周期采用不定长的机器周期机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指
271、令)指令周期指令周期T0T1T2T3T0T1T2 节拍节拍(状态状态)机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)T0T1T2T3T0T1T2T3TT延长延长9.2机器周期内机器周期内 节拍数不等节拍数不等(3) 采用中央控制和局部控制相结合的方法采用中央控制和局部控制相结合的方法T0T1T2T3T0T1T2中央控制节拍中央控制节拍 T3T0T1中央控制节拍中央控制节拍机器周期机器周期执行周期执行周期指令周期指令周期取指周期取指周期T0T1T2T39.2局部控制的节拍宽度与局部控制的节拍宽度与中央控制的节拍宽度一致中央控制的节拍宽度一致T*T*T*局部控制节拍局
272、部控制节拍2. 异步控制方式异步控制方式无基准时标信号无基准时标信号无固定的周期节拍和严格的时钟同步无固定的周期节拍和严格的时钟同步采用采用 应答方式应答方式3. 联合控制方式联合控制方式4. 人工控制方式人工控制方式(1) Reset(2) 连续连续 和和 单条单条 指令执行转换开关指令执行转换开关(3) 符合停机开关符合停机开关同步与异步相结合同步与异步相结合9.2五、多级时序系统实例分析五、多级时序系统实例分析1. 8085 的组成的组成9.2A15A8中断控制中断控制AC(8)TR(8)FR(5)IR(8)IDAL(16)PC(16)SP(16)L(8)H(8)E(8) D(8)C(8
273、) B(8) 指令译码指令译码 和和 机器周期机器周期 编码编码ALU定时和控制定时和控制 时钟时钟控制控制状态状态 DMA复位复位ABR(8)ADBR(8)8位内部数据总线位内部数据总线I/O控制控制INTAINTRSIDSODCLKReadyRD WR ALEIO/MHLDAReset outAD7AD02. 8085 的外部引脚的外部引脚(1) 地址和数据信号地址和数据信号(2) 定时和控制信号定时和控制信号(3) 存储器和存储器和 I/O 初始化初始化A15A8 AD7AD0SID SOD入入 X1 X2入入 HOLD Ready出出 HLDA出出 CLK ALE S0 S1 IO/M
274、 RD WR12345678910111213141516171819204039383736353433323130292827262524232221X1X2Reset outSODSIDTrapRST7.5RST6.5RST5.5INTAAD0AD1AD2AD3AD4AD5AD6AD7VSSINTRVCCHOLDHLDACLK(out)Rsest inReadyIO/MS1RDWRALES0A15A14A13A12A11A10A9A89.2(4) 与中断有关的信号与中断有关的信号(5) CPU 初始化初始化(6) 电源和地电源和地出出 INTATrap 重新启动中断重新启动中断入入 IN
275、TR入入 Reset in出出 Reset outVCC +5 VVSS 地地12345678910111213141516171819204039383736353433323130292827262524232221X1X2Reset outSODSIDTrapRST7.5RST6.5RST5.5INTAAD0AD1AD2AD3AD4AD5AD6AD7VSSINTRVCCHOLDHLDACLK(out)Rsest inReadyIO/MS1RDWRALES0A15A14A13A12A11A10A9A89.23. 机器周期和节拍(状态)与控制信号的关系机器周期和节拍(状态)与控制信号的关系9
276、.2T1T2T3T4T1T2T3T1T2T3M1M2M3PC outPC+1 Ins IRXPC outPC+1By ZZ outAPort IO PORTACCbytePCLInstrPCLPCHPCHIO PORT3MHZCLKA15A8AD7AD0ALERDWRIO/M小结小结每个每个 控制控制 信号信号在在 指定机器周期指定机器周期 的的指定节拍指定节拍 T 时刻时刻 发出发出机器周期机器周期 M1 取指令操作码取指令操作码机器周期机器周期 M2 取设备地址取设备地址机器周期机器周期 M3 执行执行 ACC 的内容写入设备的内容写入设备以一条输出指令(以一条输出指令(I/O 写写)为例
277、)为例9.2第第10章章 控制单元的设计控制单元的设计10.1 组合逻辑设计组合逻辑设计10.2 微程序设计微程序设计10.1 组合逻辑设计组合逻辑设计一、组合逻辑控制单元框图一、组合逻辑控制单元框图1. . CU 外特性外特性IR节节拍拍发发生生器器CUT0T1TnCLK(机器主频)(机器主频)标志标志0 12n-1C0C1Cn操作码译码操作码译码n 位操作码位操作码 2. .节拍信号节拍信号CLKT0T1T2T3时钟周期时钟周期机器周期机器周期机器周期机器周期T0T1T2T3T0T1T2T310.1 二、微操作的节拍安排二、微操作的节拍安排采用采用 同步控制方式同步控制方式CPU 内部结构
278、采用非总线方式内部结构采用非总线方式一个一个 机器周期机器周期 内有内有 3 个节拍(时钟周期)个节拍(时钟周期)10.1PCIRACCU时钟时钟ALUC1C2C5C9C0C10C3C7C4C6C12C11C8控制信号控制信号标志标志控制控制信号信号 M D R M A R 1. 安排微操作时序的原则安排微操作时序的原则原则一原则一 微操作的微操作的 先后顺序不得先后顺序不得 随意随意 更改更改原则二原则二 被控对象不同被控对象不同 的微操作的微操作 尽量安排在尽量安排在 一个节拍一个节拍 内完成内完成原则三原则三 占用占用 时间较短时间较短 的微操作的微操作 尽量尽量 安排在安排在 一个节拍
279、一个节拍 内完成内完成 并并允许有先后顺序允许有先后顺序10.12. 取指周期取指周期 微操作的微操作的 节拍安排节拍安排PC MARM ( MAR ) MDRMDR IR( PC ) + 1 PC原则二原则二原则二原则二原则三原则三3. 间址周期间址周期 微操作的微操作的 节拍安排节拍安排M ( MAR ) MDRMDR Ad ( IR )T0T1T2T0T1T21 ROP ( IR ) IDAd ( IR ) MAR1 R10.14. 执行周期执行周期 微操作的微操作的 节拍安排节拍安排 CLA COM SHRT0T1T2T0T1T2T0T1T2AC0 AC0L ( AC ) R ( AC
280、 )0 ACAC AC10.1 CSL STP ADD X STA XR ( AC ) L ( AC )AC0 ACnT0T1T20 GT0T1T2T0T1T2T0T1T2Ad ( IR ) MARM ( MAR ) MDR ( AC ) + ( MDR ) ACAd ( IR ) MARAC MDRMDR M ( MAR )1 R1 W10.1 LDA X JMP X BAN XT0T1T2Ad ( IR ) MARM ( MAR ) MDRMDR ACT0T1T2T0T1T2Ad ( IR ) PC1 RA0 Ad ( IR ) + A0 PC PC10.15. 中断周期中断周期 微操作的
281、微操作的 节拍安排节拍安排T0T1T20 MARPC MDRMDR M ( MAR )硬件关中断硬件关中断向量地址向量地址 PC中断隐指令完成中断隐指令完成1 W10.1三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作时间表T2T1T0 FE取指取指 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记PC MAR1 RM(MAR) MDR ( PC ) +1 PCMDR IROP( IR ) ID1 IND1 EXII10.1间址特征间址特征三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作时间
282、表T2T1T0 IND 间址间址JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记Ad (IR) MAR1 RM(MAR) MDR MDR Ad (IR)1 EXIND10.1间址周期标志间址周期标志T2T1T0 EX执行执行 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记Ad (IR) MAR1 RM(MAR) MDR AC MDR(AC)+(MDR) ACMDR M(MAR) MDR AC0 AC三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作
283、时间表1 W10.1三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作时间表T2T1T0 FE取指取指 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记PC MAR1 RM(MAR) MDR ( PC ) +1 PCMDR IROP( IR ) ID1 IND1 EXII111111111111111111111111111111111111111111111110.1三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作时间表T2T1T0 IND 间址间址JMPLDASTAADDCOMCLA微操作
284、命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记Ad (IR) MAR1 RM(MAR) MDR MDR Ad (IR)1 EXIND1111111111111111111110.1三、组合逻辑设计步骤三、组合逻辑设计步骤1. 列出操作时间表列出操作时间表T2T1T0 EX执行执行 JMPLDASTAADDCOMCLA微操作命令信号微操作命令信号状态状态条件条件节拍节拍工作工作周期周期标记标记Ad (IR) MAR1 RM(MAR) MDR AC MDR(AC)+(MDR) ACMDR M(MAR) MDR AC0 AC1 W111111111111110.12. 写出微
285、操作命令的最简表达式写出微操作命令的最简表达式= FE T1 + IND T1 ( ADD + STA + LDA + JMP + BAN ) + EX T1 ( ADD +LDA )M ( MAR ) MDR= T1 FE + IND ( ADD + STA + LDA + JMP + BAN ) + EX ( ADD +LDA ) 10.13. 画出逻辑图画出逻辑图特点特点 思路清晰,简单明了思路清晰,简单明了 庞杂,调试困难,修改困难庞杂,调试困难,修改困难 速度快速度快&11&1FEINDEXLDAADDJMPBANSTAT1M ( MAR) MDR(RISC)&10.110.2 微程
286、序设计微程序设计一、微程序设计思想的产生一、微程序设计思想的产生1951 英国剑桥大学教授英国剑桥大学教授 Wilkes 完成完成一条机器指令一条机器指令微操作命令微操作命令 1微操作命令微操作命令 2微操作命令微操作命令 n微指令微指令 110100000微指令微指令 n微程序微程序00010010存储逻辑存储逻辑一条机器指令对应一个微程序一条机器指令对应一个微程序存入存入 ROM二、微程序控制单元框图及工作原理二、微程序控制单元框图及工作原理1. 机器指令对应的微程序机器指令对应的微程序M+1MM+2P+1KK+2PP+2K+1取指周期微程序取指周期微程序对应对应 LDA 操作的微程序操作
287、的微程序对应对应 STA 操作的微程序操作的微程序间址周期微程序间址周期微程序中断周期微程序中断周期微程序10.22. 微程序控制单元的基本框图微程序控制单元的基本框图 微地址微地址 形成部件形成部件顺序逻辑顺序逻辑CMAR地址译码地址译码控制存储器控制存储器标志标志CLK下地址下地址CMDR至至 CPU 内部和系统总线的控制信号内部和系统总线的控制信号 OPIR顺序控制顺序控制操作控制操作控制微指令基本格式微指令基本格式10.2二、微程序控制单元框图及工作原理二、微程序控制单元框图及工作原理M+1MM+2P+1KK+2PP+2K+1取指周期取指周期 微程序微程序对应对应 LDA 操作的微程序
288、操作的微程序对应对应 STA 操作的微程序操作的微程序间址周期间址周期 微程序微程序中断周期中断周期 微程序微程序M+1M+2P+1P+2K+1K+2MM转执行周期微程序转执行周期微程序转取指周期微程序转取指周期微程序10.23. 工作原理工作原理LDA XADD YSTA Z主存主存STP用用户户程程序序10.2控存控存M+1MM+2P+1QQ+2PP+2Q+1取指周期取指周期 微程序微程序对应对应 LDA 操操作的微程序作的微程序对应对应 ADD 操操作的微程序作的微程序Q+1Q+2MM+1M+2P+1P+2M对应对应 STA 操操作的微程序作的微程序K+1K+2MKK+2K+13. 工作
289、原理工作原理(1) 取指阶段取指阶段M CMARCM ( CMAR ) CMDR由由 CMDR 发命令发命令形成下条微指令地址形成下条微指令地址Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR 发命令发命令Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR 发命令发命令M + + 1M + + 2PC MAR1 RM ( MAR ) MDR( PC ) + + 1 PCMDR IR1 0 0 0 0 1M+ +1M0 1 0 0 1 0M+ +2M + + 1形成下条微指令地址形成下条微指令地址执行取指微程序执行取指微程序10.20 0 1 0
290、 0 0 0M + + 2(2) 执行阶段执行阶段CM ( CMAR ) CMDR由由 CMDR 发命令发命令Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR 发命令发命令Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR 发命令发命令OP ( IR ) 微地址形成部件微地址形成部件 CMAR( P CMAR )Ad (CMDR ) CMARAd ( IR ) MAR1 RM ( MAR ) MDRMDR AC0 0 0 0 0 0 1 0P + + 2 M执行执行 LDA 微程序微程序 形成下条微指令地址形成下条微指令地址 P + + 1形成
291、下条微指令地址形成下条微指令地址 P + + 2形成下条微指令地址形成下条微指令地址 M( M CMAR )0 1 0 0 0P+ +2P + + 10 0 0 1 0 0 1P+ +1P10.2(3) 取指阶段取指阶段CM ( CMAR ) CMDR由由 CMDR 发命令发命令M CMAR PC MAR1 R全部微指令存在全部微指令存在 CM 中中,程序执行过程中,程序执行过程中 只需读出只需读出关键关键 微指令的微指令的 操作控制字段如何形成微操作命令操作控制字段如何形成微操作命令 微指令的微指令的 后续地址如何形成后续地址如何形成执行取指微程序执行取指微程序10.21 0 0 0 0 1
292、M+ +1M三、微指令的编码方式(控制方式)三、微指令的编码方式(控制方式)1. 直接编码(直接控制)方式直接编码(直接控制)方式 在微指令的操作控制字段中,在微指令的操作控制字段中, 每一位代表一个微操作命令每一位代表一个微操作命令速度最快速度最快下地址下地址控制信号控制信号操作控制操作控制某位为某位为 “1” 表示该控制信号有效表示该控制信号有效10.22. 字段直接编码方式字段直接编码方式将微指令的控制字段分成若干将微指令的控制字段分成若干 “段段”,每段经译码后发出控制信号每段经译码后发出控制信号每个字段中的命令是每个字段中的命令是 互斥互斥 的的译码译码译码译码译码译码下地址下地址操
293、作控制操作控制控制信号控制信号缩短缩短 了微指令了微指令 字长字长,增加增加 了译码了译码 时间时间微程序执行速度较慢微程序执行速度较慢10.2显式编码显式编码3. 字段间接编码方式字段间接编码方式4. 混合编码混合编码直接编码和字段编码(直接和间接)混合使用直接编码和字段编码(直接和间接)混合使用5. 其他其他字段字段 1字段字段 2译码译码译码译码译码译码操作控制操作控制控制信号控制信号字段字段 n 下地址下地址控制信号控制信号10.2隐式编码隐式编码四、微指令序列地址的形成四、微指令序列地址的形成1. 微指令的微指令的 下地址字段下地址字段 指出指出2. 根据机器指令的根据机器指令的 操
294、作码操作码 形成形成3. 增量计数器增量计数器4. 分支转移分支转移( CMAR ) + 1 CMAR 转移地址转移地址操作控制字段操作控制字段 转移方式转移方式转移方式转移方式 指明判别条件指明判别条件转移地址转移地址 指明转移成功后的去向指明转移成功后的去向10.25. 通过测试网络通过测试网络6. 由硬件产生由硬件产生微程序入口地址微程序入口地址第一条微指令地址第一条微指令地址 由专门由专门 硬件硬件 产生产生中断周期中断周期 由由 硬件硬件 产生产生 中断周期微程序首地址中断周期微程序首地址非测试地址非测试地址 h测试地址测试地址 l测试网络测试网络测试源测试源微指令地址微指令地址CM
295、DR操作控制操作控制顺序控制顺序控制HL10.27. 后续微指令地址形成方式原理图后续微指令地址形成方式原理图地址地址选择选择+ + 1CMAR地址译码地址译码下地址下地址转移方式转移方式CMDR控制存储器控制存储器控制信号控制信号 分支分支 逻辑逻辑标志标志微程序入口微程序入口10.2OPIR 微地址微地址 形成部件形成部件 多路选择多路选择五、微指令格式五、微指令格式1. 水平型微指令水平型微指令如如 直接编码、字段直接编码、字段间接编码、直接编码、字段直接编码、字段间接编码、 直接和字段混合编码直接和字段混合编码2. 垂直型微指令垂直型微指令类似机器指令操作码类似机器指令操作码 的方式的
296、方式一次能定义并执行多个并行操作一次能定义并执行多个并行操作由微操作码字段规定微指令的功能由微操作码字段规定微指令的功能10.23. 两种微指令格式的比较两种微指令格式的比较(1) 水平型微指令比垂直型微指令水平型微指令比垂直型微指令 并行操作能力强并行操作能力强 , 灵活性强灵活性强(2) 水平型微指令执行一条机器指令所要的水平型微指令执行一条机器指令所要的 微指令微指令 数目少,速度快数目少,速度快(3) 水平型微指令水平型微指令 用较短的微程序结构换取较长的用较短的微程序结构换取较长的 微指令结构微指令结构(4) 水平型微指令与机器指令水平型微指令与机器指令 差别大差别大10.2六、静态
297、微程序设计和动态微程序设计六、静态微程序设计和动态微程序设计静态静态 微程序无须改变,采用微程序无须改变,采用 ROM动态动态 通过通过 改变微指令改变微指令 和和 微程序微程序 改变机器指令,改变机器指令, 有利于仿真,采用有利于仿真,采用 EPROM七、毫微程序设计七、毫微程序设计1. 毫微程序设计的基本概念毫微程序设计的基本概念微程序设计微程序设计 用用 微程序解释机器指令微程序解释机器指令毫微程序设计毫微程序设计 用用 毫微程序解释微程序毫微程序解释微程序毫微指令与微指令毫微指令与微指令 的关系好比的关系好比 微指令与机器指令微指令与机器指令 的关系的关系10.22.毫微程序控制存储器
298、的基本组成毫微程序控制存储器的基本组成 控制存储器控制存储器 (微程序)(微程序)CMAR1MOPOP转移地址转移地址垂直型垂直型微指令微指令IR+ + 1CMDR1CMAR2 控制存储器控制存储器(毫微程序)(毫微程序)水平型微指令水平型微指令控制信号控制信号CMDR210.2八、串行微程序控制和并行微程序控制八、串行微程序控制和并行微程序控制取第取第 i+1 条微指令条微指令执行第执行第 i 条微指令条微指令取第取第 i 条微指令条微指令执行第执行第 i+1 条微指令条微指令执行第执行第 i 条微指令条微指令取第取第 i 条微指令条微指令取第取第 i+1 条微指令条微指令 执行第执行第 i
299、+1 条微指令条微指令取第取第 i+2 条微指令条微指令 执行第执行第 i+2 条微指令条微指令串行串行 微程序控制微程序控制并行并行 微程序控制微程序控制10.2还需考虑还需考虑 如何读出如何读出 这这 3 条微指令条微指令 ?1. 写出对应机器指令的微操作及节拍安排写出对应机器指令的微操作及节拍安排假设假设 CPU 结构与组合逻辑相同结构与组合逻辑相同(1) 取指阶段微操作分析取指阶段微操作分析T0T1T2PC MARM ( MAR ) MDR( PC ) + 1 PCMDR IROP ( IR ) 微地址形成部件微地址形成部件九、微程序设计举例九、微程序设计举例1 R若一个若一个 T 内
300、安排一条微指令内安排一条微指令则取指操作需则取指操作需 3 条微指令条微指令3 条微指令条微指令Ad ( CMDR ) CMAROP ( IR ) 微地址形成部件微地址形成部件 CMAR10.2(2) 取指阶段的微操作及节拍安排取指阶段的微操作及节拍安排考虑到需要考虑到需要 形成后续微指令的地址形成后续微指令的地址T0T1T2T3T4T51R( PC )+1PCOP ( IR )微地址形成部件微地址形成部件MARPCCMARAd ( CMDR )MDRM ( MAR )CMARAd ( CMDR )IRMDR10.2CMAROP ( IR )微地址形成部件微地址形成部件(3) 执行阶段的微操作
301、及节拍安排执行阶段的微操作及节拍安排考虑到需形成后续微指令的地址考虑到需形成后续微指令的地址取指微程序的入口地址取指微程序的入口地址 M由微指令下地址字段指出由微指令下地址字段指出 非访存指令非访存指令 CLA 指令指令T0T1 COM 指令指令T0T1Ad ( CMDR )CMARACACCMARAd ( CMDR )AC010.2 CSL 指令指令T0T1 STP 指令指令T1Ad ( CMDR )CMARAC0ACnT0CMARAd ( CMDR )G0L ( AC )R ( AC ) SHR 指令指令T0T1AC0AC0R ( AC )L ( AC )CMARAd ( CMDR )10
302、.2 访存指令访存指令 ADD 指令指令T0T1T2T3T4T5Ad ( IR )MARAd ( CMDR )CMARM ( MAR )MDRAd ( CMDR )CMAR( AC ) + ( MDR )ACAd ( CMDR )CMAR1R STA 指令指令T0T1T2T3T4T5Ad (IR)MARAd ( CMDR )CMARACMDRAd ( CMDR )CMARMDRM (MAR)Ad ( CMDR )CMAR1W10.2 LDA 指令指令T0T1T2T3T4T5Ad ( IR )MARAd ( CMDR )CMARM ( MAR )MDRAd ( CMDR )CMARMDRACAd
303、 ( CMDR )CMAR1R10.2全部微操作全部微操作 20个个微指令微指令 38条条 转移类指令转移类指令 JMP 指令指令T0T1Ad ( IR)PCAd ( CMDR )CMAR BAN 指令指令T0T1Ad ( CMDR )CMARA0 Ad ( IR ) + A0 ( PC )PC10.22. 确定微指令格式确定微指令格式(1) 微指令的编码方式微指令的编码方式(2) 后续微指令的地址形成方式后续微指令的地址形成方式采用直接控制采用直接控制由机器指令的操作码通过微地址形成部件形成由机器指令的操作码通过微地址形成部件形成由微指令的下地址字段直接给出由微指令的下地址字段直接给出(3)
304、 微指令字长微指令字长由由 20 个微操作个微操作确定确定 操作控制字段操作控制字段 最少最少 20 位位由由 38 条微指令条微指令确定微指令的确定微指令的 下地址字段下地址字段 为为 6 位位微指令字长微指令字长 可取可取 20 6 26 位位10.2(4) 微指令字长的确定微指令字长的确定1 条条18 条条38 条微指令中有条微指令中有 19 条条是关于后续微指令地址是关于后续微指令地址CMARAd ( CMDR )CMAR其中其中若用若用 Ad ( CMDR ) 直接送控存地址线直接送控存地址线则则 省去了输至省去了输至 CMAR 的时间的时间,省去了省去了 CMAR同理同理OP (
305、IR )微地址形成部件微地址形成部件 控存地址线控存地址线可省去可省去 19 条微指令,条微指令,2 个微操作个微操作 38 19 19 下地址字段最少取下地址字段最少取 5 位位10.2 20 2 18操作控制字段最少取操作控制字段最少取 18 位位CMAROP ( IR )微地址形成部件微地址形成部件18 位位考虑留有一定的余量考虑留有一定的余量取操作控制字段取操作控制字段下地址字段下地址字段5 位位共共 30 位位(6) 定义微指令操作控制字段每一位的微操作定义微指令操作控制字段每一位的微操作0 1 2 23 24 29 24 位位6 位位10.2多路选择多路选择OPIR下地址下地址控制
306、存储器控制存储器CMDR控制信号控制信号 微地址微地址 形成部件形成部件(5) 省去了省去了 CMAR 的控制存储器的控制存储器3. 编写微指令码点编写微指令码点1116LDA12111ADD11004COM03CLA111011100 微指令微指令 地址地址(八进制八进制) 微程序微程序 名称名称1100 1 10000 0 00100 0 10000 0 00000 0 00000 1 0微指令(二进制代码微指令(二进制代码)操作控制字段操作控制字段下地址字段下地址字段1170010 0 0取指取指0220000 0 100100 1 00000 0 010.2272625242310432129280 1