微处理器1.ppt
文本预览下载声明
第二章 微处理器 2.1 8086/8088微处理器 8086/8088微处理器是Intel公司推出的第三代CPU芯片,它们的内部结构基本相同,都采用16位结构进行操作及存储器寻址,但外部性能有所差异,两种处理器都封装在相同的40脚双列直插组件(DIP)中; Intel8088微处理器一种准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,与Intel8086微处理器基本上相同,不同的是其对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容 。 8086微处理器的一般性能特点: 16位的内部结构,16位双向数据信号线; 20位地址信号线,可寻址1M字节存储单元; 较强的指令系统; 利用16位的地址总线来进行I/O端口寻址,可寻址64K个I/O端口; 中断功能强,可处理内部软件中断和外部中断,中断源可达256个; 单一的+5V电源,单相时钟5MHz。 一.8086/8088CPU的编程结构 从功能上8086分为两部分,即总线接口部件BIU和执行部件EU。 总线接口部件的功能是负责与存储器、I/O端口传送数据。 执行部件的功能就是负责指令的执行。 (1) 执行部件(EU) 四个通用寄存器,即AX、BX、CX、DX; 四个专用寄存器,即基数指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI; 标志寄存器PSW; 算术逻辑单元ALU。 (2) 总线接口部件(BIU) 四个段地址寄存器,即 CS——16位的代码段寄存器, DS——16位的数据段寄存器, ES——16位的扩展段寄存器, SS—一16位的堆栈段寄存器; 16位的指令指针寄存器IP; 20位的地址加法器; 6字节的指令队列; 输入输出控制电路。 (3) 8086/8088BIU的特点 8086/8088的指令队列分别为6/4个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。 地址加法器用来产生20位物理地址。8086/8088可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。 例如:CS=0FE00H,IP=0400H,则表示要取指令代码的物理地址为0FE400H (4) BIU与EU的动作协调原则 每当8086的BIU的6指令队列中有2个为空的时候,BIU会自动从内存中取出下面的指令的字节放到指令队列中。 EU在执行指令的时候总是从BIU的指令队列的前部取出将要执行的指令,然后用几个时钟周期去执行。 在执行指令的过程中,如果指令需要访问内存或者端口,则EU请求BIU进入总线周期,从而完成访问。如果请求时,BIU正好空闲,那么BIU会马上响应请求;如果此时BIU正忙着取指令,那么访问内存和端口的请求必须要BIU完成指令的读取后方可被响应。 BIU与EU的动作协调原则 当指令队列已满,并且EU没有对BIU的内存和端口访问请求时,BIU进入空闲状态,这其实是BIU对EU的等待。 在执行各种控制转移指令时,下面要执行的指令不是程序中紧接着的指令了,但是指令队列中已经将那些指令装入了指令队列,而这些指令是没有用的。此时,BIU会将指令队列清空,接着往指令队列中装入转向目标地址处的指令。 (5) 8086/8088CPU内部寄存器 8086/8088内部的寄存器可以分为通用寄存器和专用寄存器两大类,专用寄存器包括指针寄存器、变址寄存器等。 ①通用寄存器 8086/8088有4个16位的通用寄存器(AX、BX、CX、DX),可以存放16位的操作数,也可分为8个8位的寄存器(AL、AH;BL、BH;CL、CH;DL、DH)来使用。其中AX称为累加器,BX称为基址寄存器,CX称为计数寄存器,DX称为数据寄存器,这些寄存器在具体使用上有一定的差别。 ②指针寄存器 系统中有两个16位的指针寄存器SP和BP,其中SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置; BP是基数指针寄存器,通常用于存放基地址。 系统中有两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式 ③控制寄存器 IP、标志寄存器是系统中的两个16位控制寄存器,其中IP是指令指针寄存器,用来控制CPU的指令执行顺序,它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,会产生段间的程序转移。 标志寄存器的内容被称为处理器状
显示全部