计算机组成与体系结构 课件 05输入输出系统、06信息表示_第1页
计算机组成与体系结构 课件 05输入输出系统、06信息表示_第2页
计算机组成与体系结构 课件 05输入输出系统、06信息表示_第3页
计算机组成与体系结构 课件 05输入输出系统、06信息表示_第4页
计算机组成与体系结构 课件 05输入输出系统、06信息表示_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

输入/输出系统计算机组成与体系结构外围设备与输入输出系统系统互连存储器接口外围设备CPU输入/输出系统输入输出接口

命令寄存器和命令译码器

设备选择电路

设备状态标记

数据缓冲寄存器DBR

控制逻辑电路I/O接口外部设备数据线命令状态数据线命令线状态线CPU地址线为什么要使用接口各种外设使用不同的操作方法,控制逻辑差异很大外设的数据传送速度一般比存储器或处理器慢外设经常使用与处理器不同的数据格式和字长接口的主要功能控制和定时处理器通信设备通信数据缓冲检错接口的分类按数据传送方式分类并行/串行按主机访问I/O设备的控制方式分类程序查询、中断、DMA、通道按功能选择的灵活性分类可编程/不可编程按通用性分类通用/专用按输入输出的信号分类数字/模拟接口与端口接口(interface):端口+控制逻辑电路端口(port):接口中可被访问的寄存器控制逻辑数据端口状态端口命令端口端口接口外设的识别与端口编址统一编址方式独立编址方式0FFFFFHEFFFFHF0000H内存地址(共960KB)端口地址(共64KB)0FFFFFH内存地址(共1MB)端口地址(共64KB)0FFFFH输入输出方式程序查询方式程序中断方式直接存储器存取(DMA)方式I/O通道控制方式这些输入输出方式采用的是同步时序还是异步时序?程序查询方式程序直接控制数据传送的分类:无条件传送:I/O端口总是准备好接收主机的输出数据,或总是准备好向主机输入数据,只适用于一些简单设备;程序查询方式:可适用于大多数的低速外设程序查询的基本思想CPU在程序中查询外设的工作状态,来保证数据传送的正确进行程序查询方式的工作过程取外设状态传送一次数据传送完否?外设准备就绪?预置传送参数结束YNNY启动外设修改传送参数程序查询方式接口A7~A0三态缓冲器(1)EN输入设备STBIBF锁存器(8)CP。三态缓冲器(8)ENReadyQDRCP &地址译码+5VD7~D0RDM/IO&程序查询方式总结程序查询方式的优点对接口要求低,实现成本低。程序查询方式的缺点在查询过程中,CPU长期处于踏步等待状态,使系统效率大大降低CPU在一段时间内只能和一台外设交换信息,其他设备不能同时工作不能发现和处理预先无法估计的错误和异常情况适用性分析适用与少量、低速设备之间的信息交换,因此常用于结构简单、造价低的计算机中。程序中断方式程序中断方式的基本思想实现主动权的变化中断方式的基本工作过程中断方式的设计要素外设通过什么机制向CPU发出中断请求?中断请求的传送CPU什么时候可以去响应中断?中断响应时刻CPU如何处理多个设备同时发送的中断请求?中断判优

