第6章程序控制指令-
- 格式:pptx
- 大小:221.98 KB
- 文档页数:34
1对于一台计算机:(1)画出主机框图(要求画到寄存器级);(2)若存储器容量为64K×32 位,指出图中各寄存器的位数;2假设CPU在中断周期用堆栈保存程序断点,而且进栈时指针减1,出栈时指针加1。
分别写出组合逻辑控制和微程序控制在完成中断返回指令时,取指阶段和执行阶段所需的全部微操作命令及节拍安排。
答:假设进栈操作是先修改堆栈指针后存数,则出栈操作是先读数后修改堆栈指针。
(1)完成中断返回指令组合逻辑控制的微操作命令及节拍安排取指阶段T0 PC→MAR,1→RT1 M(MAR) →MDR,(PC) + 1→PCT2 MDR→IR,OP(IR) →ID执行阶段T0 SP→MAR,1→RT1 M(MAR) →MDRT2 MDR→PC,(SP) + 1→SP(2)完成中断返回指令微程序控制的微操作命令及节拍安排取指阶段T0 PC→MAR,1→RT1 Ad(CMDR) →CMART2 M(MAR) →MDR,(PC) + 1→PCT3 Ad(CMDR) →CMART4 MDR→IRT5 OP(IR) →微地址形成部件→CMAR执行阶段T0 SP→MAR,1→RT1 Ad(CMDR) →CMAR(1)假设要求在取指周期由ALU完成(PC) + 1→PC的操作(即ALU可以对它的一个源操作数完成加1的运算)。
要求以最少的节拍写出取指周期全部微操作命令及节拍安排。
(2)写出指令ADD # α(#为立即寻址特征,隐含的操作数在ACC 中)在执行阶段所需的微操作命令及节拍安排。
(2)立即寻址的加法指令执行周期的微操作命令及节拍安排如下:T0 Ad(IR)→R1 ;立即数→R1 T1 (R1) + (ACC)→R2 ;ACC通过总线送ALUT2 R2→ACC ;结果→ACC如有侵权请联系告知删除,感谢你们的配合!。
第6章循环控制本章要求:1、初步熟悉用计算机解决问题的思路。
2、掌握while、do-while、for语句的特点和使用方法。
3、掌握break、continue语句的用法。
4、熟悉一些常见问题的算法及其C语言实现。
§6.1 概述循环:反复执行称为“循环体”的程序段。
循环控制常用于数学迭代、对象遍历等问题的求解,几乎所有实用程序都包含循环。
特别是在现代多媒体处理程序(图像、声音、通讯)中,循环更是必不可少。
Intel公司为了加快循环程序的执行,在CPU硬件中加入多媒体扩展指令MMX(Multi-Media-eXtension );AMD在CPU中加入3D Now!指令。
循环结构是结构化程序三种基本结构之一。
(顺序结构、分支结构)。
根据开始循环的初始条件和结束循环的条件不同,C语言中用如下语句实现循环1、用goto语句和if语句构成循环。
2、用while语句。
3、用do-while语句。
4、用for语句。
§6.2 goto语句一般形式:goto 语句标号作用:无条件转向“语句标号”处执行。
“语句标号”是一个标识符,它表示程序指令的地址。
goto语句不符合结构化程序设计准则,因为无条件转向使程序结构无规律、可读性差。
一般应避免使用goto语句,但如果能大大提高程序的执行效率,也可以使用。
[例6.1] 用if语句和goto语句构成循环,求。
main(){int i,sum=0;i = 1;loop:if (i <= 100){ sum = sum + i;i++;goto loop;}printf("%d",sum);}§6.3 while语句一般形式:while(表达式) 语句作用:实现“当型”循环。
当“表达式”非0(真)时,执行“语句”。
“语句”是被循环执行的程序,称为“循环体”。
特点:先判“表达式(条件)”。
[例6.2]main(){int i,sum=0;i = 1;whie (i <= 100){sum = sum + i;i++;}printf("%d",sum);}注意:1、注意给出循环的初始条件,如本例中“sum=0、i=1”。
第六章、指令6-1 布尔指令6-2 标准功能块6-2-1 定时器功能块6-2-2 计数器功能块6-2-3 移位寄存器功能模块(%SBRi) 6-2-4 步进计数器功能模块(%SCi)6-3 数字处理指令6-3-1 赋值指令6-3-2 比较指令6-3-3 算术指令6-3-4 逻辑指令6-3-5 移位指令6-3-6 转换指令6-3-7 单/双字转换指令6-3-8 浮点算术指令6-3-9 三角指令6-3-10 转换指令6-3-11 整数转换指 <-> 浮点6-3-12 表求和功能6-3-13 表比较指令6-3-14 表查找指令6-3-15 表最大值和最小值查找功能6-3-16 表中某个值的出现次数6-3-17 表循环移动功能6-3-18 表排序功能6-4 程序控制指令6-4-1 END指令6-4-2 跳转指令6-4-3 子程序指令6-5 专用功能块6-5-1 LIFO/FIFO寄存器功能模块(%Ri) 6-5-2 脉宽调制功能模块(%PWM)6-5-3 脉冲发生器输出功能模块(%PLS)6-5-4 磁鼓控制器功能模块 (%DR)6-5-5 高速计数6-5-6 超高速计数器功能模块(%VFC)6-5-7 调度模块6-6 通讯指令6-6-1 信息发送/接收6-6-2 数据交换控制6-1 布尔指令掌握要点:布尔指令:用语所有位元件Load指令(装入):LD,LDN,LDR,LDF分别对应常开,常闭,上升沿,和下降沿其中: N 代表“非”R 代表“上升沿”F 代表“下降沿”程序例:逻辑AND 指令 : AND, ANDN , ANDR , ANDF。
逻辑与指令执行操作数(或它的反转数,或上升沿,或下降沿)和前面指令的布尔运算结果间的逻辑与操作。
程序例:逻辑OR指令: OR , ORN , ORR , ORF,逻辑或指令执行操作数(或它的反转数,或上升沿,或下降沿)和前面指令的布尔运算结果间的逻辑或操作。