微型计算机技术 论文,史嘉权-微型计算机技术及应用(二)..ppt

史嘉权-微型计算机技术及应用(二)..ppt

讲课中贯彻启发性和创新性1——关于软件中断和硬件中断 所有中断处理子程序都有着相同的结构模式,即: ① 一开始通过一系列推入堆栈指令来保护中断现场,即保护各寄存器的值(当然有时未必需要保存所有寄存器的值)。 ② 一般情况下,应用指令设置中断允许标志IF来开放中断,以允许级别较高的中断请求进入。 ③ 中断处理的具体内容,这是中断处理子程序的主要部分。 讲课中贯彻启发性和创新性1——关于软件中断和硬件中断 ④ 中断处理模块之后,是一系列弹出堆栈指令,使各寄存器恢复进入中断处理时的值。 ⑤ 最后是中断返回指令,中断返回指令的执行使堆栈中保存的断点值和标志值分别装入EIP/IP、CS和标志寄存器。 中断处理子程序除了结构上的这些特点外,在位置上也有特点,它们在系统中,不是像其他应用程序那样浮动装配,而是固定装配的。装配的起始地址由中断向量表给出。并且,中断处理子程序通常都常驻内存,即系统一启动,就完成中断处理子程序的装配。 从上面可了解到,中断处理子程序和一般子程序相比,前者的最后一条指令是中断返回指令,而一般子程序的最后一条指令是返回指令。于是产生了这样一个想法,能不能像调用远程子程序那样利用软件来调用中断处理子程序?——软件中断 关于软件中断和硬件中断 软件中断有如下特点: ① 用 INT 指令进入中断处理子程序,并且,中断类型号 n 由指令提供。 ② 进入中断时,不需要执行中断响应总线周期。 ③ 不受中断允许标志IF的影响,也就是说,不管IF是1还是0,任何一个软件中断均可执行。不过,软件中断的一号中断受标志寄存器中另外一个标志即TF(单步中断标志)的影响,只有TF为1时,才能执行单步中断。 关于软件中断和硬件中断 ④ 正在执行软件中断时,如果有外部硬件中断请求,并且是非屏蔽中断请求,那么,会在执行完当前指令后立即给予响应。如果在执行软件中断时有可屏蔽中断请求,并且此前由于中断处理子程序中执行了开放中断指令,从而使中断允许标志IF为1,那么也会在当前指令执行完后响应可屏蔽中断请求。 ⑤ 软件中断没有随机性。 INT 21H INT 10H INT 64H INT 63H 讲课中贯彻启发性和创新性2——关于地址错位技术 大多数接口用两个连续的端口地址对应内部寄存器的读/写。怎样在接口和数据总线的某8位数据线相连时,满足接口对端口地址的设置要求,即一个接口用一奇一偶两个连续地址,能准确地和CPU进行数据信息、控制信息和状态信息的传输呢? 在16位系统中,为了使所有的数据传输都利用数据总线的低8位,必须把地址总线的A1线和接口的A0端相连。为什么要这样进行地址的错位连接呢? 地址错位相连技术小结 CPU 数据线 体数 选0体 地址线 错位相连 初值 差值 8 1 20 A0_A0 A0=0 1 16 2 A0=0 20 A1_A0 A1A0=0 2 80386 32 4 A1A0 =0 32 A2_A0 A2_A0=0 4 Pentium64 8 A2_A0=0 32 A3_A0 A3_A0=0 8 用低8位数据线——选0体 (BE0=0) 贯彻启发性和创新性3—Pentium流水线分支预测技术 程序设计中,条件转移指令用得非常多。条件转移指令在执行前,不能确定转移是否发生。而指令预取缓冲器是顺序取指令的,如果产生转移,那么,指令预取缓冲器中取得的后续指令全部白取,从而造成流水线断流,损失流水线效能。为此,希望在转移指令执行前,能够预测转移是否发生,从而确定此后执行哪一段程序。 执行预测功能,这种功能基于一个重要的分支规律。为了便于说明,先来看下面的程序段,这个程序段用来对屏幕像素填色。 Pentium流水线分支预测技术 MOV DX,100;右下角像素的y坐标 AAA:MOVCX, 200;右下角像素的x坐标 BBB:MOVAL, 04;设置红色值04H MOVAH, 0CH;写像素操作功能码 INT10H;像素位置写颜色 DECCX ;x坐标左移一个像素 JNZBBB;未到最左,则继续 DECDX;填完一行再对上一行操作 JNLAAA;如未结束则继续 …… ;如填好则结束 上面程序中,出现两个条件转移指令,即JNZ BBB和JNZ AAA。由于CX中事先设置了参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值