笔试题(二)

16、使用DMA的好处不包括(   )。

A  减少数据的传输延时     

B  一定条件下可以降低系统的功耗  

C   软件复杂度肯定会降低  

D  降低CPU占用

解析:本题主要考察了对CPU直接与系统内存交换数据的接口技术DMA的了解。

这题直接从正面解还是会让人有些小纠结的,每个选项看上去都没有什么明显的问题,但是C项有明显的错误选项所具备的特殊字眼“肯定”,那么选择它的概率就很大了。

DMA(Direct Memory Access,直接存储器访问)。在DMA出现之前,CPU与外设之间的数据传送方式有程序传送方式:直接在程序控制下进行数据的输入/输出操作;中断传送方式:当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,使CPU暂停正在执行的程序,转而去执行数据输入/输出操作,待数据传送结束后,CPU再继续执行被暂停的程序。

DMA的出现就是为了解决批量数据的输入/输出问题。DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。这样数据的传送速度就取决于存储器和外设的工作速度(A选项正确)。通常系统总线是由CPU管理的,在DMA方式时,就希望CPU把这些总线让出来,即CPU连到这些总线上的线处于高阻态,而由DMA控制器接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束信号。

DMA是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。DMA 传输将一个内存区从一个装置复制到另外一个,CPU初始化这个传输动作,传输动作本身是由 DMA控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作(D选项正确)。DMA传输对于高效能嵌入式系统算法和网络是很重要的。

对于B项的一种分析是我们设计时如果使用了低功耗方式,在唤醒后使用DMA由于提高了处理器利用率和处理速度,可以使得处理器尽快完成当前任务,再次进入低功耗状态,进一步降低功耗。

C项中软件的复杂度这个很难去判断,需要具体情况具体分析而且又说的太绝对了,所以我们看到选项中有“肯定”的字眼一定要格外注意。

17、二进制乘法遵循下面哪些规则(   )。

A  0x1=0       B  1x0=0        

C  1x1=1        D  0x0=0

解析:本题主要考察了对数字电路基本运算法则的认识。

这个题目是在多选题中的,从题干上来分析,是想让我们区别二进制乘法和十进制乘法的不同,但是看看选项发现并没有达到这种效果,也就是说选项中的运算都是二进制乘法和十进制乘法通用的,所以我们都选上。

18、逻辑代数式:A*A=(   )。

A  2A             B  A^2           

C  2A^2         D  A

解析:本题主要考察了对数字电路基本运算法则的认识。

这个题目也是考察数字电路中最基本的内容,只要不马虎绝对可以做对的。和上一个题的考点相同,这里是用字母表示的,当A为0和1时,二进制和十进制没有什么区别。但是二进制只有0和1,十进制大于1后的结果就是A^2了。

19、逻辑表达式Y=AB,表示(   )。

A  或门          B  异或门       

C  与非门       D  与门

解析:本题主要考察了对FPGA基本逻辑表达式的认识。

这道题也是数字电路中最基本的知识,常见的逻辑门与其表达式如下:

与门的表达式为:Y = AB;

或门的表达式为:Y = A+B;

非门的表达式为:Y = A';

与非门的表达式为:Y = (AB)';

异或门的表达式为:Y = A'+A'B或Y = A+B;

同或门的表达式为:

Y = AB'+A'B或Y = A⊙B。

20、Verilog HDL语法中,下面哪一个是错误的端口类型(   )。

A output       B bi-directionaL

C inout         D input             

解析:本题主要考察了对Verilog语言端口类型的认识

这道题的正确率过半了,但是选择C的人数也很多,占到了38%,为什么呢?

首先A选项和D选项是毫无疑问的,如果还有选错的同学,说明你还不会Verilog,是FPGA的门外汉,因为input输入和output输出是最常用的。选C项的同学我想你写的代码还不够多,或者说是刚刚入门FPGA,见的比较少,不过inout确实用的也相对较少,但是如果你写过IIC的代码,一定知道inout怎么用。定义为inout的端口表示该端口是双向口,既可以作为数据的输入端口也可以作为数据的输出端口

21、Verilog用什么注释掉一行(   )。

A \\               B //              

C #                D %

解析:本题主要考察了Verilog语言中注释用法

22、在VerilogHDL中,下面哪个是在RTL代码中不可以直接使用的运算符(   )。

A“|”              B“/”              

C “+”            D “^”

解析:本题主要考察了对Verilog语言中运算符的认识

FPGA设计中复位用法

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾日叁問

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值