ir2c30集成电路的接地脚各脚功能

计算机组成原理第2版唐朔飞高 等 教 育 出 版 社 高等教育电子音像出版社 为配合由高等教育出版社出版的面向21世纪课程教材《计算机组成原理》 教学和自学的需要,随书出版了《计算机组成原理》配套课件。为了配合该教 材的第2版,本课件在保留原课件特色的基础上,做了相应的补充和修改。 该课件与《计算机组成原理》第2版教材在体系上完全一致,它以课堂教 学为依托,帮助读者边阅读边思考,通过点击鼠标,逐行显示精练的文字和简 明的图表,既可从文稿中对教材的重点和难点加深理解,又可从视图中看到动 画演示效果,形象地理解各种电路的工作原理和设计思路。新版课件提供了章目录和节目录。操作上除了顺序播放外,还可任选一章、任选一节播放,并可从任意一页幻灯片返回到上一级目录。具体功能如下。 1. 进入章目录后,可点击任一章播放。2. 进入节目录后,可点击任一节播放。3. 每一节播放结束时,可继续播放,也可点击本节最后一页幻灯片右下 角的按钮,回到上一级目录,再点击节目录幻灯片右下角的按钮,即可回到 章目录。 4. 点击任一页幻灯片右下角的按钮,均可回到上一级目录。 在修改课件过程中,哈尔滨工业大学计算机科学与技术学院张丽杰、罗 丹彦为课件的录入、排版、绘图、动画演示做了大量工作,在此表示衷心感 谢。由于时间仓促,难免有不妥之处,敬请读者和专家批评指正。唐朔飞2007年12月 第1章 计算机系统概论第2章 计算机的发展及应用第3章 系统总线 第4章 存储器第5章 输入输出系统第6章 计算机的运算方法 第7章 指令系统 第8章 CPU 的结构和功能第9章 控制单元的功能第10章 控制单元的设计 第1章 计算机系统概论1.1 计算机系统简介 1.2 计算机的基本组成1.3 计算机硬件的主要技术指标1.4 本书结构 1.1 计算机系统简介一、 计算机的软硬件概念1. 计算机系统计 算 机 系 统 硬件 计算机的实体, 如主机、外设等 软件 由具有各类特殊功能 的信息(程序)组成 1.1系统软件 用来管理整个计算机系统语言处理程序操作系统 服务性程序软 件数据库管理系统网络软件应用软件 按任务需要编制成的各种程序 2. 计算机的解题过程1.1高级语 言程序翻译目标程序运行结果计算机 二、计算机系统的层次结构高级语言汇编语言 操作系统 机器语言虚拟机器 M3虚拟机器 M2 虚拟机器 实际机器 M11.1微指令系统微程序机器 M0 虚拟机器 M4 虚拟机器 M3用编译程序翻译 成汇编语言程序1.1软 件用汇编程序翻译 成机器语言程序用机器语言解释操作系统虚拟机器 M2 实际机器 M1硬 件用微指令解释机器指令微程序机器 M0由硬件直接执行微指令 三、计算机体系结构和计算机组成 1.1有无乘法指令计算机 程序员所见到的计算机系统的属性 体系结构 概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)计算机 组成实现计算机体系结构所体现的属性(具体指令的实现)如何实现乘法指令 1.2 计算机的基本组成一、冯· 诺依曼计算机的特点1. 计算机由五大部件组成2. 指令和数据以同等地位存于存储器,可按地址寻访3. 指令和数据用二进制表示 4. 指令由操作码和地址码组成 5. 存储程序 6. 以运算器为中心 冯· 诺依曼计算机硬件框图存放数据 将信息转换成机 和程序 器能识别的形式 输入设备1.2算术运算 将结果转换成 逻辑运算 人们熟悉的形式存储器运算器输出设备控制器指挥程序 运行 冯· 诺依曼计算机硬件框图1.2存储器输入设备运算器输出设备控制器 二、计算机硬件框图1. 以存储器为中心的计算机硬件框图控制器数据 输入设备 程序 运算器1.2计算存储器输出设备 结果 2.现代计算机硬件框图运算器 控制器 存储器 输入设备 输出设备主机CPU1.2ALUCU 主存 辅存CPU主机硬件 I/O设备主 存ALU CUI/O设备 三、计算机的工作步骤1.上机前的准备? 建立数学模型? 确定计算方法 3 5 7 9 x x x x sin x = x + + -… 3! 5! 7! 9! 1 ( y x ) ( n = 0, 1, 2, … ) x= n+ y √ n 2 ? 编制解题程序程序 —— 运算的 全部步骤 指令 —— 每 一个步骤1.2 编程举例计算取x1.2ax2 + bx + c = (ax + b)x + c至运算器中 取x加b 加c至运算器中在运算器中 在运算器中乘以x 在运算器中 乘以a 在运算器中 存ax2 在存储器中 取b 至运算器中 乘以x 在运算器中 加ax2 在运算器中 加c 在运算器中乘以a 在运算器中 乘以x 在运算器中 指令格式举例操作码 取数 000001 存数 加 α
β γ [ACC] [ACC]+[γ] β 地址码 [α]1.2ACCACC乘打印δ?[ACC]×[δ][? ]ACC打印机停机 计算 ax2 + bx + c 程序清单指令和数据存于 主存单元的地址 指令 操作码 地址码 注释1.201 2000001011 取数x至ACC乘a得ax ,存于ACC中 加b得ax+b ,存于ACC中34 5000100010 乘x得(ax+b)x,存于ACC中加c得ax2 + bx + c ,存于ACC 将ax2 + bx +c ,存于主存单元67 8 9 10 11000101000110x a b c打印停机 原始数据x 原始数据a 原始数据b 原始数据c12存放结果 2.计算机的解题过程(1)存储器的基本组成1.2存储体 – 存储单元 – 存储元件 (0/1)存储体MAR MDR主存储器大楼 –房间– 床位 (无人/ 有人)存储单元 存放一串二进制代码 存储字存储单元中二进制代码的组合存储字长 存储单元中二进制代码的位数每个存储单元赋予一个地址号按地址寻访 (1)存储器的基本组成1.2反映存储单元的个数MAR 存储器地址寄存器存储体MDR 存储器数据寄存器反映存储字长MAR MDR主存储器设 MAR = 4 位MDR = 8 位 存储单元个数 16 存储字长 8 (2)运算器的基本组成及操作过程ACC MQ1.2X 加数 减数ACCALUMQ加法 被加数 和 被减数 减法 差 乘数 乘法 乘积高位 乘积低位 被除数 除法 余数 商X运算器被乘数除数 ① 加法操作过程ACC ALU X运算器1.2指令加 MMQ初态 ACC [M] [ACC]+[X]被加数X ACC ② 减法操作过程ACC ALU X运算器1.2指令减 MMQ初态 ACC [M] [ACC]-[X]被减数X ACC ③ 乘法操作过程0 ACC ALU ALU X运算器1.2指令初态 乘 MMQACC[M] [ACC]被乘数MQ X0[X]×[MQ]ACCACC∥MQ ④ 除法操作过程ACC ALU X运算器1.2指令初态 除 MMQACC[M]被除数X MQ[ACC]÷[X]余数在ACC中 (3)控制器的基本组成完成 一条 指令PC1.2PCIR取指令分析指令取指 访存CU执行指令CU执行 访存IRPC 存放当前欲执行指令的地址, 具有计数功能(PC)+ 1 PC IR 存放当前欲执行的指令 (4)主机完成一条指令的过程以取数指令为例 CPU…ACC MQ1.25存储体6IR 27 3 8MDRI/O 设 备CUALU控制 单元PC14MARX运算器控制器9主存储器 (4)主机完成一条指令的过程以存数指令为例 CPU…ACC MQ1.25存储体6IR 27 3 9MDRI/O 设 备CUALU控制 单元PC14MARX运算器控制器8主存储器 (5) ax2 + bx + c 程序的运行过程? 将程序通过输入设备送至计算机1.2? 程序首地址? 启动程序运行PC MAR MCU? 取指令 PCMDR MIR ,(PC )+ 1 MDR ACCPC? 分析指令 OP(IR)? 执行指令 Ad(IR)? 打印结果 ? 停机 …MAR 1.3 计算机硬件的主要技术指标1.机器字长 CPU 一次能处理数据的位数主频 吉普森法 TM = fi tii =1与 CPU 中的 寄存器位数 有关n2.运算速度MIPS CPI每秒执行百万条指令执行一条指令所需时钟周期数FLOPS 每秒浮点运算次数 3.存储容量存放二进制信息的总位数 存储单元个数 ×存储字长 如1.3主存容量字节数 如 字节数MAR MDR 容量 10 8 1 K × 8位 16 32 64 K × 32位1K = 2102 = 1 KB 221 = 256 KB 80 GB131B = 23b辅存容量1GB = 230b 1.4 本书结构计算机第1篇 概论 1.4 本书结构计算机存储器I/O第2篇 计算机系统的硬件结构系统总线CPU 1.4 本书结构计算机存储器I/O第3篇 CPU系统总线CPU中央处理器ALUCUCPU 内部互连寄存器 1.4 本书结构计算机存储器I/O第4篇 CU系统总线CPU中央处理器 控制单元ALUCUCPU 内部互连排队 逻辑寄存器 和解码器寄存器控制 存储器 第2章 计算机的发展及应用2.1 计算机的发展史 2.2 计算机的应用 2.3 计算机的展望 2.1 计算机的发展史一、计算机的产生和发展1946年 美国 ENIAC十进制运算1955年退役18 0001 500 150 30 1 500 5 000多个电子管多个继电器千瓦 吨平方英尺次加法/秒用手工搬动开关和拔插电缆来编程 2.1世界上第一台电子计算机 ENIAC(1946) 硬件技术对计算机更新换代的影响代 一 二 三 时间
硬件技术 电子管 晶体管 中小规模 集成电路 大规模 集成电路 超大规模 集成电路2.140 000速度 /(次/秒)200 000 1 000 000四五10 000 000 100 000 0001978-现在 2.1 第一台von Neumann 系统结构的计算机 IBM System/3602.1 最快的五台超级计算机(截止到 2007.11) 2.11. IBM: BlueGene/L - eServer Blue Gene Solution212 992 个 CPU最大平均速度 478 200 GFLOPS 最快的五台超级计算机(截止到 2007.11) 2.12.IBM: JUGENE - Blue Gene/P Solution65 536个 CPU最大平均速度 167 300 GFLOPS 最快的五台超级计算机(截止到 2007.11) 2.13.SGI: SGI Altix ICE 820014 336个 CPU最大平均速度 126 900 GFLOPS 最快的五台超级计算机(截止到 2007.11) 2.14. HP : EKA - Cluster Platform 3000 BL460c14 240个 CPU最大平均速度 117 900 GFLOPS 最快的五台超级计算机(截止到 2007.11) 2.15. HP : Cluster Platform 3000 BL460c13 728个 CPU最大平均速度 102 800 GFLOPS 2.1最权威的超级计算机排名的参考网址http://www.top500.org 二、微型计算机的出现和发展微处理器芯片2.11971年4位(4004) 8位 16位 32位 64位存储器芯片 1970年 256位 1K位 4K位 16K位 64K位 256K位 1M位 4M位 16M位 64M位 Moore 定律Intel 公司的缔造者之一 Gordon Moore 提出 微芯片上集成的 晶体管数目每三年翻两番2.1 Intel 公司的典型微处理器产品286
Pentium Pentium Pro Pentium Ⅱ Pentium Ⅲ Pentium Ⅳ 2007 年 预计 2010 年 8位 16位 16位 32位 32位 64位(准) 64位(准) 64位(准) 64位(准) 64位 1974年 1979年 1982年 1985年 1989年 1993年 1995年 1997年 1999年 2000年2.12.9 万个晶体管 13.4 万个晶体管 27.5 万个晶体管 120.0 万个晶体管 310.0 万个晶体管 550.0 万个晶体管 750.0 万个晶体管 950.0 万个晶体管 4 200.0 万个晶体管芯片上可集成 芯片上可集成3 亿 5 千万 个晶体管 8 亿 个晶体管 三、软件技术的兴起和发展1. 各种语言机器语言 面向机器汇编语言 面向机器 高级语言 面向问题 FORTRAN 科学计算和工程计算 PASCAL 结构化程序设计2.1C++ Java面向对象 适应网络环境 2. 系统软件语言处理程序操作系统 服务性程序2.1汇编程序 编译程序 解释程序DOS UNIX Windows 装配 调试 诊断 排错数据库管理系统 数据库和数据库管理软件网络软件 3. 软件发展的特点? 开发周期长 ? 制作成本昂贵 ? 检测软件产品质量的特殊性软件是程序以及开发、使用和维护程序所需要的所有文档2.1 2.2 计算机的应用一、科学计算和数据处理 二、工业控制和实时控制三、网络技术1. 电子商务 2. 网络教育 3. 敏捷制造 2.2四、虚拟现实 五、办公自动化和管理信息系统 六、CAD/CAM/CIMS 七、多媒体技术 八、人工智能 2.3 计算机的展望一、计算机具有类似人脑的一些超级 智能功能要求计算机的速度达1015/秒 二、芯片集成度的提高受以下三方面的限制? 芯片集成度受物理极限的制约 ? 按几何级数递增的制作成本 ? 芯片的功耗、散热、线延迟 三、?替代传统的硅芯片1. 光计算机利用光子取代电子进行运算和存储 2. DNA生物计算机 通过控制DNA分子间的生化反应 3. 量子计算机 利用原子所具有的量子特性2.3 第3章 系统总线3.1 总线的基本概念 3.2 总线的分类 3.3 总线特性及性能指标3.4 总线结构3.5 总线控制 3.1 总线的基本概念一、为什么要用总线二、什么是总线总线是连接各个部件的信息传输线,是 各个部件共享的传输介质三、总线上信息的传送串行并行 四、总线结构的计算机举例1. 面向 CPU 的双总线结构框图中央处理器 CPU3.1I/O总线M 总 线主存I/O接口I/O接口…I/O接口I/O 设备1I/O 设备2…I/O 设备n 2. 单总线结构框图单总线(系统总线)3.1I/O接口I/O接口 …I/O接口CPU主存I/O 设备1 I/O 设备2 … I/O 设备n 3. 以存储器为中心的双总线结构框图系统总线3.1I/O接口…I/O接口CPU存储总线主存I/O 设备1 … I/O 设备n 3.2 总线的分类1.片内总线芯片内部 的总线2.系统总线数据总线 地址总线计算机各部件之间 的信息传输线双向 与机器字长、存储字长有关单向 与存储地址、 I/O地址有关有出 有入存储器读、存储器写 总线允许、中断确认控制总线中断请求、总线请求 3.通信总线用于 计算机系统之间 或 计算机系统3.2与其他系统(如控制仪表、移动通信等)之间的通信串行通信总线传输方式并行通信总线 3.3 总线特性及性能指标一、总线物理实现CPU 插板 主存 插板 I/O 插板BUS主板 二、总线特性1. 机械特性3.3尺寸、形状、管脚数 及 排列顺序2. 电气特性3. 功能特性 4. 时间特性传输方向 和有效的 电平 范围 地址 数据 控制每根传输线的 功能信号的 时序 关系 三、总线的性能指标1. 总线宽度数据线 的根数3.32. 标准传输率4. 总线复用 5. 信号线数 7. 其他指标每秒传输的最大字节数(MBps)3. 时钟同步/异步 同步、不同步地址线 与 数据线 复用地址线、数据线和控制线的 总和6. 总线控制方式 并发、自动、仲裁、逻辑、计数负载能力 四、总线标准3.3ISA模块系统标 准 界 面模块 总 线 标 准EISAVESA(LV-BUS) PCI AGP RS-232系统USB 四、总线标准总线标准 ISA EISA VESA (VL-BUS) PCI AGP RS-232 数据线 16 32 32 32 64 32 总线时钟 8 MHz(独立) 8 MHz(独立) 32 MHz(CPU) 33 MHz(独立) 64 MHz(独立) 66.7 MHz(独立) 133 MHz(独立) 带宽3.333 MBps 33 MBps 133 MBps 132 MBps 528 MBps 266 MBps 533 MBps串行通信 总线标准串行接口 总线标准数据终端设备(计算机)和数据通信设备 (调制解调器)之间的标准接口 普通无屏蔽双绞线 带屏蔽双绞线 最高 1.5 Mbps (USB1.0) 12 Mbps (USB1.0) 480 Mbps (USB2.0)USB 3.4 总线结构一、单总线结构单总线(系统总线)I/O接口I/O接口 …I/O接口CPU主存I/O 设备1 I/O 设备2 … I/O 设备n 二、多总线结构1. 双总线结构主存总线CPU 主存 通道3.4I/O总线具有特殊功能的处理器, 由通道对I/O统一管理I/O接口 设备0…I/O接口 设备n… 2. 三总线结构3.4I/O总线CPU主存总线主存 I/O接口 I/O接口 … I/O接口DMA总线高速外设 设备1…设备n 3. 三总线结构的又一形式局部总线CPU 主存 局部I/O控制器 Cache3.4系统总线局域网SCSI扩展总线接口Modem串行接口扩展总线 4. 四总线结构3.4主存Cache/桥多媒体CPUSCSI局部总线图形系统总线局域网高速总线FAX 扩展总线接口Modem串行接口扩展总线 三、总线结构举例1. 传统微型机总线结构CPU33 MHz的32位数据通路3.4系统总线主存控制器 存储器标准总线控制器 SCSI Ⅱ 控制器8 MHz的16位数据通路ISA、EISA …高性能图形 Modem多媒体高速局域网… 2. VL-BUS局部总线结构系统总线CPU3.4主存控制器存储器局部总线 控制器标准总线 控制器VL BUS33 MHz的32位数据通路SCSIⅡ 控制器ISA、EISA …多媒体高速局域网高性能图形8 MHz的16位数据通路图文传真Modem… 3. PCI 总线结构系统总线CPU3.4存储器PCI 桥标准总线 33 MHz的32位数据通路 控制器8 MHz的16位数据通路PCI 总线SCSIⅡ 控制器 高性能图形多媒体高速局域网ISA、EISA 图文传真 Modem 4. 多层 PCI 总线结构CPU 存储器总线 桥0 桥43.4存储器第一级桥PCI总线4PCI设备第二级桥 总线桥桥5PCI总线5 PCI总线0桥1桥3设备 PCI总线3 PCI总线1第三级桥标准总线桥2PCI总线2 3.5 总线控制一、总线判优控制1. 基本概念? 主设备(模块) 对总线有 控制权 响应 从主设备发来的总线命令链式查询? 从设备(模块)集中式计数器定时查询独立请求方式? 总线判优控制分布式 2. 链式查询方式3.5BS -总线忙 BR-总线请求 BG-总线同意 数据线 地址线总 线 控 制 部 件BS BRI/O接口0 BGI/O接口1…I/O接口n… 3. 计数器定时查询方式BS -总线忙 BR-总线请求3.5数据线 地址线1 0计数器总 线 控 制 部 件设备地址BS BRI/O接口0I/O接口1…I/O接口n 4. 独立请求方式BG-总线同意 BR-总线请求BGn BRn BG13.5数据线 地址线总 线 控 制 部 件BR1BG0BR0I/O接口0排队器I/O接口1 … I/O接口n 二、总线通信控制1. 目的 解决通信双方 协调配合 问题 2. 总线传输周期申请分配阶段寻址阶段 传数阶段 结束阶段3.5主模块申请,总线仲裁决定主模块向从模块 给出地址 和 命令主模块和从模块 交换数据主模块 撤消有关信息 3. 总线通信的四种方式同步通信由 统一时标 控制数据传送3.5异步通信采用 应答方式,没有公共时钟标准半同步通信 同步、异步结合 分离式通信 充分 挖掘 系统 总线每个瞬间 的 潜力 (1) 同步式数据输入总线传输周期时钟T1 T2 T3 T43.5地址 读 命令 数据 (2) 同步式数据输出总线传输周期时钟T1 T2 T3 T43.5地址数据写 命令 (3) 异步通信主设备请 求 回 答 从设备 不互锁 半互锁3.5全互锁 (4) 半同步通信 (同步、异步 结合)同步 发送方 用系统 时钟前沿 发信号接收方 用系统 时钟后沿 判断、识别3.5异步 允许不同速度的模块和谐工作增加一条 “等待”响应信号 WAIT 以输入数据为例的半同步通信时序T1 主模块发地址 T2 主模块发命令 Tw 当 WAIT 为低电平时,等待一个 T Tw 当 WAIT 为低电平时,等待一个 T T3 从模块提供数据 T4 从模块撤销数据,主模块撤销命令3.5… (4) 半同步通信 (同步、异步 结合)总线传输周期时钟 地址读 命令WAIT3.5T1T2TWTWT3T4数据 上述三种通信的共同点一个总线传输周期(以输入数据为例)? 主模块发地址 、命令 占用总线3.5? 从模块准备数据不占用总线 总线空闲? 从模块向主模块发数据 占用总线 (5) 分离式通信充分挖掘系统总线每个瞬间的潜力 一个总线传输周期子周期13.5主模块 申请 占用总线,使用完后即 放弃总线 的使用权子周期2 主模块从模块 申请 占用总线,将各种信息送至总线上 分离式通信特点1. 各模块有权申请占用总线 2. 采用同步方式通信,不等对方回答3. 各模块准备数据时,不占用总线 4. 总线被占用时,无空闲 充分提高了总线的有效占用3.5 第4章 存 储 器4.1 概述 4.2 主存储器4.3 高速缓冲存储器4.4 辅助存储器 4.1 概 述一、存储器分类1. 按存储介质分类(1) 半导体存储器 TTL 、MOS易失(2) 磁表面存储器 (3) 磁芯存储器 (4) 光盘存储器磁头、载磁体硬磁材料、环状元件 激光、磁光材料非 易 失 2. 按存取方式分类(1) 存取时间与物理地址无关(随机访问)? 随机存储器 ? 只读存储器4.1在程序的执行过程中 可 读 可 写 在程序的执行过程中 只 读(2) 存取时间与物理地址有关(串行访问)? 顺序存取存储器 磁带? 直接存取存储器磁盘 3. 按在计算机中的作用分类RAM静态 RAM 动态 RAM MROM4.1主存储器ROMPROM EPROM EEPROM存 储 器Flash Memory高速缓冲存储器(Cache)辅助存储器磁盘、磁带、光盘 二、存储器的层次结构1. 存储器三个主要特性的关系4.1/ 速度 容量 价格 位CPU 寄存器 缓存 主存 磁盘 光盘 磁带快小高CPU主 机辅 存 慢 大 低 2. 缓存 主存层次和主存10 ns 20 ns 200 ns辅存层次ms4.1CPU缓存主存辅存(速度) 缓存 主存主存储器 实地址 物理地址(容量) 主存 辅存虚拟存储器虚地址逻辑地址 一、概述4.2 主存储器读 写 电 路1. 主存的基本组成数据总线 MDR…存储体…驱动器……控制电路译码器…MAR读写地址总线 2. 主存和 CPU 的联系数据总线 读4.2MDRCPUMAR写 地址总线主 存 3. 主存中存储单元地址的分配高位字节 地址为字地址字地址 字节地址4.2字节地址低位字节 地址为字地址字地址0 4 80 4 81 5 92 6 103 7 110 2 41 3 50 2 4设地址线 24 根 若字长为 16 位按 字节 寻址 224 = 16 M 按 字 寻址 8M若字长为 32 位按 字 寻址4M 4. 主存的技术指标(1) 存储容量 (2) 存储速度? 存取时间 存储器的 访问时间 读出时间 写入时间 ? 存取周期4.2主存 存放二进制代码的总位数连续两次独立的存储器操作(读或写)所需的 最小间隔时间 读周期 写周期(3) 存储器的带宽位 /秒 二、半导体存储芯片简介1. 半导体存储芯片的基本结构地 址 线 片选线地址线(单向) 数据线(双向) 1014 134.2译 码 驱 动存 储 矩 阵读 写 电 路数 据 线…读/写控制线芯片容量 1K×4位16K×1位 8K×8位…41 8 二、半导体存储芯片简介1. 半导体存储芯片的基本结构地 址 线 片选线片选线CS CE WE (低电平写 高电平读)4.2译 码 驱 动存 储 矩 阵读 写 电 路数 据 线读/写控制线…读/写控制线OE (允许读) WE(允许写)… 存储芯片片选线的作用4.28片 16K × 1位用 16K × 1位 的存储芯片组成 64K × 8位 的存储器32片8片 8片 8片 16K × 1位 16K × 1位 16K × 1 位当地址为 65 535 时,此 8 片的片选有效 2. 半导体存储芯片的译码驱动方式(1) 线选法A3 A2 A1 A04.20地 0 址 译 0 码 器 0字线0,0…16×8矩阵0,70…15,0……15 0 D0…15,7……7D7位线读 / 写选通读/写控制电路 (2) 重合法A4 A3 A2 A1 A0 0 0 0 X 地 址 译 码 器 X032×32 矩阵4.20,0 0,0…0,310031,0 X 31Y0A 9 0A 8 0A 7 0 A 6 0A 5 0………31,31I/OY 地址译码器 Y31 读 /写D 三、随机存取存储器 ( RAM )1. 静态 RAM (SRAM)(1) 静态 RAM 基本电路位线A4.2?T5A?T1 ~ T4A T6位线AT 1 ~ T 4 触发器 T 5 、T 6 行开关 T 7 、T 8 列开关行地址选择T7列地址选择写放大器 写放大器T8T 7 、T 8 一列共用读放 D OUTA 触发器原端DIN写选择 读选择A? 触发器非端 ① 静态 RAM 基本电路的 读 操作位线A4.2T5、T6 开 T7、T8 开 T6 读放 T8 DOUT?T5A?T1 ~ T4行地址选择AT6位线A行选 列选T7列地址选择T8读选择有效 VA读放写放大器写放大器DOUTDIN写选择读选择 ② 静态 RAM 基本电路的 写 操作 位线A 位线A ? A? A T ~ T1 44.2T5、T6 开 T7、T8 开 两个写放T5行地址选择T6行选 列选T7列地址选择 写放 写放T8写选择有效DIN读放DOUT写选择 读选择DIN(左) DIN (右) DIN反相T7 T8T5 T6A? A (2) 静态 RAM 芯片举例① Intel 2114 外特性WE A9 A8 CS I/O 1 I/O 2 I/O 3 I/O 44.2A0…Intel 2114存储容量 1K×4 位 VCC GND ② Intel 2114 RAM 矩阵 (64 × 64) 读A8A7 A6 行 地 第一组04.2第四组 48第二组 16第三组 320… 15…… 31…… 47…… 63…A5 址 1 A4 译…A3 码 63 0 A9 A2 A1 A0 列 0 地 15 16 31 32 47 48 63址 15 译 码… …WE………读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE……0…16153132474863读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE……0…16153132474863读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 CSI/O1读写电路I/O2读写电路I/O3读写电路I/O4 ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ② Intel 2114 RAM 矩阵 (64 × 64) 读0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写A8A7 A6 行 地 第一组04.2第四组 48第二组 16第三组 320… 15…… 31…… 47…… 63…A5 址 1 A4 译…A3 码 63 0 A9 A2 A1 A0 列 0 地 15 16 31 32 47 48 63址 15 译 码… …WE………读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE……0…16153132474863读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE……0…16153132474863读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 CSI/O1读写电路I/O2读写电路I/O3读写电路I/O4 ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 CSI/O1读写电路I/O2读写电路I/O3读写电路I/O4 ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 读写电路 CSI/O1读写电路I/O2读写电路I/O3读写电路I/O4 ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 读写电路 CSI/O1读写电路I/O2读写电路I/O3读写电路I/O4 ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组第二组第三组0 地 1 0 址0… 15 …16… 31 …32… 47 …48… 63 ……0…… …… …0 译 0 码 630 列 0 0 地 0 址 150 译 码… …WE15163132474863读写电路 读写电路 CSI/O1读写电路I/O2读写电路I/O3读写电路I/O4 ③ Intel 2114 RAM 矩阵 (64 × 64) 写0 0 行 第一组04.2第四组 48第二组 16第三组 320 地 1 0 址0… 15…… 31…… 47…… 63……0…… ……0 译 0 码 630 列 0 0 地 0 址 15 0 译 码… …WE15163132474863读写电路 读写电路I/O1读写电路I/O2读写电路I/O3读写电路I/O4CS (3) 静态 RAM 读 时序地址有效4.2地址失效tA片选有效tARC片选失效CStDOUTCOt tOHAOTD高阻数据有效数据稳定t t 片选失效 地址失效后的 片选有效 输出高阻 数据稳定 数据维持时间 数据稳定 读周期 读时间 t 地址有效 地址有效 下一次地址有效 OTD CO t OHA RC A (4) 静态 RAM (2114) 写 时序 tWC4.2tAtCSAWtWWRWEDOUTtDWtDHDINtAW tt 地址有效 片选有效的滞后时间 写周期 地址有效 下一次地址有效 WE 下一次地址有效 写时间 tW 失效后的数据维持时间 写命令 WE 的有效时间 数据稳定 WE 失效 WC WR DH DW t片选失效 2. 动态 RAM ( DRAM )(1) 动态 RAM 基本单元电路V DD读选择线 T2 T4 预充电信号 有电流 无电流4.2数据线 TT1T3 Cg1 0读数据线1 0字线1 0Cs写选择线 写数据线读出与原存信息相反 写入与输入信息相同读出时数据线有电流 为 “1” 写入时 CS 充电 为 “1” 放电 为 (2) 动态 RAM 芯片举例 ① 三管动态 RAM 芯片 (Intel 1103) 读A9 A8 A74.2读选择线 写选择线 读 数 据 线行0 0 1 10… …单元 电路地0 址0 译 31 码 A6 0 31 器A500… …读 写 控 制 电 路1写 数 据 线…0A4………刷新放大器D31…列 地 址 译 码 器0A30A20A10A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行0地址 译01 1……单元 电路A7A6码 31 器31A50 A4 1… …读 写 控 制 电 路写 数 据 线读 数 据 线…A3………刷新放大器D31…列 地 址 译 码 器A2 A1A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 A4 1写 数 据 线读 数 据 线…A3………刷新放大器D31…列 地 址 译 码 器A2 A1A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 A4 1写 数 据 线读 数 据 线…A3………刷新放大器D31…列 地 址 译 码 器A2 A1A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 1写 数 据 线读 数 据 线…0A4………刷新放大器D31…列 地 址 译 码 器0A30A20A11A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 1写 数 据 线读 数 据 线……0A4……刷新放大器D31…列 地 址 译 码 器0A30A20A11A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 1写 数 据 线读 数 据 线……0A4……刷新放大器D31…列 地 址 译 码 器0A30A20A11A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 1写 数 据 线读 数 据 线……0A4……刷新放大器D31…列 地 址 译 码 器0A30A20A11A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 1写 数 据 线读 数 据 线……0A4……刷新放大器D31…列 地 址 译 码 器0A30A20A11A0 ② 三管动态 RAM 芯片 (Intel 1103) 写A9 A84.2读选择线写选择线行01 地 1 址 1 1 1译01 1……单元 电路A7A6码 31 器31A5… …读 写 控 制 电 路0 1写 数 据 线读 数 据 线……0A4……刷新放大器D31…列 地 址 译 码 器0A30A20A11A0 ③ 单管动态 RAM 4116 (16K × 1位) 外特性 4.2RAS CAS WEA'6行地址 缓存器时序与控制行 存储单元阵列 译 基准单元 码 读 出 放 大 列译码器 再生放大器 列译码器行时钟 列时钟 写时钟 数据输入 寄存器A'0~DINI/O缓存器列地址缓存器行 基准单元 译 码 存储单元阵列数据输出 驱动DOUT ④ 4116 (16K × 1位) 芯片 读 原理 …Cs读放大器 读放大器4.20128 列 选 择…1……0…读放大器……127读/写线Cs…63128 根行线64DIN数据输入…127 DOUTI/O缓冲输出驱动 ⑤ 4116 (16K×1位) 芯片 写 原理 …Cs读放大器 读出放大器 读放大器 读放大器4.20 1128 列 选 择………0…读放大器……127读/写线Cs…63128 根行线64DIN数据输入…127 DOUTI/O缓冲输出驱动 (3) 动态 RAM 时序行、列地址分开传送读时序行地址 RAS 有效 写允许 WE 有效(高)4.2写时序行地址 RAS 有效 写允许 WE 有效(低)列地址 CAS 有效数据 DOUT 有效数据DIN 有效列地址 CAS 有效 (4) 动态 RAM 刷新刷新与行地址有关读 /写或维持 周期序号0 1 24.2刷新 读/写或维持① 集中刷新 (存取周期为0.5 ?s ) 以128 × 128 矩阵为例????????????tc tcX Yt c t c tc t cV W 0 1tc127地址序号3872 个周期 (1936 ?s) 128 个周期 (64 ?s)刷新序号刷新时间间隔 ( 2 m s)“死区” 为 “死时间率” 为0.5 ?s ×128 = 64 ?s 128/4 000 ×100% = 3.2% ② 分散刷新(存取周期为1 ?s )以 128 ×128 矩阵为例W/R REF 0 W/R W/R REF 126 W/R REF 127 W/R W/R4.2REFt M tR tC…刷新间隔 128 个存取周期tC = tM + tR读写 刷新无 “死区”(存取周期为 0.5 ?s + 0.5 ?s ) 4.2 ③ 分散刷新与集中刷新相结合(异步刷新)对于 128 ×128 的存储芯片(存取周期为 0.5 ?s ) 若每隔 15.6 ?s 刷新一行W/R W/R W/R W/R REF 0.5 μs 15.6 μs W/R W/R W/R W/R REF 0.5 μs 15.6 μstC0.5 μstC每行每隔 2 ms 刷新一次“死区” 为 0.5 ?s将刷新安排在指令译码阶段,不会出现 “死区” 3. 动态 RAM 和静态 RAM 的比较主存存储原理集成度 芯片引脚 功耗 价格 速度 DRAM SRAM4.2缓存电容高 少 小 低 慢触发器低 多 大 高 快刷新有无 四、只读存储器(ROM)1. 掩模 ROM ( MROM )行列选择线交叉处有 MOS 管为“1” 行列选择线交叉处无 MOS 管为“0”4.22. PROM (一次性编程)行线 VCC 熔丝 列 线熔丝断熔丝未断为 “ 0”为 “ 1” 3. EPROM (多次性编程 )(1) N型沟道浮动栅 MOS 电路SiO 2 S G D 浮动栅 D ___ +++++N+4.2G 栅极 S 源 D漏GN+P基片S紫外线全部擦洗D 端加正电压 D 端不加正电压形成浮动栅 不形成浮动栅S 与 D 不导通为 “0” S 与 D 导通为 “1” (2) 2716 EPROM 的逻辑图和引脚DO0 PD/Progr CS A10 A7 A6 控制逻辑4.21 24 VCC A8 A9 VPP CS A10 PD/Progr DO7… …DO7A7数据缓冲区………A0PD/Progr 功率下降 / 编程输入端… …Y 译码Y 控制… ……X 译128 × 128存储矩阵码A1 A0 DO0 DO1 DO2 VSS2716…1213DO3读出时 为 低电平 4. EEPROM (多次性编程 )电可擦写4.2局部擦写全部擦写5. Flash Memory (闪速型存储器)EPROM EEPROM 价格便宜 集成度高 电可擦洗重写比 EEPROM快 具备 RAM 功能 五、存储器与 CPU 的连接1. 存储器容量的扩展(1) 位扩展(增加存储字长)A 94.210根地址线2片 1K × 4位 存储芯片组成 1K × 8位 的存储器 用 ?片 8根数据线2114D 7???A 02114… …D 4 D 0 CS WE (2) 字扩展(增加存储字的数量)4.211根地址线2片 1K × 8位 存储芯片组成 2K × 8位 的存储器 用 ?片8根数据线A10 A91D0 WE???A1 A0???1K× 8位CS0???1K× 8位CS1D7????????? (3) 字、位扩展12根地址线A11 A10 A9 A8 A0 片选 译码4.28根数据线8片 1K × 4位 存储芯片组成 4K × 8位 的存储器 用?片CS0CS1CS2CS3D7D0 WE... …1K×4…1K×4…1K×4…1K×4…1K×4…1K×4…1K×4…1K×4… 2. 存储器与 CPU 的连接(1) 地址线的连接 (2) 数据线的连接 (3) 读/写命令线的连接4.2(4) 片选线的连接(5) 合理选择存储芯片 (6) 其他 时序、负载 例4.1 解:(1) 写出对应的二进制地址码A15A14A13 A11 A10 … A7 … A4 A3 … A04.21片 2K×8位0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0ROM 2K×8位 1K×8位 RAM0 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 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1(2) 确定芯片的数量及类型……2片1K×4位 (3) 分配地址线A15 A13 A11 A10 … A7 … A4 A3 … A04.21片 ROM2K × 8位0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 1 1 1 1A10~ A0 接 2K × 8位 ROM 的地址线 A9 ~ A0 接 1K × 4位 RAM 的地址线… …CB A2片RAM1K × 4位(4) 确定片选信号 例 4.1 CPU 与存储器的连接图A14 A15 MREQ A13 A12 A11 A10 A9 A0 G1 G2A G2B C B A Y5 Y44.2&WR…D7 D4 D3 D0PD/Progr… … ……2K ×8位 ROM…1K ×4位 RAM…1K ×4位 RAM……… 例4.2 假设同前,要求最小 4K为系统(1) 写出对应的二进制地址码 (2) 确定芯片的数量及类型4.2程序区,相邻 8K为用户程序区。1片 4K × 8位 ROM 2片 4K × 8位 RAM (3) 分配地址线 A11~ A0 接 ROM 和 RAM 的地址线(4) 确定片选信号 例 4.3设 CPU 有 20 根地址线,8 根数据线。 4.2 并用 IO/M 作访存控制信号。RD 为读命令, WR 为写命令。现有 2764 EPROM ( 8K × 8位 ), 外特性如下:A12 CE OE…A0 CE 片选信号 允许输出 可编程端PGMOE PGMD7…D0用 138 译码器及其他门电路(门电路自定)画出 CPU 和 2764 的连接图。要求地址为 F0000H~FFFFFH , 并 写出每片 2764 的地址范围。 六、存储器的校验1 . 编码的最小距离4.2任意两组合法代码之间 二进制位数 的 最少差异 编码的纠错 、检错能力与编码的最小距离有关L 1 = D + C ( D≥C )L —— 编码的最小距离 L = 3D —— 检测错误的位数 具有 一位 纠错能力C —— 纠正错误的位数汉明码是具有一位纠错能力的编码 2 . 汉明码的组成组成汉明码的三要素4.2汉明码的组成需增添 ?位检测位2k ≥ n + k + 1检测位的位置 ?…) 2i ( i = 0 , 1, 2 , 3 ,检测位的取值 ?检测位的取值与该位所在的检测“小组” 中 承担的奇偶校验任务有关 各检测位 Ci 所承担的检测小组为C1 检测的 g1 小组包含第 1,3,5,7,9,11, …4.2… 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,gi 小组独占第 2i-1 位gi 和 gj 小组共同占第 2i-1 + 2j-1 位gi、gj 和 gl 小组共同占第 2i-1 + 2j-1 + 2l-1 位 4.2 例4.4 求 0101 按 “偶校验” 配置的汉明码解:∵ n = 4 根据 2k ≥ n + k + 1 得k=3 汉明码排序如下:二进制序号 名称1234567 1C1 C2 0 C4 1 0 0 1 0 ∴ 0101 的汉明码为 0100101 练习1 按配偶原则配置 0011 的汉明码解: ∵ n = 4 根据 2k ≥ n + k + 1 取k=3二进制序号 名称4.21234567C1= 3C1 C2 0 1 0 5 7=1 66C4 0011C2= 3C4= 57=07=0∴ 0011 的汉明码为 1000011 3. 汉明码的纠错过程4.2形成新的检测位 Pi , 其位数与增添的检测位有关,如增添 3 位 (k = 3), 新的检测位为 P4 P2 P1 。以 k = 3 为例,Pi 的取值为P1 = 1C1 C233 556 677 7P2 = 2 P4 = 4C4对于按 “偶校验” 配置的汉明码 不出错时 P1= 0,P2 = 0,P4 = 0 例4.5 已知接收到的汉明码为 0100111解:纠错过程如下P1= 1 P2= 2 P4= 4 ∴ 3?4.2(按配偶原则配置)试问要求传送的信息是什么?5 6 6 7 = 0 无错?3 57 = 1 有错 7 = 1 有错??P4P2P1 = 110第 6 位出错,可纠正为 0100101, 故要求传送的信息为 0101。 练习2 写出按偶校验配置的汉明码0101101 的纠错过程4.2P4 = 4P2 = 253667=17=0P1 = 1357=0 第 4 位错,可不纠∴ P4 P2 P1 = 100练习3 按配奇原则配置 0011 的汉明码配奇的汉明码为 0101011 七、提高访存速度的措施? 采用高速器件? 采用层次结构 Cache –主存4.2? 调整主存结构1. 单体多字系统W位 主 存 控 制 器 W位 W位 W位增加存储器的带宽单字长寄存器W位 数据寄存器 存储体... ...地址寄存器 2. 多体并行系统(1) 高位交叉地址00 14.2顺序编址M210 1 11 1M001 1M1M3… …00 1体号… …10 1111体内地址………11 1111… (1) 高位交叉地址 M00 1各个体并行工作M1 n n+12n 2n+14.2M33n 3n+1M2… …n-12n-1 体号… …3n-1 地址译码 体内地址… …4n-1… … (2) 低位交叉地址1 00各个体轮流编址M1 M21 10 1 114.2M3M01 01… …1 01体内地址… …1111 10 体号………1111 11… (2) 低位交叉地址 M00 4各个体轮流编址M11 5 2 64.2M33 7M2… …4n-4 4n-3… …4n-2 地址译码 体内地址… …4 n- 1 体号… … 低位交叉的特点4.2单体 访存周期在不改变存取周期的前提下,增加存储器的带宽单体 访存周期 时间 启动存储体 0 启动存储体 1 启动存储体 2启动存储体 3 设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足 T = 4τ。字 W4 W3 W2 W1 W0 体号 M0 M3 M2 M1 M04.2Tτ τ τ时间连续读取 4 个字所需的时间为 T+(4 -1)τ (3) 存储器控制部件(简称存控)… 节拍 发生器4.2易发生代码 丢失的请求 源,优先级 最高严重影响 CPU 工作的请求源, 给予 次高 优先级控制线路主脉冲排队器QQ CM存控标记 触发器来自各个请求源 3.高性能存储芯片(1) SDRAM (同步 DRAM)在系统时钟的控制下进行读出和写入CPU 无须等待4.2(2) RDRAM由 Rambus 开发,主要解决 存储器带宽 问题(3) 带 Cache 的 DRAM在 DRAM 的芯片内 集成 了一个由 SRAM 组成的 Cache ,有利于 猝发式读取 4.3 高速缓冲存储器一、概述1. 问题的提出避免 CPU ―空等” 现象CPU 和主存(DRAM)的速度差异CPU 缓存容量小 速度高主存容量大 速度低程序访问的局部性原理 2. Cache 的工作原理(1) 主存和缓存的编址主存储器 主存块号 标记 Cache4.3缓存块号0 0 1字块 0 字块 1字块 0字块 1…………1~2 -1n位 m位 主存块号 M块m~字块 M-1 b位 块内地址2c-1~ ~c位~ ~字块 C-1 b位缓存块号 块内地址 C块B个字B个字主存和缓存按块存储块的大小相同B 为块长 (2) 命中与未命中缓存共有 C 块 主存共有 M 块 M && C 命中 主存块 调入 缓存 主存块与缓存块 建立 了对应关系4.3用 标记记录 与某缓存块建立了对应关系的 主存块号未命中主存块 未调入 缓存主存块与缓存块 未建立 对应关系 (3) Cache 的命中率CPU 欲访问的信息在 Cache 中的 比率 命中率 与 Cache 的 容量 与 块长 有关4.3一般每块可取 4 ~ 8 个字 块长取一个存取周期内从主存调出的信息长度 CRAY_1 IBM 370/168 16体交叉 4体交叉 块长取 16 个存储字 块长取 4 个存储字 (64位×4 = 256位) (4) Cache –主存系统的效率效率 e 与 命中率 有关 访问 Cache 的时间 e= × 100% 平均访问时间4.3设 Cache 命中率 为 h,访问 Cache 的时间为 tc , 访问 主存 的时间为 tm tc × 100% 则 e= h × tc+ (1-h)× tm 3. Cache 的基本结构地址总线4.3主存块号 块号 块内地址由CPU完成访问主存 替换CacheCache Cache 替换机构 替换机构否可装进?否命中?主存Cache 地址映射 变换机构主访问主存装入Cache 是 是 Cache地址 直接通路 块号 块内地址CPU存Cache存储体Cache 存储体数据总线 4. Cache 的 读写 操作读开始 CPU发出访问地址4.3是命中?否Cache满? 否 是访问Cache 取出信息送CPU访问主存 取出信息送CPU将新的主存块 调入Cache中执行替换算法 腾出空位结束 4. Cache 的 读写 操作写Cache 和主存的一致性4.3? 写直达法(Write – through)写操作时数据既写入Cache又写入主存写操作时间就是访问主存的时间,读操作时不 涉及对主存的写操作,更新策略比较容易实现? 写回法(Write – back)写操作时只把数据写入 Cache 而不写入主存 当 Cache 数据被替换出去时才写回主存 写操作时间就是访问 Cache 的时间, 读操作 Cache 失效发生数据替换时, 被替换的块需写回主存,增加了 Cache 的复杂性 5. Cache 的改进(1) 增加 Cache 的级数片载(片内)Cache 片外 Cache4.3(2) 统一缓存和分立缓存指令 Cache 数据 Cache与主存结构有关 与指令执行的控制方式有关Pentium 8K 指令 Cache是否流水8K 数据 CachePowerPC62032K 指令 Cache32K 数据 Cache 二、Cache – 主存的地址映射1. 直接映射i = j mod Ct位 Cache存储体 0 标记 * 1 标记字块 0 字块 14.3主存储体 字块0 字块1…比较器(t位)2c-1 标记 字块 2c-1 主存字 块标记 t位 Cache 字块 字块地址 内地址 c位 m位 b位…字块2c-1 字块2c 字块2c +1字块2c+1-1 字块2c+1 字块2m-1=有效位=1? 是 命中否≠ 主存地址… …不命中每个缓存块 i 可以和 若干 个 主存块 对应 每个主存块 j 只能和 一 个 缓存块 对应 2. 全相联映射Cache 存储器 m = t+c标记 字块0 字块1 …4.3主存储器字块0 字块1 …标记标记主存地址字块2c-1 字块2c-1 …字块2m-1字块内地址主存字块标记m=t+c位b位主存 中的 任一块 可以映射到 缓存 中的 任一块 3. 组相联映射组 0 14.3主存储器字块0字块1 字块2c-r -1 字块2c-r 字块2c-r + 1 标记 标记 字块 1 字块 3Cache 共 Q 组,每组内两块(r = 1)标记 标记 字块 0 字块 2……………2 -1c-r标记 字块 2c-2 标记 字块 2c-1 主存地址…主存字块标记组地址字块内地址b位q = c-r 位 s=t+r 位 m位+1 字块 字块2 2cc--rr+1…i = j mod Q直接映射 全相联映射字块2m-1某一主存块 j 按模 Q 映射到 缓存 的第 i 组中的 任一块 三、替换算法1. 先进先出 ( FIFO )算法 2. 近期最少使用( LRU)算法 小结 成本高 不灵活直接某一 主存块 只能固定 映射到 某一 缓存块4.3全相联 某一 主存块 能 映射到 任一 缓存块 组相联 某一 主存块 只能 映射到 某一 缓存 组 中的 任一块 4.4 辅助存储器一、概述1. 特点 不直接与 CPU 交换信息道密度 Dt 位密度 Db2. 磁表面存储器的技术指标(1) 记录密度 (2) 存储容量 C=n×k×s(3) 平均寻址时间 寻道时间 + 等待时间 辅存的速度 (4) 数据传输率 寻址时间 磁头读写时间 Dr = Db × V(5) 误码率出错信息位数与读出信息的总位数之比 二、磁记录原理和记录方式 1. 磁记录原理 写写线圈 I 铁芯 磁通 写线圈 I4.4磁层N S 载磁体 S N局部磁化单元局部磁化单元写入“0”写入“1” 1. 磁记录原理 读读线圈 读线圈4.4铁芯 磁通 磁层NSSNfe运动方向fe运动方向s ts t 读出 “1”读出 ―0‖ 2. 磁表面存储器的记录方式位周期 数据序列4.40 1 0T 011100RZ NRZNRZ1PM FM MFM 例 NRZ1 的读出代码波形数据序列 0 1 1 0 0 1 04.4驱动电流 磁通变化 感应电势同步脉冲 读出代码 三、硬磁盘存储器1. 硬磁盘存储器的类型(1) 固定磁头和移动磁头(2) 可换盘和固定盘4.42. 硬磁盘存储器结构主 机 磁 盘 控 制 器 磁 盘 驱 动 器 盘 片 (1) 磁盘驱动器主轴磁盘4.4数据控制磁头 主轴定位驱动磁 盘 组读写臂音圈 电机测速输 出 位置检测 放 模拟控制 定位驱动 大 闭环自动控制系统传动机构由磁盘控制 器送来的目 标磁道信号 (2) 磁盘控制器4.4? 接收主机发来的命令,转换成磁盘驱动器的控制命令 ? 实现主机和驱动器之间的数据格式转换 ? 控制磁盘驱动器读写 磁盘控制器 是 对主机 通过总线 主机与磁盘驱动器之间的 接口 对硬盘(设备)(3) 盘片由硬质铝合金材料制成 四、软磁盘存储器1. 概述速度 磁头 硬盘 高 固定、活动 浮动 盘片 价格 固定盘、盘组 大部分不可换 高 软盘 低 活动 接触盘片 可换盘片 低4.4环境苛刻 2. 软盘片由聚酯薄膜制成保护套 主轴孔 实际的软盘片4.4读/写磁头访问槽 写保护口 衬里/清洁材料 五、光盘存储器1. 概述采用光存储技术第一代光存储技术 第二代光存储技术4.4利用激光写入和读出采用非磁性介质 采用磁性介质 不可擦写 可擦写2. 光盘的存储原理只读型和只写一次型 热作用(物理或化学变化)可擦写光盘热磁效应 第5章 输入输出系统5.1 概述5.2 外部设备5.3 I/O接口5.4 程序查询方式 5.5 程序中断方式5.6 DMA方式 5.1 概 述一、输入输出系统的发展概况1. 早期分散连接 CPU 和 I/O设备 串行 工作 程序查询方式2. 接口模块和 DMA 阶段总线连接 CPU 和 I/O设备 并行 工作 中断方式 DMA 方式3. 具有通道结构的阶段 4. 具有 I/O 处理机的阶段 二、输入输出系统的组成1. I/O 软件(1) I/O 指令 (2) 通道指令5.1CPU 指令的一部分 通道自身的指令操作码 命令码 设备码指出数组的首地址、传送字数、操作命令 如 IBM/370 通道指令为 64 位2. I/O 硬件 设备 设备 I/O 接口 设备控制器 通道 三、I/O 设备与主机的联系方式1. I/O 设备编址方式(1) 统一编址 (2) 不统一编址 用取数、存数指令 有专门的 I/O 指令5.12. 设备选址用设备选择电路识别是否被选中3. 传送方式(1) 串行 (2) 并行 4. 联络方式(1) 立即响应 (2) 异步工作采用应答信号 并行CPU I/O 接 口 I/O “Ready‖ 设 备5.1“Strobe‖串行命令字 起 始 位数据字 011 0 1 000命令字 终 止 位9.09 ms2× 9.09 ms(3) 同步工作采用同步时标 5. I/O 设备与主机的连接方式(1) 辐射式连接外设 Ⅰ5.1主 机 (2) 总线连接便于增删设备每台设备都配有一套外设 Ⅱ 外设 Ⅲ控制线路和一组信号线不便于增删设备 四、I/O设备与主机信息传送的控制方式1. 程序查询方式 CPU 和 I/O 串行工作 踏步等待CPU读I/O状态5.1现行程序 CPU向I/O发 读指令 CPU读I/O状态未准备就绪出错 检查状态 已准备就绪 从I/O接口中读 一个字到CPU 从CPU向主存 写入一个字未准备就绪检查状态出错否完成否 是 2. 程序中断方式I/O 工作自身准备 CPU 不查询5.1与主机交换信息 CPU 暂停现行程序CPU 和 I/O 并行工作现行程序启动 I/O设备…中 断 服 务 程 序没有踏步等待现象 中断现行程序…K K+1… 程序中断方式流程CPU 向 I/O 发读指令 CPU 做其他事情 CPU 读 I/O 状态 检查状态 未错 从 I/O 接口中读一个字到CPU 中断请求 I/O 出错 CPU CPU I/O5.1I/O 设备工作准备就绪I/OCPUCPU主存从 CPU 向主存写入一个字否 完成否? 是 3. DMA 方式主存和 I/O 之间有一条直接数据通道 不中断现行程序 周期挪用(周期窃取)5.1CPU 和 I/O 并行工作一个存取周期 CPU 执行现行程序 存取周期结束 CPU 执行现行程序启动I/ODMA请求 I/O准备I/O准备实现I/O与主存之间的传送 三种方式的 CPU 工作效率比较程序 查询 方式CPU 执行 现行程序 启动I/O CPU查询等待并传输I/O数据 I/O 准备及传送 间 断5.1CPU 执行 现行程序程序 中断 方式CPU 执行现行程序 指令执行周期结束启动I/O 中断请求 I/O准备 一个存取周期 CPU 执行现行程序 存取周期结束 启动I/OCPU 执行现行程序I/O准备 CPU 处理中断服务程序 实现 I/O 与主机之间的传送 CPU 执行现行程序DMA 方式DMA请求 I/O准备I/O准备实现I/O与主存 之间的传送 5.2 I/O设备一、概述I/O主 机 接 口 设备 控制器 机、电 磁、光 部分外部设备外部设备大致分三类 1. 人机交互设备 键盘、鼠标、打印机、显示器 2. 计算机信息存储设备 磁盘、光盘、磁带 3. 机 机通信设备 调制解调器等 二、输入设备1. 键盘5.2按键判断哪个键按下 将此键翻译成 ASCII 码 (编码键盘法)2. 鼠标机械式 光电式 3. 触摸屏 金属球 电位器 光电转换器 三、输出设备1. 显示器(1) 字符显示 (2) 图形显示 (3) 图像显示 字符发生器 主观图像 客观图像5.22. 打印机(1) 击打式 点阵式(逐字、逐行)(2) 非击打式激光(逐页)喷墨(逐字) 四、其他1. A/D、D/A5.2模拟/数字(数字/模拟)转换器2. 终端由键盘和显示器组成完成显示控制与存储、键盘管理及通信控制 3. 汉字处理 汉字输入、汉字存储、汉字输出五、多媒体技术1. 什么是多媒体2. 多媒体计算机的关键技术 5.3 I/O 接 口一、概述为什么要设置接口?1. 实现设备的选择 2. 实现数据缓冲达到速度匹配3. 实现数据串4. 实现电平转换 5. 传送控制命令并格式转换6. 反映设备的状态(“忙”、“就绪”、“中断请 二、接口的功能和组成1. 总线连接方式的 I/O 接口电路5.3I/O总线(1) 设备选择线数 据 线I/O 接口 设备状 态 线(2) 数据线(3) 命令线 (4) 状态线命 设 令 备 线 选 择 线I/O 接口设备 2. 接口的功能和组成功能选址功能 传送命令的功能5.3组成设备选择电路 命令寄存器、命令译码器传送数据的功能反映设备状态的功能 完成触发器 D数据缓冲寄存器设备状态标记工作触发器 B中断请求触发器 INTR 屏蔽触发器 MASK 3. I/O 接口的基本组成5.3数据线I/O接口 数据线 数据缓冲 寄存器DBR 控 制 逻 辑 电 路 设备选择 电路 命令 外 部 设 备地址线CPU 命令线状态线设备状态 标记命令寄存器 和命令译码器状态 三、接口类型1. 按数据 传送方式 分类并行接口 串行接口 可编程接口 Intel 8255 Intel 82515.32. 按功能 选择的灵活性 分类Intel 8255、 Intel 8251 不可编程接口 Intel 82123. 按 通用性 分类通用接口专用接口 中断接口 DMA 接口Intel 8255、 Intel 8251 Intel 8279、 Intel 8275Intel 8259 Intel 82574. 按数据传送的 控制方式 分类 5.4 程序查询方式一、程序查询流程检查状态标记1多个设备是 处理设备11. 查询流程单个设备测 试 指 转 令 移 传 指 送 令 指 令设备1 准备就绪? 否 …检查状态标记否 否检查状态标记N 准备就绪? 是 设备N 准备就绪? 是 处理设备N交换数据 2. 程序流程保存设置计数值设置主存缓冲区首址5.4寄存器内容启动外设 准备好? 是 否传送一个数据 修改主存地址 修改计数值 未完传送完? 完结束I/O传送 二、程序查询方式的接口电路以输入为例数据线5.4③ 输入数据⑥DBR准备就绪 ⑤Q② BQD 1 0SEL &启动设备启动命令 ①1 0 ④设备工作 结束地址线设备选择电路 5.5 程序中断方式一、中断的概念…入口1K K+1中 断 服 务 程 序 1入口2…Q Q+1中 断 服 务 程 序 2… 二、I/O 中断的产生以打印机为例执行主程序 CPU5.5继续执行主程序 中 断 返 回 响 应 中 断 传送 数据 中 断 返 回CPU 与打印机并行工作继续执行主程序 响 应 中 断 启动 打印机传送 数据发 中 断 请 求准备打印机打印发 中 断 请 求 接收 数据打印空闲接收 数据 三、程序中断方式的接口电路1. 配置中断请求触发器和中断屏蔽触发器中断请求5.5INTRDQMASKINTR 中断请求触发器来自 CPU 的 中断查询信号INTR = 1 有请求MASK 中断屏蔽触发器 MASK = 1 被屏蔽1 &QD受设备本身控制D 完成触发器 2. 排队器排队 软件 详见第八章5.5硬件 在 CPU 内或在接口电路中(链式排队器)INTP1? 1 &INTP2? 1 &INTP3? 1 &INTP4? 1 &INTR1INTR2INTR3INTR4设备 1#、2#、3#、4# 优先级按 降序排列 INTRi = 1 有请求 即 INTRi = 0 2. 排队器排队 软件 详见第八章INTP1 1 & INTR1 INTP1? 1 & INTP2? 1 & 1 & INTR2 INTP3? 1 & INTP2 1 & INTR3 INTP4? 1 INTP3 15.5硬件 在 CPU 内或在接口电路中(链式排队器)INTP4& INTR4&INTR1INTR2INTR3INTR4 3. 中断向量地址形成部件入口地址由软件产生 详见第八章 由 硬件 产生 向量地址5.5硬件向量法向量地址 再由 向量地址 找到 入口地址 主存……中断向量地址 形成部件12H 设备 编码器 向量地址JMP 13H JMP 14H JMP200 300 400…… …0 00 10 0 … 0 1 排队器输出入口地址 200 入口地址 300打印机服务程序 显示器服务程序… … 4. 程序中断方式接口电路的基本组成向量地址 中断响应 INTA 中断请求Q D5.5至低一级 的排队器 来自高一级 的排队器设备编码器 排队器 INTR1 &Q QMASK中断查询命令译码启动命令QDSEL 设备选择电路 DBRQB启动设备&设备工作 结束 输入数据地址线 数据线 四、I/O 中断处理过程1. CPU 响应中断的条件和时间(1) 条件 允许中断触发器 EINT = 1 用 开中断 指令将 EINT 置 “1”5.5用 关中断 指令将 EINT 置“ 0” 或硬件 自动复 位 (2) 时间 当 D = 1(随机)且 MASK = 0 时 在每条指令执行阶段的结束前CPU 发 中断查询信号(将 INTR 置“1”) 2. I/O 中断处理过程⑧向量地址 中断响应 INTA 中断请求以输入为例设备编码器 排队器5.5至低一级 的排队器 来自高一级 的排队器⑦⑥Q DINTR1QMASKQ⑤中断查询&②Q启动命令①命令译码 &QD0 11 0B启动设备④设备工作 结束地址线 数据线SEL 设备选择电路 DBR③ 输入数据 五、中断服务程序流程1. 中断服务程序的流程(1) 保护现场程序断点的保护 中断隐指令完成 寄存器内容的保护 进栈指令5.5(2) 中断服务对不同的 I/O 设备具有不同内容的设备服务(3) 恢复现场 (4) 中断返回出栈指令 中断返回指令2. 单重中断和多重中断单重 中断 不允许中断 现行的 中断服务程序 多重 中断 允许级别更高 的中断源 中断 现行的 中断服务程序 3. 单重中断和多重中断的服务程序流程单重取指令 执行指令 中断否?否5.5否多重取指令 执行指令 中断否?中 断 隐 指 令是中 断 周 期 中 断 服 务 程 序中断响应 程序断点进栈 关中断 向量地址 PC中 断 隐 指 令是中 断 周 期 中 断 服 务 程 序中断响应 程序断点进栈 关中断 向量地址 PC保护现场 设备服务 恢复现场 开中断 中断返回保护现场 开中断 设备服务 恢复现场 中断返回 程序中断接口芯片 8259A 的内部结构内部总线INTA 控制逻辑 INT5.5D7~D0内部总线 缓冲器RD WR A0 CS CAS0 CAS1 CAS2 SP/EN读/写 逻 辑中断 服务 寄存 器 (ISR)优先权 比较器( PR )中断 请求 寄存 器 (IRR)级联缓冲 器/比较器IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7中断屏蔽寄存器 (IMR) 主程序和服务程序抢占 CPU 示意图主程序 CPU 继续执行主程序5.5继续执行主程序启动外设服务程序 (传送数据)服务程序 (传送数据)准备工作准备工作 I/O准备工作传送数据 传送数据 发中断请求 发中断请求宏观 上 CPU 和 I/O 并行 工作 微观 上 CPU 中断现行程序 为 I/O 服务 5.6 DMA 方式一、DMA 方式的特点1. DMA 和程序中断两种方式的数据通路中断方式数据传送通路 输入指令主 存CPU中断接口ACCDMA 接口 输出指令 DMA方式数据传送通路I/O 设 备 2. DMA 与主存交换数据的三种方式(1) 停止 CPU 访问主存5.6控制简单 CPU 处于不工作状态或保持状态未充分发挥 CPU 对主存的利用率主存工作时间 tCPU控制 并使用主存DMA控制 并使用主存 DMA不工作CPU不执行程序DMA工作DMA不工作 (2) 周期挪用(或周期窃取)DMA 访问主存有三种可能 ? CPU 此时不访存 ? CPU 正在访存 ? CPU 与 DMA 同时请求访存 此时 CPU 将总线控制权让给 DMA主存工作时间 CPU控制 并使用主存 DMA控制 并使用主存5.6t (3) DMA 与 CPU 交替访问CPU 工作周期 C1 专供 DMA 访存 C2 专供 CPU 访存5.6所有指令执行过程中的一个基准时间主存工作时间tDMA控制 并使用主存CPU控制 并使用主存不需要 申请建立和归还 总线的使用权 二、DMA 接口的功能和组成1. DMA 接口功能(1) 向 CPU 申请 DMA 传送 (2) 处理总线 控制权的转交 (3) 管理 系统总线、控制 数据传送5.6(4) 确定 数据传送的 首地址和长度修正 传送过程中的数据 地址 和 长度 (5) DMA 传送结束时,给出操作完成信号 2. DMA 接口组成HLDA HRQ 中 断 请 求 数 据 线 AR 中 断 机 构溢出信号5.6地 址 线 +1 +1主 CPU 存DMA 控 制 逻 辑WC DAR BRDMA接口DREQ DACK设备 三、DMA 的工作过程1. DMA 传送过程预处理、数据传送、后处理(1) 预处理 通过几条输入输出指令预置如下信息5.6? 通知 DMA 控制逻辑传送方向(入/出) ? 设备地址 DMA 的 DAR? 主存地址 ? 传送字数DMA 的 AR DMA 的 WC (2) DMA 传送过程示意CPU 预处理: 主存起始地址 DMA 设备地址 DMA 传送数据个数 DMA 启动设备数据传送DMA请求 否 允许传送? 是5.6数据传送: 继续执行主程序 同时完成一批数据传送后处理: 中断服务程序 做 DMA 结束处理 继续执行主程序主存地址送总线 数据送I/O设备(或主存 ) 修改 主存地址 修改 字计数器否数据块 传送结束? 是 向CPU申请 程序中断 (3) 数据传送过程(输入)中 断 请 求 数 据 线 ⑦5.6地 址 线 ⑤ ARHLDA ④HRQ ③主 CPU 存DMA 控 制 逻 辑+1+1中 断 机 构溢出信号WCDARBR ⑥ DACK ② DREQ DMA接口①设备 (4) 数据传送过程(输出)中 断 请 求 数 据 线 ⑦5.6地 址 线 ⑤ ARHLDA ④HRQ ③主 CPU 存DMA 控 制 逻 辑+1+1中 断 机 构溢出信号WCDARBR ⑥ DACK ② DREQ DMA接口①设备 (5) 后处理校验送入主存的数是否正确5.6是否继续用 DMA测试传送过程是否正确,错则转诊断程序 由中断服务程序完成 2. DMA 接口与系统的连接方式(1) 具有公共请求线的 DMA 请求数据线 I/O总线 地址线 DMA请求 主存 CPU DMA 接口1 DMA 接口2 …5.6DMA 接口nDMA响应 (2) 独立的 DMA 请求I/O总线DMA请求35.6数据线 地址线DMA响应3DMA请求2 CPU DMA响应2DMA请求1DMA响应1 DMA 接口1 DMA 接口2 DMA 接口3主存 3. DMA 方式与程序中断方式的比较中断方式(1) 数据传送 (2) 响应时间 程序 指令执行结束5.6DMA 方式硬件 存取周期结束(3) 处理异常情况(4) 中断请求 (5) 优先级能传送数据 低不能后处理 高 四、DMA 接口的类型1. 选择型系统总线5.6在 物理上 连接 多个 设备 在 逻辑上 只允许连接 一个 设备DMA接口 字计数器 主存地址寄存器 主存 CPU 数据缓冲寄存器 控制状态寄存器 选 择 线设备 1 设备 2 ...设备地址寄存器时序电路设备 n 2. 多路型5.6 在 物理上 连接 多个 设备 在 逻辑上 允许连接 多个 设备同时工作链式主存CPUDMA 接口设备设备…… …设备独立请求式主存CPUDMA 接口设备设备… 设备 3. 多路型 DMA 接口的工作原理磁盘 DMA 请求 DMA 请求 30 ?s DMA 请求 磁带 DMA 请求 打印机 5 ?s 为打印 机服务 为磁盘 服务 为磁带 服务 T1 T2 T3 T4 T5 T6 T7 DMA 请求5.6DMA 请求tDMA 请求 t45 ?sDMA 请求tT8 第6章 计算机的运算方法6.1 无符号数和有符号数6.2 数的定点表示和浮点表示 6.3 定点运算6.4 浮点四则运算6.5 算术逻辑单元 6.1 无符号数和有符号数一、无符号数 寄存器的位数 反映无符号数的表示范围8位 16 位0 ~ 255 0 ~ 65535 二、有符号数1. 机器数与真值真值带符号的数6.1机器数符号数字化的数+ 0.10110 1011小数点的位置– 0.1011+ 1100 – 11001 1011小数点的位置0 1100小数点的位置1 1100小数点的位置 2. 原码表示法(1) 定义整数6.10, x2n x[x ]原 =x 为真值如 x = +1110x = 11102n > x ≥ 00 ≥ x > 2nn 为整数的位数[x]原 = 0 , 1110 用 逗号 将符号位 和数值部分隔开[x]原 = 24 + 1110 = 1 , 1110带符号的绝对值表示 小数[x ]原 =x 为真值 如 x = + 0.1101x= 0.1101x 1–x1>x≥0 0≥x> 1[x]原 = 0 . 11016.1用 小数点 将符号 位和数值部分隔开[x]原 = 1 ( 0.1101) = 1 . 1101 [x]原 = 0 . 1000000 用 小数点 将符号 位和数值部分隔开x = + 0.1000000 x= 0.1000000[x]原 = 1 ( 0.1000000) = 1 . 1000000 (2) 举例例 6.1 已知 [x]原 = 1.00116.1求 x – 0.0011解: 由定义得x = 1 [x]原 = 1 1.0011 = 0.0011 例 6.2 已知 [x]原 = 1,1100 解: 由定义得 x = 24 [x]原 = 0 = 1100 求 x– 1100 例 6.3 已知 [x]原 = 0.1101 求 x解: 根据 定义 ∵ [x]原 = 0.1101 ∴ 例 6.4 求 x = 0 的原码 解: 设 x = +0.0000 x = 0.0000 同理,对于整数 x = + 0.11016.1[+0.0000]原 = 0.0000 [ 0.0000]原 = 1.0000 [+ 0]原 = 0,0000 [ 0]原 = 1,0000∴ [+ 0]原 ≠ [ 0]原 原码的特点:简单、直观要求 加法 加法 加法 加法 数1 正 正 负 负 数2 正 负 正 负 实际操作 加 减6.1结果符号 正 可正可负但是用原码作加法时,会出现如下问题:减加可正可负负能否 只作加法 ?找到一个与负数等价的正数 来代替这个负数 就可使 减 加 3. 补码表示法(1) 补的概念 ? 时钟 逆时针 顺时针6.16 +9 15 可见 3 可用 + 9 代替 减法 加法 - 12 3 称 + 9 是 3 以 12 为模的 补数 6 -3 3记作 同理 3 ≡ + 9 (mod 12) 4 ≡ + 8 (mod 12) 5 ≡ + 7 (mod 12) 时钟以 12为模 结论? 一个负数加上 “模” 即得该负数的补数 ? 一个正数和一个负数互为补数时 它们绝对值之和即为 模 数 ? 计数器(模 16) 10116.11011 – 记作 1011 ≡ + 0101同理 011 ≡ + 101 0.1001 ≡ + 1.01110000 ? 1011 + 自然去掉可见 1011 可用 + 0101 代替(mod 24) (mod 23) (mod 2) (2) 正数的补数即为其本身两个互为补数的数 1011 ≡ 分别加上模 + 10000 + 0101 ≡ 结果仍互为补数6.14+ 0101(mod2 ) + 10000 + 10101 ∴ + 0101 ≡ + 0101 (mod24) 丢掉 可见 + 0101 + 0101 ? 1011 ? 0 ,0101 +
? 1 , – 1011 = 100000 (mod24+1) 1011 用 逗号 将符号位 1,0101 和数值部分隔开 (3) 补码定义整数[x]补 =x 为真值6.12n > x ≥ 0 0 > x ≥ 2n(mod 2n+1)n 为整数的位数0, x 2n+1 + x如x = +1010x = 1011000[x]补 = 0,1010用 逗号 将符号位 和数值部分隔开[x]补 = 27+1 +( 1011000 ) = 1000 小数[x ]补 =x 为真值 如 x = + 0.1110 [x]补 = 0.1110 x = 0.11000006.1x 2+x 1>x ≥0 0 > x ≥ 1(mod 2)[x]补 = 2 + ( 0.1100000 ) = 10...0100000 用 小数点 将符号位和数值部分隔开 (4) 求补码的快捷方式设 x = 1010 时6.1= 11111 + 1 1010 = 11111 + 1
+ 1 = 1,0110则[x]补 = 24+1 1010 = 0 = 1,0110又[x]原 = 1,1010当真值为 负 时,补码 可用 原码除符号位外 每位取反,末位加 1 求得 (5) 举例例 6.5 已知 [x]补 = 0.0001 求x 解: 由定义得 x = + 0.00016.1例 6.6 已知 [x]补 = 1.0001求x 解:由定义得 x = [ x ]补 – 2 = 1.0001 – 10.0000 = – 0.1111[x ]补? [x ]原[x]原 = 1.1111 ∴ x = – 0.1111 例 6.7 已知 [x]补 = 1,1110求x6.1[x ] 补 ? [x ]原解: 由定义得x = [x]补 – 24+1 = 1,1110 – 100000 = 0010[x]原 = 1,0010 ∴ x = 0010当真值为 负 时,原码 可用 补码除符号位外 每位取反,末位加 1 求得 练习 求下列真值的补码真值6.1[x ]原0,,.0 0.0不能表示[x ]补x = +70 = , 1000110 x = 70 = , 0111010 x = 0.0 x = 0.0 x = 0.0000 [+ 0]补 = [ 0]补 0.0000 x = 0.0 x = 1.0 由小数补码定义[x]补 = x 2+ x1>x≥ 0 0 > x ≥ 1(mod 2)[ 1]补 = 2 + x = 10.0 = 1.0000 4. 反码表示法(1) 定义整数 0, x ( 2n+1 – 1) + x 2n > x ≥ 06.1[x]反 =x 为真值0 ≥ x > 2n(mod 2n+1 1)n 为整数的位数如x = +1101 [x]反 = 0,1101用 逗号 将符号位 和数值部分隔开x =
[x]反 = (2 1) 1101 =
= 1,0010 小数[ x]反 = x 为真值 如 x 1>x≥ 06.1( 2 – 2 -n ) + x 0 ≥ x > 1(mod 2 2-n)n 为小数的位数x = + 0.1101 [x ] 反 = 0.1101x = 0.1010 [x]反 = (2 2-4) 0.1010 = 1.0 = 1.0101用 小数点 将符号位 和数值部分隔开 (2) 举例例6.8 已知 [x]反 = 0,1110 求 x 解: 由定义得 x = + 11106.1例6.9 已知 [x]反 = 1,1110 求 x x = [x]反 (24+1 1) 解: 由定义得 = 1, = 0001 例 6.10 求 0 的反码 [+0.0000]反= 0.0000 解: 设 x = + 0.0000 x = 0.0000 [ 0.0000]反= 1.1111 [+0]反= 0,0000 [ 0]反= 1,1111 同理,对于整数 ∴ [+ 0]反 ≠ [ 0]反 三种机器数的小结6.1? 最高位为符号位,书写上用“,”(整数)或“.”(小数)将数值部分和符号位隔开? 对于正数,原码 = 补码 = 反码? 对于负数 ,符号位为 1,其 数值部分原码除符号位外每位取反末位加 1 原码除符号位外每位取反 反码 补码 6.1 例6.11 设机器数字长为 8 位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和 反码时,对应的真值范围各为多少?二进制代码无符号数 对应的真值原码对应 的真值补码对应 的真值反码对应 的真值10 0111 … …0 1 2 127 128 129253 254 255+0 +1 +2 +127 -0 -1-125 -126 -127+0 +1 +2 +127 -128 -127-3 -2 -1+0 +1 +2 +127 -127 -126-2 -1 -0… …… …… ……… 例6.12 已知 [y]补&Ⅰ &求 [ y ]补6.1解: 设 [y]补 = y0. y1 y2 … yn[y]补 = 0. y1 y2 … yn 每位取反, [y]补连同符号位在内, 末位加 1 y = 0. y1 y2 … yny 即得[ y]补=0. y1 y2 … yn[ y]补 = 1.y1 y2 … yn + 2-n&Ⅱ &[y]补连同符号位在内, 每位取反, 末位加 1 n …[ y]补 = 1. y1 y2 … yn [ y]原 = 1. y1 y2 … yn + 2-n即得[y = (0. y1 y2 yn + 2 ) y]补 y = 0. y1 y2 … yn + 2-n[ y]补 = 0. y1 y2 … yn + 2-n 5. 移码表示法补码表示很难直接判断其真值大小 如 十进制 x = +21 二进制 +10101 补码 0,101016.1错大x = –21x = +31 x = –31– 10101+11111 – 111111,010110,01大 正确错大x+25+10101 + 100000 = 01 + 100000 = 001011+11111 + 100000 = 11 + 100000 = 000001大正确 (1) 移码定义 [ x ] 移 = 2 n + x ( 2 n> x ≥ 2 n)x 为真值,n 为 整数的位数移码在数轴上的表示0 2n6.12n+1–1 [x]移码–2n02 –1n真值如x = 10100[x]移 = 25 + 10100 = 1,10100 x = –10100 [x]移 = 25 – 10100 = 0,01100用 逗号 将符号位 和数值部分隔开 (2) 移码和补码的比较设 x = +1100100 [x]移 = 27 + 1100100 = 1, [x]补 = 0,6.1设x = –1100100 [x]移 = 27 – 1100100 = 0,[x]补 = 1,补码与移码只差一个符号位 (3) 真值、补码和移码的对照表真值 x ( n =5 ) -100000 - 11111 - 111106.1[x] 移对应的 十进制整数[x]补001 100010 …[x]移001 000010 …0 1 2 …- 00001 ± 00000 + 00001 + 00010+ 11110 + 11111… …000 010111 …000 010111 …31 32 33 3462 63 … (4) 移码的特点? 当 x = 0 时 [+0]移 = 25 + 0 = 1,00000 [ 0]移 = 25 0 = 1,00000 ∴ [+0]移 = [ 0]移6.1? 当 n = 5 时 最小的真值为 25 = 100000[ 100000]移 = 25 100000 = 000000 可见,最小真值的移码为全 0 用移码表示浮点数的阶码 能方便地判断浮点数的阶码大小 6.2 数的定点表示和浮点表示小数点按约定方式标出 一、定点表示Sf S1S2 … Sn数 数值部分 符 小数点位置或Sf S1S2 … Sn数 符数值部分小数点位置定点机 原码小数定点机 –(1 – 2-n) ~ +(1 – 2-n)整数定点机 –(2n – 1) ~ +( 2n – 1)补码 反码– 1 ~ +(1 – 2-n) –(1 – 2-n) ~ +(1 – 2-n)– 2n ~ +( 2n – 1) –(2n – 1) ~ +( 2n – 1) 二、浮点表示N = S×rjS 尾数 j 阶码 浮点数的一般形式 r 基数(基值)6.2计算机中 r 取 2、4、8、16 等当r=2N = 11.0101 ? = 0.0 规格化数 1 = 1.10101×2 = -10 ? = 0.00二进制表示计算机中 S 小数、可正可负 j 整数、可正可负 1. 浮点数的表示形式j 阶码 S 尾数6.2… Snjf j1 j2阶 符… jm S f S 1 S 2数 符 小数点位置阶码的 数值部分尾数的数值部分Sf n m代表浮点数的符号 其位数反映浮点数的精度 其位数反映浮点数的表示范围jf 和 m 共同表示小数点的实际位置 2. 浮点数的表示范围6.2上溢 阶码 & 最大阶码 下溢 阶码 & 最小阶码 按 机器零 处理 上溢 上溢负数区最小负数 m –2( 2 –1)×( 1 – 2–n)下溢正数区最大正数m–1) 2 ( 2 ×(0最小正数m–215×( 1 – 2 )-102–( 2 –1)×2–n -15 -10 2 ×2 最大负数 m –2–( 2 –1)×2–n1 – 2–n) 215 ×( 1 – 2 10)–2-15 ×2-10设 m=4 n =10 练习6.2设机器数字长为 24 位,欲表示±3万的十进制数, 试问在保证数的最大精度的前提下,除阶符、数符各 取1 位外,阶码、尾数各取几位?解: ∵214 = 16384215 = 32768∴ 15 位二进制数可反映 ±3 万之间的十进制数 215 × 0.××× … ××× m = 4,5,6,…15位满足 最大精度 可取 m = 4,n = 18 3. 浮点数的规格化形式r=2 r=4 r=8 尾数最高位为 1 尾数最高 2 位不全为 0 尾数最高 3 位不全为 06.2基数不同,浮点数的 规格化形式不同4. 浮点数的规格化r=2 r=4 r=8 左规 右规 左规 右规 左规 右规 尾数左移 1 位,阶码减 1 尾数右移 1 位,阶码加 1 尾数左移 2 位,阶码减 1 尾数右移 2 位,阶码加 1 尾数左移 3 位,阶码减 1 尾数右移 3 位,阶码加 1基数 r 越大,可表示的浮点数的范围越大 基数 r 越大,浮点数的精度降低 例如:设 m = 4,n = 10,r = 2尾数规格化后的浮点数表示范围6.2= 215×( 1–2–10 )最大正数2+1111 × 0.10 个 1最小正数2-1111 × 0.9个0= 2–15×2–1 = 2–16最大负数 最小负数2-1111 ×(– 0.) = –2–15×2–1 = –2–169个02+1111 ×(– 0.)10 个 1= –215×( 1–2– 10 ) 三、举例19 例 6.13 将 + 128 写成二进制定点数、浮点数及在定点 机和浮点机中的机器数形式。其中数值部分均取 10 位, 数符取 1 位,浮点数阶码取 5 位(含1位阶符)。6.2解: 设 x = +二进制形式 定点表示19 128x = 0.0010011 x = 0. 浮点规格化形式 x = 0.×2-10 [x]原 = [x]补 = [x]反 = 0. 定点机中浮点机中 [x]原 = 1,
[x]补 = 1,
[x]反 = 1,
将 –58 表示成二进制定点数和浮点数,6.2 并写出它在定点机和浮点机中的三种机器数及阶码 为移码、尾数为补码的形式(其他要求同上例)。例 6.14解: 设 x = –58二进制形式 x = – 111010定点表示定点机中[x]原 = 1,
[x]补 = 1,
[x]反 = 1, x = – 浮点机中[x]原 = 0,
[x]补 = 0,
[x]反 = 0,
[x]阶移、尾补 = 1, 浮点规格化形式 x = – (0.) × 2110 例6.15上溢写出对应下图所示的浮点数的补码 6.2 形式。 设 n = 10,m = 4, 阶符、数符各取 1位。上溢 负数区最小负数下溢正数区最大正数m–1) 2 ( 2 ×(10–n–m–1) 2 ( 2 ×(1–2 )最小正数最大负数m–1) – 2 ( 2 ×2–n– 2–n)m–1) – 2 ( –2 ×2–n解:最大正数真值补码 0,,,,0000001215×(1 – 2–10) – – 最小正数 2 15× 2 10 –15 –10 最大负数 –2 × 2 – 最小负数 –215×(1 – 2 10) 机器零6.2? 当浮点数 尾数为 0 时,不论其阶码为何值 按机器零处理 ? 当浮点数 阶码等于或小于它所表示的最小 数 时,不论尾数为何值,按机器零处理如 m=4n = 10当阶码和尾数都用补码表示时,机器零为 … 0 ×, × × × ×; 0. 0 0 (阶码 = 16) 1, 0 0 0 0 ; ×.×× … × 当阶码用移码,尾数用补码表示时,机器零为 0, 0 0 0 0;0. 0 0 … 0 有利于机器中“ 判 0 ” 电路的实现 四、IEEE 754 标准S数符6.2尾 数阶码(含阶符)小数点位置尾数为规格化表示 非 “0” 的有效位最高位为 “1”(隐含)符号位 S短实数 长实数 1 1阶码8 11尾数23 52总位数32 64临时实数1156480 6.3 定 点 运 算一、移位运算1. 移位的意义15 . m = 1500. cm小数点右移 2 位机器用语 左移 右移 15 相对于小数点 左移 2 位 ( 小数点不动 ) 绝对值扩大 绝对值缩小在计算机中,移位与加减配合,能够实现乘除运算 2. 算术移位规则符号位不变6.3码 制 添补代码0 0 左移 添 0 右移 添 1 1正数原码、补码、反码 原 码 码 码负数补 反 例6.166.3设机器数字长为 8 位(含1位符号位),写出 A = +26时,三种机器数左、右移一位和两位后的表 示形式及对应的真值,并分析结果的正确性。 A = +26 = +11010 解: 则 [A]原 = [A]补 = [A]反 = 0,0011010移位操作 移位前 左移一位 左移两位右移一位 右移两位机 器 数 [A]原=[A]补=[A]反 0,,,,,0000110对应的真值 +26 +52 +104 +13 +6 例6.17设机器数字长为 8 位(含1位符号位),写出6.3A = –26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解: 原码 A = – 26 = – 11010移位操作移位前 左移一位 左移两位 机 器 数对应的真值– 26 – 52 – 104 – 13 –6右移一位右移两位1,,,,,0000110 补码移位操作机器数对应的真值6.3移位前 左移一位左移两位 右移一位 右移两位1,,,,,1111001 机 器 数– 26 – 52 – 104 – 13 –7对应的真值 – 26 – 52 – 104 – 13 –6反码移位操作 移位前 左移一位左移两位 右移一位右移两位1,,,,,1111001 3. 算术移位的硬件实现6.300010(a)真值为正 (b)负数的原码 (c)负数的补码 (d)负数的反码丢1 丢1 出错 影响精度 出错 影响精度 正确 影响精度 正确 正确 4. 算术移位和逻辑移位的区别算术移位 有符号数的移位6.3逻辑移位逻辑左移无符号数的移位低位添 0,高位移丢00 01(补码)逻辑右移例如逻辑左移 算术左移 Cy高位添 0,低位移丢10逻辑右移 算术右移 0高位 1 移丢 二、加减法运算1. 补码加减运算公式 (1) 加法 整数 [A]补 + [B]补 = [A+B]补(mod 2n+1)6.3小数 [A]补 + [B]补 = [A+B]补(mod 2) (2) 减法 A–B = A+(–B ) 整数 [A – B]补 = [A+(–B )]补= [A]补 + [ – B]补 (mod 2n+1)小数 [A – B]补 = [A+(–B )]补= [A]补 + [ – B]补 (mod 2)连同符号位一起相加,符号位产生的进位自然丢掉 2. 举例例 6.18设 A = 0.1011,B = – 0.0101 求 [A + B]补 验证 解: [A]补 = 0 . 1 0 1 1 0.1011 + [B]补 = 1 . 1 0 1 1 – 0.0101 [A]补 + [B]补 = 1 0 . 0 1 1 0 = [A + B]补 0.01106.3∴A+B= 0.0110 例 6.19 设 A = –9,B = –5 验证 求 [A+B]补 解: [A]补 = 1 , 0 1 1 1 – 1001 + [B]补 = 1 , 1 0 1 1 + – 0101 [A]补 + [B]补 = 1 1 , 0 0 1 0 = [A + B]补 – 1110 ∴ A + B = – 1110 例 6.20设机器数字长为 8 位(含 1 位符号位) 6.3 且 A = 15, B = 24,用补码求 A – B 解: A = 15 = 0001111 B = 24 = 0011000 [A]补 = 0, 0001111 [B]补 = 0, 0011000 + [– B]补 = 1, 1101000 [A]补 + [– B]补 = 1, 1110111 = [A – B]补 ∴ A – B = – 1001 = –9 9 11 练习 1 设 x = 16 y = 16 ,用补码求 x+y 12 – 错 x + y = – 0.1100 = 16 练习 2 设机器数字长为 8 位(含 1 位符号位) 且 A = – 97,B = +41,用补码求 A – B A – B = + 1110110 = + 118 错 3. 溢出判断(1) 一位符号位判溢出6.3参加操作的 两个数(减法时即为被减数和“求补” 以后的减数)符号相同,其结果的符号与原操作 数的符号不同,即为溢出 硬件实现 最高有效位的进位 符号位的进位 = 1 如 1 0=1 有 溢出 0 1=1 0 0=0 无 溢出 1 1=0 溢出 (2) 两位符号位判溢出[x ]补 ' = x 4+x 1 >x ≥ 0 0 >x ≥ –1(mod 4)6.3[x]补' + [y]补' = [ x + y ]补' (mod 4) [x –y]补' = [x]补' + [– y]补' (mod 4) 结果的双符号位 相同 结果的双符号位 不同 未溢出 溢出 00. 00, ××××× 11. 11, ××××× 10. ××××× 10, 01. ××××× 01,最高符号位 代表其 真正的符号 4. 补码加减法的硬件配置6.3GA GSV0An溢出 判断0加法器(n+1)求补控制 逻 辑XnA、X 均 n+1 位 用减法标记 GS 控制求补逻辑 三、乘法运算1. 分析笔算乘法6.3B = 0.1011A = – 0.1101A×B = – 0. 乘积的符号心算求得 0.1101 ? 符号位单独处理 ×0 . 1 0 1 1 1101 ? 乘数的某一位决定是否加被乘数 1101 ? 4个位积一起相加
? 乘积的位数扩大一倍 0. 2. 笔算乘法改进A ? B = A ? 0.1011 = 0.1A + 0.00A + 0.001A +0.0001A = 0.1A + 0.00A + 0.001( A +0.1A)6.3= 0.1A + 0.01[0 ? A + 0. 1( A +0.1A)]右移一位= 0.1{A +0.1[ 0 ? A+0.1(A + 0.1A)]} = 2-1{A +2-1[ 0 ? A+2-1(A + 2-1(A+0))]}① ②第一步 被乘数A + 0第二步 右移 一 位,得新的部分积 第三步 部分积 + 被乘数 第八步 右移 一 位,得结果③⑧… 3. 改进后的笔算乘法过程(竖式)部分积 0.0000 +0.1 0.0110 +0.1 0.1001 +0.1 0.0100 + 0.1 0.1000 乘数 1011 = 1101 = 1 1110 = 11 1111 = 111 1111 说明6.3初态,部分积 = 0 乘数为 1,加被乘数 1,形成新的部分积 乘数为 1,加被乘数 1,形成新的部分积 乘数为 0,加 0 1,形成新的部分积 乘数为 1,加 被乘数 1,得结果 小结? 乘法 运算可用 加和移位实现n = 4,加 4 次,移 4 次6.3? 由乘数的末位决定被乘数是否与原部分积相加, 然后 1 位形成新的部分积,同时 乘数 1位 (末位移丢),空出高位存放部分积的低位。? 被乘数只与部分积的高位相加硬件 3 个寄存器,具有移位功能 1 个全加器 4. 原码乘法(1) 原码一位乘运算规则6.3… xn以小数为例设 [x]原 = x 0. x1x2[y]原 = y0. y1y2…yn[x ? y]原 = (x0 y0).(0. x1x2 … xn)(0.y1y2 … yn) = (x0 y0). x*y* 式中 x*= 0. x1x2 … xn y*= 0. y1y2 … yn 乘积的符号位单独处理 x0 为 x 的绝对值 为 y 的绝对值 y0数值部分为绝对值相乘 x* ? y* (2) 原码一位乘递推公式x*? y* = x*(0.y1y2 … yn) = x*(y12-1+y22-2+ … + yn2-n) = 2-1(y1x*+2-1(y2x*+ … 2-1(ynx* + 0) …)) z0 … z0 = 0 z1 = 2-1(ynx*+z0) z2 = 2-1(yn-1x*+z1) … zn6.3z1zn = 2-1(y1x*+zn-1) 例6.21解:+逻辑右移已知 x = – 0.1110 y = 0.1101 求[x ? y]原部分积6.3数值部分的运算乘数说明部分积 初态 z0 = 0 + x*+逻辑右移+逻辑右移+逻辑右移0.0 0.1 0.1 0.0 1.0 0.0 0.10111101 =0110 = 0 1011 = 10 1101 = 110 0110+01 , 得 z1 1 , 得 z2 1 , 得 z3 1 , 得 z4+ x*+ x* 例6.21 结果① 乘积的符号位 x0 y0 = 1 ② 数值部分按绝对值相乘x*? y* = 0. 1 0 1 1 0 1 1 0 则 [x ? y]原 = 1. 1 0 1 1 0 1 1 0 特点 绝对值运算 用移位的次数判断乘法是否结束6.30=1逻辑移位 (3) 原码一位乘的硬件配置06.3QnA加 法 器n0右移移位和加控制控 制 门0Xn计数器 CSGMA、X、Q 均 n+1 位 移位和加受末位乘数控制 (4) 原码两位乘原码乘 两位乘6.3符号位 和 数值位 部分 分开运算 每次用 乘数的 2 位判断 原部分积 是否加 和 如何加 被乘数新的部分积 加 “0‖ 2 加 1 倍的被乘数 加 2 倍的被乘数 加 3 倍的被乘数乘数yn-1 yn 00 01 10 112 2 24 3? –1 3100 – 01 11先 减 1 倍 的被乘数 再 加 4 倍 的被乘数 (5) 原码两位乘运算规则乘数判断位 yn-1yn 标志位 Cj6.300 01 10 11 00 01 10 110 0 0 0 1 1 1 1操作内容 z 2, y* 2, Cj 保持“0” z+x* 2, y* 2, Cj 保持“0” z+2x* 2, y* 2, Cj 保持“0” z–x* 2, y* 2, Cj 置“1” z+x* z+2x* 2, y* 2, Cj 置“0” 2, y* 2, Cj 置“0”z–x* 2, y* 2, Cj 保持“1” z 2, y* 2, Cj 保持“1” –x* 2共有操作+x *+2x*实际操作+[x*]补+[2x*]补+[–x* ]补2 补码移 例6.22 已知 x = 0.111111部分积 解:数值部分的运算补 码 右 移y = – 0.111001 求[x· y]原乘数6.3Cj0说明初态 z0 = 0补 码 右 移补 码 右 移000.0...1...1...0..11100000.111001+ x*, Cj = 011
2 + 2x*,Cj = 0 2 – x*, Cj = 1 2 + x*, Cj = 001 例6.22 结果① 乘积的符号位 x0 ② 数值部分的运算 x*? y* = 0. 1 1 1 0 0 0 0 0 0 1 1 1 则 [x ? y]原 = 1. 1 1 1 0 0 0 0 0 0 1 1 1 特点6.3y0 = 0 1=1绝对值的补码运算 用移位的次数判断乘法是否结束 算术移位 (6) 原码两位乘和原码一位乘比较原码一位乘6.3原码两位乘 x0 y0 绝对值的补码 算术右移n n2符号位操作数 移位 移位次数 最多加法次数x0 y0绝对值 逻辑右移 n n(n为偶数)2 +1(n为偶数)思考n 为奇数时,原码两位乘 移 ?次 最多加 ?次 5. 补码乘法(1) 补码一位乘运算规则 以小数为例6.3设 被乘数 [x]补 = x0. x1x2 … xn [y]补 = y0. y1y2 … yn 乘数① 被乘数任意,乘数为正同原码乘但 加 和 移位 按 补码规则 运算乘积的符号自然形成② 被乘数任意,乘数为负乘数[y]补,去掉符号位,操作同 ① 最后 加[–x]补,校正 ③ Booth 算法(被乘数、乘数符号任意) 6.3设[x]补 = x0.x1x2 … xn [x ·y]补-1 -2[y]补 = y0.y1y2 … yn –[x]补= +[–x]补-n= [x]补( 0.y1 … yn ) – [x]补 ·y0= [x]补(y1 2 +y22 + … +yn2 ) – [x]补 ·y0 2-1 = 20 – 2-1 2-2 = 2-1 – 2-2= [x]补(–y0+y1 2-1+y22-2+ … +yn2-n)= [x]补[–y0+(y1 – y12-1)+(y22-

我要回帖

更多关于 集成电路的接地脚 的文章

 

随机推荐