还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
微机原理期末复习第2章计算机的基本结构与工作过程
1.计算机的基本组成及各个组成部件的基本功能运算器运算器是进行算术运算(如加、减、乘、除等)和逻辑运算(如非、与、或等)的装置通常由算术逻辑部件ALU、专用寄存器X、Y和Z、累加器、通用寄存器RO、R
1、…、Rn-1以及标志寄存器F组成核心部件ALU用于完成算术运算和逻辑运算X、丫是ALU的输入寄存器,Z是ALU的输出寄存器X、Y、Z是与ALU不可分的一部分,通常称为ALU的数据暂存器X、丫中的数据可来自通用寄存器,也可来自存储器Z中的数据可送往通用寄存器,也可送往存储器F用于存放运算结果的状态,例如,结果是否为零,是正还是负,有无进位,是否溢出,等等控制器为了实现对计算机各部件的有效控制,快速准确地取指令、分析指令和执行指令,控制器通常由下面几部分组成指令寄存器IR——用于存放正在执行或即将执行的指令程序计数器PC——用于存放下一条指令的存储单元地址,它具有自动增量计数的功能存储器地址寄存器MAR——用于在访存时缓存存储单元的地址存储器数据寄存器MDR——用于在访存时缓存对存储单元读/写的数据指令译码器ID——用于对IR中的指令进行译码,以确定IR中存放的是哪一条指令控制电路一一产生时序脉冲信号,并在时序脉冲的同步下对有关的部件发出微操作控制命令(微命令),以控制各个部件的动作输入设备用来输入数据和程序的装置,其功能是将外界的信息转换成机内的表示形式并传送到计算机内部常见的输入设备有键盘、鼠标、图形数字化仪、图像扫描仪等“段基值”是段的起始地址的高16位“偏移量”(offset)也称偏移地址,它是所访问的存储单元距段的起始地址之间的字节距离给定段基值和偏移量,就可以在存储器中寻址所访问的存储单元在实模式下,“段基值”和“偏移量”均是16位的“段基值”由段寄存器CS、DS、SS、ES、FS和GS提供;“偏移量”由BX、BP、SP、SK DI、IP或以这些寄存器的组合形式来提供将段寄存器中的16位“段基值”左移4位(低位补0),再与16位的“偏移量”相加,即可得到所访问存储单元的物理地址上述由段基值(段寄存器的内容)和偏移量相结合的存储器寻址机制也称为“段加偏移”寻址机制,所访问的存储单元的地址常被表示成“段基值:偏移量”的形式默认的段和偏移寄存器段寄存器偏移地址寄存器主要用途CS IP指令地址SS SP或BP堆栈地址DS BX、DI、SI、8位或16位数数据地址ES串操作指令的DI串操作目的地址
5.堆栈的定义,堆栈的结构,堆栈的操作堆栈定义堆栈是存储器中的一个特定的存储区,它的一端(栈底)是固定的,另一端(栈顶)是浮动的,信息的存入和取出都只能在浮动的一端进行,并且遵循后进先出(Last InFirst Out)的原则堆栈的结构堆栈是在存储器中实现的,并由堆栈段寄存器SS和堆栈指针寄存器SP来定位SS寄存器中存放的是堆栈段的段基值,它确定了堆栈段的起始位置SP寄存器中存放的是堆栈操作单元的偏移量,SP总是指向栈顶这种结构的堆栈是所谓“向下生长的”,即栈底在堆栈的高地址端,当堆栈为空时SP就指向栈底堆栈段的段基址(由SS寄存器确定)并不是栈底堆栈的操作实模式下的堆栈为16位宽(字宽),堆栈操作指令(PUSH指令或POP指令)对堆栈的操作总是以字为单位进行要压栈(执行PUSH指令)时,先将SP的值减2,然后将16位的信息压入新的栈顶要弹栈(执行POP指令)时,先从当前栈顶取出16位的信息,然后将SP的值加2可概括为“压栈时,先修改栈指针后压入”,“弹栈时,先弹出后修改栈指针”第4章寻址方式与指令系统
1.寻址方式指出给定指令的源操作数及目的操作数的寻址方式;指出/比较给定寻址方式的特点数据寻址方式⑴立即寻址(Immediate addressing)MOV AL,80H指令中直接给出操作数,操作数紧跟在操作码之后,作为指令的一部分存放在代码段里,在取出指令的同时也就取出了操作数,立即有操作数可用,所以称之为立即寻址立即数可以为8位,也可以为16位如果是16位数,则“高位字节存放在高地址中,低位字节存放在低地址中”立即寻址方式常用于给寄存器赋值,并且只能用于源操作数,而不能用于目的操作数
(2)寄存器寻址(Register addressing)MOV AX,BX操作数在寄存器中,指令中指明寄存器号,这种寻址方式叫寄存器寻址对于8位操作数,寄存器可以是AH,AL,BH,BL,CH,CL,DH,DL对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP,BP,CS,DS,ES,SS OSCS不能作目的寄存器)两个操作数不能都是段寄存器操作数就在寄存器中,不需要访问存储器来取得操作数(指令执行时,操作就在CPU的内部进行,因而执行速度快;寄存器号比内存地址短除以上两种寻址方式外,下面各种寻址方式的操作数均在存储器中,通过采用不同的寻址方式取得操作数地址,从而取得操作数3直接寻址Direct AddressingMOV AX,DS:[2000H]在直接寻址方式中,指令中直接给出操作数的有效地址,或者说,有效地址EA就在指令中它操作数的有效地址,而不是操作数本身存放在代码段中指令的操作码之后,但操作数一般存放在数据段中规定双操作数指令不能两个操作数都用直接寻址方式4寄存器间接寻址Register indirectAddressingMOV AX,[BX]采用寄存器间接寻址方式时,指令中给出寄存器号寄存器为BX,BP,SI和DI之一,被指定的寄存器中存放着操作数的有效地址,操作数在存储器中以寄存器的内容为操作数的有效地址BX对应段寄存器为DS;BP——SS;SI——DS;DI——DS5寄存器相对寻址Register relativeaddressingMOV AX,[SI+3000H]操作数的有效地址是一个基址或变址寄存器的内容与指令中指定的8位或16位位移量Displacement之和这种寻址方式可用于表格的处理,通过位移量来设置表格的首地址,利用修改基址寄存器或变址寄存器的内容来获得表项的值6基址变址寻址Based indexedaddressingMOV AX,[BX+DI]操作数的有效地址是一个基址寄存器和一个变址寄存器内容之和,两个寄存器均由指令指定这种寻址方式同样适用于表格或数组的处理,表的首地址可存放在基址寄存器中,而用变址寄存器来访问表格中的各项由于两个寄存器都可以修改,使用起来更灵活7相对基址加变址寻址Relative basedindexed addressMOV AX,[BX+SI+0250H]也称“带位移量的基址加变址寻址方式”,操作数的有效地址是一个基址寄存器和一个变址寄存器内容与8位或16位位移量之和这种寻址方式可用于访问二维数组设数组元素在内存中按行顺序存放(首先放第一行所有元素,再放第二行所有元素,……)o通过改变基址寄存器(如BX)和变址寄存器(如SD的值可以访问数组中不同行和列上的元素转移地址的寻址方式⑴段内直接转移(直接近转移)JMP L转移地址(通常就是近标号)直接包含在汇编形式的转移指令中,转移指令的机器代码中存放的是该标号与当前IP值的差(标号TP),此差称为位移量,该位移量与转移指令一起存于代码段位移量被放在转移指令的操作码之后,也是“高字节放在高地址单元,低字节放在低地址单元”在取转移指令时,此位移量即作为转移指令的一部分被取入CPU中执行转移指令时,将这个位移量加到IP上即可得到转移地址(标号的值),即IP+(标号TP);标号:转移地址不必为找这个转移地址再去访问寄存器或存储器
(2)段内间接转移(间接近转移)
①寄存器操作数(也称寄存器寻址)JMP BX
②存储器操作数(也称存储器寻址)⑴直接寻址JMP WORDPTR DS:
[20]其特征是转移地址(偏移地址部分)在数据存储单元中,数据存储单元的地址在指令中直接给出(ii)寄存器间接寻址JMP[BX]其特征是转移地址(偏移地址部分)在数据存储单元中,数据存储单元的偏移地址在BX、BP、SK DI之一中(iii)寄存器相对寻址JMP[BX+20]其特征是转移地址(偏移地址部分)在数据存储单元中,数据存单元的偏移地址是寄存器(BX、BP、SK DI之一)的内容与位移量的和(iv)基址变址寻址JMP[BX+SI]其特征是转移地址(偏移地址部分)在数据存储单元中,数据存储单元的偏移地址是基址寄存器(BX、BP之一)的内容和变址寄存器(SKDI之一)的内容之和(v)基址变址相对寻址JMP[BX+SI+20]其特征是转移地址(偏移地址部分)在数据存储单元中,数据存储单元的偏移地址是基址寄存器(BX、BP之一)的内容、变址寄存器(SI、DI之一)的内容及位移量的和⑶段间直接转移(直接远转移)JMP FARPTR L转移地址(通常就是远标号)直接包含在汇编形式的转移类指令中,也直接存放在转移类指令的机器代码中,它是转移类指令不可分割的一部分,位于转移类指令的操作码之后高字存放转移地址的段基值部分,低字存放转移地址的偏移地址部分在取转移类指令时,此段基值和偏移地址作为转移类指令的一部分被取入CPU中,执行转移类指令时,不必为找转移地址再去访问寄存器或存储器
(4)段间间接转移(间接远转移)JMP DWORDPTR[BX+SI+20]段间间接转移时的转移地址既包含偏移地址部分,又包含段基值部分,在数据存储器中占两个字低字单元存放偏移地址,高字单元存放段基值
2.指令系统熟悉和掌握8086指令系统常用指令的格式与功能(通过编程或阅读程序来体现);条件转移指令(P120);逻辑运算和移位指令;串操作指令(串传送指令MOVSB);XLAT指令;CMP指令;TEST指令*十进制调整指令(DAA,DAS;AAA,AAS,AAM,AAD)*指令的机器码格式第5章汇编语言的基本语法练习1根据下面的数据定义ORG10HDAT1DB10DUP()DAT2EQU12HDAT3DW56H,$+10确定数据项$+10的值$:地址计数器的当前值;0RG:指定下一个要用的存储单元的偏移地址DATA SEGMENTTABDW1,2,3,4,5,6ENTRY EQU3DATA ENDSCODESEGMENTASSUME CS:CODE,DS:DATAL:MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABADDBX,ENTRYMOV AX,[BX]CODE ENDSENDL上述程序执行后,AX=:若定义DAT DD12345678H,则(DAT+1)字节单元的数据是()要求能够阅读和编写完整的汇编语言程序(DOS环境下),包括数据段、堆栈段、代码段的定义;程序中能够判别有键按下时退出当前程序并返回DOS(16H BIOS中断调用的1号功能,DOS功能调用的4cH号功能第7章微处理器的内部结构及外部功能特性总线接口单元BIU BusInterface Unit是微处理器与微机中其他部件进行连接与通信的物理界面通过这个界面,实现微处理器与其他部件之间的数据信息、地址信息以及控制命令信号的传送另外,BIU还有地址总线驱动、数据总线驱动、总线周期控制及总线仲裁等多项功能Pentium处理器的外部数据总线宽度为64位,它与存储器之间的数据传输率可达528MB/S由于Pentium处理器内部的算术逻辑单元ALUArithmatic LogicUnit和寄存器的宽度仍是32位的,所以它仍属于32位微处理器Pentium处理器的地址总线位数为32位,即它的直接寻址物理地址空间为232=4GBO指令Cache与数据Cache,可以使CPU在较低速的存储器件条件下获得较高速的存储器访问时间,并提高系统的性能价格比Pentium处理器中的Cache设计与80386和80486有很大的不同,它采用哈佛结构把Cache分为“指令Cache”和“数据Cache”分别设置,从而避免仅仅设置统一Cache时发生存储器访问冲突的现象Pentium包括两个8KB的Cache,一个为8KB的数据Cache,一个为8KB的指令Cacheo指令Cache只存储指令,而数据Cache只存储指令所需的数据,这两个Cache可以并行工作在只有统一的高速缓存的微处理器如80486中,一个数据密集的程序很快就会占满高速缓存,几乎没有空间用于指令缓存,这就降低了微处理器的执行速度在Pentium中就不会发生这种情况,因为它有单独的指令Cache转移目标缓冲器BTB BranchTarget Buffer动态预测程序的转移操作在程序执行时,若某条指令导致转移,便记忆下这条转移指令的地址及转移目标地址,并用这个信息来预测这条指令在此发生转移时的路径,预先从这里记录的“转移目标地址”处预取指令,以保证流水线的指令预取不会空置指令预取器和预取缓冲器,指令预取器按给定的指令地址,从指令Cache中顺序取出指令放入预取缓冲器中,直到在指令译码阶段遇到一条转移指令并预测它在指令执行阶段将发生转移时为止指令译码器将预取来的指令译码,以确认该指令的操作执行单元EU,以两个ALU为中心,完成U、V流水线中两条指令的算术及逻辑运算浮点处理单元FPU专门用来处理浮点数或进行浮点运算,也称浮点运算器控制单元CU的基本功能是控制整个微处理器按照一定的时序过程一步一步完成指令的操作
2.指令流水线的工作特点“超标量流水线”结构是Pentium处理器设计技术的核心流水线(pipeline)方式是把一个重复的过程分解为若干子过程,每个子过程可以与其他子过程并行进行的工作方式采用流水线技术设计的微处理器,把每条指令分为若干个顺序的操作(如取指、译码、执行等),每个操作分别由不同的处理部件(如取指部件、译码部件、执行部件等)来完成这样构成的微处理器,可以同时处理多条指令采用流水线技术,可以加快计算机执行程序的速度并提高处理部件的使用效率Pentium处理器的流水线由分别称为“U流水”和“V流水”的两条指令流水线构成(双流水线结构),其中每条流水线都拥有自己的地址生成逻辑、ALU及数据Cache接口Pentium的每一条流水线也是分为五个阶段(5级流水)“指令预取”、“指令译码”、“地址生成”、“指令执行”和“回写”Pentium处理器实现的是两条流水线的并行操作,而每条流水线由五个流水级构成对于每个处理部件来说,每条指令的同类操作(如取指令)就像流水一样连续被加工处理
3.微处理器典型引脚的名称、功能、方向按功能的不同,可将这132个引脚信号分成4组存储器/I0接口、中断接口、DMA接口、协处理器接口名称功能方向有效电平CLK2系统时钟输入地址总线输出A I~A32字节允许输出0BE-BEO3数据总线输入/输出DH~DOBS1616位总线宽度输入0W/R写/读指示输出1/0D/C数据/控制指示输出1/0M/I0存储器/IO指示输出1/0ADS地址状态输出0READY就绪输入0NA下一地址请求输入0LOCK总线封锁输出0INTR中断请求输入1NMI非屏蔽中断请求输入1RESET系统复位输入1HOLD总线保持请求输入1HLDA总线保持响应输出1PEREQ协处理器请求输入1BUSY协处理器忙输入0ERROR协处理器错输入0M/IO信号其功能是“存储器/I0指示”,用以告诉外部电路当前微处理器是在访问存储器还是I/O接口;该信号的传送方向是输出,即它是由微处理器产生的输出信号;它的有效电平为I/O,其含义为,在这个信号线上的逻辑I电平表明CPU当前是在访问存储器,而逻辑0电平表明是在访问I/O接口INTR信号是可屏蔽中断请求输入信号,其有效电平是逻辑1外部设备利用这个信号通知微处理器,它们需要得到服务INTR输入是可屏蔽的,即它的操作可以通过微处理器内部的标志寄存器中的“中断标志位(IF)予以允许或禁止NMI信号非屏蔽中断NMI输入,是不可屏蔽的中断输入只要在NMI引脚上出现0到1的跳变,不管中断标志IF的状态如何,一个中断服务请求总会被微处理器所接受在执行完当前指令后,程序一定会转移到非屏蔽中断服务程序的入口处地址和数据总线信号80386DX的地址总线信号A31A2和数据总线信号D31DO被分别设定在不同的引脚上两位地址〜〜码A1和A0被80386DX内部译码,产生字节允许信号BE
3、BE
2、BE1和BEO,以控制在总线上传送字节、字或双字地址总线是输出信号线它们用于传送从CPU到存储器或I/O接口的地址信息在实模式下,20位地址给出了80386DX寻址1M
(220)字节物理地址空间的能力;而在保护模式下,32位地址可以寻址4G
(232)字节的物理地址空间在数据总线上传送数据的类型是对存储器读/写的数据或指令代码、对外部设备输入/输出的数据以及来自中断控制器的中断类型码等字节允许字节允许(低电平有效)数据总线信号BED-D07ODi5~DgBEIREADY信号READY信号用于插入等待状态(Tw)到当前总线周期中,以便通过增加时钟周期数使之得到扩展通过将READY信号变为逻辑0,存储器或I/O接口可以告诉80386DX它们已经准备好,处理器可以完成数据传送操作HOLD信号当一个外部电路(如DMA控制器)希望掌握总线控制权时,它就通过将HOLD输入信号变为逻辑1来通知当前的总线主80386DXoHLDA信号80386DX如果同意放弃总线控制权(未在执行带LOCK前缀的指令),就在执行完当前总线周期后,使相关的总线输出信号全部变为高阻态(第三态),并通过将HLDA输出信号变到逻辑1电平来通知外部电路它已交出了总线控制权80386DX维持这种状态直至“总线保持请求”信号撤消(变为逻辑0),随之80386DX将“总线保持响应”信号也变为逻辑0,并重新收回总线控制权*总线时序第8章1/0接口与DMA技术L两种I/O端口编址方式的优缺点等输出设备用来输出数据和程序的装置,其功能是将计算机内的数据和程序转换成人们所需要的形式并传送到计算机外部常见的输出设备有显示器、打印机、绘图机等等存储器计算机中的指令和数据都表现为二进制数码为了准确地对存储器进行读或写,通常以字节或以字为单位将存储器划分为一个个存储单元,并依次对每一个存储单元赋予一个序号,该序号称为存储单元的地址存储单元中存放的数据或指令称为存储单元的内容地址的位数由控制器地址线的位数确定,每个存储单元中内容的位数由设计计算机时对存储器的编址方法确定基本结构
2.微型计算机系统的组成CPU、存储器、I/O接口、输入/输出设备CPU、存储器、I/O接口电路之间用三组总线相连:地址总线AB,Address Bus.数据总线DB,Data Bus控制总线CB,Control Bus0地址总线、数据总线、控制总线通常统称为系统总线从传输方向上看,数据总线是双向的,地址总线是单向的,控制总线中的信号线有的是单向的,也有的是双向的
3.计算机执行指令的基本过程P481控制器把PC中的指令地址送往存储器地址寄存器MAR,并发出读命令“M读”存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中2指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令3当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,然后向存储器发出读命令“M读”,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器统一编址,也称存储器映像的I/O MemoryMapped I/O方式这种编址方式的优点是,可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理例如,若一个存储器映像的I/O端口地址为3000H,则可以直接用指令“ADD AL,DS:[3000H]”对端口的内容进行算术运算缺点是由于I/O端口占用了一部分存储器地址空间,因而使用户的存储地址空间相对减小;另外,由于利用访问存储器的指令来进行I/O操作,指令的长度通常比单独I/O指令要长,因而指令的执行时间也较长分开编址,也称I/O映像的I/O I/O MappedI/O方式这种编址方式的优点是第一,I/O端口不占用存储器地址,故不会减少用户的存储器地址空间;第二,单独I/O指令的地址码较短,地址译码方便,I/O指令短,执行速度快;第三,采用单独的I/O指令,使程序中I/O操作和其他操作层次清晰,便于理解这种编址方式的缺点是第一,单独I/O指令的功能有限,只能对端口数据进行输入/输出操作,不能直接进行移位、比较等其他操作;第二,由于采用了专用的I/O操作时序及I/O控制信号线,因而增加了微处理器本身控制逻辑的复杂性
2.三种I/O控制方式的特点程序控制方式程序控制方式是指在程序控制下进行的数据传送方式它又分为无条件传送和程序查询传送两种⑴无条件传送方式优点控制程序简单缺点必须在外设已准备好的情况下才能使用,否则传送就会出错2程序查询传送方式优点准确、可靠缺点占用了大量时间,真正用于传送数据的时间却很少程序查询方式的明显缺点CPU的利用率低因为CPU要不断地读取状态字和检测状态字,如果外设未准备好,CPU还要继续查询等待;不能满足实时控制系统对I/O处理的要求,如果一个系统有多个外设,那么CPU只能轮流对每个外设进行查询,但这些外设的工作速度往往差别很大这时CPU很难满足各个外设随机对CPU提出的输入/输出服务要求中断控制方式与程序查询方式相比,中断控制方式的数据交换具有如下特点1提高了CPU的工作效率;2外围设备具有申请服务的主动权;33CPU可以和外设并行工作;4可适合实时系统对I/O处理的要求DMA方式不需要CPU干预不需CPU执行程序指令,而在专门硬件控制电路控制之下进行的外设与存储器间直接数据传送的方式,称为直接存储器存取Direct MemoryAccess,简称DMA方式技术DMAC的结构P243DMA工作过程1I/O接口向DMA控制器发送DMA请求信号;⑵DMA控制器向CPU发总线请求信号,当得到CPU送来的总线允许信号后,DMA控制器获得总线控制权;3DMA控制器将其地址寄存器的内容送到地址总线上4DMA控制器往I/O接口发送DMA响应信号,并接着发出读I/O接口信号I0R,令I/O接口把数据送到数据总线上;5DMA控制器发出存储器写信号MEMW,将数据传送到由地址总线上的地址所指向的内存单元;6DMA控制器放弃对总线的控制权;7地址寄存器加1;8字节计数寄存器减1;9如果字节计数寄存器的值不为零,则返回第一步,否则结束*8237的初始化编程第9章中断及中断控制器
1.中断的定义在程序运行时,系统外部、内部或现行程序本身若出现紧急事件,处理器必须立即强行中止现行程序的运行,改变机器的工作状态并启动相应的程序来处理这些事件,然后再恢复原来的程序运行,这一过程称为中断中断响应和处理的过程如下:1关中断CPU在响应中断时,发出中断响应信号INTA,同时内部自动地关中断,以禁止接受其他的中断请求⑵保存断点把断点处的指令指针IP值和CS值压入堆栈,以使中断处理完后能正确地返回主程序断点3识别中断源CPU要对中断请求进行处理,必须找到相应的中断服务程序的入口地址,这就是中断的识别⑷保护现场为了不使中断服务程序的运行影响主程序的状态,必须把断点处有关寄存器指在中断服务程序中要使用的寄存器的内容以及标志寄存器的状态压入堆栈保护5执行中断服务程序在执行中断服务程序中,可在适当时刻重新开放中断,以便允许响应较高优先级的中断⑹恢复现场并返回即把中断服务程序执行前压入堆栈的现场信息弹回原寄存器,然后执行中断返回指令,从而返回主程序继续运行在上述中断响应及处理的6项操作中,前3项是中断响应过程,一般由中断系统硬件负责完成;后3项是中断处理过程,通常是由用户或系统程序设计者编制的中断处理程序软件负责完成
2.中断的分类根据进入中断的方式可分为自愿中断和强迫中断根据其重要性可分为可屏蔽中断和不可屏蔽中断根据中断源的位置可分为内部中断和外部中断等等
3.中断类型码、中断向量及中断向量表所谓中断向量interrupt vector,实际上就是中断服务程序的入口地址,每个中断类型对应一个中断向量每个中断向量占4字节的存储单元其中前两个字节单元存放中断服务程序入口地址的偏移量IP,低字节在前,高字节在后;后两个字节单元存放中断服务程序入口地址的段基值CS,也是低字节在前,高字节在后80x86实模式系统把中断服务程序入口地址信息设置在存储器的最低端,即从00000H003FFH的1K〜字节存储空间中这一存储空间就叫中断向量表在中断向量表中,各中断向量按中断类型码从0到255顺序存放这样,知道了中断类型码,很快就可算出相应中断向量的存放位置,从而取出中断向量每个中断向量的地址可由中断类型码乘以4计算出来CPU响应中断时,只要把中断类型码N左移2位乘以4,即可得到中断向量在中断向量表中的对应地址4N该中断向量所占4个字节单元的第一个字节单元的地址然后把由此地址开始的两个低字节单元的内容装入IP寄存器IP-4N,4N+1,再把两个高字节单元的内容装入CS寄存器CS-4N+2,4N+3例中断类型码为20H,则中断服务程序的入口地址存放在中断向量表从00000080H开始的4个字节单元中若这4个字节单元的内容分别为00000080II=10H00000081H=20H00000082H=30H00000083H:40H试指出相应的中断服务程序的入口地址例中断类型码为17H,若中断服务程序的入口地址为2340H:7890H,试指出中断向量表中存放该中断向量的4个字节单元的地址及内容响应可屏蔽中断与非屏蔽中断的不同
5.可编程中断控制器8259A基本功能;单片与级联使用;ICW2,0CW1,0CW2第10章并行通信及其接口电路8255A的编程应用(方式0)从一个□读入,经一定处理后从另一个口送出;交通灯控制等第11章串行通信及其接口电路
1.串行通信的基本概念数据在单条1位宽的传输线上按时间先后一位一位地传送.节省传输线(优点),数据传输率较低(缺点),主要适用于长距离、低速率的通信中异步方式同步方式同步字符(SYN1)-同步字符(SYN2)-数据(DATA)波特率与波特率因子数据传输率每秒传输的二进制位数,单位为bps(bit persecond)也称比特率波特率每秒传输的“符号”(也称信号码元一Signal Element)的个数在计算机中,一个“符号”的含义为高、低两种电平,分别代表逻辑值“1”和“0”,所以每个符号的信息量为1比特,此时波特率与比特率刚好一致F(时钟频率)=波特率因子大波特率波特率因子数据传输率(波特率)与时钟频率之间的比例系数8253计数初值(分频系数)=时钟频率/(波特率*波特率因子)*串行通信接口标准RS-232c等将内存中的一个数据块(给定起始地址和长度)通过8251A以查询方式发送出去;对方以查询方式接收放入指定的内存单元中8251A可分为5个部分
(1)接收器,
(2)发送器,
(3)数据总线缓冲器,
(4)调制解调器控制电路,
(5)读写控制逻辑电路第12章可编程定时器/计数器及其应用8253的编程应用利用8253产生给定周期和脉冲宽度的周期性脉冲信号按动一次按键开关产生一定持续时间、一定频率的脉冲信号给扬声器第13章存储器及其接口
1.SRAM与DRAM的特点SRAM静态RAM存储电路MOS管较多,集成度不高,同时由于Tl、T2管必定有一个导通,因而功耗较大静态RAM的优点是不需要刷新电路,从而简化了外部控制逻辑电路,此外静态RAM存取速度比动态RAM快,因而通常用作微型计算机系统中的高速缓存CacheDRAM与静态RAM相比,动态RAM基本存储电路所用的MOS管少,从而可以提高存储器的存储密度并降低功耗动态RAM的缺点是存取速度比静态RAM慢;需要定时刷新,因此需增加相应的刷新支持电路;此外,在刷新期间CPU不能对内存模块启动读/写操作,从而损失了一部分有效存储器访问时间DRAM的高存储密度、低功耗及每位价格便宜的突出优点,使之非常适用于在需要较大存储容量的系统中用作主存储器现代PC机均采用各种类型的DRAM作为可读写主存
2.三种片选控制方式的特点1全译码方式全译码方式就是除了将地址总线的低位地址直接连至各存储芯片的地址线外,将所有余下的高位地址全部用于译码,译码输出作为各存储芯片的片选信号优点是存储器中每一存储单元都有惟一确定的地址缺点是译码电路比较复杂相对于部分译码2部分译码方式所谓部分译码方式就是只选用地址总线高位地址的一部分而不是全部进行译码,以产生各个存储器芯片的片选信号优点:片选译码电路比较简单;缺点:存储空间中存在地址重叠区,使用时应予以注意显然,如果有n位地址不参加译码,则一个存储单元将有2n个地址与其对应3线选方式线选方式就是将地址总线的高位地址不经过译码,直接将它们作为片选信号接至各存储芯片的片选输入端,即采用线选方式,根本不需要使用片选译码器在采用线选方式的存储系统中,软件上必须保证在存储器寻址时片选线中只能有一位有效例如定义为逻辑“0”,而不允许多于一位的片选线同时有效否则,将导致存储器操作的差错线选方式的突出优点无须使用片选译码器;缺点:存储地址空间被分成了相互隔离的区段,造成地址空间的不连续片选线多于一位为“0”以及片选线为全“1”的地址空间不能使用,给编程带来不便另外,在采用线选方式时,如果某些地址线闲置不用既不用作片内地址,也不用作片选线,则在地址空间中还会存在地址重叠现象线选方式通常适用于存储容量较小且不要求存储容量扩充的小系统中
3.存储器接口的分析指出给定存储子系统的存储容量与地址范围
4.存储器接口的设计给定存储芯片,构成一定容量和特定地址范围的存储子系统1比较82385“直接映像”和“两路组相联”的“内部Cache目录”的差异“直接映像”Cache存储阵列被安排成一个单一的64K字节存储体,而主存被看成64K的页序列,标为页0页n〜主存中的所有页的相同偏移量的存储单元图中标为X0Xn,均映像到Cache存储阵列中标为〜X的同一个存储单元这就是说,主存的一个64K字节页的每个单元映像到Cache存储阵列的各个对应单元将4GB丰存空间看成由一系列32KB8K个双字-----------行的页组成容易算出共有4GB+32KB=128K=2页从第0页第2”-[页,页号需17位二进制表示把Cache分成1024〜组set,每组含8行8个双字,一行是主存和Cache之间一次传输的信息量Cache的每一组对应一个26位的目录项,1024个目录项组成一个Cache总目录Cache目录项中包含17位的“标记”TAG,1位“标记有效位”,8位“行有效位”“标记”的值就是32K的页的页号“标记”用17位表示“两路组相联”64K字节的Cache存储阵列分成了两个32K字节的存储体,即Cache被分为两路BANK A和BANK Bo主存被看成大小等于Cache中一个BANK的页序列但由于此时一个BANK32K字节,所以主存的页数是直接映像方式的两倍这样,主存每页中特定偏移量的存储单元,可映像到BANK A或BANK B的相同存储单元例如,X2单元可映象到XA,也可映像到XB优点两路组相联的组织方式可导致较高的Cache操作命中率缺点Cache控制器较复杂主存仍为4GB,Cache为32KB,分为A路和B路,每路16KB每个双字32位为一行,8个双字为一组,因此每路有512组主存页[面]大小为16KB,4GB的主存分为256K页82385内部的Cache目录中,共含512X2个目录项每个目录项27位,其中,18位标记,以区分256K个页;1位标记有效位;另外8位为行有效位主存每个“存储页”上处于相同位置的行对应于Cache中两路中的各一行A行或B行2说明在82385控制下,CPU进行一次读操作的工作过程“直接映像”当80386送来A31A2主存地址时,82385便以其中的10位组地址从其内部1024个目录项中选择一〜个,并依据下述三个条件进行判断,若
①其标记与地址A31A15相等;
②且标记有效位为1;
③同时相应的行有效位也为1,则命中从而〜使Cache中选定的双字送80386数据总线,完成一次存储器读操作若其中有任一条件不符,则表示不命中,系统都会直接访问主存,而且在数据送给80386的同时写入Cache中,接着修改82385内部的相应目录项如果是行未命中即80386的高17位地址与Cache目录标记相等,而且标记有效位为1,但行有效位为0,则目录修改过程很简单,只需将对应的“行有效位”改为1;如果是标记未命中,则目录修改包括将A31A15的值写入目录项的标记中,再将“标记有效〜位”置1,又将对应的“行有效位”置1,同时将其他7个“行有效位”清Oo以后,再遇到这个目录项的“标记命中”而“行未命中”时,只需将对应的“行有效位”置1即可“双路组相联”当80386送来A31A2主存地址时,根据A13A5从512X2个目录项选一对目录项然后82385用〜〜A31A14和两个所选目录项的标记比较,并检查两个目录项的标记有效位和行有效位(两个目录项〜的比较和检测同时进行)如果检测到有一个目录项符合命中要求,那么,82385会使对应的一路Cache中的一个双字送到系统数据总线上如果数据在A路Cache中,则使这一对目录项的LRU位指向B;反之,则使LRU位指向A在80386进行写操作时-,如果写入的区块(行)已映象到Cache中,则产生Cache写入命中这时,Cache相应区块和主存一起更新内容如果A路Cache命中,则更新A路的区块,且使LRU位指向B路;如果B路命中,则更新B路的Cache,并使LRU位指向A路复位时,目录中所有的标记有效位清0
(3)直写式(Write through)的特点每当CPU把数据写到Cache中时,Cache控制器会立即把数据写入主存对应位置所以,主存随时跟踪Cache的最新版本,从而,也就不会有主存将新的数据丢失这样的问题每当CPU把数据写到Cache中时,Cache控制器会立即把数据写入主存对应位置所以,主存随时跟踪Cache的最新版本,从而,也就不会有主存将新的数据丢失这样的问题第15章总线技术
1.总线的定义总线是计算机两个或两个以上的模块(部件或子系统)之间相互连接与通信的公共通路总线不仅仅是一组传输线,它还包括一套管理信息传输的规则(协议)在计算机系统中,总线可以看成一个具有独立功能的组成部件总线通常包括一组信号线,主要的信号线有
(1)数据线和地址线这一类信号线决定了数据传输的宽度和直接寻址的范围⑵控制、时序和中断信号线这一类信号线决定了总线功能的强弱以及适应性的好坏⑶电源线和地线这一类线决定了电源的种类及地线的分布和用法⑷备用线这一类线是厂家和用户作为性能扩充或作为特殊要求使用的信号线
2.总线的分类⑴片总线Chip Bus,C-Bus又称元件级总线,是把各种不同的芯片连接在一起构成特定功能模块如CPU模块的信息传输通路2内总线Internal Bus,I-Bus又称系统总线或板级总线,是微机系统中各插件模块之间的信息传输通路例如CPU模块和存储器模块或I/O接口模块之间的传输通路3外总线External Bus,E-Bus又称通信总线,是微机系统之间或微机系统与其他系统仪器、仪表、控制装置等之间信息传输的通路,如EIA RS-232C.IEEE-488等
3.总线仲裁总线仲裁是指在总线上有多个总线主模块同时请求使用总线时,决定由哪个模块获得总线控制权所谓“总线主模块”,就是具有总线控制能力的模块,在获得总线控制权之后能启动数据信息的传输,如CPU或DMA控制器都可成为这种具有总线控制能力的主模块;与总线主模块相对应的是“总线从模块”,它是指能够对总线上的数据请求作出响应,但本身不具备总线控制能力的模块,如前面介绍过的并行接口电路8255A、中断控制器8259A等为了让多个总线主模块合理、高效地使用总线,就必须在系统中有处理上述总线竞争的机构,这就是总线仲裁器bus arbitero它的任务是响应总线请求,合理分配总线资源基本的总线仲裁方式有两种,即串行总线仲裁方式和并行总线仲裁方式1串行总线仲裁方式在串行总线仲裁方式中,各个总线主模块获得的总线优先权决定于该模块在串行链中的位置
(4)当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令“M写”,MDR中的数据即被写入由MAR指示地址的存储单元中5)一条指令执行完毕后,控制器就要接着执行下一条指令为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址在遇到“转移”指令时,控制器则把“转移地址”送入PC控制器不断重复上述过程的
(1)到⑸,每重复一次,就执行了一条指令,直到整个程序执行完毕
4.硬布线控制器与微程序控制器的基本结构、工作原理及各自特点硬布线控制器(硬连线控制器或组合逻辑控制器)基本结构硬布线控制器主要由环形脉冲发生器、指令译码器和微命令编码器组成环形脉冲发生器用于循环地产生节拍脉冲信号;指令译码器用于确定IR中存放的是哪一条指令;微命令编码器用于在不同节拍脉冲信号的同步下产生相应的微命令信号工作原理在取指令和执行指令时,都需要控制器能针对不同的指令在不同的机器周期内发出所需要的各种微命令例如,在取指令时,就需要控制器在第一个周期内发出PCOUT、MARIN、M读、PC加共4个微命令,在第二个周期内发出MDROUT和IRIN两个微命令针对前面给出的4条指令及对指令执行过程的讨论,可归纳出对不同指令在不同机器周期内应发出的微命令如表2-2所示表中的End代表指令执行结束的微命令指令名T1T2T3T4T5当一个模块需要使用总线时,先检查“总线忙”信号若该信号有效,则表示当前正有其他模块在使用总线,因此该模块必须等待,直到“总线忙”信号无效在“总线忙”信号处于无效状态时,任何需要使用总线的主模块都可以通过“请求”线发出总线请求信号总线“允许”信号是对总线“请求”信号的响应2并行总线仲裁方式每个模块都有总线“请求”和总线“允许”信号各模块间是独立的,没有任何控制关系当一模块需要使用总线时,也必须先检测“总线忙”信号当“总线忙”信号有效时,则表示其他模块正在使用总线,因此该模块必须等待当“总线忙”信号无效时,所有需要使用总线的模块都可以发出总线“请求”信号总线仲裁器中有优先权编码器和优先权译码器总线“请求”信号经优先权编码器产生相应编码,并由优先权译码器向优先权最高的模块发出总线“允许”信号得到总线“允许”信号的模块撤销总线“请求”信号,并置“总线忙”信号为有效状态,当该模块使用完总线后再置“总线忙”信号为无效状态在串行、并行两种总线仲裁方式中,串行方式由于信号的串行传输会加大延迟当串行模块链上的模块数目过多时甚至可能会超过系统允许的总线优先权仲裁时间,而且当高优先级的模块频繁使用总线时,低优先权的模块可能会长时间得不到总线串行方式只用于较小的系统中而并行方式则允许总线上连接许多主模块,而且仲裁电路也不复杂,因此是一种比较好的总线仲裁方法LOAD PCoutMDRout IRoutMDRout End00MARin IRinMARin RlinM读M读PC加ADD同上同上IRout MDRoutYinRlout01MARin addM读STORE同上同上IRout RloutEnd10MARin MDRinM写JMP同上同上IRout End11PCin如果用“・”表示“与”,用“+”表示“或”,用Ti表示第i个机器周期的节拍脉冲信号,并设所有的信号都是高电平有效,则可用一个逻辑表达式来表示某个微命令应在什么时间发出、对哪些指令发出例如,对于微命令MARIN,所有的四条指令在T1周期内都需要,LOAD、ADD、STORE三条指令在T3周期内也需要,而其他指令则不需要描述上述关系的逻辑表达式就是MARIN=T1LOAD+ADD+STORE+JMP+T3LOAD+ADD+STORE=T1+T3LOAD+ADD+STOREo・・・优缺点硬布线控制器直接由组合逻辑电路产生微操作控制信号,因而其操作速度较快,但相应的控制逻辑电路十分庞杂,给设计、调试和检测都带来不便这种形式的控制器设计完毕后若想扩充和修改,则更为困难其突出的优点是指令执行速度很快,常用于RISC结构的机器中微程序控制器基本组成主要由控制存储器(CM)、微指令寄存器(UIR)、微地址寄存器(PAR)和微地址形成电路等部件组成基本原理
(1)在微程序中有一条或几条微指令,其微命令是实现“取指”的操作,称为“取机器指令用的微指令”,属于微程序的公用部分在开始执行机器指令时,先从控制存储器中读取“取机器指令用的微指令”,它所包含的微命令使CPU访问主存储器,读取机器指令,送入指令寄存器IR,然后修改程序计数器PC的内容
(2)根据机器指令中的操作码,通过微地址形成电路,找到与该机器指令所对应的微程序入口地址
(3)逐条取出对应的微指令,每一条微指令提供一个微命令序列,控制相关部件的操作执行完一条微指令后,根据微地址形成方法产生后继微地址,读取下一条微指令
(4)执行完对应于一条机器指令的一段微程序后,返回到“取机器指令用的微指令”,开始读取与执行又一条机器指令顺序控制方式
(1)初始微地址的形成每一条机器指令由一段对应的微程序解释执行,该段微程序的入口地址就是所谓的初始微地址(i)读取机器指令在整个微程序中需设置一小段公用的“取机器指令用的微程序”,来实现读取机器指令的操作这段微程序可以从控制存储器的0#单元或其他特定单元开始,这样就可以以该单元地址为初始微地址读取机器指令(ii)功能转移取出机器指令后,根据指令代码转换成相应的微程序段入口地址,称为功能转移常见的有“一级功能转移”和“多级功能转移”等
(2)后续微地址的形成每条微指令执行完毕后,都要根据其顺序控制字段的规定形成后续微地址常用的有增量方式与断定方式两种类型(i)增量方式又称计数器方式,是用微程序计数器u PC(即微地址寄存器U AR)来产生下一条微指令的微地址,将微程序中各条微指令按执行顺序安排在控制存储器中,后续微地址由现行微地址加上一个增量来得到uPC的更新一般是进行加1的操作,但当遇到特殊情况时可做专门的处理例如微程序结束时,复位到初始微地址,这个微地址可由初始微地址生成电路产生PPCii断定方式这是一种将“直接给定”与“测试断定”相结合的方式具体做法是,直接给定微地址的高位部分,而将微地址的若干低位作为可断定的部分,相应地在微指令的顺序控制字段中设置断定条件,即微地址低位段的形成条件优缺点与硬连线控制器相比,微程序控制器是一种利用软件方法来设计硬件的技术,可实现复杂指令的操作控制它具有规整性的突出优点,它实质上是用程序的方法来产生和组织微命令信号将程序技术引入CPU,用存储逻辑控制代替组合逻辑控制将存储逻辑引入CPUo微程序控制器每执行一条指令都要启动控制存储器中的一串微指令即一段微程序,因此指令的执行速度相对于“硬布线”控制器来说要慢微程序控制器的另一个优点是其灵活性它使得在计算机中可以较方便地增加和修改指令,只要增加或修改一部分微程序即可甚至可以实现其他计算机的指令系统,从而可以在一种计算机上运行另一种计算机的指令代码这种实现不同机器指令系统的方式称为计算机系统的“指令仿真Emulation”计算机的指令仿真是一种获得机器软件兼容的方法,它使得已有软件能够在新型的计算机中继续运行第3章微处理器的编程结构处理器的寄存器结构通用寄存器多功能寄存器共有8个通用寄存器,按它们的功能差别,又可分为两组,即“通用数据寄存器”及“指针寄存器和变址寄存器”1通用数据寄存器通用数据寄存器用来存放8位、16位或32位的操作数大多数算术运算和逻辑运算指令都可以使用这些寄存器共有4个通用数据寄存器,它们是EAX、EBX、ECX和EDXo2指针寄存器和变址寄存器这是另外4个通用寄存器,分别是堆栈指针寄存器ESP、基址指针寄存器EBP、源变址寄存器ESI和目的变址寄存器EDIo指令指针寄存器EIP InstructionPointerEIP是一个专用寄存器,用于寻址当前需要取出的指令字节当CPU从内存中取出一个指令字节后,EIP就自动加1,指向下一指令字节当微处理器工作在实模式下时,这个寄存器为IP16位;当80386及更高型号的微处理器工作于保护模式下时,则是EIP32位程序员不能对EIP/IP进行存取操作程序中的转移指令、返回指令以及中断处理能对EIP/IP进行操作标志寄存器EFLAGSEFLAGS用于指示微处理器的状态并控制它的操作早期的8086/8088微处理器的标志寄存器FLAG为16位,且只定义了其中的9位;80286微处理器虽然仍为16位的标志寄存器,但定义的标志位已从原来的9位增加到12位;80386及更高型号的微处理器则采用32位的标志寄存器EFLAGS,所定义的标志位也有相应的扩充段寄存器FS和GS这两个段寄存器仅对80386及更高型号的微处理器有效,以便程序访问相应的两个附加的存储器段标志寄存器及每个标志位的功能8086/8088系统中所定义的9个标志位——
0、D、I、T、S、Z、A、P、C,这也是实模式下80x86/Pentium系列微处理器所使用的标志位在这9个标志位中,有6位即CF、PF、AF、ZF、SF和0F为状态标志;其余3位即TF、IF和DF为控制标志状态标志1进位标志CFCarry Flag当执行算术运算指令时,其结果的最高位有进位或借位时将CF置1;否则将CF置02奇偶标志PFParity Flag该标志位反映操作结果低8位中“1”的个数情况,若为偶数个“1”,则将PF置“1”;若为奇数个“1”,则将PF置“0”3辅助进位标志AFAuxiliary carryFlag辅助进位标志也称“半进位”标志AF=1,表示本次运算的低4位中的最高位有进位加法运算时或有借位减法运算时AF一般用于BCD运算中是否进行十进制调整的依据十进制调整指令DAA和DAS测试这个标志位4零标志ZFZero Flag反映运算结果是否为零若结果为零,则ZF=1;若结果不为零,则ZF=O5符号标志SFSign Flag反映带符号数以二进制补码表示运算结果符号位的情况若结果为负数,则SF=1;若结果为正数,则SF=0SF的取值总是与运算结果的最高位字节操作为D7,字操作为D15,双字操作为D31取值一致6溢出标志OF OverflowFlag反映有符号数运算结果是否发生溢出若发生溢出,则OF=1;否则,0F=0溢出是指运算结果超出了计算装置所能表示的数值范围例如,对于字节运算,数值表示范围为T28+127;对于字运算,数值表示范围为-32768+32767若超过上述范围,则发生了溢出溢出是一〜〜种差错,系统应做相应的处理例指出80x86CPU执行如下指令后,标志寄存器中各状态标志位的值:1MOVAX,32C5H2MOVAX,0E453HADD AX,546AH ADDAX,0C572H++00110010110001012111001000101001101010100011010101100010101110010101010011100010110000111001011110F=0SF=1ZF=O所以,0F=l SF=1ZF=OAF=0PF=1CF=1AF=O PF=O CF=O控制标志1方向标志DFDirection Flag用来控制串操作指令的执行若DF=O,则串操作指令的地址自动增量修改,串数据的传送过程是从低地址到高地址的方向进行;若DF=1,则串操作指令的地址自动减量修改,串数据的传送过程是从高地址到低地址的方向进行可以设置DF的指令为STD(置1)和CLD(清0)
(2)中断标志IF(Interrupt Flag)用来控制对可屏蔽中断的响应若IF=1,则允许CPU响应可屏蔽中断请求;若IF=0,则CPU不能对可屏蔽中断请求作出响应可以设置IF的指令有STI(置1)和CLI(置0)o IF对非屏蔽中断和内部中断不起作用
(3)陷阱标志TF(Trap Flag)陷阱标志也称单步标志当TF=1时,微处理器就进入单步工作方式,每执行完一条指令便自动产生一个内部中断(称为单步中断),转去执行一个中断服务程序,可以借助中断服务程序来检查每条指令的执行情况;若TF=0,则CPU正常(连续)执行指令单步工作方式常用于程序的调试
3.物理地址与逻辑地址的概念在有地址变换机构的计算机系统中,每个存储单元可以看成具有两种地址物理地址和逻辑地址物理地址是信息在存储器中实际存放的地址,它是CPU访问存储器时实际输出的地址逻辑地址是编程时所使用的地址编程时不需要知道产生的代码或数据在存储器中的具体物理位置这样可以简化存储资源的动态管理在实模式下的软件结构中,逻辑地址由“段基值”和“偏移量”两部分构成每个存储单元有惟一的物理地址,但它可以由不同的“段基值”和“偏移量”转换而来,这只要把段基值和偏移量改变为相应的值即可同一个物理地址可以由不同的逻辑地址来构成或者说,同一个物理地址与多个逻辑地址相对应
4.“段加偏移”的寻址机制。
个人认证
优秀文档
获得点赞 0