2022年软考-嵌入式系统设计师考前模拟强化练习题58(附答案详解)

上传人:住在****她 文档编号:100687871 上传时间:2022-06-03 格式:DOCX 页数:27 大小:3.24MB
返回 下载 相关 举报
2022年软考-嵌入式系统设计师考前模拟强化练习题58(附答案详解)_第1页
第1页 / 共27页
2022年软考-嵌入式系统设计师考前模拟强化练习题58(附答案详解)_第2页
第2页 / 共27页
2022年软考-嵌入式系统设计师考前模拟强化练习题58(附答案详解)_第3页
第3页 / 共27页
点击查看更多>>
资源描述
2022年软考-嵌入式系统设计师考前模拟强化练习题(附答案详解)1. 单选题下列关于数据库系统的描述,不正确的是( )。问题1选项A.数据库可减少数据冗余B.用户程序按所对应的子模式使用数据库中的数据C.数据库系统中,若概念模式有改变,子模式不必变,用户程序也不必改写D.数据库系统存储模式如有改变,概念模式必须改动【答案】D【解析】数据库系统包括了三级模式两级映射,其中存储模式跟概念模式是相互独立的。概念模式改变不会影响存储模式,同样存储模式改变也不会影响概念模式。所以选D。2. 单选题DMA是一种高速的数据传输模式,下列描述中, 错误的是( )。问题1选项A.DMA传输方式可以产生中断B.DMA传输过程主要由硬件来实现C.DMA传输过程包含3个阶段:申请阶段、响应阶段和数据传输阶段D.DMA操作可以通过软件来启动,也可以通过内部部件的请求来启动【答案】C【解析】输入/输出技术的三种方式:直接查询控制:有无条件传送和程序查询方式,都需要通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。在这种情况下CPU不做别的事情,只是不停地对外设的状态进行查询。中断方式:当I/O系统与外设交换数据时,CPU无须等待也不必查询I/O的状态,而可以抽身来处理其他任务。当I/O系统准备好以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行的程序的现场,转入I/O中断服务程序的执行,完成于I/O系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。DMA:直接寄存器存取方式,是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU正在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接执行完成。DMA传输方式可以产生中断;DMA传输过程主要由硬件来实现;DMA操作可以通过软件来启动,也可以通过内部部件的请求来启动;DMA传输过程包含4个阶段:请求阶段、响应阶段、传输阶段和结束阶段。3. 单选题下列选项中会导致进程从执行态变为就绪态的事件是( )。问题1选项A.执行等待操作B.申请内存失败C.启动I/O设备D.被高优先级进程抢占【答案】D【解析】运行态等待态 等待使用资源,如等待外设传输,等待人工干预等待态就绪态 资源得到满足,如外设传输结束,人工干预完成运行态就绪态 运行时间片到,出现有更高优先权进程就绪态运行态 CPU空闲时选择一个就绪进程4. 单选题下面的程序(a)和程序(b)运行后,y和c的值分别是( )。问题1选项A.y=2,c=11B.y=2,c=4C.y=0.5,c=11D.y=0.5,c=4【答案】A【解析】define是宏定义,用来定义常量或宏,是一个符号替换概念。程序(a): x*x代换掉f(x),因此,运行结果y=2,而不是y=0.5。程序(b):case语句中,如果没有break语句,会一直执行到结束。所以执行结果c=11。所以答案是A。5. 单选题下面( )不属于中断 周期完成的动作。问题1选项A.检查有无中断请求B.关中断C.保存断点D.输入中断程序入口,准备执行中断处理程序【答案】A【解析】检查有无中断请求不属于中断周期完成的动作。中断周期完成关中断、保存断点、输入中断程序入口准备执行中断处理程序三个动作。6. 单选题假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为100MHz,则总线带宽是( )。问题1选项A.100MB/sB.200MB/SC.400MB/SD.800MB/S【答案】B【解析】7. 单选题在五级流水线的嵌入式处理器设计中,一般包括取指、译码、执行、访存和回写。下面对这五个阶段描述不正确的是( )。问题1选项A.取值是指从存储器中取出指令,并将其放入指令流水线B.译码是指对指令进行译码,执行是指通过算术逻辑单元进行运算C.访存是指访问数据存储器D.回写是指将指令产生的结果回写到外部存储器【答案】D【解析】在五级流水线的嵌入式处理器设计中,一般包括取指、译码、执行、访存和回写。取值是指从存储器中取出指令,并将其放入指令流水线。译码是指对指令进行译码,执行是指通过算术逻辑单元进行运算。访存是指访问数据存储器。回写是指将指令产生的结果回写到寄存器中。8. 单选题以下关于软件风险的叙述中,不正确的是( )。问题1选项A.风险是可能发生的事件B.如果发生风险,风险的本质、范围和时间可能会影响风险所产生的后果C.如果风险可以预测,则可以避免其发生D.可以对风险进行控制【答案】C【解析】一般认为软件风险包含两个特性:不确定性和损失,不确定性即指风险可能发生也可能不发生,A选项正确。评估风险的影响,如果风险真的发生,有3个因素可能会影响风险所产生的后果,即风险的本质、范围和时间,B选项正确。如果风险可以预测,可以避免其发生,有些风险可以预测但无法避免,C选项错误。风险控制的目的是辅助项目组建立处理风险的策略,D选项正确。9. 单选题为了便于实现多级中断,保存现场信息最有效的方法是采用( )。问题1选项A.通用寄存器B.堆栈C.存储器D.文件系统【答案】B【解析】堆栈方式是保存现场信息最有效的方法。断点可以保存在堆栈中,由于堆栈先进后出的特点,依次将程序的断点压入堆栈中。出栈时,按相反顺序便可准确返回到程序间断处。10. 单选题阅读下面程序,该程序运行后的输出结果是( )。程序:问题1选项A.5, 15B.5, 10C.0,0D.0, 10【答案】A【解析】static 静态变量静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束。11. 单选题按指令流和数据流的组织关系,计算机系统的结构有以下不同类型,大规模并行处理机MPP属于( )结构。问题1选项A.SISDB.SIMDC.MISDD.MIMD【答案】D【解析】按照计算机同时处于一个执行阶段的指令或数据的最大可能个数划分,可分为SISD、SIMD、MISD、MIMD;SISD(Single Instruction Single Data stream)单指令流单数据流(SISD):SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并且只对一个操作部件分配数据。流水线方式的单处理机有时也被当作SISD。以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。多指令流多数据流(MultipleInstructionStreamMultipleDataStream,简称MIMD),它使用多个控制器来异步地控制多个处理器,从而实现空间上的并行性。多指令流单数据流(MultipleInstructionstreamSingleDatastream):MISD具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。SIMD全称Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。MPP(Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。简单来说,MPP是将任务并行地分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。12. 单选题嵌入式系统中,各处理模块的板级支持包(BSP)所包含的内容,是和系统相关的驱动和程序。一般认为,( )。问题1选项A.BSP属于操作系统的一部分B.BSP是独立的板级支持层软件C.BSP属于驱动程序层D.BSP属于固件存在于处理模块硬件层【答案】A【解析】板级支持包(BSP)(Board Support Package)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改)。这样才能与上层OS保持正确的接口,良好的支持上层OS。所以答案是A。13. 单选题下图为典型的复位电路,针对该复位电路,下列描述错误的是( )。问题1选项A.系统上电时,通过电阻R1向电容C1充电B.当C1电压未达到门限电压时,RESET端输出高电平,系统进入复位状态C.当C1电压达到门限电压时,RESET端输出高电平,系统进入复位状态D.按下复位按钮时,C1两端的电荷会被放掉,系统进入复位状态【答案】C【解析】该复位电路的工作原理为:1.在系统上电时,通过电阻R1向电容C1充电,当C1两端的电压未达到高电平的门限电压时,RESET端输出为高电平,系统处于复位状态;2.当C1两端的电压达到高电平的门限时,RESET端输出为低电平,系统进入工作状态。3.按下复位按钮时,C1两端的电荷被释放掉,RESET端输出为高电平,系统进入复位状态。14. 单选题受控库存放的内容包括( )文档和( )代码。问题1选项A.通过评审且评审问题已归零或变更验证已通过,均已完成签署的B.只要完成编写的各种C.在软件设计阶段结束时D.在综合测试阶段结束时问题2选项A.通过了项目规定测试的,或回归测试的,或产品用户认可的B.只要完成编写的各种C.在软件设计阶段结束时D.在综合测试阶段结束时【答案】第1题:A第2题:A【解析】1.开发库(动态库、程序员库、工作库)。开发库存放项目确定的软件配置项集合,以及项目组需要存放的其他文件或过程记录。2.受控库(主库、系统库)。受控库存放在软件开发过程中达到相对稳定、可以作为后续开发活动输入的软件工作产品(或称为配置项)。3.产品库(备份库、静态库、软件仓库)。产品库存放作为软件产品的受控库中各阶段基线或产品基线对应的文档、源程序和可执行代码。15. 单选题一台计算机的显示存储器用DRAM芯片实现,要求显示分辨率为10241024,颜色深度为24位,帧频为100Hz,显示总带宽的50%用来刷新屏幕,则需要的显存总带宽至少为( )。问题1选项A.1200MbpsB.9600MbpsC.2400MbpsD.4800Mbps【答案】D【解析】一台计算机的显示存储器用DRAM芯片实现,要求显示分辨率为10241024,颜色深度为24位,帧频为100Hz,显示总带宽的50%用来刷新屏幕,则需要的显存总带宽至少为4800Mbps。计算过程如下:1.首先求得总容量为:1024102424bit。2.时间为:1/100HZ=0.01秒。3.显存的最少带宽:1024102424bit/0.01秒=2400Mbps。4. 当显示总带宽的50%用来刷新屏幕时,则至少需要2倍的显存带宽。2400Mbps2=4800Mbps。16. 案例题阅读下列说明和C语言代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】在某工厂的物流车间,设计一款智能监测系统,实现对车间进行24小时不间断图像采集的功能。王工设计了一个实时监测采集系统,主要由图像采集卡和数据存储卡组成。由于实时图像的数据量巨大,设计采用DMA方式进行数据传输,当DMA传输完成后,DMA控制器会发起一个硬件中断。操作系统接收到硬件中断,调用中断服务程序。该系统的软件基于某嵌入式操作系统开发,支持中断管理、多任务调度等功能。与DMA相关的一段驱动程序示例代码如下。【C语言程序声明与定义】【程序1】【程序2】【程序3】【问题1】(5分)在操作系统的头文件中,有如下类型定义:typedef void (*VOIDFUNCPTR)(); /* ptr to function returning void */ typedef int (*FUNCPTR) (); /* ptr to function returning int */1.该类型定义了一组什么类型的变量,简述其功能。2.在【程序1】的dma_init函数中,应该将intConnect函数的第二个参数转换成相应的类型,可以消除编译警告,请补充其中空(1)的内容。【问题2】(4分)DMA控制器的寄存器操作序列,必须为原子操作,该程序中使用了两个信号量,一个用于进行寄存器操作系统的临界区保护,一个用于在传输函数和DMA完成中断处理程序之间同步。请根据信号量创建时的不同初始值,在【程序2】的dma_trans函数和【程序3】dma_intHandle函数中,补充空(2)、(3)、(4)、(5)处的内容。【问题3】(6分)在该系统中有A、B两个应用任务同时从不同角度采集图像,都需要调用该DMA传输函数,任务A和任务B的优先级相同。该系统采用优先级抢占的调度策略。在任务A调用DMA传输函数进行DMA传输时,有时会出现函数返回值为0的情况。根据 DMA控制器的芯片手册定义,1表示正常完成,2表示传输超时,4表示奇偶校验错,所以返回值不应该为0。王工经过认真排查后,分析该故障发生的原因是当任务A调用dma_trans函数时,会发生任务suspend的情况,此时如果任务B也调用dma_trans函数,则会发生上述故障。1.请给出dma_trans函数中会导致任务发生阻塞的代码行号。2.按照王工的分析,对全局变量的不正确操作会导致该函数的返回值错误,请给出发生错误的代码行号。3.王工对该程序进行了改进,将上述会导致返回值错误的代码放在某一行程序之后执行,即可解决该问题,请给出代码行号。注意:这里的行号是指【程序2】中注释所标的第1行到第5行,请在第1行到第5行之中选择。【答案】【问题1】1.该类型定义了一组函数指针类型的变量。使用typedef给函数指针类型一个别名。(1)VOIDFUNCPTR【问题2】(2)sem_DMA1 (3)sem_DMA2 (4)sem_DMA1(5)sem_DMA2【问题3】1.第3行2.第1行3.第2行【解析】1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表)char (*pFun)(int);char csFun(int a) return;void main() pFun = csFun; (*pFun)(2);第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。第二行定义了一个函数csFun()。该函数正好是一个以int为参数返回char的函数。我们要从指针的层次上理解函数函数的函数名实际上就是一个指针,函数名指向该函数的代码在内存中的首地址 然后就是main()函数了,它的第一句您应该看得懂了它将函数glFun的地址赋值给变量pFun。main()函数的第二句中“*pFun”显然是取pFun所指向地址的内容,当然也就是取出了函数glFun()的内容,然后给定参数为2。 2.使用typedef更直观更方便形式1:typedef 返回类型(*新类型)(参数表)typedef char (*FUNCPTR)(int);FUNCPTR pFun;char csFun(int a) return;void main() pFun = csFun; (*pFun)(2); typedef的功能是定义新的类型。第一句就是定义了一种FUNCPTR的类型,并定义这种类型为指向某种函数的指针,这种函数以一个int为参数并返回char类型。后面就可以像使用int,char一样使用FUNCPTR了。 第二行的代码便使用这个新类型定义了变量pFun,此时就可以像使用形式1一样使用这个变量了。 17. 单选题协处理器是连接在CPU上面的附属器件,下面关于协处理器描述不正确的是( )。问题1选项A.必须在CPU的指令集中保留某些操作码用于协处理器操作B.协处理器一般用于执行一些特殊指令C.协处理器可以在自己的寄存器上执行加载和存储操作D.协处理器和CPU之间不能进行数据交互【答案】D【解析】协处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务。协处理器,这是一种协助中央处理器完成其无法执行或执行效率、效果低下的处理工作而开发和应用的处理器。这种中央处理器无法执行的工作有很多,比如设备间的信号传输、接入设备的管理等;而执行效率、效果低下的有图形处理、声频处理等。为了进行这些处理,各种辅助处理器就诞生了。协处理器一般用于执行一些特殊指令。必须在CPU的指令集中保留某些操作码用于协处理器操作,比如ARM的协处理器指令主要用于ARM处理器初始化ARM协处理器的数据处理操作,以及在ARM处理器的寄存器和协处理器的寄存器之间传送数据,和在ARM协处理器的寄存器和存储器之间传送数据。协处理器可以在自己的寄存器上执行加载和存储操作。18. 单选题将编译器的工作过程划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成时,语法分析阶段的输入是( )。若程序中的括号不配对,则会在( )阶段检查出该错误。问题1选项A.记号流B.字符流C.源程序D.分析树问题2选项A.词法分析B.语法分析C.语义分析D.目标代码生成【答案】第1题:A第2题:B【解析】A选项记号流,词法分析的输出是记号流,也就是语法分析的输入,第一空选择A选项。B选项字符流,在Java中,根据处理的数据单位不同,分为字节流和字符流。字符流是由字符组成的,例如 File Reader、File Writer、Buffered Reader、Buffered Writer、Input Stream Reader、Output Stream Writer 等。与本题无关。C选项源程序,词法分析的任务是把源程序的字符串转换成单词符号序列。D选项分析树,如果没有语法错误,语法分析后就能正确的构造出其语法树。括号不匹配是典型的语法错误,会在语法分析阶段检测出来。19. 单选题( )不属于操作系统的功能。问题1选项A.进程管理B.文件管理C.存储管理D.事务管理【答案】D【解析】操作系统的功能包括了进程管理、文件管理、存储管理、设备管理和作业管理,事务管理是数据库的功能,不属于操作系统的功能。所以答案是D。20. 案例题阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】电子体温计可以快速、准确地进行体温测量,第一时间排查发热病人。李工通过AD模块设计体温采集电路,如图2-1所示,AD采集芯片使用ADC0809,单片机采用AT89S52。对应的电路连接描述如下:(1) ADC0809 的D0D7端口连接到AT89S52的P0口;(2) ADC0809的A、B、C为AD输入IN0IN7选择端,A为最高位,C为最低位;(3) ADC0809 的AD转换结束信号(EOC) 连接到AT89S52的P3.2;(4) ADC0809 的AD转换启动信号(ST) 受AT89S52的P1.4管脚控制; .(5) ADC0809 的AD转换数据输出使能(OE)受AT89S52的P3.1管脚控制;(6) ADC0809的时钟通过AT89S52的ALE输出控制,经过2个D触发器来生成;(7) ADC0809 的输入模拟电压范围是05V; .(8) AT89S52 的P3.0管脚用来控制LED。对于ADC0809而言,启动一次AD转换时,需要给ST一个短时的高电平。在AD转换过程中,EOC为低电平,当AD转换完毕后,EOC会变为高电平。在AD转换结束后,需要给OE一个短时高电平,在该期间内从D0D7读取AD转换后的数据。【问题1】(3分)AT89S52和ADC0809之间的连接线中,对ADC0809而言,下列信号中哪些为输入信号?A. STB. EOCC. OED.AE.BF. C【问题2】(2 分)当外围的温度传感器模拟电压为1.2V 时,ADC0809 的输出值是多少?【问题3】(2分)若单片机AT89S52的ALE输出为2M的时钟频率,那么ADC0809的时钟是多少?【问题4】 (8分)李工按照该电路的工作原理设计了如下程序,该程序以查询方式实现AD转换,读取AD转换后的数据。请根据逻辑,在下面A到O中选择正确答案,完成(1) (8) 填空。A. LED= 0B. LED=1C. OE=0D. OE=1E. ST=0F. ST=1G. P0=0xF8H. PO=0xFCI. while (EOC=0)J. while (EOC=1)K.ADdata=P0L. P0=ADdataM. if (ADdata 128)N. if (ADdata 【答案】【问题1】A、C、D、E、F【问题2】61或者0x3D【问题3】500kHz【问题4】(1) E(2) F(3) J(4) C(5) K(6) D(7) M(8) A【解析】【问题1】根据AT89S52 和ADC0809 的连接线图,可以得到输入信号包括ST 、OE 、A 、B 和C 。【问题2】(1.2/5) X 255 = 61 = 0x3D【问题3】2 个D 触发器串联,进行了4分频, 因此输出时钟为输入时钟的1/4 分频,也就是D 触发器输出最终为2 M/4=500KHZ 。【问题4】(1)为ST=0 , (2) 为ST= 1, (3)为while(EOC=1) , (4 )为OE=0 ,(5) 为ADdata=P0 , (6 )为OE= 1 , (7)为if(ADdata128), (8)为LED=0。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!