I/O接口编址方式
I/O端口与内存单元统一编址
优点:可以用访问内存的指令来访问I/O端口<br>缺点:减少内存可用地址范围,不易区分操作指令
<div>I/O端口独立编址</div>
地址空间相互独立、互不影响;<br>寻址时使用不同控制信号;<br>独立编址的CPU有专用I/O指令
<div>中断处理机制</div>
1.中断请求
发送信号到CPU中断输入端,响应立即撤出申请信号,防止多次响应
<div>2.中断判优</div>
<div>菊花链法</div>
按优先级把所有的中断源排成一个链
<div>3.中断响应</div>
条件
CPU允许中断(IF=1);<br>一条指令执行完毕且没有更紧迫任务;
<div>步骤</div>
1.向中断源发出中断响应信号;<br>2.保护断点;<br>3.转到中断服务程序入口;
<div>4.中断处理</div>
1.保护现场(寄存器状态);<br>2.执行中断处理程序;<br>3.恢复现场(寄存器内容弹出堆栈);
<div>控制和状态寄存器</div>
<div>MBR:数据寄存器</div>
将存入存储器的数据或近期取出的数据
<div>PC:程序计数器(指令指针寄存器)</div>
存放下一条待执行指令的地址
<div>IR:指令寄存器</div>
存放正在执行的指令
<div>奔腾标志寄存器</div>
CF:进位
<div>PF:奇偶</div>
AF:辅助进位(3到4的进位)
<div>ZF:0标志位</div>
<div>SF:符号</div>
<div>IF:屏蔽中断</div>
<div>TF:陷阱(执行一个指令停一次)</div>
<div>OF:溢出</div>
<div>DF:方向(1表示低地址到高地址)</div>