CPU如何定位发出中断请求的设备?中断源的寻找CPU如何找到并转向中断服务程序?中断处理CPU在为设备服务完成后,如何返回原来执行的程序?中断现场保护与中断返回简单中断方式简单中断处理流程相关术语中断系统如何构成?中断隐指令与指令相同吗?向量中断与中断服务程序入口有什么关系?中断现场包括什么?中断的类型外部中断:由计算机外设发出的中断请求内部中断:CPU内部异常引发的中断软件中断/自陷:不是真正的中断,只是可被调用执行的一般程序多重(级)中断中断嵌套中断系统需要做哪些改进?中断接口中断饱和与中断的局限性中断饱和:由于CPU每次处理中断都需要一定的时间执行中断服务程序,当中断过于频繁而超过了CPU的处理速度时,就会发生中断饱和现象,结果是导致外设的数据丢失中断方式的局限性:中断方式需要程序切换,会带来额外开销(保存现场、恢复现场),导致数据传输率不高;采用执行指令的方式与外设进行信息交换效率并不高,每次数据传输需要取指令、执行指令的过程;可能出现中断饱和现象,不适合与高速外设进行信息交换。中断方式是一种以软件为主的控制方式,信息传送需要占用CPU资源。DMA方式它使内存与CPU的固定联系脱钩。内存既可被CPU访问,又可被外设访问;在数据块传送时,内存地址的确定、传送数据的计数等都用硬件电路直接实现;内存中要开辟专用缓冲区,及时供给和接收外设的数据;DMA传送速度快,CPU和外设并行工作,提高了系统的效率;DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。DMA方式与中断方式的区别中断方式是程序切换,需要保护和恢复现场;而DMA方式除了开始和结尾时,不占用CPU的任何资源。对中断请求的响应只能发生在每条指令执行完毕时;而对DMA请求的响应可以发生在每个机器周期结束时。中断传送过程需要CPU的干预;而DMA传送过程不需要CPU的干预,故数据传送速率非常高,适合于高速外设的成组数据传送。DMA请求的优先级高于中断请求。中断方式具有对异常事件的处理能力、而DMA方式仅局限于完成传送信息块的I/O操作。DMA接口/控制器的基本组成DMA的传输方法DMA传输过程通道方式通道方式出现的原因DMA方式只能进行简单的数据传输,这在某些场合下是不够的DMA传送方式在预处理和后处理阶段仍需要CPU的大量介入,因此不适合连接大量的外围设备通道控制方式与DMA方式的区别通过执行通道程序,通道具有更强的独立处理数据输入输出的功能一个通道可以同时控制许多台同类或不同类的设备通道的典型使用方式通道的类型选择通道(SelectorChannel)字节多路通道(ByteMultiplexorChannel)数组多路通道(BlockMultiplexorChannel)通道的工作过程分析总结采用哪种信息交换方式有利于计算机整体效率的提高?提高效率的关键是什么?效率的提高对接口有什么要求?信息表示计算机组成与体系结构编码数值、文字、符号、语音和图形等统称信息,在计算机内部,信息都必须用数字化的形式被存储、加工和传送,不同信息要通过编码来表示数字化信息编码的二个要素少量简单的基本符号一定的组合规则数值数据的表示只用r个基本符号(例如0,1,2,…r-1)通过排列起来的符号串表示数值,r

称为该数制的基。数值N的表示

N=Dm-1Dm-2

…D1D0D-1D-2

…D-k有权

的基r数制

每个Di(-k≤i≤m-1)的单位值都赋以固定的值Wi,则称Wi为该位的权。

N

代表的实际值可表示为:

基r数制若逢r

进位,有Wi=ri

,则N代表一个数值

r

是这个数制的基

i

表示这些符号排列的位号Di

是位序号为i的位上的一个符号ri

是位序号为i的位上的一个1代表的值Di×ri

是第i位的符号所代表的实际值∑表示对m+k位的值求累加和称此数制为r进位数制,简称r进制。最常用的有二进制、八进制、十六进制和十进制这4种。数值在计算机中表示应考虑要表示数的类型可能遇到的数值范围数值精确度数据存储和处理所需要的硬件代价数值在计算机中表示的特点二进制表示数据的编码化正负号的数字化小数点位置的约定数据有模计算机中的数值数据定点数定点整数定点小数浮点数二-十进制数(BCD)有权码:8421(最常用)、2421、5421……无权码:余3码、格雷码……数值数据的编码二进制数值数据的类型二进制表示的定点整数、小数和浮点数数值数据编码目标能方便统一地表示正数、零和负数,并且尽可能有利于简化对它们实现算术运算用到的规则数据符号的正与负,可用一位二进制的0和1两个状态加以表示,数据数值用多位二进制表示常用的编码方案原码表示、补码表示、反码表示真值与机器数+0.1011+1100–

1100–0.1011带符号的数符号数字化的数真值(人)

机器数(计算机)

01011

11011

01100

11100小数点的位置

