第二讲 微型计算机结构
2.2.2 存储器的分段和物理地址的形成 1.存储器的分段 存储器的分段管理 8086微处理器内部存放数据的地址信息的寄存器BX、IP、SI、DI、BP均为16位,内部ALU只能进行16位数据的运算,寻址范围局限在216=65536(64?K)字节,为了能寻址1?M字节地址空间,必须对内存实行分段管理。 分段方法 8086CPU将1?M字节的存储空间视为一组存储段(逻辑段),每个段的起始地址(段基址)由段寄存器给出。为了访问1M的存储空间,将16位的段寄存器的内容左移4位,低4位补0 。段内任一个存储单元的地址,可用相对于段起始地址的偏移量来表示,这个偏移量称为段内偏移地址。偏移地址通常由BX、IP、SI、DI、BP等寄存器给出。 BHE A0 总线使用情况 0 0 从偶地址单元开始,在16位数据总线上进行字数据传送 0 1 从奇地址单元开始,在高8位数据总线上进行字节数据传送 1 0 从偶地址单元开始,在低8位数据总线上进行字节数据传送 1 1 无效 BHE、A0组合控制连接在总线上的存储器的I/O口以何种格式 传送数据: (2)READY:准备好信号(输入,高电平有效)READY=1,表示CPU访问的存储器或IO端口已准备好传送数据。若CPU在总线周期T3状态检测到READY=0,表示未准备好,CPU自动插入一个或多个等待状态TW,直到READY=1为止。 (3)RD(Read):读信号(三态输出,低电平有效)RD=0, 表示当前CPU正在对存储器或I/O端口进行读操作。 (5)INTR (Interrupt Request) :可屏蔽中断请求信号(输入,高电平有效)当INTR由低电平跳变到高电平时,表示外设向CPU发出中断请求,CPU在当前指令周期的最后一个T状态去采样该信号,若此时,IF=1,CPU响应中断,执行中断服务程序。 (4)TEST:测试信号(输入,低电平有效)当CPU执行WAIT 指令时,每隔5个时钟周期对TEST进行一次测试,若TEST=1, 继续等待,直到TEST=0。 (6)NMI (Non-Maskable Interrupt) :不可屏蔽中断请求信号(输入,上升沿触发)该请求信号不受IF状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后立即响应中断。 (7)MN/MX (Minimum/Maximum) :工作模式选择信号(输入)MN//MX=1,表示CPU工作在最小模式系统;MN//MX=0,表示CPU工作在最大模式系统。 (8)时钟CLK(clock):主时钟信号(输入)8086/8088的时钟频率为5MHZ、8MHZ、10MHZ三种,要求时钟脉冲具有33.3%的占空比。 (9)电源线和地线 8086/8088采用单+5V,1、20引脚为地线。 (6)RESET:复位信号(输入,高电平有效)RESET信号至 少要保持4个时钟周期。复位时:标志寄存器、IP、DS、SS、 ES 、指令队列为0,CS=FFFFH,复位后CPU从FFFF0H处开 始 执行。 2.4.2 最小工作方式 24~31引脚:这8个引脚在两种工作方式下定义的功能有所不同。 (2)ALE (Address Latch Enable) :地址锁存允许信号(输出, 高电平有效)用来锁存地址信号AD15~AD0,分时使用AD15~AD0 地址/数据总线。 (3)DEN (Data Enable) :数据允许信号(三态输出,低电平有效)作为数据总线上收发器8286的选通信号。 (1)INTA (Interrupt Acknowledge) :中断响应信号(输出, 低电平有效)表示CPU响应了外设发来的中断申请信号INTR。 (4)DT/R (Data Transmit/Receive) :数据发送/接收控制信号 (三态输出)此信号控制数据总线上的收发器8286的数据传送方 向,DT/R=1,发送数据----写操作;DT/R=0,接收数据--读操作。 (5)M/IO (Input and Output/Memory) :存储器或IO端 口访问信号(三态输出)M/IO=1,表示CPU正在访问存储器; M/IO=0,表示CPU正在访问IO端口。 (6)WR (Write) :写信号(三态输出,低电平有效)WR=0, 表示当前CPU正在对存储器或I/O端口进行读操作。 (7)HOLD:总线保持请求信号(输入,高电平有效)当系统 中CPU之外的另一个控制器要求使用总线时,通过它向CPU发 一高电平的请求信号。 (8)HLD