【期末指北】嵌入式系统——选择题(feat. ChatGPT)

嵌入式系统

作者|Rickyの水果摊

时间|2023年2月20日


基本信息 ☘️

本博客摘录了一些 嵌入式系统常见选择题,供有需求的同学们学习使用。

部分答案解析由 ChatGPT 生成,博主进行审核。

使用教材信息:《嵌入式系统设计与应用——基于 ARM Cortex-A8 和 Linux(第二版)》

摊主的个人技术博客:https://rickyxcoder.top/ 🧑🏻‍💻
备用站点:https://rickyxcoder.gitee.io/


题目概览 🧑🏻‍💻

1、下面关于哈佛结构描述正确的是( )

A、程序存储空间与数据存储空间分离

B、存储空间与 IO 空间分离

C、程序存储空间与数据存储空间合并

D、存储空间与 IO 空间合并


2、关于ARM处理器的工作模式,以下说法错误的是()

A、用户模式是程序正常执行的工作模式

B、管理模式负责处理存储器故障,实现虚拟存储器和存储器的保护

C、系统模式运行特权级的操作系统任务

D、当处理器处于用户模式时,如果没有异常发生是不能改 变工作模式的


3、存储一个32位数0x2168465到2000H~2003H四个字 节单元中,若以小端模式存储,则2000H存储单元内容 为( )

A、 0x21 B、 0x68 C、0x65 D、0x02


4、下面关于ARM处理器的体系结构描述哪一个是错误的: ( )

A、三地址指令格式

B、所有的指令都是单周期执行

C、指令长度固定

D、Load-Store结构


5、ARM 指令集和Thumb 指令集分别是( )位的。

A、8 位,16 位

B、16 位,32 位

C、16 位,16 位

D、32 位,16 位


6、ARM Cortex A8的工作状态包括( )。

A、测试状态和运行状态

B、挂起状态和就绪状态

C、就绪状态和运行状态

D、ARM状态和Thumb状态


7、对于ARM7三级流水线,当一条指令被译码时,下一条指令正被( )

A、取指

B、译码

C、PC值递增

D、执行


8、复位后,ARM处理器处于()模式

A. USER

B. SVC

C. SYSTEM

D. ARM


9、寄存器R13除可做通用寄存器外,还可以做( )

A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器


10、在下列ARM处理器的各种模式中,只有( )模式不可以自由地改变处理器的工作模式

A、用户模式(User)

B、系统模式(System)

C、终止模式(Abort)

D、中断模式


11、0x17&0x1A的运算结果是()

A. 0x01

B. 0x11

C. 0x17

D. 0x12


12、对寄存器R1的内容乘以4的正确指令是()

A. LSR R1,#2

B. LSL R1,#2

C. MOV R1,R1, LSL #2

D. MOV R1,R1, LSR #2


13、MOV R1,#0x1000 LDR R0,[R1],#4 执行上述指令序列后,R1寄存器的值是()

A. 0x1000

B. 0x1004

C. 0x0FFC

D. 0x4


14、R0=0x05, 执行BIC R0,R0,#3的运算后,R0结果是( )

A. 0x02

B. 0x03

C. 0x04

D. 0x05


15、GET伪指令的含义是( )

A. 包含一个外部文件

B. 定义程序的入口

C. 定义一个宏

D. 声明一个变量