一个数据的实际值被称为数的真值,机器数是指对数据符号位完成数字化处理后的机内表示。原码(truecode)表示法定点整数定点小数定点整数定点小数原码与真值之间的映射三位定点整数原码表示数的范围是-3~+3,其机器码为000~111原码的性质原码的最高位表示符号,0位为正,1为负;0在原码表示中不唯一,有+0、-0之分;n位原码总共有2n种编码,共可表示2n-1个数,因为0用了两个编码;负数的原码大于正数的原码原码的实质是表示数值的绝对值,因此由真值转换为原码的方法是:将+写成0,-写成1,数值位不变原码表示法的优缺点优点直观便于实现乘、除法运算缺点加减运算时既要考虑数的符号,又要考虑幅值0有两种表示有模运算所谓有模运算是指在一定数值范围内进行的运算有模运算实例:钟表计算机中的运算是有模运算吗?在有模运算中,用模减一个数的结果被称为该数的补数,减一个数等于加上该数对模的补数在补码表示法中,正数用本身来代表,而负数用其补数来代表补码(complementalcode)表示法定点整数定点小数也被称为对“2”的补码two’scomplement求负数补码的方法符号位置1,其余各位0变1,1变0,然后在最末位上加1;从低位向高位找到第一个1,这个1和右边各位的0保持不变,左边的各高位按位取反补码与真值之间的映射三位定点整数补码表示数的范围是-4~+3,其机器码为000~111补码的性质最高位表示符号,0位为正,1为负;0的表示唯一,即编码为全0的情况;补码表示法比原码表示法多表示一个数据,即最小的负数;负数补码值大于正数补码值;补码算术右移时,要将符号位复制;补码算术左移时,末位补0即可;定点整数补码位数扩展时,要将符号位向左复制;定点小数补码进行位数扩展时,只需要在原机器码后补0即可其他定点数的机器码反码(对“1”的补码,one’scomplement)正数的反码等于其原码,而负数的反码则可以通过保留其符号位,将原码的数值位取反得到。移码(或增码,Offsetbinary)是一种将全0码映射为最小负值、全1码映射为最大正值的编码方案移码没有统一的标准移码主要用于表示浮点数的阶码,在浮点数运算中有优势浮点表示法的原理阶符阶码数符尾数基本思想:科学计数法解决的问题:扩大固定二进制位表示数的范围基本结构:阶符、阶码、数符、尾数浮点数的规格化浮点数的标准IEEE754标准浮点数018931符号位S偏移阶码E尾数M01111263符号位S偏移阶码E尾数MIEEE754的特殊值0阶码与0尾数一起表示正零或负零,取决于它的符号位全1阶码与0尾数一起表示正无穷大或负无穷大,取决于它的符号位0阶码与非0尾数一起表示一个反规格化(Denormalized)数全1阶码与非0尾数一起给出NaN值,它意味着不是一个数(NotaNumber)0的表示+∞和-∞“非数”非规格化数非规格化数例:非IEEE754浮点数IBM370的短浮点数格式中,总位数为32位,左边第一位(b0)为数符,随后7位(b1~b7)为阶码,用移码表示,偏置常数为64,右边24位(b8~b31)为6位十六进制原码小数表示的尾数,采用规格化形式。(-260.125)10=(-000100000100.0010)2=(-104.2)16=(-0.1042)16×163符号位为1,阶为3,用7位移码表示为:64+3=(1000011)2。该数的浮点数表示的前面8位为11000011,对应的十六进制为C3H。尾数部分的6位十六进制数为:104200H。该数的浮点数表示为:C3104200H。定点和浮点表示法的比较哪种表示法表示数值的范围更大?与定点表示法相比,浮点表示法能表示更多的数值吗?哪种表示法表示数值的精度更高?字符、图形、图像、声音……非数值数据的表示ASCII码字符集汉字字形码图形图像声音非数值数据的二值化数据类型典型代表二值化方法有穷集合文字、符号等编码矢量图形AI(AdobeIllustrator)、SVG等坐标、数学公式点阵数据BMP(位图)、PNG(无损压缩位图)、JPG(有损压缩位图)等矩阵模拟数据声音、电压、电流等采样、量化、编码无穷集合实数、自然语言等?检错纠错码检错纠错码带有发现某些错误,甚至带有一定自动改错能力的数据编码方法码距(最小码距)合理增大码距,能提高发现错误的能力分类数据校验码奇偶校验码、Hamming、CRC纠错编码常用的检错纠错码奇偶校验码:用于并行数据传送中海明校验码:用于并行数据传送中循环冗余校验码:用于串行数据传送中一般而言,信息位为k位,增加r位冗余位,构成n=k+r位码字若希望用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错,则要求:

