冯诺依曼体系结构计算机的要点和工作过程_第1页
冯诺依曼体系结构计算机的要点和工作过程_第2页
冯诺依曼体系结构计算机的要点和工作过程_第3页
冯诺依曼体系结构计算机的要点和工作过程_第4页
冯诺依曼体系结构计算机的要点和工作过程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、 简述冯诺依曼体系结构计算机的要点和工作过程。答:冯诺依曼体系结构计算机的要点:计算机中的信息(程序和数据)以二进制方式表示。程序预存储,机器自动执行。计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。计算机通过执行预存储在存储器中的程序来完成预定的运算。程序由计算机的指令序列构成,计算机在处理器的控制下,首先从存储器读取一条待执行的指令到处理器中,接下来分析这条指令,而后发出该指令对应的电平脉码序列,即执行该指令。并以此递归运行程序。2、 何谓总线?计算机中有哪几类总线?简述其用途。答:计算机的总线(Bus)就是连接计算机硬件各部件,用于计算机硬件各部件之间信息传输的公共通

2、道。按照其传送信号的用途属性,总线可细分为:地址总线(Address Bus)、数据总线(Data Bus)和控制总线(Control Bus)三类。¨ 地址总线(A_Bus):专用于在CPU、存储器和I/O端口间传送地址信息的信号线。此类信号线传送的信息总是从CPU到存储器或I/O端口,它是单向信号线。¨ 数据总线(D_Bus):专用于在CPU、存储器和I/O端口间传送数据信息的信号线。此类信号线传送的信息可以是从CPU到存储器或I/O端口(“写”操作),也可能是从存储器或I/O端口到CPU(“读”操作),它是双向信号线。¨ 控制总线(C_Bus):专用于CPU

3、与其它部件之间传送控制信息和状态信息的信号线。此类信号线的构成比较复杂,传送的控制、状态信息可以是从CPU到其它部件,也可能是从其它部件到CPU。此类总线中的某些具体的线是单向的(或从CPU到其它部件,或反之),但作为总线来说,它是双向信号线。3、中央处理器CPU是计算机的核心部件,主要功能是解释并执行计算机指令,完成数据处理和对计算机其他各部分进行控制。存储器是计算机系统中用来存储程序和数据的信息记忆部件。4、嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。简而言之,嵌入式系统就是嵌入到目标应用系统中、完成特

4、定处理功能的专用计算机系统。5嵌入式处理器分类嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统1.何谓计算机体系结构?答:计算机体系结构是对计算机较高层次的抽象,是摆脱具体电路的实现而主要着眼于计算机系统的逻辑特征、原理特征、结构特征和功能特征的抽象。3.什么是RISC?什么是CISC?简述他们的特点与差别。答:RISC是Reduced Instruction Set Computer,精简指令集计算机。特点是指令系统精炼,处理器电路逻辑相对简单,且能够以更快的速度执行操作。对于负载的功能需要编程实现。CISC是Complex Instruction Set Computer

5、,复杂指令集计算机。特点是指令系统中含有大量的类似于高级程序设计语言结构的复合功能指令。指令系统庞大,处理器硬件电路的复杂度。21.存储器和IO端口统一编址和独立编址各有什么特点?ARM7处理器统一编址编址方式答:统一编址方式-存储器单元资源和IO端口资源统一编址在一个地址空间。特点:按地址空间位置约定各分类资源,访问IO端口如同访问存储器单元,无需专用的IO访问指令。芯片上没有专用于IO访问的引脚。独立编址方式-存储器资源和IO端口资源分别编址在两个地址空间,存储器地址空间和IO地址空间。特点:按资源分类的地址空间清晰,使用不同的指令访问存储器和IO端口,处理器指令系统中既有存储器访问指令,

6、又有专用的IO访问指令。芯片上有专用于IO访问的引脚。22.大端存储模式和小端存储模式的含义:高位数据存储在高地址字节,这种组织数据的存储方式称为小端模式;另一种则反之,高位数据存储在低地址字节,这种组织数据的存储方式称为大端模式;8、ARM体系结构支持7种处理器模式,用户模式、系统模式、快中断模式、中断模式、管理模式、中止模式、未定义模式。ARM微处理器内共有37个32位的程序可访问寄存器物理资源,其中31个通用寄存器,6个状态寄存器。ARM中定义了复位、未定义指令、SWI(软中断)、预取指终止、预取数终止、irq以及fiq等种异常。ARM7的异常处理:异常响应)处理器转入到ARM状态对应的

