微处理器
8088/8086 cpu:
内部16位数据总线,外部16位(8086),8位(8088)
地址线 20位,寻址2^20=2^10 乘2^10 =1K乘以1K=1M空间
8086 16位CUSC 8088 准16位计算机
ARM CPU:
32位RISC处理器
注: 1)指令队列
8086 的指令队列为6个字节, 8088 的指令队列为4个字节。
2) 指令执行顺序
顺序指令执行: 指令队列存放紧接在执行指令后面的那一条指令。
执行转移指令: BIU 清除指令队列中的内容,从新的地址取入指令,立即送往执行单元,然后再从新单元开始重新填满队列。
2、执行部件EU (execution Unit)
功能:负责指令执行。
组成: • 4个通用寄存器:AX、BX、CX、DX • 4个专用寄存器:BP、SP、SI、DI, • 标志寄存器(FR):为16位,存放指令执行结果的特征和处理器状态,如结果为0,为负,单步执行等。 • 算术逻辑单元ALU:16 位加法器。完成8位/16位二进制数的算术逻辑运算。
3. 8086/8088处理器的启动和程序执行过程
1)、CPU的启动
8086/8088系统中,CPU被启动后,处理器内部的各寄存器和标志寄存器的内容自动设置为:
CS FFFFH
DS 0000H
SS 0000H
ES 0000H
IP 0000H 指令队列空
FR 0000H (禁止中断)
因CS=FFFFH,IP=0000,所以8086/8088将从地址FFFF0H开始执行指令。故8086/8088引导程序的入口地址在FFFF0H。
2)
(1)BIU从存贮器中取出一条指令存入指令队列。
(2)EU从指令队列取指令并执行指令。BIU利用总线空闲时间,从内存取第二条指令或取第三条指令存入指令队列。
(3)EU执行下一条指令。如果前面一条指令有写存储器的要求,则通知BIU把前条指令结果写到存贮器中,然后再取指令存入指令队列。 (
(4)如指令执行要求读取操作数,由BIU完成。
(5)EU执行再下一条指令,返回(1)处继续执行序指令已在存贮器中,CPU按时钟节拍产生一系列控制信号,有规则地重复进行以下过程。
在指令执行过程中,利用EU分析指令操作码和执行指令时不占用总线操作时间的特点,BIU自动地通过总线读取存储器中的指令码存入BIU指令队列,从而使BIU与EU并行工作,提高CPU执行指令的速度。
3. 8086/8088 CPU典型的总线周期时序
T1 T2 T3(TW) T4
(T2状态时:低16位置为高阻抗状态,为传输数据作准备。总线的高4位输出本总线周期状态信息。这些状态信息用来表示中断允许状态、当前正在使用的段寄存器等。)
(T3 状态时:CPU在总线的高4位继续输出总线周期状态信号。在总线的低16位出现由CPU写出的数据,或者从存储器或I/O端口读入的数据。)
TW(缓冲状态)
4. 8086/8088CPU的引脚信号和工作模式
最小工作模式: 指系统中只有8086/8088一个微处理器,所有的总线控制信号都直接由8086/8088PCU产生。
最大工作模式:指系统中包含有两个或两个以上的微处理。一个为主处理器(8086/8088CPU),其他的称为协处理器,协助主处理器工作
MN/ 接低电平(地)时,构成最大模式。要解决系统总线的控制问题
2.2.2 8086/8088CPU的引脚信号和功能
1、AD15~AD0(Address/Data Bus)地址/数据复用总线
传送地址时三态输出,传送数据时三态双向输入/输出。
T1状态:用来输出访问存储器或I/O端口的地址。
T2状态:如果是读周期,则处于浮空(高阻)状态,如果是写周期,则为传送数据。在中断响应及系统总线处于“保持响应”周期时,AD15~AD0被置成高阻状态。
在8086系统中,常将AD0为低8位数据的选通信号。
2、A19/S6~A16/S3(Address/Status)地址/状态复用线
作地址线时,高4位(A19~A16)地址,与AD15~AD0构成20位访问存储器的物理地址。
作状态线时,输出状态信息S6~S3。
S6总是为0,表示8086/8088CPU当前与总线相连。
S5状态指示当前中断允许标志IF的状态。IF=1时,S5置1;IF=0时,S5置0。 S4和S3状态的组合指出当前正使用哪个段寄存器。
3、 BHE/ S7 (Bus High Enable/Status)高8位数据总线允许/状 态复用信号 高8位数据有效信号,低电平有效。
和AD0结合起来,指出当前传送的数据在总线上将以何种格式出现。
4、RD(Read)读信号。输出、三态、低电平有效。 有效时,表示CPU正在对存储器或I/O端口进行读操作,具体是对存储器读,还是对I/O端口读,由 IO/M(8088为IO/M)决定。
5、READY准备就绪,输入。 用来使CPU和慢速存储器或I/O设备之间实现速度匹配的信号。 在每个总线周期的第3个T状态对READY引脚进行检测。
6、 (Test)测试信号,输入、低电平有效。 用于协调8086/8088CPU与协处理器的工作。
7、 INTR(Interrupt request)可屏蔽中断请求信号,输入、高电平有效。在每条指令周期的最后一个时钟周期检测。
8、 NMI(NO-Maskable Interrupt)不可屏蔽中断请求信号,输入、高电平有效,边沿触发,正跳变有效。
9、RESET(Reset)复位信号,输入、高电平有效,至少保持4个时钟周期。
10、CLK(Clock)主时钟输入端
11、MN/ MX(Maximum Mode Control)最小/最大模式控制信号。当此引脚接高电平时,CPU工作于最小模式;接低电平时,CPU工作于最大模式。 12、GND、VCC和电源 以上信号是8086/8088CPU工作在最小模式和最大模式时都要用到的。8086/8088的第24~31脚信号在不同模式下有不同的名称和定义。 两种模式下的主要区别体现在第24~31号引脚的功能定义不同。
2.2.3 最小模式
1、引脚信号 (1)IO/M(Memory/Input and Output)存储器/输入输出控制信号。用来区分CPU当前是访问存储器还是访问I/O端口。 对于8088CPU,该信号定义为IO/M,功能相同。
(2)WR(Write)写信号,三态、输出、低电平有效。 有效时,表示CPU当前正在进行写操作,是写存储器还是写I/O端口。由IO/M 来区分。DMA方式时,IO/M 被置成高阻态。
(3)INTA(Interrupt Acknowledge)中断响应信号,输出、三态、低电平有效 是对中断请求信号INTR的响应。CPU在整个中断响应周期内发出两个连续的INTA负脉冲,第一个负脉冲是通知请求中断的外设,其发出的中断请求已得到响应,外设接口收到第二个负脉冲后,向数据总线上送中断类型码, 信号通常用来作为读取中断类码的选通信号。
......(包括引脚信号,
小端工作模式
最大模式:
OF溢出标志很迷。。。。。。