2r≥n+1或者2r≥k+r+1注:(n=k+r)如果用k=4为例来说明,要满足上述不等式,则r>3假设取r=3则n=k+r=7,即在4位信息位a6a5a4a3后面加上3位冗余位a2a1a0,构成7位码字a6a5a4a3a2a1a0

a2、

a1和a0分别由4位信息位中某几位半加得到校验时,a2、

a1和a0

就分别和这些位半加构成三个不同的监督关系式。规定:无错时,这三个关系式的值S2、S1和S0全为“0”若a2错,则S2=1,而S1

=S0=0;若a1错,则S1=1,而S2=S0=0;若a0错,则S0=1,而S2=S1=0。S2S1S0这三个校正因子其它4种编码值可用来区分a6a5a4a3一位错,该对应关系可以规定下表S2S1S0000

001

010100011101110111

错码位置 无a0a1a2a3a4a5a6由表可见,a2、a4、a5或a6的一位错都应使S2=1,由此得到监督关系式:S2

=a2+a4+a5+a6同理还有:

S1

=a1+a3+a5+a6S0

=a0+a3+a4+a6S2S1S0000001010100011101110111错码位置无a0a1a2a3a4a5a6在发送端编码时,信息位a6a5a4和a3的值取决于输入信号,是随机值。冗余位a2a1和a0的值应根据信息位的取值按监督关系式来决定,便上述三式中的S2S1

和S0

取值为零,即:

a2+a4+a5

+a6

=0 a1+a3

+a5

+a6

=0 a0

+a3

+a4

+a6

=0由此可求得:

a2=a4+a5+a6 a1=a3+a5+a6 a0=a3+a4+a6已知信息位后,按此三式即可算出各冗余位。a6a5a4a3a2ala0a6a5a4a3a2ala00000000100011100010111001100001010110100100011110101100101001101100001010110111010100110011111010001110001111111对于各种信息位算出的冗余位如表:在接收端收到每个码字后,按监督关系式算出S2、S1和S0,若全为“0”则认为无错。若不全为“0”,在一位错的情况下,可查表来判定是哪一位错,从而纠正之。例如码字0010101传输中发生一位错,在接收端收到的为0011101,代入监督关系式:

S2

=a2+a4十a5十a6 S1

=a1+a3十a5十a6 S0

=a0+a3十a4十a6可算得S2=0、S1=1和S0

=1,由表:S2S1S0000

001

010100011101110111

错码位置 无a0a1a2a3a4a5a6可查得S2S1和S0

=011对应于a3错,因而可将0011101纠正为0010101。上述海明码的编码效率为4/7。若K=7,按2r≥k十r+1可算得r至少为4,此时编码效率为7/11。结论:信息位长度越长时编码效率越高。S2S1S0000001010100011101110111错码位置无a0a1a2a3a4a5a6CRC应用CRC的主要特点检错能力极强开销很小易于实现ARJ,LHA,ZIP等压缩软件采用的是CRC-32;GIF,TIFF等图像存储格式;所有链路层或网络接口层协议中,例如HDLC、DDCMP等众多领域。应用范围广CRC原理将待发送的位串看成系数为0或1的多项式;收发双方约定一个生成多项式G(x)(其最高阶和最低阶系数必须为1),发送方用位串及G(x)进行某种运算得到校验和,并在帧的末尾加上校验和,使带校验和的帧的多项式能被G(x)整除;接收方收到后,用G(x)除多项式,若有余数,则传输有错。CRC校验和计算法1.若生成多项式G(x)为r阶(即r+1位位串),原帧为m位,其多项式为M(x),则在原帧后面添加r个0,即循环左移r位,帧成为m+r位,相应多项式成为xrM(x);2.按模2除法用G(x)对应的位串去除对应于xrM(x)的位串,得余数R(x);3.按模2减法(即模2加)从对应于xrM(x)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论