7、异常模式;在该异常模式的SPSR、LR寄存器分别备份CPSR、PC的当前数据;重置CPSR和PC9、ARM7TDMI支持哪几种指令集,各有什么特点?答:ARM7TDMI支持32位的ARM指令集和16位的Thumb指令集。ARM指令集效率高、功能全,但是代码密度低,所有ARM指令都是可以有条件执行的;Thumb指令集,功能上是ARM指令集的子集,Thumb状态下的ARM7TDMI(-S)仍然是32位的处理器,因此具有更高的代码密度;Thumb指令中仅有B指令具备条件执行功能。1、解释“满堆栈”、“空堆栈”、“递增堆栈”和“递减堆栈”? ARM指令系统中是如何支持的?答:满堆栈就是堆栈指针总是指向

8、最后压入堆栈的数据的存储单元;空堆栈就是堆栈指针总是指向下一个将要放入数据的存储单元;递增堆栈就是堆栈底部位于低地址处,堆栈向高地址方向增长;递减堆栈就是堆栈底部位于高地址处,堆栈向低地址方向递减; ARM指令系统支持的是满递减堆栈1、 请说明MOV指令与LDR加载指令的区别和用途。答:MOV指令用于将8位位图立即数或寄存器数据传送到目标寄存器(Rd),也可用于移位运算等操作。LDR指令用于从存储器中加载一个数据到寄存器中。用于访问存储器操作。解释B指令、BL指令与BX指令的功能差别?简述它们的应用场合。答:B指令跳转到标号指定的地址执行程序。BL指令先将下一条指令的地址拷贝到R14中,然后跳

9、转到标号指定地址运行程序。BX指令跳转到Rm指定的地址处执行程序,该指令用于处理器状态切换。4、计算机语言:机器语言是一种用二进制代码表示指令和数据,能被机器直接识别的计算机语言。5、如何在汇编程序中显示声明文字池?什么情况下需要显示声明文字池?一般应在程序的什么位置显示声明文字池?为什么?答:使用LTORG汇编器伪指令用于显示声明一个文字池(literal pool)。实际应用中,如果ARM需要处理的操作数不符合8bit位图立即数的要求时,那么就需要使用文字池来存放这个常量。在ARM汇编语言中,使用LDR加载指令相对寻址文字池中存放的任意32bit立即数。因为LDR指令的寻址范围是指令位置的

10、前后4KB,所以如果LDR指令所在位置距离文字池超出4KB范围,那么需要在程序中的适当位置,使用LTORG伪指令显式声明文字池。解决方法:一般总可以在LDR伪指令前后4KB的范围内找到分支指令,文字池可声明在分支(B)指令之后的紧邻位置,因为B指令总是会将程序的执行转移到其它地方的,所以这样做不会影响代码的正常执行。6、简述汇编程序设计的一般流程。分析问题,建立数学模型; 确定算法; 设计程序流程图; 合理分配寄存器、存储空间和外设资源; 编制程序; 调试程序; 形成文档;7、实现汇编程序分支的关键语句有哪几条?分别用于什么场合?答:汇编程序分支结构的实现是通过在运行时由机器根据不同的条件自动

11、作出判断,选择执行相应的处理程序段。分支指令主要有BL指令、B指令和BX指令,分别用于调用子程序、直接跳转和带状态的跳转场合。8、循环控制有哪几种方法?各有什么应用特点?答:循环控制有两种方法。计数控制循环:通过计数循环次数,判断是否已达到预定次数,控制循环。适合已知循环次数的循环控制。条件控制循环:通过判断循环终止条件是否已成立,控制循环。适合仅知道结束条件的循环控制。9、汇编子程序传递参数有哪几种方式?答: 寄存器传递参数方式; 存储区域传递参数方式;堆栈传递参数方式; 10、用汇编语言编写程序将R0寄存器中的字数据分成4组,每组8位,然后分别存放到R1、R2、R3和R4中。AREA de

12、code, CODE, READONLY; 代码段名decodeENTRY; 程序的入口CODE32startLDRR0, =xLDRR0,R0; 将x加载到寄存器R0MOV R1, #0xFFAND R1, R1, R0; 取x的低八位MOV R2,#0xFFANDR2,R2,R0, ROR #8; 取x的次低八位MOV R3, #0xFFAND R3, R3, R0, ROR #16; 取x的次高八位MOV R4, #0xFFAND R4, R4, R0, ROR #24; 取x的高八位stopMOVR0,#0x18; 这三条指令是ADS调试环境特约LDRR1,=0x20026;程序运行结

13、束返回编译器调试环境SWI0x123456AREA Data, DATA, READWRITE; 数据段的名字DataxDCD123456789END; 结束11、用汇编语言编写程序统计任意字符串包含的字符个数。(约定:字符串以0为结束标志)AREA count, CODE, READONLY; 代码段名 countENTRY; 程序的入口CODE32startLDRR0, =string; R0指向字符串string中第一个字符MOV R2, #0CONTILDRB R1, R0; 将string中的一个字符加载到寄存器R1CMP R1, #0; 是否是字符串结束标志ADDNE R2, R2

14、, #1 ; 如果不是,统计个数增加1ADDNE R0, R0, #1; 如果不是,指针拨向下一个字符BNE CONTILDREQ R3, =NUM; 如果是,将统计的字符串个数,放入单元numSTREQ R2, R3stopMOVR0,#0x18; 这三条指令是ADS调试环境特约LDRR1,=0x20026;程序运行结束返回编译器调试环境SWI0x12345612、用汇编语言编写程序计算:AREA sum2n, CODE, READONLY; 代码段名sum2nENTRY; 程序的入口CODE32startLDRR0, =sum; R0指向存储单元sumMOV R1, #0; R1存放累加和

15、MOV R2, #1; R2初始化起始值CONTIADDR1, R1, R2, LSL #1; 实现R1=R1+R2*2CMP R2, #100; 判断R2是否等于100ADDNE R2, R2, #1; 如果不等,R2累加1BNE CONTISTREQ R1, R0; 如果相等,将累加和R1放入存储单元sum中stopMOVR0,#0x18; 这三条指令是ADS调试环境特约LDRR1,=0x20026;程序运行结束返回编译器调试环境SWI0x123456AREA Data, DATA, READWRITE; 数据段的名字DatasumDCD0END; 结束14读程序、文件名:TEST1.S;

16、 功能:实现字符串拷贝功能 说明:使用ARMulate软件仿真调试 AREAExample1,CODE,READONLY ;声明代码段Example1 num EQU 20 ;设置拷贝字的个数 ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令STARTLDRR0, =src ; R0指向源数据块LDRR1, =dst ; R1指向目的数据块MOVR2, #num ; R2需要拷贝的数据个数 wordcopyLDRR3, R0, #4 ; 从源数据块中取一个字,放入R3中,R0=R0+4STRR3, R1, #4; 将R3中的数据存入R1指向的存储单元中,R1=R1+4SUBSR

17、2, R2, #1; R2计数器减1BNEwordcopy; 如果R2不为0,则转向wordcopy处stopMOVR0, #0x18; 程序运行结束返回编译器调试环境LDRR1, =0x20026SWI0x123456AREA BlockData, DATA, READWRITE; 数据段的名字BlockDataAREA |.extra|, NOINIT, READWRITE; 未初始数据段的名字.extradataSPACE1024END; 文件结束 第六章1、主机与外设接口之间主要交互的三类信息:状态信息(输入) 用于标示设备的状态情况 。数据信息(输入/输出)-要传送的二进制目标数据。

18、控制信息(输出) 控制外设的工作方式与具体操作。 对应于上述的三种信息,外设接口电路中的端口寄存器也分为了三类:状态端口(寄存器)、数据端口(寄存器)和控制端口(寄存器)2、接口 与 端口:接口 和 端口是两个不同的概念 。接口 -侧重于物理连接; 端口 - 侧重于接口的内部工作方式。接口由若干个端口加上相应的控制电路构成。每个端口都对应与接口电路中的各个工作寄存器。外设通过接口连接入计算机系统,计算机通过端口访问控制外设工作。3、处理器与外设之间的数据传送方式主要有:无条件数据访问方式,状态查询方式数据访问方式,中断方式数据访问方式和直接存储器访问(DMA)方式等几种方式。4、无条件外设-输

