- 3
- 0
- 约4.55千字
- 约 4页
- 2018-06-25 发布于河南
- 举报
微机原理电子教案:微处理器结构
微处理器结构
§2-1 INTEL8086/8088CPU的内部结构
1、建立4字节的指令预取队列
在以前的8位微处理器中,CPU的工作过程是这样的:通过总线从存贮器中取出一条指令,然后执行该指令。在这种工作方式中,总线的利用率是很低的。例如CPU执行一条INC A指令。CPU从存贮器中取出INC A指令操作码之后,在该指令执行过程中,只对内部寄存器进行操作,外部的总线是空闲的。
为此在8088微处理器中,设置了一个4字节的指令预取队列,CPU要执行的指令是从队列中取得的,而取指令的操作是由总线接口单元承担的。以此将取指令和执行指令这两个操作分别由两个独立的功能单元来完成。一旦总线接口单元发现队列中有两个字节以上的空位置时,就会自动地到存贮器中去取两个指令代码填充到指令预取阶队列中。这样,8088微处理器取指令和执行指令就可以并行进行(如图2-1(b)所示),从而提高了微处理器的指令执行速度,并使得总线利用率有了明显的提高。
2、设立地址段寄存器
8088微处理器内部的地址线只有16位,因此能够由ALU提供的最大地址空间只能为64KB。为了扩大8088的地址宽度,人们将存贮器的空间分成若干段,每段为64KB。另外,在微处理器中还设立一些段寄存器,用来存放段的直始地址(16位)。8088微处理器实际地址是由段地址和CPU提供的16位偏移地址,按一定规律相加而形成的20位地址(A0~A19),
从而使8088微处理器的地址空间扩大到1MB。
3、在结构上和指令设置方面支持多微处理器系统
众所周知,利用8088的指令系统进行复杂的运算,如多字节的浮点运算,超越函数的运算等,往往是很费时间的。为了弥补这一缺陷,人们开发了专门用于浮点运算的协处理器8087。将8088和8087结合起来,就可以组成运算速度很高的处理单元。为此,8088在结构上和指令方面都已考虑了能与8087相连接的措施。
§2-1-1 8088CPU的内部结构
8088微处理器内部分为两个部分:执行单元(EU)和总线接口单元(BIU),如图2-2所示。
EU单元负责指令的执行。它包括ALU(运算器)、通用寄存器和状态寄存器等,主要进行16位的各种运算及有效地址的计算。
BIU单元负责与存贮器和I/O设备的接口。它由段寄存器、指令指针、地址加法器和指令队列缓冲器组成。地址加法器将段和偏移地址相加,生成20位的物理地址。
§2-1-2 8088处理器中的内部寄存器
在8088处理器中,用户能用指令改变其内容的,主要是一组内部寄存器。
(1)数据寄存器
8088有4个16位的数据寄存器,可以存放16位的操作数。其中AX为累加器,其他3个尽管也可以存放16位操作数,但它们的用途都有区别。4个16位的寄存器在需要时,可分为8个8位寄存器来用,这样就大大增加了使用的灵活性。
(2)指针寄存器
8088的指针寄存器有两个:SP和BP。SP是堆栈指针寄存器,由它和堆栈段寄存器一起来确定堆栈在内存中的位置。BP是基数指针寄存器,通常用于存放基地址,以使8088的寻址更加灵活。
(3)变址寄存器
SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址。顾名思义,SI通常指向源操作数,DI通常指向目的操作数。
(4)控制寄存器
8088的控制寄存器有两个:IP,PSW。IP是指令指针寄存器,用来控制CPU的指令执行顺序。它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节。当IP单独改变时,会发生段内转移。当CS和IP同时改变时,会产生段间的程序转移。
PSW是处理机状态字,也有人叫它为状态寄存器或标志寄存器,用来存放8088CPU在工作过程中的状态。PSW各位标志如图2-4所示。
15 0
O D I T S Z A P C 图2-4 状态寄存器
状态标志寄存器是一个16位的寄存器,空着的各位暂未使用。8088中所用的9位对我们了解8088CPU的工作和用汇编语言编写程序是很重要的。这些标志位的含义如下:
C——进位标志位。做加法时出现进位或做减法时出现错位,该标志位置1;否则清0。
P——奇偶标志位。当结果的低8位中1的个数为偶数时,则该标志位置1;否则清0。
A——半加标志位。在加法时,当位3需向位4进位,或在减法时位3需向位4借位时,该标志位就置1;否则清0。该标志位通常用于对BCD算术逻辑结果的调整。
Z——零标志位。运算结果各位都为0时,该标志位置1;否则清0。
S——符号标志位。当运算结果的最高位为1,该标志位置1;否则清0。
T—
原创力文档

文档评论(0)