16、若R1=2000H,(2000H)=0x86,(2008H)=0x39 ,则执行指令LDR R0,[R1,#8]!后R0的值为( )

A. 0x2000

B. 0x86

C. 0x2008

D. 0x39


17、将ARM处理器R0中的一个字节的数据,存入由R1+4 指示的内存区域,且地址自动更新,则使用的ARM指令是()

A. STR R0,[R1,#4]

B. STRH R0,[R1,#4]!

C. STRH R0,[R1,#4]

D. STRB R0,[R1,#4]!


答案解析 ✍️

1、下面关于哈佛结构描述正确的是( )。

A、程序存储空间与数据存储空间分离

B、存储空间与IO空间分离

C、程序存储空间与数据存储空间合并

D、存储空间与IO空间合并

【ChatGPT 解析】

哈佛结构 是指在计算机体系结构中,将 「指令存储器(程序存储空间)与数据存储器」 分离的结构。在哈佛结构中,指令和数据存储器使用不同的总线和不同的物理存储器,这种结构可以提高数据存取的效率,因为指令和数据可以并行地访问。

而存储空间与IO空间分离,是指在计算机体系结构中,将存储器和IO接口分离的结构。在这种结构中,存储器和IO设备使用不同的总线和不同的物理接口,以实现相互独立的访问。这种结构可以提高计算机系统的稳定性和可靠性,同时也方便了硬件和软件的设计和维护。

和哈佛结构类似,存储空间与IO空间分离的结构也可以提高访问效率,因为存储器和IO设备可以并行地访问。但是这两者的分离方式不同,哈佛结构分离的是指令存储器和数据存储器,而存储空间与IO空间分离的结构分离的是存储器和IO接口。

因此,选项A描述的是哈佛结构的特点,程序存储空间和数据存储空间是分离的,选项B、C、D均不符合哈佛结构的定义。


2、关于ARM处理器的工作模式,以下说法错误的是:

A、用户模式是程序正常执行的工作模式

B、管理模式负责处理存储器故障,实现虚拟存储器和存储器的保护

C、系统模式运行特权级的操作系统任务

D、当处理器处于用户模式时,如果没有异常发生是不能改变工作模式的

【ChatGPT 解析】

管理模式 也称为特权模式,用于处理特殊的系统操作,如中断、异常、操作系统的内核代码等。

但是 管理模式并不负责处理存储器故障 ,这是由 数据访问中止模式 负责的。

A、用户模式是程序正常执行的工作模式,ARM处理器在用户模式下执行应用程序,访问受限的系统资源和寄存器,并且无法直接执行特权指令。如果应用程序试图执行特权指令或访问受限的资源,会导致异常发生,处理器会切换到异常模式。

C、系统模式也是一种特权模式,用于运行特权级别的操作系统任务。在系统模式下,操作系统可以执行特权指令,访问所有资源和寄存器,并且可以进行特权级别的操作,如任务切换、内存管理等。

D、该选项略有争议,但是按照教材P27、P28的内容,并且对比 B 选项,该选项也算正确,


3、存储一个 32 位数 0x2168465 到 2000H~2003H 四个字节单元中,若以小端模式存储,则2000H存储单元内容 为( )

A、 0x21

B、 0x68

C、0x65

D、0x02

【博主解析】

大端/小端模式是重点知识,可以把小端模式按照下图中「倒车入库」的方式理解,就会容易很多了。

image-20230220113631867


4、下面关于ARM处理器的体系结构描述哪一个是错误的: ( )

A、三地址指令格式

B、所有的指令都是单周期执行

C、指令长度固定

D、Load-Store结构

【ChatGPT 解析】

ARM处理器的指令集体系结构(ISA)采用的是RISC(Reduced Instruction Set Computing)架构,以精简的指令集为基础,支持高效的指令流水线执行。

B、并非所有的ARM指令都是单周期执行的。由于指令的复杂度不同,一些指令需要多个时钟周期才能完成执行。ARM处理器为了保持高效性,采用了流水线执行的方式,可以在一个时钟周期内执行多个指令的不同阶段。但是,在某些情况下,由于数据相关性或控制相关性等因素,可能需要中断流水线执行,从而导致指令执行的延迟。

A、ARM 指令集采用三地址指令格式,即一个指令可以同时操作三个操作数(源操作数1、源操作数2和目的操作数)。

C、该选项略有争议,指令长度方面,ARM处理器采用变长指令长度的方式,指令长度可以是2字节或4字节,以满足不同的应用需求。这里的固定可能是指 指令长度要么是 2 字节或 4 字节。(本题在一些搜题软件上的答案也是B)

D、Load-Store 结构则是 ARM 处理器的一种常见的指令执行方式,即只有Load和Store指令才能访问存储器中的数据,其他指令只能通过寄存器来操作数据,这样可以提高存储器的访问效率。


5、ARM 指令集和Thumb 指令集分别是( )位的。

A、8 位,16 位

B、16 位,32 位

C、16 位,16 位

D、32 位,16 位

【ChatGPT解析】

ARM 指令集和 Thumb 指令集分别是 32 位和 16 位的。

ARM指令集具有更强的功能和灵活性,而Thumb指令集则具有更小的指令长度和更高的代码密度,可以在节省存储空间和提高执行速度之间做出平衡。

在 ARMv7 指令集中,还有一种指令集,称为 Thumb-2,它既支持 16 位指令,又支持 32 位指令,可以在需要时灵活地切换使用。


6、ARM Cortex A8的工作状态包括( )。

A、测试状态和运行状态

B、挂起状态和就绪状态

C、就绪状态和运行状态

D、ARM 状态和 Thumb 状态

【ChatGPT解析】

ARM Cortex A8是一款基于 ARMv7 架构的处理器,支持 ARM 状态和 Thumb 状态两种工作状态

在ARM状态下,处理器执行32位的ARM指令,提供较高的性能和复杂度;在Thumb状态下,处理器执行16位的Thumb指令,提供较高的代码密度和低功耗。处理器可以在ARM状态和Thumb状态之间切换,以根据应用程序的需求来平衡性能和功耗。

除了ARM状态和Thumb状态,处理器还支持一些特殊状态,如 Jazelle 状态和 ThumbEE 状态。在Jazelle状态下,处理器执行Java字节码,用于支持Java虚拟机(JVM)和Just-In-Time(JIT)编译器。在ThumbEE状态下,处理器执行基于Thumb指令的执行环境(TEE),用于安全应用程序的运行。


7、对于 ARM7 三级流水线,当一条指令被译码时,下一条指令正被( )

A、取指。

B、译码。

C、PC值递增。

D、执行

【博主解析】

理想的 ARM7 的流水线由三个阶段组成,分别是取指、译码和执行。如下图所示:

image-20230220114956940

当前指令正在被译码时,下一条指令已经被取指,等待进入译码阶段。这样可以充分利用处理器的性能,提高指令的执行效率。


8、复位后,ARM处理器处于()模式。

A. USER

B. SVC

C. SYSTEM

D. ARM

【博主解析】

根据教材 P27 页表格,复位后,ARM 处理器位于 管理模式(Supervisor,SVC)


9、寄存器R13除可做通用寄存器外,还可以做( )

A、程序计数器

B、链接寄存器

C、栈指针寄存器

D、基址寄存器

【ChatGPT解析】

在ARM体系结构中,R13 是栈指针寄存器(Stack Pointer),通常简称SP。它的作用是存储当前栈的地址,以及在函数调用时分配和回收栈空间。


10、在下列ARM处理器的各种模式中,只有( )模式不可以自由地改变处理器的工作模式( )。

A、用户模式(User)

B、系统模式(System)

C、终止模式(Abort)

D、中断模式

【博主解析】

根据教材 P27、28 页内容,只有用户模式(User)模式不可以自由地改变处理器的工作模式。

用户模式是 ARM 处理器最基本的工作模式,用于一般的应用程序的执行。在用户模式下,处理器只能访问受保护的寄存器和内存区域,不能执行特权指令,也不能改变处理器的工作模式。

其他模式,如系统模式、中断模式和终止模式,都具有更高的特权级别,可以执行更多的指令和操作,并且可以改变处理器的工作模式。例如,系统模式用于操作系统内核的执行,中断模式用于响应外部中断事件,终止模式用于处理严重的错误情况。

因此,只有用户模式不可以自由地改变处理器的工作模式。


11、0x17 & 0x1A的运算结果是()

A. 0x01

B. 0x11

C. 0x17

D. 0x12

【ChatGPT解析】

进行位运算时,按位与运算符(&)会将两个操作数的对应位上的值进行「与」运算,只有当两个操作数的对应位上的值都为1时,结果位上的值才为1,否则为0。

对于0x17 & 0x1A,按位进行与运算:

  0001 0111
& 0001 1010
-----------0001 0010

因此,0x17 & 0x1A的运算结果是 0x12(十六进制),或者 18(十进制),所以选项D是正确的答案。


12、对寄存器R1的内容乘以4的正确指令是()

A. LSR R1,#2

B. LSL R1,#2

C. MOV R1,R1, LSL #2

D. MOV R1,R1, LSR #2

【ChatGPT解析】

要将寄存器 R1 中的内容乘以 4,可以使用逻辑左移指令(LSL)或移位后的移动指令(MOV)。

逻辑左移指令将操作数的二进制位向左移动指定的位数,并在右侧插入 0。移位后的移动指令将操作数左移指定的位数,并将结果移回到目标寄存器。

在选项A和D中,都使用了移位指令,但是是逻辑右移(LSR),而不是逻辑左移(LSL),这样不会得到正确的乘法结果。因此,选项A和D都是错误的。

在选项B中,使用了逻辑左移指令,但是没有将结果移回到目标寄存器,因此也是错误的。

正确的选项是C,使用移位后的移动指令将 R1 左移两位,然后将结果移回到 R1 中,从而得到 R1 的内容乘以4 的结果。

因此,正确的指令是:

MOV R1, R1, LSL #2

13、执行下面指令序列后,R1寄存器的值是( )。

MOV R1,#0x1000
LDR R0,[R1],#4

A. 0x1000

B. 0x1004

C. 0x0FFC

D. 0x4

【ChatGPT解析】

执行上述指令序列后,R1寄存器的值是 0x1004。

该指令首先将 0x1000 赋值给 R1,然后从地址 R1 开始,读取 4 个字节的数据到 R0,同时 R1 值加上 4。

因此,执行完指令序列后,R1 的值应该是 0x1004。


14、R0=0x05, 执行 BIC R0,R0,#3 的运算后,R0结果是( )

A. 0x02

B. 0x03

C. 0x04

D. 0x05

【ChatGPT解析1】

BIC R0, R0, #3

其中,「BIC」是指位清零指令(Bit Clear),将目标寄存器的指定位清零。

R0 是 ARM 处理器的寄存器名,这里表示目标寄存器。

#3 是一个立即数,表示要清零的位所在的位偏移量。因为 3 的二进制是 00000011,所以这个指令会将 R0 的二进制表示的低两位清零。

【ChatGPT解析2】

image-20230217144937357


15、GET伪指令的含义是( )

A. 包含一个外部文件

B. 定义程序的入口

C. 定义一个宏

D. 声明一个变量

【ChatGPT解析】

GET 是 ARM 汇编语言中的一个伪指令,用于将一个外部文件的内容包含到当前汇编文件中。可以将GET指令看作是「复制粘贴」操作,它会将外部文件的内容复制到指令所在的位置,从而使程序能够使用外部文件中的变量、常量、函数等信息。


16、若 R1=2000H,(2000H)=0x86,(2008H)=0x39 ,则执行指令LDR R0,[R1,#8]!后 R0 的值为( )。

A. 0x2000

B. 0x86

C. 0x2008

D. 0x39

【博主解析】

该指令的含义是:将地址为 R1+8 的内存数据读取到 R0 寄存器中,并将R1的值加上8(! 表示自动修改基地址R1的值)。

在本题中,R1=2000H,(2008H)=0x39,所以将 0x39 读入 R0 中,同时R1的值变为2008H。因此,R0的值为0x39。


17.将ARM处理器 R0 中的一个字节的数据,存入由 R1+4 指示的内存区域,且地址自动更新,则使用的ARM指令是()

A. STR R0,[R1,#4]

B. STRH R0,[R1,#4]!

C. STRH R0,[R1,#4]

D. STRB R0,[R1,#4]!

【ChatGPT解析】

  • STRB 指令是将 R0 寄存器中的 一个字节的数据 存储到存储器中,存储器的地址为R1+4,即[ R1 , #4 ]。而且在存储数据后,R1自动加上1,指向下一个字节。因此,STRB指令是将一个字节的数据从寄存器存储到内存中,并且自动更新目标地址。

  • STR指令是将 R0 寄存器中的 一个字的数据 存储到存储器中,存储器的地址为R1+4,即[ R1 , #4 ]。和STRB指令不同,STR指令存储的是一个字的数据,而不是一个字节,因此存储后R1自动加上4,指向下一个字的地址。

  • STRH 指令是将R0寄存器中的 一个半字的数据 存储到存储器中,存储器的地址为 R1+4,即[ R1 , #4 ]。和STRB指令类似,STRH指令存储的是一个半字的数据,存储后R1自动加上2,指向下一个半字的地址。

本题需要存储一个字节的数据,所以选择 D


写在最后 🎉

如果各位小伙伴觉得本博客写的不错,可以在左下角 点个赞 👍

这样可以让 更加优质的文章更大的概率 被推送到 搜索界面的榜首,为未来的小伙伴们节约更多搜索、阅读的成本。 🚀

同时,你的支持 也是我 不断创作 的动力。☘️

有想要看更多期末系列的小伙伴,也可以关注我的专栏「期末指北」。

我们 下期再见。👋

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5979.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个与chatGPT有关的思考题

事情的起因是最近参加了由Datawhale和HuggingFace联合组织的AIGC应用学习,主打是希望帮助所有学习者更好地利用 GPT 等生产力工具来提高自身的学习与工作效率,适应新的时代,这是第一次作业,本来我是想水作业的(因为近期…

chatgpt赋能python:Python在线搜题:高效、准确、方便

Python在线搜题:高效、准确、方便 如今,互联网已经渗透到我们生活和工作的各个方面。随着学习和考试的不断升级,搜题也成为了许多人不可或缺的工具。Python在线搜题以其高效、准确、方便等优点,受到越来越多人的青睐。 什么是Py…

使用ChatGPT帮我做题,再也不怕没有老师了

心心念念已久的ChatGPT已经下来了,首先想到的就是用来帮我解析力扣的题目 它会帮助写出相应的文档解析,让你了解代码的运行过程,加深理解! 小伙伴都去试试吧!

【ChatGPT】GPT-3.5+ChatGPT:图解概述

总结常见问题 –ChatGPT的受欢迎程度–ChatGPT的成本–ChatGPT的成就–在本地运行ChatGPT–API时间线GPT-3概述(2020年5月)GPT-3.5或InstructGPT概述(2022年1月)ChatGPT概述(2022年11月)ChatGPT的推荐替代方…

留学生乱用ChatGPT太致命!被认定学术不诚信直接被退学?

目录 01.ChatGPT留学生神器?作业论文全靠它? 02.海外留学教授对ChatGPT的看法 03.谨慎谨慎谨慎!ChatGPT引起学术诚信问题 04.多国地区大学禁用ChatGPT 01.ChatGPT留学生神器?作业论文全靠它? 近期留学圈内最火热的…

论文翻译:《生成式智能体:人类行为的交互式模拟》(Generative Agents: Interactive Simulacra of Human Behavior)

Generative Agents: Interactive Simulacra of Human Behavior 摘要关键词1. 引言2. 相关工作2.1人工智能交互(Human-AI Interaction)2.2 人类行为的可信代理( Believable Proxies of Human Behavior)2.3大型语言模型和人类行为(Large Language Models and Human Behavior) 3. …

Python基础学习-简要记录

目录 快捷键 基础1.字符串2.变量3.序列4.列表5.元组6.字典7.集合8.time 模块9.datetime 模块datetimedatetime 类 10.calendar 模块Calendar 类TextCalendar 类HTMLCalendar类 11.函数12.模块与包引用 13.对象类对象继承 14.文件创建写入读取定位 15.os 模块16.错误和异常异常处…

OpenSumi 是信创开发云的首选

原文作者:行云创新技术总监 邓冰寒 引言 随着云原生应用的日益普及,开发上云也逐步被越来越多的厂商和开发者接受,在这个赛道国内外有不少玩家,国外的 GitHub Codespaces、CodeSandbox,GitPod、亚马逊 Cloud9&#xf…

马斯克自动驾驶雄心“翻车”了!

作者丨小小 3月20日消息,由于越来越多的安全担忧,以及特斯拉老板埃隆马斯克(Elon Musk)在推特上分心,特斯拉推出全自动驾驶汽车的雄心已然受挫。 在成为推特新老板很久之前,马斯克曾痴迷于让特斯拉汽车实现…

万字详解生成式 AI 与 Web3

撰文:Joel John 编译:DeFi 之道 隔夜的粥 图片来源:由 Maze AI 生成 自 2022 年末 OpenAI 面向公众推出 ChatGPT 以来,人工智能(AI)的热度一直居高不下。圣诞老人来得很早,他给人类带来了一台能…

CSO 们关注的软件供应链安全十个关键问题

写在前面 自从和几个小伙伴一起创办墨菲安全以来,有一年半多的时间了,创业对于我来说,很有意思的一个地方,就是有机会可以和各行各业很多非常有意思的人一起交流,在这个交流的过程中能够不断的提升自己的认知&#xf…

【虚拟人综述论文】Human-Computer Interaction System: A Survey of Talking-Head Generation

Reading Notes: Human-Computer Interaction System: A Survey of Talking-Head Generation 这一篇文章CSDN禁用太多东西的,有些带有人的图片就说图片违规了,所以大家如果要看对应的图片的话,可以去看我在阿里发的文章 https://de…

美国政府警告:ChatGPT存在重大安全风险

近日,美国联邦政府发布了一份报告,称用户需密切注意ChatGPT存在的网络安全风险,尤其是在网络钓鱼和恶意软件开发领域。 在其发布的咨询意见报告中,政府部门警告,尽管微软支持的人工智能工具ChatGPT获得了前所未有的成功…

ChatGPT一路狂飙,对于教培机构是危险还是机遇?

又是一年,春风拂面,除了春的气息,还拂来了火爆全网的人工智能聊天机器人ChatGPT。会写作业、写论文、写演讲稿……ChatGPT的确在很多领域表现出了非常“强大”的能力。它的这种“超能力”若完全被无差别地应用到教育活动当中,的确…

2023推文总结

2023年第一季度已结束,小杜又陪伴大家走过2023年三分之一的时光。随着工作任务的加重,教程更新有所延缓,实在是分身乏术,工作“饭碗”重要。 R语言绘图篇 R语言中图片输出为PPTX格式跟着iMeta学作图 | 棒棒图和显著相关性散点图…

十大开源 ChatGPT 替代品:弥合对话式 AI 的差距

聊天机器人彻底改变了企业与客户互动的方式。由 OpenAI 开发的最先进的 GPT-4 是该领域的主导者。但是,它不是开源的,这限制了开发人员复制结果或开发自己的类似于 GPT-4 的聊天机器人。 为了填补这一空白,开源社区已经开始提供 GPT-4 的替代…

从chatgpt来说说AI大模型

最近几乎所有的热点都被chatgpt占据,相信大家都对chatgpt已经不陌生了,最近我也看了一些,总结了一些关于大模型的资料,有些不足或者建议,欢迎大家指正。 什么是AI大模型? AI大模型就是Foundation Model&am…

十大开源GPT替代模型,实现属于你自己的chatGPT

文章目录 LLaMAAlpacaAlpaca-LoRAChinese-VicunaBLOOMBELLET5BERTOPTGLM 公众号: MCNU云原生,文章首发地,欢迎微信搜索关注,更多干货,第一时间掌握! 今年chatGPT真的是出尽了风头,搞得好像凡是…

C讲坛之猜数字游戏的实现

大家好,这次博主将一步步教大家如何用C语言实现简单的猜数字游戏 目标:猜数字游戏 要求:随机生成一个1~100的值 输入猜测值后,如果猜测值大于随机值,会提醒“猜大了”,如果小于测试值,会提醒“猜…

使用c语言编写猜数字

要求:1自动产生一个1-100之间的数 2猜数字 a:猜对了,恭喜你游戏结束 b:你猜错了,会告诉猜大了,还是猜小了,然后继续猜 3游戏一直玩,除非退出游戏 解答: 通过分析我们可以…