1、 什么是哈佛结构和冯·诺伊曼(Von Neuman)结构?它们有什么区别? 答:(1) 冯·诺伊曼(Von Neuman)结构 该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。
(2)哈佛(Harvard)结构 该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
两者区别:
哈佛(Harvard)结构:该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
冯·诺伊曼(Von Neuman)结构:当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
2、 TMS320VC5416-160的指令周期是多少毫秒?它的运算速度是多少MIPS? 答:TMS320VC5416-160的指令周期16ns,它的运算速度是160MIPS。
3、 TMS320C54x芯片的流水线操作共有多少个操作阶段?每个阶段执行什么任务?完成
一条指令都需要哪些操作周期? 答:(1)六个操作阶段。
(2)各个阶段执行的任务:
① 预取指P:将PC中的内容加载到PAB ② 取指F:将读取到的指令字加载到PB
③ 译码D:将PB的内容加载IR,对IR的内容译码
④ 寻址A:CPU将数据1或数据2的读地址或同时将两个读地址分别加载到数据地址总线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正。
⑤ 读数R:将读出的数据1和数据2分别加载到数据总线DB和CB中。若是并行操作指令,可同时将数据3的写地址加载到数据地址总线EAB中。 ⑥ 执行X:执行指令,写数据加载EB。 (3)完成一条指令需要的周期:
需要:预取指周期、取指周期、译码周期、寻址周期和读数周期。
4、 TMS320VC5402 共有多少可屏蔽中断?它们分别是什么?NMI和RS属于哪一类中断
源? 答:(1)TMS320VC5402 有 13 个可屏蔽中断。
(2)TMS320VC5402 有 的13 个可屏蔽中断分别是:(课本56页最下面) (3)RS 和NMI属于外部硬件中断。
5、 试分析下列程序的流水线冲突,画出流水线操作图。如何解决流水冲突? STLM A,AR0 STM #10,AR1 LD *AR1,B
答:流水线图如下图:
解决流水线冲突: 最后一条指令(LD *AR1,B)将会产生流水线冲突,在它前面加入一条 NOP 指令可以解 决流水线冲突。
6、 已知(1030H)=0050H,AR2=1040H,AR3=1060H,AR4=1080H。
MVKD 1030H,*AR2 MVDD *AR2,*AR3 MVDM 1060H, AR4
运行以上程序后,(1030H)、(1040H)、*AR3和AR4的值分别等于多少? 答:(1030H)=0050H,(1040H)=0050H,*AR3=0050H,AR4=0050H
7、 已知,(1080H)=0020H、(1081H)=0030H。
STM #1080H,AR0 STM #1081H,AR1 LD *AR0,16,B ADD *AR1,B
运行以上程序,B等于多少? 答:(B)=0020 0030H
8、 试阅读以下程序,分别写出运行结果。
(1).bss x,4
.data
table:.word 4,8,16,32 ??
STM #x,AR1 RPT #2
MVPD table,*AR1+
答:数据表table中的常量4传送到以变量x 的地址为地址的存储单元中;数据表table中
的常量8传送到以变量x+1 的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+2 的地址为地址的存储单元中。
(2).bss x,4
.data
table: .word 4,8,16,32 ??
STM #x,AR1 RPT #2
MVPD table,*+AR2
答:数据表table中的常量4传送到以变量x 的地址为地址的存储单元中;数据表table中
的常量8传送到以变量x+1 的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+2 的地址为地址的存储单元中。
9、 NOP指令不执行任何操作,它有什么作用?
答:延时几个周期,避免流水线冲突;需要精确延时程序时,可能也会用到NOP指令。
10. 说明.text段、.data段和.bss段分别包含什么内容? 答:.text 段(文本段),通常包含可执行代码;
.data 段(数据段),通常包含初始化数据;
.bss 段(保留空间段),通常为未初始化变量保留存储空间。
11. 链接器能完成什么工作?链接器命令文件中,MEMORY 命令和 SECTIONS 命令的任
务是什么?
答:链接器将各个目标文件合并起来,并完成如下工作: (1)将各个段配置到目标系统的存储器。
(2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。 (3)解决输入文件之间的未定义的外部引用。 MEMORY命令的作用:
MEMORY命令用来建立DSP应用系统中的存储器模型。通过这条命令,可以定义系统中所包含的各种形式的存储器,以及它们占用的地址范围。 SECTION命令的作用:
说明如何将输入段结合成输出段;在可执行程序中定义输出段;规定输出段在存储器中的存储位置;允许重新命名输出段。
12. 在堆栈操作中,PC当前地址为4020H,SP当前的地址为0013H,运行PSHM AR7
后,PC和SP的值分别为多少? 答:PC=4021H; SP=0012H
13. 试写出以下两条指令的运行结果: ①EXP A
A=FFFD876624 T=0000
则以上指令执行后,B、T的值各是多少? 答:A=0xFFFD876624;T=5 ②NORM B
B=420D0D0D0D, T=FFF9
则以上指令执行后,B、T的值各是多少? 答:B=0x841A1A1A, T=FFF9
14. 阅读以下程序,写出运行结果。 .bss y, 5
table .word 1,2,3,4,5 STM #y, AR2 RPT #5
MVPD table,*AR2+ LD #0,B
LD #81h, AR5 STM #0,A STM #4, BRC STM #y, AR5 RPTB sub-1
ADD *ARM5,B,A STL A,*AR5+ sub: LD #0,B 运行以上程序后,(81H),(82H),(83H),(84H)和(85H)的值分别是多少? 答:(81H)=#1,(82H)=#2,(83H)=#3,(84H)=#4,(85H)=#5 。
相关推荐: