资源预览内容
第1页 / 共122页
第2页 / 共122页
第3页 / 共122页
第4页 / 共122页
第5页 / 共122页
第6页 / 共122页
第7页 / 共122页
第8页 / 共122页
第9页 / 共122页
第10页 / 共122页
亲,该文档总共122页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
微型计算机原理及应用技术,冯源 fengyuanouc.edu.cn,2,微机的五大基本组成部件 运算器、控制器、存储器、输入/输出设备(接口),微型计算机的概念结构,计算机基本结构,2.1,微型计算机的概念结构微处理器(CPU),2.1,运算器 运算器是计算机用来进行算术逻辑运算的部件 运算器的核心是加法器 基本功能: 1对二进制代码进行加、减、乘、除基本运算 2对二进制代码进行“与”、“或”、“非”等逻辑运算 3完成数据信息的传送 运算器组成:算术逻辑运算单元ALU,内部总线,通用寄存器组,输入多路开关和数据锁存器,输出移位多路开关,微型计算机的概念结构微处理器(CPU),2.1,控制器 控制器用于计算机硬件系统中,指挥、协调各部件的工作,是整个计算机的中枢 基本功能:取指令、分析指令、执行指令、输入输出控制、中断处理 控制器构成:指令寄存器、指令计数器、指令译码器、地址形成部件、时序信号发生器、操作控制部件、中断机构,微型计算机的概念结构微处理器(CPU),2.1,寄存器组 寄存器组是CPU内部的若干个存储单元 分为专用寄存器和通用寄存器,专用寄存器的作用是固定的,如堆栈指针、标志寄存器等,通用寄存器可有多种用途 寄存器的数目因微处理器而定 寄存器组作用:暂存数据,避免频繁访问内存,缩短指令长度和执行时间,给编程带来方便,2019/2/23,7,8086 CPU编程结构图,2019/2/23,8,EU的功能和组成,功能: 译码 执行,组成: 算逻部件ALU 标志寄存器(程序状态字)PSW 通用寄存器 16位 AX BX CX DX 指针变址寄存器 16位 SI DI SP BP EU控制器,取指控制及时序控制,2019/2/23,9,运算结果标志,运算结果标志 CF PF AF ZF SF OF,字节:带符号数 -128 127 10000000 01111111(二进制) 字:带符号数 -32768 32767,2019/2/23,10,系统状态标志,系统状态标志 TF IF DF,2019/2/23,11,BIU的功能和组成,功能: 地址形成 取指令 指令排队 读/写操作数 总线控制,组成: 段寄存器 16位 CS DS SS ES 指令指针寄存器 16位 IP 物理地址加法器 指令队列 6字节 总线控制逻辑,2019/2/23,12,周期的概念,时钟周期 CPU的最小时间单位,也称为T状态,由时钟发生器提供.由计算机主频决定. 指令周期 CPU执行一条指令所需要的时间称为指令周期。8086中不同指令的指令周期是不等长的,最短的指令只需要两个时钟周期,最长的指令需6个.它可以包含若干个总线周期。 总线周期 CPU 通过总线从存储器或 I/O接口读写一个字节(或字)所用的时间称为一个总线周期. 一个总线周期至少包括4个时钟周期,T1,T2,T3,T4.,2019/2/23,13,8086引脚,2019/2/23,14,1最小工作模式,在8086的最小模式中,硬件连接上有如下几个特点: MN/MX#引脚接+5V,决定了8086工作在最小模式。 有一片8284A,作为时钟发生器。 有三片8282或74LS373,用来作为地址锁存器。 当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,可选用两片8286或74LS245作为总线驱动器。,2019/2/23,15,2019/2/23,16,2最大工作模式,在8086的最大模式中,硬件连接上有如下特点: MN/MX引脚接地,决定了8086工作在最小模式。 系统中增加了总线控制器8288, 总线控制信号由8288产生. 组成多处理器/协处理器微机系统。即在一个系统中有两个或两个以上的微处理器,每个处理器能执行它自己的程序。,2019/2/23,17,最大模式下的连接示意图,8088 CPU,数据总线,地址总线,地址 锁存器,数据总线缓冲器,时钟发 生 器,总 线 控制器,控制总线,8284A,8288,ALE,CLK,8282,8286,GND,2019/2/23,18,与存储单元地址相关的几个概念,物理地址:一个存储单元的实际地址(20位)。物理地址与存储单元是一一对应关系。(20202H) 逻辑地址:是指段地址和偏移地址,是指令中引用的形式地址。一个逻辑地址只能对应一个物理地址,而一个物理地址可以对应多个逻辑地址。(2000:0202H) 段地址:是指一个段的起始地址,最低4位为零,一般将其有效数字16位存放在段寄存器中。(2000H) 偏移地址:段内存储单元相对段地址的距离(16位)。同一个段内,各个存储单元的段地址是相同的,偏移地址是不同的。(0202H),2019/2/23,19,物理地址的计算方法,寻址方式寻找操作数的方法 寻找操作数的地址(一般指源操作数) 寻找要执行的下一条指令的地址 在8086指令系统中,说明操作数所在地址的寻址方式可分为8种: 立即寻址 寄存器相对寻址 直接寻址 基址-变址寻址 寄存器寻址 相对的基址-变址寻址 寄存器间接寻址 隐含寻址,指令系统8086的寻址方式,操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数 例: MOV AX, 1C8FH MOV BYTE PTR2A00H, 8FH 错误例: MOV 2A00H, AX ; 错误!,立即寻址,直接寻址,指令中直接给出操作数的16位偏移地址 偏移地址也称为有效地址(EA, Effective Address) 默认的段寄存器为DS,但也可以显式地指定其他段寄存器称为段超越前缀 偏移地址也可用符号地址来表示,如ADDR、VAR 例: MOV AX , 2A00H MOV DX , ES: 2A00H MOV SI , TABLE_PTR,指令操作例:MOV AX,3102H AL (3102H) , AH (3103H),如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH 则操作数的物理地址为: 20000H+3102H = 23102H 指令执行后:(AX) = ABCDH,MOV操作码,02H,31H,AH,AL,23102H,CDH,ABH,存储器,代码段,数据段,. .,寄存器寻址,操作数放在某个寄存器中 源操作数与目的操作数字长要相同 寄存器寻址与段地址无关 例: MOV AX, BX MOV 3F00H, AX MOV CL, AL 错误例: MOV AX, BL ; 字长不同 MOV ES: AX, DX ; 寄存器与段无关,AX,SI,2233H,2233H,指令操作例:MOV SI,AX ; SI (AX) 指令执行前:(AX)=2233H 指令执行后:(AX)=2233H,(SI)=2233H,寄存器间接寻址,操作数的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作间址寄存器 例: MOV AX, BX MOV CL, CS:DI 错误例 : MOV AX, DX MOV CL, AX,EA =,(BX) (BP) (SI) (DI),指令操作例:MOV AX,SI 若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H 则指令执行后,(AX)=3344H。,寄存器相对寻址,EA=间址寄存器的内容加上一个8/16位的位移量,寄存器相对寻址常用于存取表格或一维数组中的元素把表格的起始地址作为位移量,元素的下标值放在间址寄存器中(或反之),EA =,(BX) (BP) (SI) (DI),+,8位 16位,位移量,例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP+1000H 指令操作例:MOV AX,DATABX (DS)=6000H, (BX)=1000H, DATA=2A00H, 则物理地址 = 60000H + 1000H + 2A00H = 63A00H (63A00H)=66H, (63A01H)=55H 指令执行后:(AX)=5566H,操作码,00 偏移量低,2A 偏移量高,DS 6000,BX 1000,+ DATA 2A00,63A00,63A00H,AH,AL,AX,代码段,数据段,. . .,. . .,. . .,66H,55H,MOV AX,DATABX,基址-变址寻址,若操作数的偏移地址: 由基址寄存器(BX或BP)给出 基址寻址方式 由变址寄存器(SI或DI)给出 变址寻址方式,由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址-变址寻址。,EA =,(BX) (BP),+,(SI) (DI),同一组内的寄存器不能同时出现。,例: MOV AX, BX SI MOV AX, BX+SI MOV AX, DS: BP DI 错误例: MOV AX, BX BP MOV AX, DI SI,83000,操作码,DS 8000,BX 2000,+ SI 1000,83000H,AH,AL,AX,代码段,数据段,. . .,. . .,. . .,YY,XX,指令操作例:MOV AX,BXSI 假定:(DS)=8000H, (BX)=2000H, SI=1000H 则物理地址 = 80000H + 2000H + 1000H = 83000H 指令执行后: (AL)=83000H (AH)=83001H,相对的基址-变址寻址,在基址-变址寻址的基础上再加上一个相对位移量 注意事项同基址-变址寻址,EA =,(BX) (BP),+,(SI) (DI),+,8位 16位,位移量,例:,MOV AX,BASE SI BX MOV AX,BX+BASE SI MOV AX,BX+SI+BASE MOV AX,BX BASE SI MOV AX,BX+SI BASE,指令操作例:MOV AX,DATADIBX 若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H 则指令执行后(AH)=83021H, (AL)=83020H,83200,83200H,AH,AL,AX,+ DATA 0200,操作码,代码段,数据段,. . .,. . .,. . .,YY,XX,DS 8000,BX 2000,DI 1000,使用相对的基址-变址寻址方式可以很方便地访问二维数组。,基址寄存器,数组首地址,变址寄存器,数组元素行址,位移量,数组元素列址,(偏移地址),(行位移地址),(行内元素下标),相对基址-变址的作用,隐含寻址,指令操作数是隐含的,在指令中未显式地指明。 例:MUL BL 指令隐含了被乘数AL及乘积AX 类似的指令还有:DIV、CBW、MOVS等,(AL)(BL)AX,部分8086常用指令,数据传送指令,可实现 存储器 寄存器 I/O 数据传送指令又可分为如下四种: 通用传送:MOV 目标地址传送: 标志传送 输入输出,1.通用传送指令 (1) MOV dest,src; destsrc 传送的是字节还是字取决于指令中涉及的寄 存器是
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号