在一台8位机中,用收机器边的方法数的表示方法,求59-83?

已知x =–59,若采用8位机器码表示,则[x]补 =
ck第四弹责帬
原码是,负数变补码符号位不变,其他按位取反,最后+1
为您推荐:
其他类似问题
扫描下载二维码对于真值 0 表示形式唯一的机器数是( ) A、原码和补码 B、原码和反码 C、移码和补码 D、反码和补码
萌包804丶093
【+0】补=【-0】补=00000【+0】移=【-0】移=选c
为您推荐:
其他类似问题
扫描下载二维码【图文】微机原理与接口技术第一章_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
微机原理与接口技术第一章
上传于||文档简介
&&微机原理与接口技术
大小:1.52MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢AC一种形式的函数表达式相应于一种逻辑
时间: 8:53:43
计算机组成原理任课教师:石磊 郑州大学信息工程学院计算机系 Email: shilei@ Tel: &&&&?教材?白中英,计算机组成原理· 网络版,科学出版 社,2002 石磊,计算机组成原理· 第2版, 清华大学出版 社,2006 钱晓捷,微型计算机原理及应用, 清华大学出 版社,2006 王爱英,计算机组成与结构· 第3版, 清华大学 出版社,2001 白中英 邝坚,计算机组织与结构· 网络版,科 学出版社,2003?参考书????&&&&目录??? ? ? ? ? ?第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章计算机系统概论 运算方法和运算器 存储系统 指令系统 中央处理器 总线系统 外围设备 输入输出系统&&&&第1章教学要求-1?? ????了解计算机的类型:模拟和数字,专用和通用,巨型 机、大型机、小型机、微型机、单片机 熟悉计算机的硬件组成部件及其作用 掌握主存有关概念:存储器地址、存储单元和存储容 量;位bit、字节byte、KB、MB、GB 掌握“存储程序、程序控制”的冯·诺依曼计算机的 基本思想 区别操作码和地址码(操作数)、指令字和数据字、 指令流和数据流 理解指令周期(控制器工作周期):取指、译码、执 行4郑州大学软件学院 · 计算机组成原理 · 2006级&&&&第1章教学要求-2???掌握总线、处理器总线和系统总线的概念,熟悉数据 总线、地址总线和控制总线的功能 理解目的程序、汇编程序、编译程序的作用,区别机 器语言、汇编语言和高级语言(算法语言) 掌握计算机系统的层次结构、软件与硬件的逻辑等价 性思想郑州大学软件学院 · 计算机组成原理 · 2006级5&&&&第2章教学要求-1????? ?掌握数据的定点格式,定点整数的表达范围,有符号 数和无符号数 掌握浮点格式的表达,熟悉浮点数的规格化,掌握规 格化单精度浮点数与实数的相互转换 理解真值和机器数,掌握定点整数的补码、反码、原 码和移码表示法 掌握BCD码、ASCII码的编码规律,理解小端方式和大 端方式的存储特点 区别汉字输入编码、机内码、字模码和汉字交换码 理解检验码的作用,掌握奇偶校验以及检错能力郑州大学软件学院 · 计算机组成原理 · 2006级6&&&&第2章教学要求-2? ????理解补码的加法运算和减法运算规律 熟悉溢出的概念,理解上溢(正溢)和下溢(负溢) 的概念以及符号位检测方法 了解内部总线和外部总线、单向总线和双向总线的概 念 理解浮点加减法的操作过程,了解其中对阶、规格化、 舍入处理的作用 熟悉IEEE754标准郑州大学软件学院 · 计算机组成原理 · 2006级7&&&&第2章教学要求-3? ? ??? ? ?掌握数字信号的特点 掌握逻辑与、或、非的逻辑关系,以及它们的逻辑表 达式、真值表、逻辑符号、运算规则 熟悉与非、或非、异或的逻辑规律、表达式和逻辑符 号 理解逻辑变量、逻辑电路(数字电路)、逻辑代数 (布尔代数)的概念 掌握逻辑代数的基本运算规则和运算规律(定律): 交换律、结合律、分配律、反演定理 熟悉用真值表、逻辑表达式、逻辑电路图表达逻辑函 数的方法,了解卡诺图的作用 理解简单的逻辑化简方法(最简与或式)8郑州大学软件学院 · 计算机组成原理 · 2006级&&&&第2章教学要求-4?? ?? ???理解门电路、正逻辑和负逻辑的概念,掌握三态门的 特点、用途和电路符号 区别组合逻辑电路和时序逻辑电路 掌握编码器、译码器、加法器、数据选择器(多路开 关)的作用 熟悉触发器的特点、基本RS触发器的功能和逻辑符号 理解同步时钟、高电平有效、低电平有效的含义 掌握 D 触发器的功能和逻辑符号,熟悉电平触发和边 沿触发的区别 了解数码寄存器、移位寄存器、计数器、PLD的作用郑州大学软件学院 · 计算机组成原理 · 2006级9&&&&第3章教学要求-1??? ? ???熟悉存储系统的分级(层次)结构,掌握存储访问的 局部性原理 理解存储容量、存取时间、存取周期、存储器带宽的 概念 了解SRAM、DRAM和NVRAM的特点 掌握SRAM存储结构与芯片地址引脚和数据引脚的关系 理解位扩展和字扩展的含义和作用,掌握芯片扩展与 芯片容量的关系 了解DRAM的行地址和列地址,理解DRAM的刷新操作和 方法 了解ROM芯片的类型和各自特点10郑州大学软件学院 · 计算机组成原理 · 2006级&&&&第3章教学要求-2?????? ?掌握 Cache 的功能和基本原理,掌握命中率、平均访 问时间和访问效率的计算方法 理解 Cache 的地址映射的作用,掌握全相联、直接和 组相联映射的原理和特点,熟悉 Cache 中标记(标签) 的作用 理解替换策略的作用,熟悉LRU、LFU和随机法 理解 Cache 的写操作策略,熟悉直写法(全写法)和 回写法(写回法) 掌握虚拟存储器的功能、物理地址和虚拟(逻辑)地 址的概念 熟悉页式和段式虚拟存储器的管理和地址转换 理解存储保护,熟悉存储区域和访问方式保护的思想11郑州大学软件学院 · 计算机组成原理 · 2006级&&&&第4章教学要求?? ? ????了解指令、指令系统、指令格式、操作码、地址码、 指令助记符的概念 理解寻址方式的含义,区别指令寻址和数据寻址 掌握指令的顺序寻址和跳跃寻址 掌握数据的隐含寻址、立即寻址、寄存器寻址、直接 寻址、寄存器间接寻址、寄存器相对(基址)寻址 熟悉堆栈的访问原理,理解进栈PUSH和出栈POP操作 熟悉指令系统包含的基本指令类型 掌握CISC和RISC的含义,掌握RISC的主要特点郑州大学软件学院 · 计算机组成原理 · 2006级12&&&&第5章教学要求-1? ???? ? ?熟悉CPU的基本模型和主要寄存器的作用 理解指令周期、 CPU 周期(机器周期、总线周期)和 时钟周期(T周期)的概念和区别 了解 CLA 、 ADD 、 STA 和 JMP 指令在 CPU 基本模型的执行 过程 理解微程序控制器和硬布线控制器的实现特点,了解 微命令、微操作、微指令和微程序的概念 熟悉并行性的概念和提高并行性的技术途径 掌握指令流水线的思想,理解流水CPU的时空图 掌握资源相关、数据相关和控制相关的概念郑州大学软件学院 · 计算机组成原理 · 2006级13&&&&第5章教学要求-2??掌握SISD、SIMD、MIMD的分类概念,理解多媒体指令 的并行处理特点 掌握CPU性能公式以及CPI、MIPS的计算方法郑州大学软件学院 · 计算机组成原理 · 2006级14&&&&第6章教学要求?? ? ???? ?理解内部总线、系统总线和 I/O 总线(芯片总线、内 总线和外总线)的分类 理解总线的4个方面特性,掌握总线带宽以及计算 熟悉单总线、双总线和三总线结构 理解串行传送和并行传送的概念,掌握起止式异步通 信字符格式 理解总线仲裁的作用,了解集中仲裁和分布仲裁思想 掌握总线同步定时和异步定时(时序)的特点 了解各种总线数据传送模式 了解PCI总线、ISA总线、SCSI总线和IEEE1394总线的 特点15郑州大学软件学院 · 计算机组成原理 · 2006级&&&&第7章教学要求?? ?掌握像素、点距、分辨率、灰度级(彩色深度)、刷 新、扫描的概念,以及对显示效果的影响 理解NRZ、PM、FM、MFM各记录方式的特点 了解磁面、磁道、磁柱、扇区的概念,以及磁盘信息 的分布特点郑州大学软件学院 · 计算机组成原理 · 2006级16&&&&第8章教学要求-1? ? ? ? ? ? ? ? ? ?理解I/O接口的作用,熟悉I/O端口的编址方式 掌握各种外设管理方式的概念和特点 熟悉查询传送方式的过程 理解中断源、内部中断(异常)和外部中断的概念 区别可屏蔽中断和非屏蔽中断 掌握可屏蔽中断传送方式的过程及其相关概念 熟悉单级中断、多级中断的概念 熟悉 IA-32 微处理器主要中断类型,理解向量地址、 中断优先权、中断嵌套的含义 理解中断控制器的作用 了解Pentium处理器的中断机制17郑州大学软件学院 · 计算机组成原理 · 2006级&&&&第8章教学要求-2? ? ?理解DMA传送方式的特点,掌握DMA传送的工作过程 了解CPU暂停、周期挪用、交替访问的区别 了解通道的组成结构和类型郑州大学软件学院 · 计算机组成原理 · 2006级18&&&&期末考试? ? ? ? ? ? ? ? ? ?考试形式 闭卷笔试,120分钟 考试题型 填空题: 1×20=20分 单项选择题:1×20=20分 对错判断题:1×10=10分 简答题(基本概念、基本原理等):5×4=20分 应用题:10×3=30分 成绩计算 考试成绩×85%+平时成绩×15%19郑州大学软件学院 · 计算机组成原理 · 2006级&&&&电子计算机的设计思想? 存储程序,程序控制复习考试“存储程序”,是把指令以代码的形式事先 输入到计算机的主存储器中,即用记忆数据 的同 一装置存储执行运算的命令,这些指令 按一定的规则组成程序 ? “程序控制”,是当计算机启动后,程序就 会控制计算机按规定的顺序逐条执行指令, 自动完成预定的信息处理任务 ? 冯· 诺依曼型计算机的设计思想?存储程序并按地址顺序执行组成原理&&&&复习考试??冯·诺依曼计算机的基本思想采用二进制形式表示数据和指令。指令由操作码 和地址码组成; 将程序和数据存放在存储器中,使计算机在工作 时从存储器取出指令加以执行,自动完成计算任 务。这就是“存储程序”和“程序控制”(简称 存储程序控制)的概念; 指令的执行是顺序的,即一般按照指令在存储器 中存放的顺序执行,程序分支由转移指令实现。 计算机由存储器、运算器、控制器、输入和输出 设备五大基本部件组成,规定了5部分的基本功能???组成原理&&&&复习考试软件与硬件的逻辑等价性软件的特点易于实现各种逻辑和运算功能,但是常 受到速度指标和软件容量的制约; 硬件的特点 可以高速实现逻辑和运算功能,但是难 以实现复杂功能或计算,受到控制复杂性指标的制约。???随着大规模集成电路技术的发展和软件硬化的趋势, 计算机系统软、硬件界限已经变得模糊了 任何操作可以由软件来实现,也可以由硬件来实现; 任何指令的执行可以由硬件完成,也可以由软件来完 成 对于某一功能采用硬件方案还是软件方案,取决于器 件价格、速度、可靠性、存储容量、变更周期等组成原理&&&&系统结构、组成与实现?复习考试计算机系统结构(Computer architecture)? 计算机系统的软件与硬件的界面--指令系统 ? 程序员所看到的计算机属性--外特性?计算机组成(Computer organization)=组织? 计算机系统结构的逻辑实现?计算机实现(Computer implementation)? 计算机组成的物理实现?计算机系统的结构,组成,实现是三个完全不同的 概念,相互间有着十分密切的依赖关系和相互的影 响。广义的计算机系统结构即包括经典的指令集结 构,也包括计算机组成和实现技术的研究组成原理&&&&真值和机器数? ? ?复习考试真值:现实中真实的数值 机器数:计算机中用0和1数码组合表达的数值 定点数:固定小数点的位置表达数值的机器数? 定点整数:将小数点固定在机器数的最右侧表达的整数 ? 定点小数:将小数点固定在机器数的最左侧表达的小数???浮点数:小数点浮动表达的实数 无符号数:只表达0和正整数的定点整数 有符号数:表达负整数、0和正整数的定点整数? 符号位需要占用一个位,常用机器数的最高位 ? 0表示正数、1表示负数 ? 具有原码、反码、补码、移码组成原理&&&&复习考试定点数的表示方法??定点表示:约定机器中所有数据的小数点位置是固 定不变的。通常将数据表示成纯小数或纯整数 定点数x=x0x1x2…xn 在定点机中表示如下(x0表示 符号位,0代表正号,1代表负号)定点整数的小数点位置 定点小数的小数点位置组成原理&&&&复习考试定点整数的表示范围纯整数的表示范围为 (x1x2…xn各位均为 0 时最小; 各位均为1时最大,x0为符号位) 0≤|x|≤ 2n -1 ? 例如:n=8,最大值编码: 表示:
=28-1 ? 目前计算机中多采用定点纯整数表示,因此将定 点数表示的运算简称为整数运算?组成原理&&&&复习考试定点小数的表示范围??纯小数的表示范围为 (x1x2…xn各位均为 0 时最小; 各位均为1时最大,x0为符号位) 0≤|x|≤1-2-n 例如,n=8,最大值编码:0. 表示: 0. =1.0-0. =1-2-8组成原理&&&&数的科学表达法浮点数的表示方法??把一个数的有效数字和数的范围在计算机的 一个存储单元中分别予以表示 数的小数点位置随比例因子的不同而在一定 范围内自由浮动 ? 一个十进制数N可以写成 N= 10e×M M 尾数 ? 一个R进制数N可以写成 e 指数 N=Re×M R 基数&&&&阶码和尾数?用定点小数表示, 给出有效数字的位 数决定了浮点数的 表示精度??表达指数部分 用整数形式表示,指明 小数点在数据中的位置 决定浮点数的表示范围早期计算机表达法&&&&IEEE 754标准32位单精度浮点数E:含阶符的阶码,8 位阶码采用移码方式来表示 正负指数S:1位符号位 0表示正数 1表示负数M:尾数,23位小数表示,小数点放 在尾数域最前面&&&&IEEE 754标准64位双精度浮点数E:含阶符的阶码,11位S:1位符号位M:尾数,52位小数&&&&浮点数的规格化例:156.78 =15.678×101 多种数据形式 2 = 1.5678×10 = 0.1=RE×M那么,计算机中究竟采用哪种数据形式?对于二进制数
=0. ×2+4 = 10.111101 ×2+2 = 1.0111101 ×2+3 (规格化表示法) = 1.0111101 ×2+11 (规格化表示法) =RE×M二进制数&&&&规格化表示原则?IEEE 754标准??尾数最高有效位为1,隐藏,并且隐藏在小数 点的左边(即:1≤M<2) 32位单精度浮点数规格化表示 x= (-1)s×(1.M)× 2E-127 e=E-127(E=e+127) 64位双精度浮点数规格化表示 x= (-1)s ×(1.M)× 2E-1023 e=E-1023(E=e+1023)指数真值e 用偏移码形式表示为阶码E&&&&例1:浮点机器数 (,求真值① 十六进制数展开成二进制数0 100 10 00 0000S 阶码E(8位) 尾数M(23位)② 指数e=阶码-127 =- =)10 ③ 包括隐藏位1的尾数1.M =1.011011④ X=(-1)s×1.M×2e =+(1.011011)×23 =+=(11.375)10&&&&例2:真值20.59375,求32位单精度浮点数① 分别将整数和分数部分转换成二进制数 20.5.10011 ② 移动小数点,使其在第1、2位之间 =1.×24 e=4 E=4+127=131= S= 0 M= ③ 得到32位浮点数的二进制存储格式为: 0 100 00 00 0000 =(41A4C000)16&&&&?32位单精度规格化浮点数? ?IEEE 754标准???E=1()~254() e=-126~+127 表达的数据范围(绝对值): 最小值: e=-126,M=0(1.M=1) 十进制表达:2-126≈1.18×10-38 最大值: e=127,M=11…1(23个1) 1.M=1.11…1 (23个1) =2-2-23 十进制表达:(2-2-23)×2127 ≈2××1038&&&&?64位双精度规格化浮点数?IEEE 754标准E=1~2046 ? e=- ? 表达的数据范围(绝对值) : ? 最小值: e=-1022,M=0(1.M=1) 十进制表达:2-×10-308 ? 最大值: e=1023,M=11…1(52个1) 1.M=1.11…1 (52个1) =2-2-52 十进制表达:(2-2-52)×21023 ≈ 2×21023 ≈1.79×10308&&&&?32位单精度浮点数?IEEE 754标准真值0的机器数(机器零)? ?阶码E=0,尾数M=0 正0:S=0,负0:S=1? ? ?非规格化浮点数:阶码E=0,尾数M≠0 规格化浮点数:阶码E=1~254() 无穷大的机器数? ?阶码E=全1() ,尾数M=0 +∞:S=0,-∞:S=1 阶码E=全1() ,尾数M≠0 用来通知异常情况?NaN(not a number,不是一个数)??&&&&数的机器码表示??? ??正数的原码、反码、补码等于真值,只有负数才分 别有不同的表示方法 采用补码,减法运算可以用加法运算实现,节省硬 件,目前机器中广泛采用补码表示法 有些机器用原码进行存储和传送,运算时改用补码 有些机器做加减法时用补码,做乘除法时用原码 移码表示法主要用于表示浮点数的阶码,可以直接 比较大小。表示范围和补码相同,只有最高位相反&&&&0-3位01 00 11 10 01
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI表2.1 ASCII字符编码表0001 DEL DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 0010 SP ! " # $ % & ' ( ) * + , . /
2 3 4 5 6 7 8 9 : ; & = & ? 0100 @ A B C D E F G H I J K L M N O 0101 P Q R S T U V W X Y Z [ \ ] ^ _ 0110 ` a b c d e f g h i j k 1 m n o4-7位0111 p q r s t u v w x y z { | } ~ DEL&&&&汉字的表示方法字符代码化(输入)汉字的输入编码、交 换码、汉字内码、字 模码是计算机中用于 输入、内部处理、交 换、输出四种不同用 途的编码,不要混为 一谈输入码向机内码转换 机内码 机内码向字形码转换 显示输出 打印输出&&&&校验码?? ??校验码:能够发现甚至纠正信息传输或存储过 程中出现错误的编码 检错码:仅能检测出错误的编码 纠错码:能够发现并纠正错误的编码 最简单且应用广泛的检错码:奇偶校验码奇校验:使包括校验位在内的数据中为“1”的个 数恒为奇数 ? 偶校验:使包括校验位在内的数据中为“1”的个 数恒为偶数(包括0) ? 只能检测出奇数个位出错的情况,不能纠错?&&&&编码 :用文字、符号或者数码来表示某种信息(数值、语言、操作指令、状态)的过程计算机的数据表示?整数编码?定点数,无符号数,有符号数(补码),BCD 浮点数,单精度,双精度,规格化?实数编码?? ?字符编码:ASCII码 汉字编码?输入码,机内码,交换码,字形码?国际字符编码:Unicode&&&&2.2.3 溢出概念与检验方法?两个正数相加,结果为负(即:大于机器所能表示的最大正数),称为上溢。 ?两个负数相加,结果为正(即:小于机器 所能表示的最小负数),称为下溢。 ?运算出现溢出,结果就是错误的&&&&产生“溢出”的原因: 分析可知,当最高有效数值位的运算进位与符号位 的运算进位不一致时,将产生运算“溢出”进一步结论:当最高有效位产生进位而符号位无进位时,产生上溢;当最高有效位无进位而符号位有进位时,产生下溢。&&&&“溢出”检测方法:为了判断“溢出”是否发生,可采用两种检测的方法。 第一种方法:采用双符号位法, 称为“变形补码”或 “模4补码”,可使模2补码所能表示的数的范围扩大 一倍 第二种溢出检测方法 :采用“单符号位法”。 当最高有效位产生进位而符号位无进位时,产生上溢; 当最高有效位无进位而符号位有进位时,产生下溢。 故:溢出逻辑表达式为: V = C f⊕C o 其中: Cf为符号位产生的进位,Co为最高有效位产生的 进位。(显然:此逻辑关系可用异或门方便地实现) 在定点机中,当运算结果发生溢出时,机器通过逻 辑电路自动检查出溢出故障,并进行中断处理。&&&&计算机组成原理⊙复习与考试2.2.4 基本的二进制加法/减法器???在计算机中完成两个二进制数相加的基本加法器有半加器 和全加器。半加器在完成两数相加时,不需要考虑低位进 位。全加器用来完成两个二进制数相加,并且同时考虑低 位的进位,即全加器完成三个一位数相加的功能。 设: Ai表示被加数的第i位 Bi表示加数的第i位 Ci为第i-1位向第i位产生的进位 Ci+1为第i位向第i+1位产生的进位 Si为第i位产生的和 则全加器以Ai、Bi、Ci为输入,以Ci+1、Si为输出构成一 个逻辑图。&&&&计算机组成原理⊙复习与考试2.2.4 基本的二进制加法/减法器表2-2 全加器真值表 输入 输出Ai Bi CiSi Ci+1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1Si Ci+10 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1FAAi Bi 全加器逻辑图Ci&&&&?计算机组成原理⊙复习与考试2.2.4 基本的二进制加法/减法器??全加器的表达式为: Si = Ai?Bi ?Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器内部逻辑图Ci+1SiCAB CCiAiBiAB&&&&计算机组成原理⊙复习与考试加法运算及其加速方法CCI+3GI+3 PI+3中组(包括四小组)加法器 CI+2 GI+2 PI+2 CI+1 GI+1 PI+1C0 CI+0 GI+0 PI+0C15 C14 C13C11 C10 C9C7 C6 C5C3 C 2 C1一级先行进位 第3组…一级先行进位 第2组…一级先行进位 第1组…一级先行进位 第0组…C0G15 P15 G12 P12G11 P11G8 P8G7 P7G4 P4G3 P3G0 P0由4片4位先行加法器构成的16位快速进位加法器逻辑示意图&&&&IEEE754标准的舍入处理?就近舍入 就是通常所说的“四舍五入”? ? ?多余位:10010 → 向最低有效位进位 多余位:01111 → 截尾 多余位:10000 → 最低有效位为0:截尾;最 低有效位为1,进位? ??朝0舍入 朝数轴原点方向舍入(截尾) 朝+∞舍入 对正数,只要多余位不全为0, 则向最低有效位进1;对负数,则是截尾 朝-∞舍入 对正数,截尾;对负数,只要 多余位不全为0,则向最低有效位进1&&&&数字与逻辑 (Digital & Logic)???逻辑代数:应用代数方法研究逻辑问题,又 称布尔代数,开关代数(还有开关理论,开 关电路等),是逻辑化简的主要工具。 数字逻辑电路的设计、分析,要借助于逻辑 代数这一数学工具。逻辑代数中二值运算的 公式、运算及定律要应用到数字逻辑电路。 实现逻辑功能可用的数字电路: 1、数字集成电路 2、可编程逻辑器件(PLD)&&&&模拟电路与数字电路比较1.电路的特点在模拟电路中,晶体管一般工作在线性放大区; 在数字电路中,三极管工作在开关状态,即工 作在饱和区和截止区。2.研究的内容模拟电路主要研究:输入、输出信号间的大小、 相位、失真等方面的关系。主要采用电路分 析方法,动态性能用微变等效电路分析。 数字电路主要研究:电路输出、输入间的逻辑关系。 主要的工具是逻辑代数,电路的功能用真值表、 逻辑表达式及波形图表示。&&&&模拟电路研究的问题基本电路元件:?晶体三极管 ?场效应管 ?集成电路运算放大器基本模拟电路:? 信号放大及运算 (信号放大、功率放大)? 信号处理(采样保持、电压比较、有源滤波)? 信号发生(正弦波发生器、三角波发生器、…)&&&&数字电路研究的问题基本电路元件 基本数字电路? 组合逻辑电路 ? 时序电路(寄存器、计数器、脉冲发生器、 脉冲整形电路) ? A/D转换器、D/A转换器 ? 逻辑门电路 ? 触发器&&&&§逻辑代数及运算规则数字电路要研究的是电路的输入输出之间的 逻辑关系,所以数字电路又称逻辑电路,相应的 研究工具是逻辑代数(布尔代数)。逻辑变量-具有逻辑属性的变量 ? 逻辑表达式-也可称作逻辑函数,描述逻辑自 变量和逻辑因变量之间的逻辑关系?在逻辑代数中,逻辑函数的变量只能取两个 值(二值变量),即0和1,中间值没有意义。 0和1表示两个对立的逻辑状态,不是数值0和1&&&&逻辑代数的基本运算规则加运算规则:0+0=0 ,0+1=1 ,1+0=1,1+1=1A ? 0 ? A , A ? 1 ? 1, A ? A ? A, A ? A ? 1乘运算规则:0?0=00?1=01?0=01?1=1A ? 0 ? 0 , A ? 1 ? A, A ? A ? A, A ? A ? 0非运算规则:1? 00 ?1A?A&&&&逻辑代数的运算规律一、交换律A+B=B+A A? B=B ? A二、结合律A+(B+C)=(A+B)+C=(A+C)+B A? (B ? C)=(A ? B) ? C三、分配律A(B+C)=A ? B+A ? CA+B ? C=(A+B)(A+C)&&&&求证: (分配律第2条) A+BC=(A+B)(A+C) 证明: 右边 =(A+B)(A+C) =AA+AB+AC+BC =A +A(B+C)+BC ; 分配律 ; 结合律 , AA=A=A(1+B+C)+BC ; 结合律 =A ? 1+BC ; 1+B+C=1 =A+BC =左边 ; A ? 1=1&&&&四、吸收规则吸收是指吸收多余(冗余)项,多余(冗 余)因子被取消、去掉 ? 被消化了。 长中含短, 1.原变量的吸收: A+AB=A 留下短。 证明: A+AB=A(1+B)=A?1=A 利用运算规则可以对逻辑式进行化简。 例如:AB ? CD? ABD(E ? F) ? AB ? CD被吸收&&&&2.反变量的吸收: A ? AB ? A ? B 证明: A ? AB ?A ? AB ? AB长中含反, 去掉反。? A ? B( A ? A) ? A ? B例如: A ? ABC ? DC ? A ? BC ? DE 被吸收 字母上面没有非运算符的叫做原变量 有非运算符的叫做反变量&&&&五、反演定理德 ? 摩根 (De ? Morgan)定理:A?B ? A ? BA ? B ? A?B可以用列真值表的方法证明:A 0 0 1 1 B 0 1 0 1 A?B 0 0 0 1A?BA1 1 0 0BA?B1 1 1 01 0 1 01 1 1 0&&&&反演定理内容:将函数式 F 中所有的?++?新表达式:F' (反函数,补函数)变量与常数均取反显然: F? ? F注意:互补运算 (求反运算)(变换时,原函数运算的先后顺序不变)1.运算顺序:先括号 ? 再乘法 ?后加法。 2.不是一个变量上的反号不动。用处:实现互补运算(求反运算)。&&&&§逻辑函数的表示法真值表:将逻辑函数输入变量取值的不同组合 与所对应的输出变量值用列表的方式 一一对应列出的表格。四 种 表 示 方 法 n个输入变量2 种组合。n逻辑代数式 (逻辑表示式, 逻辑函数式)F ? AB ? AB逻辑电路图: 卡诺图AB 1 1 & ≥1 Y&&&&&真值表将输入、输出的所有可能状态一一对应地列 出。 n个变量可以有2n个输入状态。 列真值表的方法: 一般按二进制的顺 序,输出与输入状 态一一对应,列出 所有可能的状态。A 0 0 0 0 1 1 1 1B C 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1F 0 0 0 0 0 1 1 1&&&&逻辑函数式逻辑代数式:把逻辑函数的输入、输出关 系写成与、或、非等逻辑运算的组合 式。也称为逻辑函数式,通常采用 “与或”的形式。 例:F ? ABC ? ABC ? ABC ? ABC ? ABC与普通代数不同的是,在逻辑代数中,不管是变 量还是函数,其取值都只能是0或1,并且这里的0 和1只表示两种不同的状态,没有数量的含义。&&&&一个逻辑函数的表达式可以有与或表达式、 或与表达式、与非-与非表达式、或非-或非 表达式、与或非表达式5种表示形式(1)与或表达式:Y ? A B ? AC (2)或与表达式:Y ? ( A ? B )( A ? C ) (3)与非-与非表达式:Y ? A B ? AC (4)或非-或非表达式:Y ? A ? B ? A ? C (5)与或非表达式:Y ? A B ? AC一种形式的函数表达式相应于一种逻辑电路。尽 管一个逻辑函数表达式的各种表示形式不同,但 逻辑功能是相同的&&&&逻辑函数的标准形式?逻辑函数可以表示为最小项之和的形式 (与或表达式)或者最大项之积的形式 (或与表达式)应用最多的是最小项之和的形式,也叫 最小项标准式。 最小项也是卡诺图化简的基础。BACK??&&&&最小项(MinTerm)逻辑函数有n个变量,由它们组成的具有n 个变量的乘积项中,每个变量以原变量或 反变量的形式出现且仅出现一次,这个乘 积项为最小项。N个变量有2n个最小项。 例如:n=3,对A、B、C,有8个最小项A BC A BCA BC A BCABC ABCABC ABC&&&&最小项(续)??对任意最小项,只有一组变量取值使它的 值为1,其他取值使该最小项为0 为方便起见,将最小项表示为mi n=3的8个最小项为:m 0 ? A BC m1 ? A BC m 2 ? ABC m 3 ? ABC m 4 ? A BC m 5 ? A BC m 6 ? ABC m 7 ? ABC&&&&最小项(续)???任何逻辑函数均可表示为唯一的一组最小项之和 的形式,称为标准的与或表达式 某一最小项不是包含在F的原函数中,就是包含在 F的反函数中 例:F ? AB ? BC ? ABC ? AB(C ? C ) ? ( A ? A) BC ? ABC ? ABC ? ABC ? ABC ? ABC ? m6 ? m2 ? m7 ? m4 ? ? m3 (2,4,6,7)&&&&最大项(MaxTerm)?n个变量组成的或项,每个变量以原变量或反变量 的形式出现且仅出现一次,则称这个或项为最大项例如:n=3的最大项为M 0 ? A ? B ? C M1 ? A ? B ? C M 2 ? A ? B ? C M3 ? A ? B ? C M 4 ? A ? B ? C M5 ? A ? B ? C M6 ? A ? B ? C M7 ? A ? B ? C&&&&最大项(续)对任意一个最大项,只有一组变量取值使 它的值为0,而变量的其他取值使该项为1 ☆ 将最大项记作Mi ☆ 任何一个逻辑函数均可表示为唯一的一组 最大项之积,称为标准的或与表达式 ☆ n个变量全体最大项之积必为“0” ☆ 某个最大项不是含在F的原函数中,就是在 F的反函数中☆&&&&最大项(续)例如:F ? ( A ? B) ? ( A ? B ? C ) ? [ A ? B ? (C ? C )] ? ( A ? B ? C ) ? ( A ? B ? C) ? ( A ? B ? C) ? ( A ? B ? C) ? M 0 ? M 4 ? M1 ? ? M 3 (0,1,4)BACK&&&&§基本 RS 触发器反馈Q反馈Q两个输出端& aRD& b两个输入端SD正是由于引入反馈,才使电路具有记忆功能 !&&&&输入RD=0, SD=1时 若原状态:Q ? 0 Q ? 1Q置“0”! 若原状态:Q ? 1QQ?01 1& a0 0 & b 0Q0 1& a0RD1 0 & bQ0RD1 SD 111 SD 1Q?0 Q?1 输出仍保持:输出变为:Q ? 0 Q ? 1&&&&输入RD=1, SD=0时 若原状态:Q ? 0 Q ? 1Q置“1” !若原状态: Q ? 1QQ?01 0& a 1RD0 1 & b1Q0 0& a 1RD1 1 & b 1Q0 SD 00 SD 0输出变为:Q ? 1 Q ? 0输出保持: Q?1 Q?0&&&&输入RD=1, SD=1时 若原状态:Q ? 1Q保持! 若原状态:Q ? 0QQ?0Q?10 0& a1RD1 1 & b 1Q1 1& a 1RD0 0 & b 0 1Q0SD 1SD1输出保持原状态:Q?1 Q?0输出保持原状态: Q?0 Q?1&&&&输入RD=0, SD=0时Q基本触发器的功能表 RD 1 0 1 0 SD Q Q 1 保持原状态 1 0 1 0 1 0 0 不定状态QQ11 & bQ& a0RDSD0输出:全是1注意:当RD、SD同时由0变 为1时,翻转快的门输出变为 0,另一个不得翻转。因此, 该状态为不定状态。复位端 R DS D 臵位端逻辑符号&&&&小结1. 触发器是双稳态器件,只要令 RD=SD=1 , 触发器即保持原态。稳态情况下,两输出 互补。一般定义Q为触发器的状态。 2. 在控制端加入负脉冲,可以使触发器状态变化。 SD 端加入负脉冲,使 Q = 1 , SD 称为“置位” 或“置 1” 端。 RD 端加入负脉冲,使 Q= 0, RD 称为“复位”或“清0”端。&&&&3.1.1 存储器分类★ 按存储介质分半导体存储器:用半导体器件组成的存储器 磁表面存储器:用磁性材料做成的存储器★ 按存储方式分随机存储器:任何存储单元的内容都能被随机存取, 且存取时间和存储单元的物理位置无关 顺序存储器:只能按某种顺序来存取,存取时间和存 储单元的物理位置有关★ 按存储器的读写功能分:ROM,RAM ★ 按信息的可保存性分:非永久记忆,永久记忆 ★ 按在计算机系统中的作用分:主存、辅存、高速缓存、控制存储器&&&&3.1.3 主存储器的技术指标?存储容量? 主存存储容量:以字节B(Byte)为基本单位 ? 半导体存储器芯片:以位b (Bit)为基本单位 ? 存储容量以210=1024规律表达KB,MB,GB和TB ? 厂商常以103=1000规律表达KB,MB,GB和TB? 发出读/写命令到数据传输操作完成所经历的时间 ? 两次存储器访问所允许的最小时间间隔 ? 存取周期大于等于存取时间 ? 单位时间里存储器所存取的信息量82? ?存取时间(访问时间) 存取周期?存储器带宽(数据传输速率)郑州大学软件学院 · 计算机组成原理 · 2006级&&&&复习考试存储器与CPU连接CPU 对存储器进行读 /写操作,首先由地址总线给 出地址信号,然后要对存储器发出读操作或写操作的 控制信号,最后在数据总线上进行信息交流。所以, 存储器与CPU之间,要完成: ① 地址线的连接; ② 数据线的连接; ③ 控制线的连接。 存储器芯片的容量是有限的,为了满足实际存储器 的容量要求,需要对存储器进行扩展。组成原理&&&&复习考试位扩展法:只加长每个存储单元的字长, 而不增加存储单元的数量中央 处理器 CPU A0 A12 D0 : : D7 8K×1位扩展组成的8K×8 RAM组成原理…8k×演示&&&&复习考试字扩展法:仅增加存储单元的数量,而各 单元的位数不变A15 A14 CPU A0 A13 2:4 译码器 11 10 01 00 CE 16K×8CE … 16K×8 WECE 16K×8WECE 16K×8WEWEWED0~D7组成原理16K×8字扩展法组成64K×8 RAM演示&&&&复习考试字位同时扩展法 :既增加存储单元的数量, 也加长各单元的位数D4--D7 D3--D0 A0 A1 … A9 WE CS R/W2114 CS R/W2114 CS R/WCS R/WCPU A10字位同时扩展:2114存储芯片1K×4扩展成2K×8存储器组成原理&&&&复习考试字、位同时扩展法:存储器系统的存储容量: M×N位 使用芯片的存储容量:L×K位(L≤M,K≤N) 需要存储器芯片个数:(M×N)/(L×K)[例]: 利用2K×4位的存储芯片,组成16K×8位的存储器, 共需要多少块芯片? [解]:(16K×8)/(2K×4)=8×2=16 即:共需16块芯片。(既需要位扩展,又需要字扩展)[又例]:利用1K×4位的存储芯片,组成2K×8位的存储器, 共需要芯片数: (2K×8)/(1K×4)= 2×2=4组成原理&&&&复习考试刷新方式?刷新周期? 从上次对整个存储器刷新结束时刻,到本次对整个存储器完成全部刷新一遍为止的时间间隔 ? 一般为2ms,4ms或8ms?刷新方式? 集中式 ? 分散式? 异步式组成原理&&&&3.4 高速存储器3.4.1 双端口存储器复习考试同一个存储器具有两组相互独立的读写控制线路 , 提供了两个相互独立的端口,都可以对存储器中任何位 臵上的数据进行独立的存取操作3.4.2 多模块交叉存储器每个模块各自以等同的方式与CPU传送信息。 连续地址分布在相邻的模块,对连续字的成块传送 可以重叠进行实现流水线并行存取3.4.3 相联存储器按内容寻址的存储器 把存储单元所存内容的某一部分作为检索项,去检 索该存储器,并对存储器中与该检索项符合的存储单元 内容进行读出或写入组成原理&&&&复习考试多体交叉存储器?方案一:顺序方式 (a) 主存地址被分成高n位和低m位,高位(n)表示模块 号,低位(m位)表示块内地址; (b) 在一个模块内,程序是从低位地址连续存放; (c) 对连续单元存取,一般仅对一个模块操作 (d) 特点:? 多模块并行工作 ? 易扩充容量 ? 故障局部性。组成原理&&&&复习考试多体交叉存储器n位 模块号 m位 块内地址 MAR模块0 ......模块i ......模块2 n-1数据总线并行多模块存储器结构框图组成原理&&&&复习考试多体交叉存储器?方案二:交叉方式 (a) 主存地址被分成高n位和低m位,低位(m位)表示 模块号,高位(n)表示块内地址; (b) 各模块间采用多模块交叉编址; (c) 对连续单元存取,则多个模块并行工作 (d) 特点:? 多模块并行工作,速度快 ? 不易扩展 ? 故障全局性。组成原理&&&&复习考试多体交叉存储器m位 块内行地址 n位 模块号 MAR模块0 ......模块i ......模块2 n-1数据总线 多模块交叉存取存储器结构框图组成原理&&&&3.5 Cache存储器?? ?复习考试在相对容量较大而速度较慢的主存与高速处理器之间设置 的少量但快速的存储器 主要目的:提高存储器速度 为追求高速,包括管理在内的全部功能由硬件实现Cache: a safe place for hiding or storing things.组成原理&&&&3.5.1 Cache基本原理复习考试???CPU 与 cache 之 间 的 数 据交换以字 ( 字节 ) 为单 位 Cache 与主存间的数据 传送以数据块为单位 一个块 (Block) 由若干字 组成组成原理&&&&Cache的读操作?复习考试高速命中 (Hit) :微处理器读取主存的内容已包含在 Cache中,可以直接读取Cache,不用访问主存?开始从CPU接收地址RA Cache中含RA?高速失效 (Miss) 、缺失、未命中: 微处理器读取主存的内容不在 Cache 中,需要访问主存读取一 个数据块从主存读含RA的块 向CPU传送RA的字 向Cache传送含RA的主存块N(失效miss)Y(命中hit)从Cache读RA的字送CPU结束组成原理&&&&Cache的工作原理复习考试1、Cache以块为单位进行操作 2、当CPU发出访内操作请求后,首先由Cache控制器判断当前请求的字是否在 Cache中,若在,叫命中,否则,不命中 3、 若命中:? 若是“读”请求,则直接对Cache读,与主存无关 ? 若是“写”请求:? ? ?Cache单元与主存单元同时写(Write through写) 只 更 新 Cache 单 元 并 加 标 记 , 移 出 时 修 改 主 存 ( 写 回 Copy back) 只写入主存,并在Cache中加标记,下次从MM读出,保证正确。4、未命中时:? 若是“读”请求,则从主存读出所需字送CPU,且把含该字的一块送Cache,称“装入通过”,若Cache已满,置换算法; ? 若是“写”请求,直接写入主存。组成原理&&&&Cache的命中率?复习考试命中率(Hit Rate):高速命中的概率h=Nc Nc +Nmh=命中率 Nc=cache完成存取的总次数 Nm=主存完成存取的总次数cache/主存系统的平均访问时间ta: ta=htc+(1-h)tm tc=命中时的cache访问时间 tm=未命中时的主存访问时间组成原理&&&&Cache的访问效率ee=tc ta复习考试==tc htc+ (1-h)tm1h+ (1-h)r 1 r+ (1-r)h=设r=tm/tc表示主存慢于cache的倍率组成原理&&&&复习考试【例 5】CPU 执行一段程序时, cache 完成存取的次数为 1900 次,主存完成存取的次数为 100 次,已知 cache存取周期为50ns,主存存取周期为 250ns, 求cache/主存系统的效率和平均访问时间。【解】 h=Nc/(Nc+Nm)=+100)=0.95r=tm/tc=250ns/50ns=5e=1/(r+(1-r)h)=1/(5+(1-5)×0.95)=83.3% ta=tc/e=50ns/0.833=60ns 或者,ta=h· tc+(1-h)· tm=60ns组成原理&&&&Cache结构?复习考试Cache的数据块称为行(线Line,槽Slot)? 用Li表示,其中i=0,1,…,m-1,共有m=2r行?主存的数据块称为块(Block)? 用Bj表示,其中j=0,1,…,n-1,共有n=2s块?行与块是等长的,包含k=2w个主存字? 字是CPU每次访问存储器时可存取的最小单位?Cache由数据存储器和标签存储器组成? 数据存储器:高速缓存主存数据 ? 标签存储器:保存数据所在主存的地址信息组成原理&&&&3.5.2 主存与Cache的地址映射?复习考试Cache通过地址映射(mapping)的方法确定主存 块与 Cache 行之间的对应关系,确定一个主存 块应该存放到哪个Cache行中 ? 全相联映射(fully associative mapping)可以将一个主存块存储到任意一个Cache行?直接映射(direct mapping)将一个主存块存储到唯一的一个Cache行?组相联映射(set associative mapping)可以将一个主存块存储到唯一的一个 Cache 组中 任意一个行直接映射、2/4/8路组相联映射使用较多组成原理&&&&全相联映射? ?复习考试优点:命中率较高,Cache的存储空间利用率高 缺点:线路复杂,成本高,速度低组成原理&&&&直接映射? ?复习考试优点:硬件简单,容易实现 缺点:命中率低, Cache的存储空间利用率低组成原理&&&&? ?组相联映射 组间采用直接映射,组内为全相联 硬件较简单,速度较快,命中率较高复习考试组成原理&&&&3.5.3 替换策略?替换问题复习考试?新主存块要进入Cache,决定替换哪个原主存块 ?直接映射,只能替换唯一的一个Cache行?全相联和组相联,需要选择替换策略(算法)1. 最不常用(LFU: least-frequently used)替换使用次数最少的块2. 最近最少使用法(LRU: least-recently used)本指替换近期最少使用的块,实际实现的是替换最 久没有被使用的块3. 随机法(random)随意选择被替换的块,不依赖以前的使用情况组成原理&&&&3.6 虚拟存储器?复习考试?虚拟存储器: 在主存-外存层次间 借助于磁盘辅助存储器实现 由系统软件和辅助硬件管理 以透明方式提供给用户 一个比实际主存空间大得多的程序地址空间 作用:扩大主存容量,提高辅存访问速度,有效管理 存储系统虚拟:利用其他部件实现的本来不存在的事物或属性 透明:本来存在的事物或属性,从某种角度看似乎不存在组成原理&&&&3.6.1 虚拟存储器的基本概念?复习考试物理地址(实地址):(对应主存物理空间)由 CPU 地址引脚送出,用于访问主存的地址虚拟地址(虚地址):(对应主存逻辑空间)由编译 程序生成的,是程序的逻辑地址 CPU理解虚拟地址,并将其转换成物理地址???主存-外存层次的基本信息传送单位段:按程序逻辑划分为可变长的块,称为段 页:机械地划分为大小相同的块,称为页面 段页:程序按模块分段,段内分页组成原理&&&&虚拟存储器的管理?复习考试段式管理:把主存按段分配的存储管理方式 优点:段的界线分明,段易于编译、管理、修改和保护, 便于多道程序共享 缺点:段的长度各不相同,主存空间分配麻烦 ? 页式管理:以定长页面进行存储管理的方式 优点:页的起点和终点地址固定,方便造页表,新页调入主 存也很容易掌握,比段式空间浪费小 缺点:处理、保护和共享都不及段式来得方便 ? 段页式管理:分段和分页相结合的存储管理方式 优点:综合段式和页式管理方式的特点 缺点:需要多次查表过程组成原理&&&&3.6.2 页式虚拟存储器复习考试逻辑页:页式虚拟存储系统中,虚拟空间分成页; 物理页:主存空间也分成同样大小的页。 虚存地址分为两个字段:高字段为逻辑页号,低字段为页 内行地址。逻辑页号 页内行地址实存地址也分两个字段:高字段为物理页号,低字段为页 内行地址。物理页号组成原理页内行地址&&&&页式管理的地址变换:用页表 页表基址寄存器页面基地址复习考试虚存地址逻辑页号 页内行地址+控制位主存页面号物理页号页内行地址页表(在主存中)组成原理实存地址&&&&复习考试快表与慢表组成原理&&&&3.6.3 段式虚拟存储器程序分段空间 (外存〕 长度1K段0 未用 段表(在主存中)复习考试实存空间段0段号 段起点 装入位 段长长度2K 段101 2 3 92
1 11K3K 1K 2K段4 未用 段2 段3 未用长度3K段2长度1K 段3长度2K 段4组成原理&&&&段式管理的地址变换:用段表 段表基址寄存器段表基地址 +段号段起址 装入位 段长复习考试虚存地址段号 段内地址+主存地址段表(在主存中)组成原理实存地址&&&&3.6.4 段页式虚拟存储器基号 段号 页号 页内地址复习考试逻辑地址基址寄存器 S A+0 S B+1 S A+2 S A+3 程序C段表 程序A段表C12物理页号dSA SB SC物理地址页表A+0 A+110d+1 2C0段S C+0 S C+1 S C+2A B C+B+0 B+1 B+2 C+0 C+18 7 10C1段12 4C2段组成原理&&&&3.7 存储保护多个程序同时存在于存储器中,需要保护 ⑴ 存储区域保护: 界限保护 页表和段表保护 键式保护 环状保护 ⑵ 访问方式保护: 设置访问权限:读R、写W、执行E的组合 特权保护复习考试组成原理&&&&计算机组成原理⊙复习与考试4.1指令系统的发展与性能要求指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计 的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响 到系统软件设计的难易程度。 ? 完善的计算机的指令系统应具备: 1、完备性:一台计算机中最基本的、必不可少的指令构成了指令系统的完 备性。 2、有效性:指利用该指令系统所提供的指令编制的程序能够产生高效率。 高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。 3、规整性:指令操作的对称性和匀齐性,指令格式与数据格式的一致性。 (1)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对 简化程序设计,提高程序的可读性非常有用。 (2)匀齐性:是指一种操作性质的指令可以支持各种数据类型。 (3)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系, 以方便存取和处理。 4、兼容性:兼容性一般是指计算机的体系结构设计基本相同,机器之间具 有相同的基本结构、数据表示和共同的基本指令集合。?&&&&[例1] 分析指令格式的特点15 OP 9 -------7 4 3 0源寄存器目标寄存器1.2.3.4.单字长二地址指令 操作码字段OP长度为7位,可指定128条指令 源寄存器和目标寄存器都是通用寄存器(可 分别指定 16 个)。两个操作数均在寄存器中, 所以是寄存器-寄存器型指令 这种指令结构常用于算术逻辑运算类指令118郑州大学软件学院 · 计算机组成原理 · 2006级&&&&[例2] 分析指令格式的特点1597430OP--------源寄存器变址寄存器位移量(16位)1.2.3.双字长二地址指令,用于访问存储器 操作码字段OP为6位,可以指定64种操作 一个操作数在源寄存器(共 16 个),另一个 操作数在存储器中(由变址寄存器和位移量 决定),所以是寄存器-存储器型指令119郑州大学软件学院 · 计算机组成原理 · 2006级&&&&常用数据寻址方式? ?? ???隐含寻址:在指令中不明显地给出操作数的地址 寄存器寻址:指令中给出的操作数地址不是内存的地 址单元号,而是通用寄存器的编号。即操作数不放在 内存中,而是放在通用寄存器中 立即寻址:指令的地址字段指出的不是操作数的地址, 而直接是操作数本身 直接寻址:在指令格式的地址字段中,直接给出操作 数在内存的地址 寄存器间接寻址:指令中指定的寄存器中的内容不是 操作数,而是操作数的地址 基址(寄存器相对)寻址:基址寄存器的内容加上指令 中给定的形式地址(偏移量),形成操作数的有效地址120郑州大学软件学院 · 计算机组成原理 · 2006级&&&&寻址方式总结在指令中 立即(数)寻址在寄存器中寄存器寻址存储器直接寻址 间接寻址在主存中寄存器间接寻址 存储器间接寻址基址寻址变址寻址 基址加变址寻址在I/O端口中直接寻址 寄存器间接寻址郑州大学软件学院 · 计算机组成原理 · &&&&4.5.1 指令的分类?数据传送指令? 实现主存与寄存器之间、寄存器与寄存器之间或立即数到寄存器和主存的数据传送?算术运算指令? 实现加、减、乘、除等运算的指令?逻辑运算指令? 实现逻辑与、或、非、异或,以及移位等操作的指令?程序控制转移指令? 无条件转移指令、有条件转移指令、子程序调用和返回指令等?输入输出指令? CPU与外设之间传送数据的指令郑州大学软件学院 · 计算机组成原理 · &&&&5.1.1 CPU的功能★ 指令控制 保证机器按程序规定的顺序取出执行? ★ 操作控制 CPU 产生每条指令所对应的操作信号,并把各种操 作信号送往相应的部件,从而控制这些部件按指令的 要求进行动作★ 时间控制 对各种操作的实施时间进行定时★ 数据加工 对数据进行算术运算和逻辑运算处理&&&&5.1.2 CPU的基本组成? 控制器完成对整个计算机系统操作的协调与指挥。 (1) 控制机器从内存中取出一条指令,并指出下一 条指令在内存中的位臵; (2) 对指令进行译码,并产生相应的操作控制信号, 送往相应的部件,启动规定的动作; (3) 指挥并控制CPU、内存与输入/输出(I/O)设备 之间数据流动的方向 ? 运算器是数据加工处理部件,所进行的全部操作由 控制器发出的控制信号指挥 (1)执行所有的算术运算;? (2)执行所有的逻辑运算,并进行逻辑测试&&&&CPU的基本模型CPU 状态条件寄存器 累加器AC 程序计数器PC c 算术逻辑单元 ALU取指 控制执行 控制 时钟操作控制器 时序产生器 c 指令译码器 c状态 反馈c 地址寄存器AR 缓冲寄存器 DR 存储器c指令寄存器IR地址总线ABUSI/O数据总线DBUS&&&&5.1.3 CPU中的主要寄存器1. 数据缓冲寄存器(DR)暂时存放由内存读出或写入的指令或数据字2. 指令寄存器(IR)保存当前正在执行的一条指令3. 程序计数器(PC)确定下一条指令的地址4. 地址寄存器(AR)保存当前CPU所访问的内存单元的地址5. 累加寄存器(AC)最常使用的一个通用寄存器6. 状态条件寄存器(PSW)保存由算术和逻辑指令的结果建立的各种条件码&&&&5.2 指令周期? 指令的执行过程取指令执行指令—读取指令指令地址送入主存地址寄存器 读主存,读出内容送入指定的寄存器 形 成 下 一 条 指 令 地 址—分析指令 —按指令规定内容执行指令不同指令的操作步骤数 和具体操作内容差异很大—检查有无中断请求若无,则转入下一条指令的执行过程&&&&5.3.1时序信号的作用和体制计算机的协调动作需要时间标志,而且需要采用多 级时序体制。而时间标志则用时序信号来体现。 硬布线控制器中,时序信号往往采用主状态周期-节 拍电位-节拍脉冲三级体制。 ?主状态周期(指令周期):包含若干个节拍周期,可 以用一个触发器的状态持续时间来表示 ?节拍电位(机器周期):表示一个 CPU 周期的时间, 包含若干个节拍脉冲 ?节拍脉冲(时钟周期):表示较小的时间单位 微程序控制器中,时序信号则一般采用节拍电位-节 拍脉冲二级体制。&&&&主状态周期-节拍电位-节拍脉冲主状态周期节拍电位1节拍电位2 节拍脉冲&&&&节拍电位-节拍脉冲控制信号:脉冲数据:电位数据准备好后,以电位的方式送触发器 控制信号来到后,用一个脉冲信号把数据装入触发器&&&&5.3.31. 同步控制方式控制方式控制不同操作序列时序信号的方法已定的指令在执行时所需的CPU周期(机器周期) 数和时钟周期数都固定不变。例如采用完全统一的机 器周期执行各种不同的指令2. 异步控制方式控制器发出某一操作控制信号后,等待执行部件完 成操作后发“回答”信号,再开始新的操作3. 联合控制方式同步控制和异步控制相结合的方式&&&&5.8.1 并行处理技术?复习考试并行性(Parallelism):在同一时刻或是同一时间间隔内完成两种或两种以上性 质相同或不相同的工作 ? 同时性(Simultaneity):同一时刻发生的并行性 ? 并发性(Concurrency):同一个时间间隔内发生 的并行性?并行性的等级? 指令内部并行:微操作之间 ? 指令级并行(ILP:Instruction Level Parallel)? 线程级并行(TLP:Thread Level Parallel )? 程序级并行 ? 系统级并行:分布式系统、多机系统、机群系统组成原理&&&&提高并行性的技术途径?复习考试时间重叠(Time-interleaving)=时间并行多个过程在时间上相互错开,轮流重叠地使用同一套硬 件设备的各个部分??资源重复(Resource-replication)=空间并行通过重复设置资源(尤其是硬件资源),提高性能资源共享(Resource-sharing)使多个任务按一定时间顺序轮流使用同一套硬件设备? 单机系统中并行性的发展→9.1.3 ? 指令流水线,部件冗余,分时系统 ? 多机系统中并行性的发展→9.1.4 ? 多机系统 ? 耦合度:松散耦合、紧密耦合组成原理&&&&流水线的特点?复习考试???流水线实际上是把一个功能部件分解成多个独立的子功 能部件(一个任务也就分成了几个子任务,每个子任务 由一个子功能部件完成),并依靠多个子功能部件并行 工作来缩短所有任务的执行时间 流水线有助于提高整个程序(所有任务)的吞吐率,但 并没有减少每个指令(任务)的执行时间 流水线各个功能段所需时间应尽量相等。否则,时间长 的功能段将成为流水线的“瓶颈”,会造成流水线的 “阻塞”(Stall) 流水线开始需要“通过时间” (Fill)和最后需要“排空 时间” (Drain) 。流水线只有处理连续不断的任务才能 发挥其效率组成原理&&&&5.8.3 流水线中的主要问题?复习考试流水线中存在一些相关(冲突、冒险Hazard,相 关 、 依赖 Dependence , 竞 争 Competition) 的 情况,它使得下一条指令无法在设计的时钟周 期内执行。这些相关将降低流水线性能 ? 主要有三种类型的相关(冲突)? 结构相关(资源冲突):当指令重叠执行过程中,硬件资源满足不了指令重叠执行的要求 ? 数据相关(数据冲突) :在同时执行的多条指 令中,一条指令依赖前一条指令的执行结果 ( 数 据)却无法得到 ? 控制相关(控制冲突):流水线遇到分支指令 或其他改变PC值的指令组成原理&&&&5.9 RISC CPURISC的三个要素(1)一个有限的简单的指令集 (2)CPU配备大量的通用寄存器 (3)强调对指令流水线的优化&&&&5.11 CPU性能评价?复习考试1.2. 3.CPU性能与3个要素有关 时钟频率f 每条指令需要的时钟周期数CPI 指令条数IN 时钟周期长度t=1/f CPU时钟周期数Nc=CPI×IN组成原理&&&&复习考试5.11.1 CPU性能公式IN ? CPI CPU时 间 = C TP U = IN ? CPI? t= f CPI= 每 条 指 令 需 要 的时钟周期数 CPU时 钟 周 期 数 Nc = = 程 序 的 指 令 条 数 IN Ii =? ( CPI i? ) IN i?1组成原理n第i类指令在总程 序中占的比例&&&&补充例题复习考试假设在一般程序中浮点开平方操作 FPSQR 所占 的比例为 2% ,它的 CPI 为 100 ;其他浮点操作 FP 所 占 的 比 例 为 23% , 它 的 CPI = 4.0 ; 其 余 75%指令的 CPI = 1.33 ,计算该处理机的 CPI 。 如果 FPSQR 操作的 CPI 也为 4.0 ,重新计算 CPI 。 ? 解答: CPI1=100×2%+4×23%+1.33×75%=3.92 CPI2=4×25%+1.33×75%=2.00?组成原理&&&&〔例题7〕?复习考试有两种条件分支指令的设计方案:① CPUA:比较指令设置条件码,条件分支指令测 试条件码进行分支 ② CPUB:条件分支指令包括比较、并进行分支两种方案中,条件分支指令占用2个时钟周期、 其他指令占用1个时钟周期 ? CPUA 的条件分支指令占 20% ,比较指令也占 20% ? CPUB的时钟周期比CPUA慢25% ? 哪个CPU更快??组成原理&&&&例题7解答复习考试CPIA=0.2×2+0.8×1=1.2 CPU时间A=INA×1.2×tA CPUB没有独立的比较指令:INB= 0.8×INA CPUB条件分支指令所占比例: 20%÷80%=25%=0.25 CPIB=0.25×2+0.75×1=1.25 CPU时间B=INB × CPIB×tB =0.8×INA×1.25×tB =INA×tB tB=tA+0.25×tA = 1.25×tA CPU时间B=INA×1.25×tA > CPU时间A组成原理&&&&5.11.2 性能评价标准?复习考试最初:改进为:执行单项操作的时间,例如:加法操作时间?平均指令执行时间=?? 该指令的混合比例 ?每条指令的执行时间进一步成为容易理解的:每秒百万条指令(Million Instructions Per Second)指令条数 f MIPS ? ? 6 6 执行时间 ? 10 CPI?10?同时出现:MFLOPS(每秒百万浮点操作)?最终形成:测试程序(Benchmarks)组成原理&&&&复习考试CPU时间与CPU性能衡量性能最可靠的标准:真实程序的执行时间 ? 真实程序的执行时间 =CPU时间+I/O操作等时间 ? CPU时间 =用户CPU时间+系统CPU时间 ? CPU性能对应用户CPU时间??CPU时间还可细分为用户CPU时间及系统CPU时间, 前者表示用户程序所花费的 CPU时间,后者表示用 户程序运行期间操作系统花费的CPU时间。组成原理&&&&〔例题8〕复习考试一台40MHz处理器执行标准测试程序 求:CPI,MIPS和执行时间T指令类型 整数运算 数据传送 浮点运算 控制传送指令条数
时钟周期数 1 2 2 2组成原理&&&&例题8解答复习考试Ii CPI= ( CPI i? ) ? IN i?1CPI = (45000×1 + 32000×2 + 15000×2 + 8000×2)÷(4+1) =1.55(时钟周期/指令) MIPS=f/(CPI×106)=40×106/(1.55×106) =25.81 (百万条指令/秒) T = ( 45000×1 + 32000×2 + 15000×2 + 8000×2)÷(40×106) = 3.87×10-3(秒)组成原理n&&&&6.1 总线的概念和结构形态总线是构成计算机系统的互连机构,是多 个系统功能部件之间进行数据传送的公共通路 单处理器系统的总线,大致分为三类: 内部总线:CPU内部连接各寄存器及运算部件 之间的总线 系统总线:CPU同计算机系统的其他高速功能 部件,如存储器、通道等互相连接的总线 I/O总线:中低速I/O设备间互相连接的总线&&&&总线特性?物理特性 :物理连接方式,包括总线的根数、 排列方式,总线的插头、插座的形状等 ?功能特性:描述总线中每一根线的功能?电气特性 :定义每一根线上信号的传递方向 及有效电平范围。送入 CPU 的信号叫输入信号 (IN),从CPU发出的信号叫输出信号(OUT) ?时间特性: 定义了每根线在什么时间有效,即 总线上各信号有效的时序关系为了方便各个功能部件的连接, 广泛应用的总线都实现了标准化&&&&总线带宽?总线带宽=总线传输速率=吞吐率? 单位时间传输的数据量 ? 每秒兆字节(MB/S)或每秒位(bps)总线带宽=传输的数据量÷需要的时间举例? ? ?5MHz的8086微处理器16÷(4×0.2×10-6)bps=20×106 bps=2.5 MB/S66MHz的Pentium,基本非流水线总线周期64÷2×66×106 bps=264 MB/S66MHz的Pentium,2-1-1-1猝发读周期32÷5×66×106 B/S=422.4 MB/S148郑州大学软件学院 · 计算机组成原理 · 2006级&&&&【例 1】(1) 某总线在一个总线周期中并行传送 4 个字 节的数据,假设一个总线周期等于一个总线时钟周期, 总线时钟频率为33MHz,则总线带宽是多少? (2) 如果一个总线周期中并行传送 64 位数据,总线时 钟频率升为66MHz,则总线带宽是多少?解 : (1) 设 总 线 带 宽 用 Dr 表 示 , 总 线 时 钟 周 期 用 T=1/f表示,一个总线周期传送的数据量用D表示, 根据定义可得: 此处:1MB=106 B Dr=D/T=D×1/T=D×f =4B×33×1000000/s=132MB/s (2) 64位=8B Dr=D×f=8B×66×1000000/s=528MB/s&&&&1.单总线结构在单处理器的计算机中,使用一条单一的系统总线 来连接CPU、主存和I/O设备,叫做单总线结构。要求连接到总线上的逻辑部件必须高速运行,以便 在某些设备需要使用总线时能迅速获得总线控制权; 当不再使用总线时,能迅速放弃总线控制权。 系统总线CPU主存设备 接口设备 接口单总线结构&&&&2.双总线结构?在CPU和主存之间专门设臵了一组高速的存储总 线,使CPU可通过专用总线与存储器交换信息,减 轻了系统总线的负担,主存仍可通过系统总线与外 设之间实现DMA操作,而不必经过CPU系统总线CPU存储总线主存设备 适配器设备 适配器双总线结构&&&&3.三总线结构?系统总线存储总线CPU主存IOPI/O总线三总线结构设备 适配器 设备 适配器&&&&6.2 总线接口1.串行传送演示只有一条传输线,每次一位,按顺序来传送表示 一个数码的所有二进制位(bit)2.并行传送演示每个数据位都需要单独一条传输线。二进制数 “0”或“1”在不同的线上同时进行传送&&&&串行通信 串行通信:将数据分解成二进制位用一条信号 线,一位一位顺序传送的方式 ? 串行通信的优势:用于通信的线路少,因而在 远距离通信时可以极大地降低成本 ? 通信协议(通信规程):收发双方共同遵守 解决传送速率、信息格式、位同步、字符同步、 数据校验等问题 ? 串行通信适合于远距离数据传送,也常用于速 度要求不高的近距离数据传送 ? PC系列机上有两个串行异步通信接口、键盘、 鼠标器与主机间采用串行数据传送?郑州大学软件学院 · 计算机组成原理 · &&&&通信方式? ??串行异步通信:以字符为单位进行传输 串行同步通信:以一个数据块(帧)为传输单 位,每个数据块附加1个或2个同步字符,最后 以校验字符结束 传输制式 演示? 全双工:双根传输线,能够同时发送和接收 ? 半双工:单根传输线,不能同时发送和接收 ? 单工:单根传输线只用作发送或只用作接收?调制解调器 Modem :通信线路信号与计算机数 字信号相互转换的设备155郑州大学软件学院 · 计算机组成原理 · 2006级&&&&起止式异步通信字符格式字符 数据位起始位 1 0 0/1 0/1 低位校验位停止位 空闲位 0/1 0/1 1 1 高位 1…起始位——每个字符开始传送的标志, 数据位 —— 数据位紧跟着起始位传送。 校验位 —— 用于校验是否传送正确;可 停止位 —— 表示该字符传送结束。停止 空闲位 —— 传送字符之间的逻辑 1电平, 起始位采用逻辑 0 电平 由 5 ~ 8 个二进制位组成,低位先传送 选择奇检验、偶校验或不传送校验位 位采用逻辑 1电平,可选择1、1.5或2位 表示没有进行传送郑州大学软件学院 · 计算机组成原理 · &&&&数据传输速率?数据传输速率=比特率(Bit Rate)? 每秒传输的二进制位数bps ? 字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数?? ?进行二进制数码传输,每位时间长度相等: 比特率=波特率(Baud Rate) 过去,限制在50 bps到9600 bps之间 现在,可以达到115200 bps或更高郑州大学软件学院 · 计算机组成原理 · &&&&【例2】 利用串行方式传送字符,每秒钟传送的 数据位数常称为波特。假设数据传送速率是 120 个字符 / 秒,每一个字符格式规定包含 10 个数据 位 ( 起始位、停止位、 8 个数据位 ) ,问传送的波 特数是多少?每个数据位占用的时间是多少?【解】:波特数为:10位×120/秒=1200波特 每个数据位占用的时间Td是波特数的倒数:Td=1/×0.001s=0.833ms?发送8位数据:59H=B,偶校验、两个停止位&&&&6.3.1 总线的仲裁? ? ?主设备(Master):控制总线完成数据传输 从设备(Slave):被动实现数据交换 总线仲裁:决定当前控制总线的主设备? 集中仲裁:中央仲裁器负责 ? 分布仲裁:比较各个主设备仲裁号决定某一时刻,只能有一个主设备控制总线, 其它设备此时可以作为从设备某一时刻,只能有一个设备向总线发送数据, 但可以有多个设备从总线接收数据郑州大学软件学院 · 计算机组成原理 · &&&&像素和分辨率像素:组成图像的最小单位,显示器上的发光点 点距:相邻像素的距离(相同色彩点的距离) 0.31mm、0.28mm、0.25mm …… 分辨率:显示器所能表示的像素个数 分辨率=水平点数×垂直点数 640×480 800×600 80×1024 …… 点距越小,显示的图像越细腻 分辨率越高,所能表达的图像信息越多&&&&灰度和色彩? 灰度级:黑白显示器所显示的像素点的亮暗差别 , 彩色显示器所能表现的颜色数量(彩色深度) ? 单色显示器:只有两级灰度的显示器 ? 黑白显示器:具有多种灰度级的黑白显示器 ? 彩色显示器:红、绿、蓝三色发光点组成 ? 灰度和彩色深度与显示存储器有关。如果使用 8 个 二进制位表达一个像素的灰度,则可以有 256 种不 同的亮度。如果红、绿、蓝三色都用 8 个二进制位 表达,则彩色图像就具有 224 ( 16M )种颜色,被成 为真彩色 ? 灰度级越多,图像层次感越强;色彩数越多,图像 越清楚逼真&&&&刷新和扫描?刷新:使电子束不断地重复扫描整个屏幕的过程 不感到闪烁的刷新频率:>30次/秒 模拟电视标准:每秒刷新50帧图像 光栅扫描:光栅扫描是从上至下顺序 扫描整个屏幕逐行扫描 隔行扫描扫描频率:完成一帧所花时 间的倒数,也叫刷新频率 ( 每 个像素在一秒内被刷新次数) 刷新频率越高、图像越稳定,感觉越舒服&&&&计算机组成原理⊙复习与考试磁记录方式磁记录方式是一种编码方法,将数字信息转换成磁化单元 ? 归零制(RZ):Return to Zero – 正脉冲电流表示“1”,负脉冲电流表示“0”; – 不论记录“0”或“1”,在记录下一信息前,记录电流恢复到零电流 – 简单易行,记录密度低,改写磁层上的记录比较困难,一般是先去磁 后写入。 – 具有自同步能力(能从磁头读出信号中分离获得同步/选通信号) ? 不归零制(NRZ):NonReturn to Zero Change– 磁头线圈始终有电流 – 对连续记录的“1”和“0”,写电流的方向是不改变的。 – 无自同步能力。&&&&计算机组成原理⊙复习与考试磁记录方式??见“1”就翻的不归零制(NRZ1)NonReturn to Zero Change On One – 磁头线圈始终有电流通过。 – 在记录“1”时,电流改变方向,写“0”电流保持不变。 – 不具备自同步能力,需要引用外同步信号 调相制(PM):又称相位编码(PE)Phase Mudulation – 记录数据“0”时,规定磁化翻转的方向由负变为正,记录 数据“1”时从正变为负 – “0”,“1”的读出信号相位不同,抗干扰能力强(磁带多用 此)。 – 具有自同步能力&&&&计算机组成原理⊙复习与考试磁记录方式?调频制(FM)Frequency Modulation– 记录“1”时,不仅在位周期的中心产生磁化翻转,而且在位与位 之间的边界处要翻转一次。记录“0”时,位周期中心不产生磁化 翻转,但位与位之间的边界处要翻转一次。 – 具有自同步能力。?改进调频制(MFM)Modified Frequency Modulation– 记录数据“1”时在位周期中心磁化翻转一次,记录数据“0”时不 翻转。 – 连续两个或两个以上“0”时,在位周期的起始位置翻转一次,而 不是在每个位周期的起始处都翻转。 – 具有自同步能力&&&&记录方式:代码0或1的写入电流波形数据序列 NRZ0 NRZ1 1 0 0 0 1 1 1 0PMFM MFM&&&&I/O接口(电路)→6.2.2? ???计算机的外围(外部)设备多种多样 工作原理、驱动方式、信息格式、以及工作速 度方面彼此差别很大 外设不能与 CPU 直接相连,必须经过中间电路 (I/O接口电路)再与系统相连 I/O 接口电路是位于系统与外设间、用来协助 完成数据传送和控制任务的逻辑电路CPU 接口 电路 外设167郑州大学软件学院 · 计算机组成原理 · 2006级&&&&I/O接口的典型结构?示意图内部结构? 数据寄存器:保存微处理器与外设之间交换的数据 ? 状态寄存器:保存外设当前的工作状态信息 ? 控制寄存器:保存微处理器控制接口电路和外设操作的有关信息?外部特性? 面向微处理器一侧的信号:与微处理器总线类似 ? 面向外设一侧的信号:与外设有关郑州大学软件学院 · 计算机组成原理 · &&&&I/O端口的编址? ??? ?I/O端口(Port)泛指I/O地址,对应I/O接口寄存器 一个接口电路可以具有多个 I/O 端口,每个端口用来 保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的 I/O 地 址常依次被称为数据端口、状态端口和控制端口,用 于保存数据、状态和控制信息 输入、输出端口可以是同一个I/O地址 接口电路占用的I/O端口有两类编排形式 ? I/O端口单独编址 ? I/O端口与存储器统一编址170郑州大学软件学院 · 计算机组成原理 · 2006级&&&&I/O端口与存储器独立编址? ?将I/O端口单独编排地址,独立于存储器地址 优点:? I/O端口的地址空间独立 ? 控制和地址译码电路相对简单 ? 专门的I/O指令使程序清晰易读?FFFFF缺点:? I/O指令没有存储器指令丰富80x86采用I/O端口独立编址郑州大学软件学院 · 计算机组成原理 · 2006级FFFF主存 空间I/O 空间0171&&&&I/O端口与存储器统一编址??将 I/O 端口与存储器地址统一编排,共享一个 地址空间 FFFFF 优点:? 不需要专门的I/O指令 ? I/O数据存取灵活?缺点:主存 部分? 占去部分存储器空间 ? 程序不易阅读(在汇编语言级存储器空间I/O 部分不容易区别访问存储器和访问外设)00000郑州大学软件学院 · 计算机组成原理 · &&&&8.1 CPU对外围设备的管理方式I/O控制方式主要由程序实现主要由附加硬件实现程序 查询方式程序 中断方式DMA方式通道方式PPU方式郑州大学软件学院 · 计算机组成原理 · &&&&CPU和外设之间信息交换的方式?程序控制下的数据传送? 通过CPU执行程序中的I/O指令来完成传送 ? 程序查询方式 ? 程序中断方式? 外设经 DMA控制器向CPU申请总线,由 DMA控制器利用系统总线完成外设和存储器间的数据传送?直接存储器存取DMA方式 通道方式??? 通道(I/O处理器)管理外设,完成传送和数据处理外围处理机方式? 通道方式的进一步发展,基本独立于主机工作174郑州大学软件学院 · 计算机组成原理 · 2006级&&&&8.2 程序中断方式?处理器在执行程序过程中,被内部或外部的事件所打 断,转去执行一段预先安排好的中断服务程序;服务 结束后,又返回原来的断点,继续执行原来的程序??中断源:引起中断的事件或原因例如: ? 外设的数据传送请求 ? 系统定时请求 ? 电源掉电等故障 ? 运算出错等错误 ? 程序异常或调试请求175郑州大学软件学院 · 计算机组成原理 · 2006级&&&&中断的基本概念 (1/3)1 、概念:当计算机执行正常程序时,系统中出 现某些异常情况或特殊请求,这些情况和请求 可能来自计算机内部,也可能来自计算机外部; 一旦有上述事件发生,计算机执行正常程序的 状态被中断,就是说, CPU 要暂停它正在执行 的程序,而转去处理所发生的事件(通常就是 执行一段特殊程序,被称为中断服务程序); CPU 处理完毕后,自动返回到原来被中断了的 程序继续运行。郑州大学软件学院 · 计算机组成原理 · &&&&中断的基本概念 (2/3)2、与子程序调用的比较 (1)相同点:正常程序:主程序 中断服务程序:子程序 (2)区别: (A)子程序的执行是程序员事先安排好的; 中断服务程序的执行则是由随机的中断事件引起的,比如电 源掉电、请求I/O数据传送、现场报警等。 (B)子程序的执行往往与主程序有关; 中断服务程序可能与被中断的程序毫无关系。 ( C)有可能出现多个中断事件同时请求的情况,此时, 主机就需要进行判优,进而决定为哪一个请求服务。 子程序不存在此种情况。郑州大学软件学院 · 计算机组成原理 · &&&&中断的基本概念 (3/3)3、中断的作用 (1) 主机与外部设备并行工作 (2) 实现实时处理 (3) 硬件故障处理 (4) 实现多道程序和分时操作郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (1/11)一、中断源 (1)概念:能够引起CPU中断的原因就是中断源。中断源是指形成这个原 因的设备、部件或条件。 (2)种类: ? 输入输出设备。系统中的外部设备都可以设计成为以中断方式与主机 进行数据的交换,从而作为系统的中断源。 ? 故障与错误。系统运行中会出现诸如电源掉电、运算出错、非法指令 等问题,它们也常采用中断方式请求CPU立即处理。 ? 实时时钟。系统中的时钟定时电路是必不可少的,若定时时间到,时 钟电路就可以通过中断告知主机。 ? 程序调试和软件中断。程序调试中常常采用设置中断断点的方法来观 察程序运行是否正确;有些机器的指令系统设计有软件中断指令,利用中 断机制实现操作系统的功能调用以及调试程序。需要说明一点,这类中断 是由程序员事先安排好的,和调用子程序的作用一样,与上述由外部硬件 产生的中断有些不同。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (2/11)二、中断的分类: (1)按中断源是在主机之内还是外分: (A)内部中断 内部中断是指中断源来自主机内部,如运算出错、程 序调试和软件中断等; (B)外部中断 外部中断来自主机之外,如外部设备、实时时钟和硬 件故障产生的中断等。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (3/11)二、中断的分类: (2) 按中断对CPU的打扰情况分: (A)程序中断 CPU要用专门的中断服务程序为中断源服务,并且 在服务前要进行断点和现场的保护,在服务后要进行现场 和断点恢复的中断。这种中断就是一般所说的中断,是大 多数中低速外设以及内中断常用的中断方式。 (B)简单中断 当这种中断发生时,相应的请求源只是请求CPU的 正常程序暂停一下,通常称为总线请求或 DMA 请求。暂停 的目的是把主存和接口的数据通路让给请求源使用(即总 线使用权),使得能在主存和请求源之间直接进行一次数 据传送,当这次传送结束后,请求源立即把这个使用权归 还给 CPU。接着运行刚才暂停的程序,这个暂停时间通常 一次一个存取周期。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (4/11)二、中断的分类: (3) 按寻找中断服务程序入口的实现方法区分: (A)向量中断(矢量中断):中断服务程序入口由中断 源自己提供。 (B) 非向量中断:入口由CPU查询得到。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (5/11)三、中断工作过程:1、中断请求 ( 1 )中断请求是中断源向 CPU 发出中断请求信号,要求 CPU 为它服务的 过程。 (2)何时? 基本条件两个: (A) 外设本身工作已经完成 (B) 外设被允许中断 (3)硬件支持: 中断请求电路,基本组成是两个触发器: (A) 一个反映外设工作是否完成,其形成与程序查询的 准备就绪状态标志一样; ( B) 另一个反映外设是否允许采用中断方式,即中断 屏蔽功能。只有当外设工作完成而且被允许中断时,相应中断源才可 以通过这个请求电路形成中断请求信号。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (6/11)三、中断工作过程:2、中断判优 (1 ) 中断优先级有两个方面的含义: (A) 一是中断请求与CPU现行程序优先级的问题; (B) 另一含义是各中断源之间,谁更迫切的问题。 (2 ) 方法: (A) 软件 ( B) 硬件:为了得到较高的效率,一般采用硬件判优方法。 判优逻辑随着判优方案的不同可有不同的结构,其组成部分既可能在 设备接口之中,也可能在 CPU 内部,也可能这两部分都有。其作用是 决定CPU 的响应并且找出最高优先请求者,如果确定接收这个请求的 话,就由CPU发出中断响应信号INTA (C) 软硬件结合。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (7/11)三、中断工作过程:3、中断响应 (1)CPU响应最高优先级的中断请求,并且在适当时会向中断源提供一 个应答的响应信号,表明主机承认了它的请求,这就是中断响应。在采 用硬件向量中断的方式中,通常, CPU 还要利用它告知中断接口电路向 CPU提供一个中断向量。 (2)响应条件: (A) 一条指令执行结束时刻 (B) 中断允许: (a) 可屏蔽中断( Maskable Interrupt):计算机中断 系统对一般外设的中断请求就采用受中断标志位控制; (b) 非屏蔽中断( Non-Maskable Interrupt):而对必 须立刻响应的中断请求,如电源掉电、机器故障等,则采用不受中断标 志位控制。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (8/11)?中断屏蔽 (A) 概念:对中断的允许或禁止的控制 (B) 必要性: eg1:中断服务程序与正常程序共享数据区 eg2:CPU正在用软件查询中断源时 eg3:正在执行中断服务程序而不允许嵌套时 eg4:进行现场保护和恢复现场时 (C)方法: 软硬结合和内外结合的方法。不同的计算机可能在具体措施上有差异, 但基本的思想是相同的。外部中断请求电路设置中断屏蔽触发器控制某一 个中断源能否产生中断请求信号,CPU 内部设置中断标志位用于控制全部 可屏蔽中断的响应。一般计算机中都有实现中断屏蔽的指令和相应的硬件 电路。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (9/11)?中断屏蔽(D)实现: (a) 在大多数计算机 CPU内,都设置一个中断触发器,由这个触发器的 状态来决定CPU对中断请求是否响应。 能使中断触发器置“1”的指令,一般称为开中断指令,表示系统允 许中断;能使中断触发器置“0 ”的指令,一般称为关中断指令,表示系 统禁止中断。用户在适当时可以用这些指令来对中断的能与否进行选择和 控制。 例如
CPU 中,其程序状态字 PSW 寄存器中就有 IF 位(第 10 位),开中断指令STI可以使IF位置为“1”,达到允许中断的目的,关中 断指令CLI可以使IF位清“0”,达到禁止中断的目的。 再如:PDP11,PSW的7,6,5位改变会达到对某些中断的允许或禁止。郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (10/11)?中断屏蔽(D)实现:(b) 在外部中断源的接口,一般都设立中断屏蔽触发器,通常这个触发 器的状态可由CPU用指令改变。例如当这个触发器为”1”时,表示不允许 该中断源发出中断请求,否则为允许。 PDP-11 机中,外设接口电路中的设备状态寄存器第 6 位就是用于这个目的。 当第6位(允许中断),第7位(完成位)都成立时,才允许发中断请求。 IBM—PC,8259可编程中断控制器,有中断屏蔽R,8259可接收来自外设的 8 个各自独立的中断请求,信号分别为 IRQ0—IRQ7,IRQ0 优先级最高,中 断源 0 — 7 对应于中断类型号 08H—0FH,(其中 IRQ3 和 IRQ5 未用)。例如 IRQ1对应09H中断,对应设备键盘。 8259 中断屏蔽寄存器( IMR),I/O 端口地址 21H,它的位 0 — 7 位对应于 IRQ0—IRQ7,可通过设置任一位控制任一中断源的允许或禁止( 0 代表允 许,1代表禁止) 例如,只允许键盘中断,可设置 MOV AL,0FDH OUT 21H,AL郑州大学软件学院 · 计算机组成原理 · &&&&CPU响应中断的条件 (11/11)CPU正常程序预置参数启动外设 外设并行工作 CPU继续工作中断服务程序外设中断请求 断点中断响应 中断服务 中断返回CPU继续工作程序中断的工作过程郑州大学软件学院 · 计算机组成原理 · &&&&中断处理 (1/5) 1、中断识别 (1)中断源的识别 (A)识别的主体:WHO:CPU识别 (B)与中断优先级的判定密切相关:中断优先 级的判定是解决这一问题的前提和基础。 (C)目的:使CPU转入相应的服务程序。郑州大学软件学院 · 计算机组成原理 · &&&&中断处理 (2/5)1、中断识别(2)方法: (A) 软件查询法:采用与程序查询传送方式一样的方法,用软件查询程序段检测中断 请求的标志,同时还可以实现中断判优(详见7.3.5节软件查询判优法)。 (B) 硬件向量法: (a) (b) (c) 中断向量是中断源向CPU提供的唯一识别码; 识别码是有方向的; 识别码实际是主存的一个地址码; (d) 硬件支持:接口电路中:向量地址产生器主机之内:保存向量的R (e) 向量地址的存在情况: (i)服务程序入口 (ii)服务程序入口地址郑州大学软件学院 · 计算机组成原理 · &&&&中断处理 (3/5)2、中断服务 ( 1 )中断现场:中断现场是指在发生中断时, CPU 及其现行程序的当前主要状态。这其中最 为关键的状态是程序计数器 PC 的值,也就是 CPU 现行程序被中断时的下条指令的存储地址, 即断点地址,简称断点。除断点外,中断现场 应包含 CPU 程序运行情况的状态,这些状态有 程序状态字PSW以及程序执行的当前结果等。郑州大学软件学院 · 计算机组成原理 · &&&&中断处理 (4/5)2、中断服务(2)中断服务程序:3个部分 (A) 起始部分: 起始部分的主要功能是保护 CPU原来程序的一些现场,另一个功能是 控制系统在执行中断服务程序过程中是否允许再被中断。 (B) 主体部分: 主体部分的主要功能应该是完成中断源的请求任务。对一般输入输出 外部设备来说,就是进行数据的输入输出操作,并且修改相应的传送参数。 这部分是中断服务程序中核心的,也就是实质性的部分。 (C) 结尾部分: 结尾部分的主要功能是恢复起始部分所保护的现场内容,然后准备返 回。通常是用一条返回指令作为整个中断服务程序的最后一条指令。郑州大学软件学院 · 计算机组成原理 · &&&&中断处理 (5/5) 3、中断返回 中断服务程序的结束是一条中断返回指令,由它 实现从中断处理过程返回被中断的程序断点位置处继 续执行,从而完成了一次中断过程。 以上所述的6个阶段是外部设备作为中断源引起中 断的全过程。显然, 整个过程只有中断服务这个阶 段才是实际有效的部分,其中的关键是执行 I/O 指令 实现数据交换。其余几个阶段可认为是中断服务的前 后处理,是一种辅助性的但不可缺少的操作。当中断 频繁发生时,这个辅助性操作是降低 CPU 利用率和限 制外设速度的原因所在。郑州大学软件学院 · 计算机组成原理 · &&&&8.3 DMA方式???希望克服程序控制传送的不足: 外设→CPU→存储器 外设←CPU←存储器 直接存储器存取DMA: 外设→存储器 外设←存储器 特点比较: ? 查询传送: 简单实用,效率较低 ? 中断传送:外设主动,可与 CPU 并行工作,但每 次传送需要大量额外时间开销 ? DMA传送:CPU释放总线,由DMA控制器管理, 外设直接和存储器进行数据传送,适合大量、快速 数据传送195郑州大学软件学院 · 计算机组成原理 · 2006级&&&&DMA传送过程 1. CPU对DMA控制器进行初始化设置 2. 外设、DMAC和CPU三者通过应答信号建立 联系:CPU将总线交给DMAC控制 3. DMA传送? ?DMA读存储器:存储器 → 外设 DMA写存储器:存储器 ← 外设4. 自动增减地址和计数,判断传送完成否郑州大学软件学院 · 计算机组成原理 · &&&&DMA传送流程DMA请求 DMA响应发存储器地址传送数据 修改地址指针 和计数器传送结束?DMA结束郑州大学软件学院 · 计算机组成原理 · &&&&DMA传送方式之CPU暂停?停止CPU访问内存:CPU放弃对总线的使用权, 由DMA控制器管理进行数据传送郑州大学软件学院 · 计算机组成原理 · &&&&DMA传送方式之周期挪用?CPU周期 窃 取 : 在CPU执行访内指令中插入DMA 请求,挪用了一、二个内存周期郑州大学软件学院 · 计算机组成原理 · &&&&DMA传送方式之DMA与CPU交替?DMA与CPU交替访 内 : CPU周期可分为两个分周 期,一个供DMA控制器访内,一个专供CPU访内郑州大学软件学院 · 计算机组成原理 · &&&&8.4.2 通道的类型?选择通道? 多个设备不能同时工作,在某一段时间内只能选择一个设备进行工作 ? 只包含一个子通道?多路通道? 在一段时间内能交替执行多个设备的通道程序 ? 包含若干个子通道 ? 数组多路通道:以数据块为基本单位与设备进行数据传送 ? 字节多路通道:以字节为基本单位与设备进行数据 传送郑州大学软件学院 · 计算机组成原理 · &&&&8.4.2 通道的类型?举例:假设有 3个设备: A、B、C,它们传输的信息分别为 a1, a2 , ...am ; b1 , b2 , ...bn ; c1 , c2 , ...ck 。对于这 3 个设备 来说,把它们连接在不同类型的通道中,会出现不同的信息 传送状态。其中ai ,bi ,ci 各为一个字节。 连接在字节多路通道中的传送: a1b1c1a2b2c2 ... 连接在选择通道中的传送: a1a2...amb1b2...bnc1c2...ck 连接在成组多路通道中的传送: a1a2...aib1b2...bic1c2...ci, ai+1ai+2...ai+ibi+1bi+2...bi+ici+1ci+2...ci+i,... 通道方式的进一步发展便成为外围处理机控制I/O方式, 即用一台或若干台计算机来专门处理有关外部设备事务。信 息的输入和输出管理以及部分运算和处理工作由外围处理机 完成,这样可以大大减轻CPU的负担,提高系统的效率。202郑州大学软件学院 · 计算机组成原理 · 2006级&&&&? 预祝各位同学考出好成绩!Thank you !

我要回帖

更多关于 收机器边的方法 的文章

 

随机推荐