19、入设备总是准备好向CPU提供数据,输出设备总是准备好接收CPU送来的数据。5、接口电路的主要功能:任何设备都不能长期占用系统总线;输入设备要经过三态缓冲器相连到系统总线;输出设备要经过数据锁存器相连到系统总线;6、 状态查询方式的原理:在执行数据端口访问指令前,要先查询该设备的状态,当设备处于准备好状态时,CPU才执行对设备数据端口的输入/输出指令,与外设交换信息;否则,等待。中断方式数据访问 :当外设需要与CPU进行信息交换时,由外设主动向CPU发出数据传送请求信号(中断申请),CPU响应此请求信号后(中断响应),暂停正在执行的程序,转去执行该外设的数据输入/输出操作程序(中断服务程序-IS

20、R),外设数据端口访问后,CPU再继续执行被暂停的程序(中断返回)。7、 中断向量- 中断服务程序(ISR)的入口地址;中断现场- CPU响应中断离开主程序时,CPU的相关寄存器数据情况。中断响应 - CPU敏感并进入到ISR的一系列动作;中断返回 - CPU返回被中断主程序断点处继续执行主程序的一系列动作;8、中断处理过程一般包括以下五个步骤:中断请求、中断响应、断点保护、中断处理和中断返回。9、例7-1:使用Timer0 作为1秒钟的定时器,产生周期为2秒,占空比为1:1的方波信号。int main (void) PINSEL0 = PINSEL0 &( (3<<10)

21、|(2<<10);/*设置P0.5管脚为MAT0.1功能*/ T0CTCR = 0x00; /* 设置Timer0工作在定时方式*/ T0TC = 0; /* 定时器设置为0*/ T0PR = 99; /* 时钟100预分频*/ T0MCR = 0x02<<3;/* 设置T0MR1匹配后复位T0TC,无中断标志*/ T0MR1 = Fpclk / 100;/* 1秒钟定时 - 匹配目标值*/ T0EMR |= 0xC2; /* 设置Timer0发生MR1匹配时翻转MAT0.1位*/ T0TCR = 0x01; /* 启动定时器*/ while (1) ; return

22、0;例 72:假设车轮毂上已经均匀安装了8个霍尔传感器,车轮每转一周可产生8个正脉冲。使用LPC2132中的Timer0和Timer1资源,设计一个简易的车用综合仪表数据处理系统(可测量显示车速、本次里程、总里程等数据)。 #define KClr 1 << 0/* KClr按键连接与P0.0管脚, KClr按下时P0.0为低电平*/#define L 2.5 /* 车轮周长 2.5米 */#define HrN 8/* 车轮箍霍尔传感器个数 */uint32 Vspeed;/* 当前车速*/uint32 VtotalLen;/* 总里程*/uint32 VthisLen;/* 本

23、次里程 - Km */int main (void) uint32 Vx; /* 暂存1秒钟车轮毂霍尔脉冲计数值 */ PINSEL0 =( PINSEL0 &( (3<<20) | (2<<20); /* 设置P0.10管脚为CAP1.0 */ PINSEL0 = PINSEL0 &( 3); /* 设置P0.0管脚为GPIO */* 设置Timer0 - 1秒定时器 */ T0CTCR &= 0xf0; /* 设置Timer0工作在定时方式*/ T0TC = 0; /* 定时器设置为0*/ T0PR = 99; /* 时钟100预分频*/ T

24、0MCR = 0x03; /* 设置T0MR0匹配后复位T0TC,产生中断标志*/ T0MR0 = Fpclk / 100;/* 1秒钟定时 - 匹配目标值*/* 设置 Timer1 - 计数器对P0.10管脚输入脉冲计数 */ T1CTCR = ( T1CTCR &(0x0f)| 0xf1; /* 设置Timer1计数方式,计数CAP1.0的上升沿 */ T1TC = 0; /* 设置计数器初值为0 */ T1MCR = 0x00; /* 这也是芯片的复位值00 */ T1CCR &= 0x07; /* CAP1.0 不再用作捕获触发 */ T0TCR = 0x01; /*

25、启动定时器0*/ T1TCR = 0x01; /* 启动定时器1*/while (1) if (T0IR&0x01) = = 1) /* 1S 定时到 */ T0IR = 0x01; /* 清除MR0中断标志 */ Vx = T1TC; T1TC = 0;/* 下一秒重新计数 */ VtotalLen += Vx;/*累计总里程*/ VthisLen += Vx;/*累计小里程*/ Vspeed = (Vx * L * 3.6) / HrN; /* 单位:Km/Hr */ if (IO0PIN & KClr) = = 0) VthisLen = 0; /* 如果KClr按下,清

26、0本次里程纪录 */ return 0;7、GPIO应用举例#define K1 1 << 0 / K1按键连接与P0.0管脚, K1按下时P0.0为低电平#define K2 1<< 1 / K2按键连接与P0.1管脚, K2按下时P0.1为低电平#define BEEP 1 << 7 / P0.7控制蜂鸣器,高电平蜂鸣#define LED 1 << 8 / P0.8控制发光二级管,高电平点亮void DelayNS (uint32 dly)uint32 i;for ( ; dly>0; dly-)for (i=0; i<50000; i+);int main (void) PINSEL0 = 0x00000000; / P015:0管脚用做GPIO功能IO0DIR = IO0DIR &( K1); / 设置K1控制口为输入 IO0DIR = IO0DIR &( K2); / 设置K2控制口为输入 IO0DIR = IO0DIR | BEEP; / 设置BEEP控制口为输出 IO0DIR = IO0DIR | LED;/ 设置LED控制口为输出 IO0CLR = IO0CLR | BEEP | LED; / BEEP、L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论