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语言中运算符的认识