《汇编语言复习题》PPT课件.ppt_第1页
《汇编语言复习题》PPT课件.ppt_第2页
《汇编语言复习题》PPT课件.ppt_第3页
《汇编语言复习题》PPT课件.ppt_第4页
《汇编语言复习题》PPT课件.ppt_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1.2.1带符号数的编码,表1-4三种不同码制的十进制真值,返回目录,1.3.3高级语言,高级语言主要是相对于汇编语言而言,它是较接近自然语言和数学公式的形式编程,基本脱离了机器的硬件系统,用人们更易于理解的方式编写程序。高级语言并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:,返回目录,1.3.1机器语言,3伪指令伪指令就是向汇编程序提供如何进行汇编工作的命令,也叫汇编控制命令。伪指令没有对应的机器指令,汇编时不产生机器码。4汇编语言汇编指令、伪指令、宏指令和汇编程序一起组成了汇编语言。汇编语言直接面向机器,用汇编语言编制的程序简洁、快速,常用于对运行速度要求较高的实时控制等场合。用汇编语言编制的用户程序称为汇编语言源程序。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,但指令采用了英文缩写的标识符,更容易识别和记忆。而其所占用的存储空间和执行速度与机器语言相仿。,返回目录,1.3.2汇编语言,1汇编指令汇编指令是用助记符号表示的机器指令,它与机器指令一一对应。2汇编程序计算机不能直接识别汇编指令,要让机器接受汇编指令还需要有一个将汇编指令翻译为机器指令的过程,这个过程称为汇编。汇编程序就是把汇编语言源程序翻译成机器语言程序的一种系统软件。IBMPC机中的汇编程序有ASM和MASM两种,ASM称为小汇编程序,它只需较小的存储区。MASM称为宏汇编程序,它需要的存储区较大,但功能较强,且具有宏汇编能力,ASM则不具备这种能力。,返回目录,1.3.1机器语言,1机器指令机器指令是指挥计算机完成某一基本操作的命令,由硬件电路设计决定的,因而也叫做硬指令。机器指令是由一组能为计算机所接受的0和1组成的二进制代码。机器指令由操作码和地址码组成,规定了要求计算机完成的操作及其操作的对象(数据或存储单元地址);2指令系统每台计算机所具有的特有的、全部指令的集合构成该CPU的指令系统。不同的CPU具有不同的指令系统。3机器语言程序机器指令的集合构成了机器语言,用机器语言编写的程序就是机器语言程序。计算机所能识别的语言只有机器语言,但机器语言非常难于记忆和识别通常人们编程时,不采用机器语言,而采用汇编语言和高级语言。,返回目录,1.3计算机语言,1.3.1机器语言1.3.2汇编语言1.3.3高级语言,返回目录,系统总线,总线是指传递信息的一组公用导线总线是传送信息的公共通道微机系统采用总线结构连接系统功能部件总线信号可分成三组地址总线AB:传送地址信息数据总线DB:传送数据信息控制总线CB:传送控制信息,Intel80 x86CPU的地址线条数,Intel80 x86地址条数存储容量8086201MB8088201MB802862416MB80386Pentium4324GB,返回,Intel80 x86CPU的数据线条数,Intel80 x86数据位数80861680888802861680386Pentium432,返回,程序预先存放在计算机的存储器中,计算机按程序的流程自动地连续取出指令并执行之。为实现自动连续地执行程序,控制器设置一程序计数器PC,它可根据指令的长度自动增量(总是指向下一条指令)。只要给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、执行,直到完成全部指令操作为止,即控制器通过指令流的串行驱动实现程序控制。,2.4.1冯诺依曼存储程序工作原理,程序,指令1,指令2,指令3,指令4,指令n,取指令,指令译码,取操作数,执行指令,存结果,指令周期,操作码,操作数,执行,2.4.2微型计算机的工作过程,指令执行过程,取指令,指令译码,取操作数,执行指令,存结果,问题:1.CPU如何知道从哪里取出程序的第一条指令?操作系统2.CPU如何按程序控制流执行指令?程序计数器3.CPU如何知道从哪里取操作数?地址、寻址方式,汇编语言与机器语言的关系,1.28086微处理器内部结构组成,图3-18086CPU内部结构框图,1.38086CPU的寄存器结构,8086CPU中可供编程使用的有14个16位寄存器,按其用途可分为3类:通用寄存器、段寄存器、指针和标志寄存器,如所示。,累加器,AH,AL,BH,BL,CL,DH,DL,CH,SP,SI,DI,IP,FLAGS,CS,DS,SS,ES,BP,基址寄存器,计数寄存器,数据寄存器,堆栈指针寄存器,基址指针寄存器,源变址寄存器,目的变址寄存器,指令指针寄存器,标志寄存器,代码段寄存器,段寄存器,附加段寄存器,堆栈段寄存器,数据寄存器,地址指针和,变址寄存器,控制寄存器,通用寄存器,数据段寄存器,8086CPU内部寄存器结构,AXBXCXDX,(2)控制标志:控制标志是用来控制CPU的工作方式或工作状态。TF:陷阱标志或单步操作标志:IF:中断允许标志DF:方向标志3段寄存器8086CPU共有4个16位的段寄存器,用来存放每一个逻辑段的段起始地址。(1)代码段寄存器CS(2)数据段寄存器DS(3)堆栈段寄存器SS(4)附加段寄存器ES,标志寄存器(FLAGS/PSW),1514131211109876543210,条件码标志:控制标志:,OF溢出标志DF方向标志SF符号标志IF中断标志ZF零标志TF陷阱标志CF进位标志AF辅助进位标志PF奇偶标志,OFDFIFTFSFZFAFPFCF,例:ADDAX,BXJO/JCERROR?,表1通用寄存器的特定用法,1通用寄存器通用寄存器分为数据寄存器与指针和变址寄存器两组。数据寄存器包括4个16位的寄存器AX、BX、CX和DX,一般用来存放16位数据,故称为数据寄存器。其中的每一个又可根据需要将高8位和低8位分成独立的两个8位寄存器来使用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8位数据,它们均可独立寻址、独立使用。指针和变址寄存器包括指针寄存器SP、BP和变址寄存器SI、DI,都是16位寄存器,,一般用来存放地址的偏移量。这8个16位通用寄存器都具有通用性,从而提高了指令系统的灵活性。但在有些指令中,这些通用寄存器还各自有特定的用法,见下表。,物理地址8088:20根地址线,可寻址220(1MB)个存储单元CPU送到AB上的20位的地址称为物理地址,1.48086CPU的存储器组织一、存储器寻址,3逻辑地址(LA)和物理地址(PA)物理地址:就是存储器的实际地址,它是指CPU和存储器进行数据交换时所使用的地址(20位)。逻辑地址:是在程序中使用的地址,它由段地址和偏移地址两部分组成(16位)。逻辑地址的表示形式为“段地址偏移地址”。物理地址=段地址10H偏移地址4专用和保留的存储器单元,指令的组成:,指令由操作码和操作数两部分组成操作码说明计算机要执行的操作,不可缺少操作数是指令中的操作对象,指令中的操作数的来源:要么是某个具体数值要么是某个寄存器要么是内存中某个存储单元,22/38,指令系统(重点)一组指令的集合,第3章微机指令系统,指令,寻址方式(重点)与数据有关的寻址方式与转移地址有关的寻址方式,传送指令:MOVDST,SRC执行操作:(DST)(SRC)注意:*DST、SRC不能同时为段寄存器MOVDS,ES*立即数不能直接送段寄存器MOVDS,2000H*DST不能是立即数和CS*DST、SRC不能同时为存储器寻址*不影响标志位,通用数据传送指令,MOVAX,DSEGMOVDS,AX,指令,(),(),+,左移4位,完成上图的填空:其中,BP=105H,DS=1000H,SS=2000H,(20105H)=3355H,(10105H)=1A34H.执行指令后,AX的值为多少?,例2.MOVAX,BP,25/38,寻址方式小结,MOVAX,0020HMOVAX,BXMOVAX,0020H或MOVAX,BUFMOVAX,BXMOVAX,BX0030HMOVAX,BXDIMOVAX,BXDI0030H,26/38,立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址加变址寻址,注意:*不影响标志位*前256个端口号00HFFH可直接在指令中指定(长格式)*如果端口号256,端口号DX(短格式)例:INAX,28HMOVDATA_WORD,AX例:MOVDX,3FCHINAX,DX例:OUT5,AL例:测试某状态寄存器(端口号27H)的第2位是否为1INAL,27HTESTAL,00000100BJNZERROR;若第2位为1,转ERROR处理,例1:指出下列指令的错误,MOVAH,BX,MOVBX,SI,;数类型不匹配,MOVAX,SIDI,;存贮器之间不能传数据,MOVMYDATABXDI,ES:AX,;SI,DI不能同时用于源或目的,MOVBYTEPTRBX,1000,;ES段内无AX,;数类型不匹配,MOVCS,AX,MOVDS,BP,;CS不能随意改变,MOVAL,DX,;DS不能从基值寄存器送入,MOVAX,BXBP,;BX,BP不能同时用于源或目的,;DX不能作为存贮器操作数表达式,例:屏蔽AL的第0、1两位ANDAL,0FCH例:置AL的第5位为1ORAL,20H例:使AL的第0、1位变反XORAL,3例:测试某些位是0是1TESTAL,1JZEVEN,*OR00100000*1*,*01XOR00000011*10,*AND11111100*00,*AND000000010000000*,1.8086的寻址方式,与数据有关的寻址方式:以MOV指令为例立即寻址MOVAX,3069H寄存器寻址MOVAL,BH直接寻址MOVAX,2000H寄存器间接寻址MOVAX,BX寄存器相对寻址MOVAX,COUNTSI基址变址寻址MOVAX,BPDI相对基址变址寻址MOVAX,MASKBXSI,存储器寻址,例:双精度数的加法(DX)=0002H(AX)=0F365H(BX)=0005H(CX)=8100H指令序列ADDAX,CX;(1)ADCDX,BX;(2)(1)执行后,(AX)=7465HCF=1OF=1SF=0ZF=0(2)执行后,(DX)=0008HCF=0OF=0SF=0ZF=0,数据定义及存储器分配伪操作:,变量助记符操作数,操作数,;注释助记符:DBDWDDDFDQDT,DATA_BYTEDB10,4,10H,?DATA_WORDDW100,100H,-5,?,DATA_BYTE,DATA_WORD,例:,ARRAYDBHELLODBABDWAB,ARRAY,VARDB100DUP(?)TABLEDB2DUP(0,2DUP(1,2),3)请画出数据初始化的示意图。,3.汇编语言程序格式,标号指令寄存器说明程序或语句变量伪指令标号的功能宏指令变量常数表达式,源程序的每条语句可表示为:名字操作操作数;注释,标号/变量:段值、偏移量、类型三种属性表达式:数字表达式地址表达式,ARRAYDW1,2,3,4,5,6,7ARYENDDW?MOVCX,(ARYEND-ARRAY)/2,ADDAX,BLOCK+2;符号地址常数有意义;时意义不明确MOVAX,BX+1;,MOVAX,BX+1;寄存器间接寻址,;汇编后结果为ANDAX,1,INAL,PORT_VAL;61HOUTPORT_VALAND0FEH,AL;60H,MOVAX,0FFFFHSHL2,;汇编后结果为;MOVAX,0FFFCH,ARRAYDW100DUP(?)TABLEDBABCDADDSI,TYPEARRAY;ADDSI,2ADDSI,TYPETABLE;ADDSI,1MOVCX,LENGTHARRAY;MOVCX,100MOVCX,LENGTHTABLE;MOVCX,1MOVCX,SIZEARRAY;MOVCX,200MOVCX,SIZETABLE;MOVCX,1,;指令汇编后结果为,例:求首地址为ARRAY的M个字之和,结果存入TOTAL,MOVCX,MMOVAX,0MOVSI,AXAGAIN:ADDAX,ARRAYSIADDSI,2LOOPAGAINMOVTOTAL,AX,例:设有一个数组array1,含有20个无符号字元素,要找出数组中值最大的元素,并把它送到max单元中。,datasegsegmentArray1dw20dup(?)Maxdw?DatasegendsStacksegmentstackdw200dup(?)StackendscodesegsegmentAssumecs:codeseg,ds:dataseg,ss:stackstart:movax,datasegmovds,axsubax,axmovbx,axmovax,array1bxmovcx,19loop1:addbx,2cmpax,array1bxjgenextmovax,array1bxNext:deccxjnzloop1movmax,axmovah,4chint21hCodesegendsendstart,第七章存储系统,存储器分类,按构成存储器的器件和存储介质分类半导体存储器、磁介质存储器、光存储器2按存取方式分类顺序访问、随机访问存储器3按在计算机中的作用分类主存、外存,71概述,目前的计算机中,一般用半导体存储器作为主存储器(简称主存或内存),存放当前正在执行的程序和数据;而用磁盘、磁带、光盘作为外存储器或辅助存储器(简称外存或辅存),存放当前不在运行的大量程序和数据。半导体存储器可随机访问任一单元,而辅助存储器一般为串行访问存储器。读写该存储器内容时,需要顺序地一位一位地进行,访问指定信息所需时间与信息所在位置有关。,串行存储器又可分成顺序存取存储器和直接存取存储器。例如,磁带上的信息以顺序的方式存储在带上,读写时要待磁带移动到合适位置后才能顺序读写,需要耗费较多时间,称为顺序存取存储器。而磁盘存储器对信息的存取包括两个操作:磁头直接移动到信息所在区域(磁道);从该磁道的合适位置开始顺序读写。比磁带要快得多,是直接存取存储器。,二、存储系统1、存储系统把各种不同存储容量,不同存取速度的存储器,按一定的体系结构组织起来,使得存放的程序和数据按层次分布在各存储器中所形成的一个整体,三级存储系统,2存储系统的层次,图7.1三层次存储系统,四半导体存储器的组成与控制,1存储容量扩展,4168,8148,8128,(1)位扩展,(3)字位扩展,(2)字扩展,第一片地址:00003FFF第二片地址:40007FFF第三片地址:8000BFFF第四片地址:C000FFFF,6.38255A可编程并行接口芯片,返回目录,8255A是Intel公司生产的通用8位并行输入/输出接口芯片,由于它是可编程的,所以在许多的场合下8255A使用相当灵活,并很容易实现并行接口,通用性很强。6.3.18255A引脚介绍6.3.2内部结构6.3.3工作方式控制字6.3.4三种工作方式6.3.58255A编程,6.3.2内部结构,返回目录,8255A内部结构框图如图6-13所示。它有如下几部分组成,6.3.18255A引脚介绍,D0D7:数据线,三态双向8位缓冲器,用来读写数据和写控制字。PA0PA7:A口8位数据输入锁存器和8位数据输出锁存器缓冲器。PB0PB7:B口8位输入锁存器和8位数据输出锁存器缓冲器。PC0PC7:C口8位输入锁存器和8位数据输出锁存器缓冲器。:片选信号,低电平有效。为低电平时,8255A才工作。:写控制信号,低电平有效,为低电平时,允许CPU通过8255A输出数据。:读控制信号,低电平有效,为低电平时,允许CPU通过8255A输入数据。,返回目录,6.3.2内部结构,1数据总线缓冲器该缓冲器宽度为8位、双向、三态的缓冲器,直接挂接在PC机8位数据总线D7D0上。8255A编程时的各种命令字,或被读取的状态字也是通过该数据总线缓冲器传送的。2读写控制逻辑CPU通过输入和输出指令,将地址信息和控制信息送至该部件,使其向A组B组发出控制信号。3A组和B组控制部件A组控制部件:控制A口及C口的高4位。B组部件控制:控制B口及C口的低四位。这两组控制部件接受读写控制逻辑来的命令,从数据总线接收控制字,向相应的端口发出命令,以控制其动作。,返回目录,6.3.2内部结构,4数据端口A、B、C8255A的三个8位数据端口:A口具有输出锁存器缓冲器和输入缓冲器,在方式2下输入输出均锁存。B口具有输出锁存器缓冲器和输入缓冲器。C口具有输出锁存器缓冲器和输入缓冲器。C口除做为输入和输出口外,还可做控制口,C口的高四位PC7PC4配合A口工作,C口的低位PC3PC0配合B口工作,它们分别用于输出控制信号和输入状态信号,具体情况在工作方式描述中介绍。,返回目录,6.3.3工作方式控制字,返回目录,8255A芯片有三种工作方式:方式0:基本输入输出方式。方式1:选通输入输出方式。方式2:选通双向输入输出方式可通过对芯片的编程来指定各端口的工作方式,也就是对8255A芯片内的控制寄存器装入不同的控制字,以决定其工作方式。1控制字控制字的格式如图6-14所示。,7.1.2数据通信方式,串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照同一时刻数据流的方向可分成三种基本传送模式,这就是全双工、半双工和单工传送。如图7-1所示。,返回目录,7.1.5传输速率与传送距离,通信线上所传输的字符数据是按位传送的,一个字符由若干位组成,因此每秒钟所传输的字符数(即字符速率)和波特率是两个概念。在串行通信中,所说的传输速率是指波特率,而不是指字符速率,两者的关系是:假如在某异步串行通信中,通信格式为1个起始位、8个数据位、1个偶数位、2个停止位,若传输速率是1200波特,那么,每秒所能传送的字符数是1200/(1+8+1+2)=100个。,返回目录,7.1.4信息的校验方式,1奇偶校验(Paritycheck)采用这种校验方式发送时,在每个字符的数据最高有效位之后都附加一个奇偶校验位,这个校验位可为“1”或为“0”,以便保证整个字符(包括校验位)中“1”的个数为偶数(偶校验)或为奇数(奇校验)。接收时,接收方采用与发送方相同的通信格式,使用同样的奇偶校验,对接收到的每个字符进行校验。例如:发送按偶校验产生校验位,接收也必须按偶校验进行校验。当发现接收到的字符中“1”的个数不为偶数时,便认为出现了奇偶校验错,接收器可向CPU发出中断请求,或使状态寄存器相应位置位供CPU查询,以便进行出错处理。,返回目录,习题与思考题七,利用一个异步传输系统传送文字资料,传输率为2400BPS,资料约1000个汉字,传输时采用数据有效位8位、停止位1位、无校验位,问至少需要多长时间才能把全部资料传完?,返回目录,8.3.38253-5的内部结构,8253-5的内部结构如图8-2所示。从内部结构如图可看8253-5主要由以下几部分组成:,返回目录,习题与思考题八,2让一个8253-5的计数器3工作在单稳态方式,让它产生脉冲宽度为15ms(设输入频率为2MHz)。,返回目录,习题与思考题八,1设一个计数器0能产生10s的定时信号,设它的地址为2F02F3H,CLK0为1000Hz,计数初值是多少?试对它进行初始化编程。,返回目录,8.48253-5应用举例,定时器0:N=fclk0/fout0=250000/500=500化为十六进制为01F4H。定时器1:N=fclk1/fout1=500/50=10化成16进制为0AH。,返回目录,8.48253-5应用举例,2计算计数初值若8253的定时器工作在方式2或方式3,实际上相当于分频器,即OUT端的输出信号频率是由CLK端的信号频率经定时器分频得到的,而分频系数就是从计数初值开始减到1时所计的时钟周期数,那么,计数初值N就是定时器的分频系数所对应的数字。存在如下关系式:计数初值=分频系数=fclk/fout由于题目中未指定计数格式,所以可以规定二进数,也可以规定BCD码计数(实际上是十进数),两种情况下的满度值不同。这里选择按二进制计数,其满度值为216-1。现在来计算本例中定时器0和定时器1的计数初值。,返回目录,8.3.48253-5方式控制字,作为一个可编程的定时/计数器,它的全部工作特点都由方式控制来确定,并由CPU向8253-5写操作,即将方式控制字写入控制寄存器。芯片的三个计数器是独立的,但写入方式控制字的地址只有一个(A1A0=11),所以就要在控制字内指出本次写入的方式控制字是属于哪一个计数器的,然后再考虑对哪个通道的操作或工作方式的指定。8253-5方式控制字的格式如图8-4所示。,返回目录,8.3.38253-5的内部结构,3控制字寄存器接收数据总线缓冲器的信息,若是写入的是控制字,则用来控制计数器的工作方式,若是数据,则装入计数器作为计数初值。该寄存器是8位的,而它只能写不能读。4计数器8253-5的3个计数器是相互独立的,而且内部结构完全相同,计数器是16位减法计数器。每个计数器中都有一个时钟输入端CLK和门控输入GATE,一个输出OUT。计数器的计数方式可以是二进制或十进制,当装入计数初值后,从计数器的输入端接收时钟脉冲或事件计数脉冲,计数值在时钟脉冲的下降沿开始改变,门控制可送控制或复位信号,当计数值减到零时,由输出端送出标志信号。在每个计数器的内部,有计数寄存器、锁存器,它们都是16位寄存器,也可以作为8位寄存器来用。在计数器工作时,给计数器送初值并减1计数,锁存器用来锁存计数器执行减1后的内容,该内容可以由CPU进行读操作。计数器内部结构图如图8-3所示。,返回目录,9.1.4CPU与外设之间传送数据的方式,1无条件传送2查询传送3中断传送4直接存储器传送(DMA)5通道方式6外围处理机方式(PPU),9.1.4中断矢量(向量)表,每个中断源都对应一个中断处理程序,每个中断处理程序的起始地址称为中断入口地址。系统将各个中断处理程序的入口地址放在一起形成一个地址表,称为中断矢量(向量)表。,中断指令:,类型0的(IP),类型0的(CS),类型1的(IP),类型1的(CS),类型N的(IP),类型N的(CS),类型255的(IP),类型255的(CS),00000,00004,4*N,003FC,中断向量表,9.1.4,8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。,可屏蔽中断,Intel8088,A8,A14,A15,AD0,AD7,A16/S3,A19/S6,可屏蔽中断请求:INTR,输入,高电平触发。Pin-18中断允许标志可屏蔽中断请求。总线周期的最后一个时钟周期检测INTR。可以通过8259扩充中断源。,CLK,NMI,INTR,9.2.1级连电路连接方法,10.1DMA技术概述,DMA是“直接存储器存取”的英文缩写。它为高速IO设备与读写存储器之间进行批量数据交换提供直接的传输通道。在传输过程中,CPU不再干预,而是由一个硬件逻辑DMA控制器负责管理。但并不是CPU根本与DMA传送方式无关。恰恰相反,在DMA方式的三个阶段(请求、响应及结束)都需要CPU参与,只是传输期间CPU处于等待状态。10.1.1基本概念10.1.2DMA控制器,返回目录,10.1.1基本概念,1DMA概念在外设与计算机之间传输信息(数据),可以用程序控制和中断控制的方法,其基本过程都是由CPU执行指令来完成的。DMA传送是一种让数据在外设和内存之间直接传送的方式,它与前两种方法一起,构成了计算机的三种传送方式。这种传送方式的基本特点是没有CPU参与数据传送,在DMA传送期间,CPU停止工作,把总线控制权让出来,在DMA控制器的管理下,提供给外设和内存使用。提出DMA传送的原因在于解决传送的速度问题。前两种方式每传送一个字节都需要耗用比较长的时间。在外设不断改进的情况下,一些外设产生或获取数据的速度大大加快,如果计算机的传送速度太慢就会使传送出错,或者传送效率降低。比如,常用的几种软盘机,它们的传输速度都在250KB/S以上,而硬磁盘机记录密度比软盘高将近一倍,转动速度提高了10倍,它的数据速度应是软盘的十几倍。这样,如还用这种办法传送,就不能满足外设的需求了。这样就提出了DMA传送的问题,解决问题的办法是省去传输中间环节,直接在外设和内存间存取。,返回目录,10.1.2DMA控制器,2DMA控制器的功能从上面的过程中可以看出,完成DMA传输的关键在于DMA控制器。所设计的DMA控制器应该完成些什么功能呢?(1)能够响应外设的DMA请求,使CPU暂停工作,接管总线控制权。(2)能够按节拍提供外设和存储器工作的各种信号。(3)提供存储器地址。(4)应是可编程的,使之能灵活运用。DMA控制器也已经集成在一个大规模集成电路上,其复杂程度不亚于一个CPU。它总是被设计成可编程的,所以在编程时它又是CPU的一个I/O设备。,返回目录,10.1.2DMA控制器,返回目录,外设与系统总线之间只进行数据总线的连接,它的工作与否受到DMAC的控制。DMAC的连接比较复杂,一方面它要与外设连接,接受DMA请求和控制外设动作。另外它还要与CPU联系,请求取得总线控制权,最后它还必须与系统总线上各种总线相接,进行总线的控制。为了理解这样连接的必要性,下面说明一种典型的DMA操作过程。(1)外设提出DMA传送请求

温馨提示

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

评论

0/150

提交评论