一、填空题30分1、ARM(AdvancedRISCMachine)译为(高级精简指令集机器),既可以认为是一个公司的字,或一类未处理器的通称,还可以认为是一种技术的统称。2、ARM处理器的中断有(IRQ中断请求),(FIQ快速中断请求)两种形式。3.S3C2410A是(16/32)位的微处理器,它是属于ARM(RISC)系列。4、S32410A中的ADDR[26:0]是(地址总线)引脚,DATA[31:0]是(数据总线)引脚。nGCS[7:0]是(通用片选信号)引脚,nWE是(写使能),nOE是(输出使能)引脚。5、存储空间的格式有(小端格式)、(大端格式)两种格式,8086系统采用的是(小端格式)。6、USB从接口类型上可分为(),()两种类型。第一种类型可以接U盘,第二种类型将自身作为设备接口。7、从程序员的角度上看,ARM920T可以作为工作在下面两种工作状态下,它们分别是(ARM状态)、(Thumb状态)。8、S3C2410A共有(8)个bank,每个bank有(128)MB空间,总共(1GB)字节空间。9、关于电源控制逻辑,S3C2510A有多种电源配置方案来保证对假定认为的最佳功耗。电源控制块在S3C2410A中有能被激活成四种模式:(工作模式)、(低速模式)、(空闲模式)、(休眠模式)。10、S3C2410A有(5)个(16)位定时器,其中定时器0、1、2、3有脉宽调制(PWM)功能。定时器4有只有一个内部定时器而没有输出管脚。11、液晶显示器可分为(超扭曲向列型STN/DSTN)、(薄模式晶体管型TFT)两种。12、RSIC中文名称是(精简指令集计算机),CISC中文名称是(复杂指令集计算机)。二、问答题30分1、ARM系统微处理器能够代替X86处理器吗?请说明理由。能。ARM主板的功耗极低。ARM主板不会发热,主板温度一般是常温,因此可以一直常年累月开机在线工作,不会出现任何问题。而X86主板CPU必须配风扇而且不能长期工作,否则主板产生的温度会让主板整体性能寿命降低。ARM主板的开机速度非常快,一般只有几秒就可以了,而X86需要开机一段时间,Windows系统才会起来。④目前来看,ARM主板的性能已经越来越接近X86主板,甚至在某些方面超过了它。从视频多媒体、数据通信等几个方面,基本和X86类似。⑤ARM主板不受时间限制,可以一直开机工作,无须人员去维护,而且在调电情况下,只要来电,那么就会自动启动,无须人员去开机或者关机,而X86主板却要人员维护,而且不能长期工作,否则会让主板寿命大大降低。⑥ARM主板一般都是工业极,不受环境影响,最低温度可以在-20摄氏度左右,最高温度可以在70摄氏度左右而X86一般都不行。⑦ARM主板都采用高度集成方式,数据一般都放在Flash内部,都是二进制格式,外部无法直接拷贝内部数据。而且最大的优点是:目前ARM主板的系统都是WinCE系统或者Linux系统,不会受病毒感染,客户无须担心病毒感染而导致数据泄漏,尤其是一些对于数据安全性要求很高的场所。ARM主板非常适合而X86刚好相反,由于都采用了WindowsXP、2000等常用系统,而且采用了DOM盘或者硬盘,因此数据很容易被病毒感染或者被人偷取,因此安全性无法相比。⑧ARM主板目前价格都非常低,而且ARM主板已经包含了内存和存储介质,无须外部购买配件,因此整体系统成本比X86价格要低很多。2、伪指令的作用是什么?它和指令有何区别?作用:伪指令是ARM处理器支持的汇编语言程序里的特殊助记符,它不在处理器运行期间由机器执行,只是在汇编是将被合适的机器指令代替成ARM或Thumb指令,从而实现真正的指令操作。区别:每一条指令必须生成机器代码,然后在程序运行期间由CPU来执行其操作;而伪指令是在汇编期间由汇编程序执行的操作命令,除了数据定义及存储器分配伪指令分配存储器空间外,其它伪指令不生成目标码。和各种指令一样,伪指令也是程序设计不可缺少的工具。3、什么是直接存储器访问DMA?它有什么作用?DMA是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬件子系统(电脑外设),可以独立地直接读写系统存储器,而不需绕道中央处理器(CPU)。在同等程度的处理器负担下,DMA是一种快速的数据传送方式。DMA是在专门的硬件(DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。作用:是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为DMA控制器的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。4、叙述ARM输入/输出引脚功能。书34页5、串行通信协议中:一个起始位。8个数据位。无校验位,一个停止位组成。画出传送字符A的波形。6、简述ARM硬件平台的组成。ARM核,时钟和电源模块,DMA通道,通用I/O端口,PWM脉宽调制,通用异步收发器,USB主机接口和USB设备接口,中断控制器,LCD控制器,数模转换和触摸屏接口等。三。分析下面指令的源操作数寻址方式10分1、STRR4,[R2,#-4]基地址寻址2、SUBSR1,R2,#3立即寻址3.MOVR0,R1寄存器寻址4.ANDSR1,R1,R2,LSLR3寄存器偏移寻址5.LDRR1,=0X12345678寄存器间接寻址6.LDRR2,[R3,#0X0F]基地址寻址7.MOVR1,#0X12立即寻址8.STMFDSP!,{R1-R7,LR}堆栈寻址9.LDMFDSP!,{R1-R7,LR}堆栈寻址10.BLLOOP1相对寻址四、为下面程序添上注释,只要注释5条。10分AREAJUMP,CODE,READONLY声明代码段ExamplelCODE32声明32位ARM指令numEQU2跳转表中的子程序个数ENTRY程序执行的入口点startMOVR0,#0设置3个参数,R0选择调用哪个子程序R0=0MOVR1,#3R1为子程序要用的参数R1=3MOVR2,#2R2为子程序要用的参数R2=2BLarithfunc调用子程序arithfunc,进行算术运算stopMOVR0,#num本条与下条指令的作用是参数传递LDRR1,=0X20026SWI0X123456将CPU的控制权交给调试器ArithfuncCMPR0,#num判断R0是否在有效范围之内MOVHSPC,LP如果超出范围则程序返回ADRR3,JumpTable读取跳转表的基地址LDRPC,[R3,R0,LSL#2]第三条根据参数R0的值跳转到相应的子程序JumpTableDCDDoAddDCDDoSubDoAddADDR0,R1,R2第四条子程序DoAdd执行加法操作R0=R1+R2MOVPC,LRDoSubSUBR0,R1,R2DoSubSUBR0,R1,R2MOVPC,LR第五条子程序返回END五、程序设计20分1.编写程序,将字符串1复制到字符串2。数据段定义如下:SREADATA1,DATA,READWRITESTRING1DCB“Theuniversityisheaven,orhell?”STRING2SPACE100STACK_TOPEQU0x40002000PRESERVE8AREASCopy,CODE,READONLYEXPORTSTARTEXPORTstrcopyimportmainENTRYSTARTLDRR13,=STACK_TOPBmainstrcopyLDRBr2,[r1],#1STRBr2,[r0],#1CMPr2,#0BNEstrcopyMOVpc,lrEND2.编程实现a+b+c+d,可以汇编,也可以用C和汇编混合编程,但是不能全用C,因为实现不了。datasegmentadb?bdb?cdb?ddb?sumdw0dataendscodesegmentstart:movax,datamovds,axmovdx,0movsi,offsetamovcx,4l:movah,0moval,siadddx,axincsilooplmovsi,offsetsummov[si],dxmovah,4chint21hcodeendsendstart