冯诺依曼体系结构计算机的要点和工作过程.docx

上传人:b****6 文档编号:15530209 上传时间:2023-07-05 格式:DOCX 页数:15 大小:178.21KB
下载 相关 举报
冯诺依曼体系结构计算机的要点和工作过程.docx_第1页
第1页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第2页
第2页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第3页
第3页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第4页
第4页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第5页
第5页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第6页
第6页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第7页
第7页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第8页
第8页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第9页
第9页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第10页
第10页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第11页
第11页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第12页
第12页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第13页
第13页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第14页
第14页 / 共15页
冯诺依曼体系结构计算机的要点和工作过程.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

冯诺依曼体系结构计算机的要点和工作过程.docx

《冯诺依曼体系结构计算机的要点和工作过程.docx》由会员分享,可在线阅读,更多相关《冯诺依曼体系结构计算机的要点和工作过程.docx(15页珍藏版)》请在冰点文库上搜索。

冯诺依曼体系结构计算机的要点和工作过程.docx

冯诺依曼体系结构计算机的要点和工作过程

1、简述诺依曼体系结构计算机的要点和工作过程。

答:

诺依曼体系结构计算机的要点:

计算机中的信息(程序和数据)以二进制方式表示。

程序预存储,机器自动执行。

计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

计算机通过执行预存储在存储器中的程序来完成预定的运算。

程序由计算机的指令序列构成,计算机在处理器的控制下,首先从存储器读取一条待执行的指令到处理器中,接下来分析这条指令,而后发出该指令对应的电平脉码序列,即执行该指令。

并以此递归运行程序。

2,何谓总线?

计算机中有哪几类总线?

简述其用途。

答:

计算机的总线(Bus)就是连接计算机硬件各部件,用于计算机硬件各部件之间信息传输的公共通道。

按照其传送信号的用途属性,总线可细分为:

地址总线(AddressBus).数据总线(DataBus)和控制总线(ControlBus)三类。

♦地址总线(ABus):

专用于在CPU、存储器和I/O端口间传送地址信息的信号线。

此类信号线传送的信息总是从CPU到存储器或I/O端口,它是单向信号线。

♦数据总线(DBus):

专用于在CPU、存储器和I/O端口间传送数据信息的信号线。

此类信号线传送的信息可以是从CPU到存储器或I/O端口(“写”操作),也可能是从存储器或I/O端口到CPU(“读”操作),它是双向信号线。

♦控制总线(CBus):

专用于CPU与其它部件之间传送控制信息和状态信息的信号线。

此类信号线的构成比较复杂,传送的控制、状态信息可以是从CPU到其它部件,也可能是从其它部件到CPU。

此类总线中的某些具体的线是单向的(或从CPU到其它部件,或反之),但作为总线来说,它是双向信号线。

3,中央处理器CPU是计算机的核心部件,主要功能是解释并执行计算机指令,完成数据处理和对计算机其他各部分进行控制。

存储器是计算机系统中用来存储程序和数据的信息记忆部件。

4、嵌入式系统:

以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

简而言之,嵌入式系统就是嵌入到目标应用系统中、完成特定处理功能的专用计算机系统。

5嵌入式处理器分类嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统

1•何谓计算机体系结构?

答:

计算机体系结构是对计算机较高层次的抽象,是摆脱具体电路的实现而主要着眼于计算机系统的逻辑特征、原理特征、结构特征和功能特征的抽象。

3.什么是RISC?

什么是CISC?

简述他们的特点与差别。

答:

RISC是ReducedInstructionSetComputer,精简指令集计算机。

特点是指令系统精炼,处理器电路逻辑相对简单,且能够以更快的速度执行操作。

对于负载的功能需要编程实现。

CISC是ComplexInstructionSetComputer,复杂指令集计算机。

特点是指令系统中含有大量的类似于高级程序设计语言结构的复合功能指令。

指令系统庞大,处理器硬件电路的复杂度。

21.存储器和10端口统一编址和独立编址各有什么特点?

ARM7处理器统一编址编址方式

答:

统一编址方式-一存储器单元资源和10端口资源统一编址在一个地址空间。

特点:

按地址空间位置约定各分类资源,访问10端口如同访问存储器单元,无需专用的10访问指令。

芯片上没有专用于10访问的引脚。

独立编址方式-一存储黠资源和10端口资源分别编址在两个地址空间,存储器地址空间和10地址空间。

特点:

按资源分类的地址空间清晰,使用不同的指令访问存储器和10端口,处理器指令系统中既有存储器访问指令,又有专用的10访问指令。

芯片上有专用于10访问的引脚。

22•大端存储模式和小端存储模式的含义:

高位数据存储在高地址字节,这种组织数据的存储方

式称为'小端模式';另一种则反之,高位数据存储在低地址字节,这种组织数据的存储方式称为'大端模式';

8.ARM体系结构支持7种处理器模式,用户模式、系统模式、快中断模式、中断模式、管理模式、中止模式、未定义模式。

ARM微处理器共有37个32位的程序可访问寄存器物理资源,其中31个通用寄存器,6个状态寄存器。

ARM中定义了复位、未定义指令、SWI(软中断)、预取指终止、预取数终止、irq以及fiq等7种异常。

八RM7的异常处理:

异常响应)处理器转入到ARM状态对应的异常模式;在该异常模式的SPSR、LR寄存器分别备份CPSR、PC的当前数据;重置CPSR和PC

9、ARM7TDMI支持哪几种指令集,各有什么特点?

答:

ARM7TDMI支持32位的ARM指令集和16位的Thumb指令集。

ARM指令集效率髙、功能全,但是代码密度低,所ARM指令都是可以有条件执行的;Thumb指令集,功能上是ARM指令集的子集,Thumb状态下的ARM7TDMI(-S)仍然是32位的处理器,因此具有更高的代码密度;Thumb指令中仅有B指令具备条件执行功能。

1、解释"满堆栈”、'‘空堆栈”、‘'递增堆栈”和“递减堆栈”?

ARH指令系统中是如何支持的?

答:

满堆栈就是堆栈指针总是指向最后压入堆栈的数据的存储单元;空堆栈就是堆栈指针总是指向下一个将要放入数据的存储单元;递增堆栈就是堆栈底部位于低地址处.堆栈向高地址方向增长;递减堆栈就是堆栈底部位于高地址处,堆栈向低地址方向递减;ARM指令系统支持的是满递减堆栈

1,请说明MOV指令与LDR加载指令的区别和用途。

答:

MOY指令用于将8位位图立即数或寄存器数据传送到目标寄存器(Rd),也可用于移位运算等操作。

LDR指令用于从存储器中加载一个数据到寄存器中。

用于访问存储器操作。

解释B指令、BL指令与BX指令的功能差别?

简述它们的应用场合。

答:

B指令跳转到标号指定的地址执行程序。

BL指令先将下一条指令的地址拷贝到R14中,然后跳转到标号指定地址运行程序。

BX指令跳转到Rm指定的地址处执行程序,该指令用于处理器状态切换。

4、计算机语言:

机器语言是一种用二进制代码表示指令和数据,能被机器直接识别的计算机语言。

5、如何在汇编程序中显示声明文字池?

什么情况下需要显示声明文字池?

一般应在程序的什么位置显示声明文字池?

为什么?

答:

使用LTORG汇编器伪指令用于显示芦明一个文字池(literalpool)c实际应用中,如果ARM需要处理的操作数不符合8bit位图立即数的要求时,那么就需要使用文字池来存放这个常量。

在ARM汇编语言中,使用LDR加载指令相对寻址文字池中存敖的任意32bit立即数。

因为LDR指令的寻址围是指令位置的前后4KB,所以如果LDR指令所在位置距离文字池超出4KB围,那么需要在程序中的适当位置,使用LTORG伪指令显式声明文字池。

解决方法:

一般总可以在LDR伪指令前后4KB的围找到分支指令,文字池可声明在分支(B)指令之后的紧邻位置,因为B指令总是会将程序的执行转移到其它地方的,所以这样做不会影响代码的正常执行。

6、简述汇编程序设计的一般流程。

①分析问题,建立数学模型;②确定算法;0设计程序流程图;④合理分配寄存器、存储空间和外设资源;⑤编制程序;⑥调试程序;⑦形成文档;

7、实现汇编程序分支的关键语句有哪几条?

分别用于什么场合?

答:

汇编程序分支结构的实现是通过在运行时由机器根据不同的条件自动作出判断,选择执行相应的处理程序段。

分支指令主要有BL指令、B指令和BX指令,分别用于调用子程序、直接跳转和带状态的規转场合。

8、循环控制有哪几种方法?

各有什么应用特点?

答:

循环控制有两种方法。

①计数控制循环:

通过计数循环次数,判断是否已达到预定次数,控制循环。

适合已知循环次数的循环控制。

0条件控制循环:

通过判断循环终止条件是否已成立,控制

循环。

适合仅知道结束条件的循环控制。

9、汇编子程序传递参数有哪几种方式?

答:

①寄存器传递参数方式;0存储区域传递参数方式;边堆栈传递参数方式;

10、用汇编语言编写程序将R0寄存器中的字数据分成4组,每组8位,然后分别存放到Rl、R2,R3和R4中。

11、用汇编语言编写程序统计任意字符串包含的字符个数。

(约定:

字符串以0为结束标志)

AREAcount,CODE,READONLY;代码段名count

ENTRY;程序的入口

CODE32start

;将string中的一个字符加载到寄存器R1

:

是否是字符串结束标志

;如果不是,统计个数增加1

;如果不是,指针拨向下一个字符

:

如果是,将统计的字符串个数,放入单元num

;标识程序入口

;声明32位ARM指令

:

R0指向源数据块

R1指向目的数据块

R2需要拷贝的数据个数wordcopy

LDRR3,[R0],#4:

从源数据块中取一个字,放入R3中,R0二R0+4

STRR3,[R1],#4;将R3中的数据存入R1指向的存储单元中,R1二R1+4

SUBSR2,R2,#1;R2计数器减1

BNEwordcopy;如果R2不为0,则转向wordcopy处stop

LDRR1,二0x20026

SWI0x123456

AREABlockData,DATA,READWRITE;数据段的名字BlockData

AREAI.extraLNOINIT,READWRITE;未初始数据段的名字.extradataSPACE1024

END:

文件结束

第六章

1、主机与外设接口之间主要交互的三类信息:

状态信息(输入)用于标示设备的状态情况。

数据信息(输入/输出)-要传送的二进制目标数掲。

控制信息(输出)控制外设的工作方式与具体操作。

对应于上述的三种信息,外设接口电路中的端口寄存器也分为了三类:

状态端口(寄存器)、

数据端口(寄存器)和控制端口(寄存器)

2、接口与端口:

接口和端口是两个不同的概念。

接口-一侧重于物理连接;端口-一侧重于接口的部工作方式。

接口由若干个端口加上相应的控制电路构成。

每个端口都对应与接口电路中的各个工作寄存器。

外设通过接口连接入计算机系统,计算机通过端口访问控制外设工作。

3、处理器与外设之间的数据传送方式主要有:

无条件数据访问方式,状态查询方式数据访问方式,中断方式数据访问方式和直接存储器访问(DMA)方式等几种方式。

4、无条件外设一-输入设备总是准备好向CPU提供数据,输出设备总是准备好接收CPU送来的数据。

5、接口电路的主要功能:

任何设备都不能长期占用系统总线;输入设备要经过三态缓冲器相连到系统总线;输出设备要经过数据锁存黠相连到系统总线;

6、状态查询方式的原理:

在执行数据端口访问指令前,要先查询该设备的状态,当设备处于准备好状态时,CPU才执行对设备数掲端口的输入/输出指令,与外设交换信息;否则,等待。

中断方式数据访问:

当外设需要与CPU进行信息交换时,由外设主动向CPU发出数据传送请求信号

(中断申请),CPU响应此请求信号后(中断响应),暂停正在执行的程序,转去执行该外设的数据输入/输出操作程序(中断服务程序一一ISR),外设数据端口访问后,CPU再继续执行被暂停的程序(中断返回)。

7、中断向量中断服务程序(ISR)的入口地址;中断现场CPU响应中断离开主程序时,

CPU的相关寄存器数据情况。

中断响应-一-CPU敏感并进入到ISR的一系列动作;中断返回-一-CPU返回被中断主程序断点处继续执行主程序的一系列动作;

8、中断处理过程一般包括以下五个步骤:

①中断请求、②中断响应、③断点保护、④中断处理和⑤中断返回。

9、例7-1:

使用TimerO作为1秒钟的定时器,产生周期为2秒,占空比为1:

1的方波信号。

intmain(void)

PINSELO=PINSELO&(~(3«10))!

(2«10);

/*设置P0.5管脚为MATO.1功能*/

TOCTCR=0x00;/*设置TimerO工作在定时方式*/

TOTC=0;/*定时器设置为0*/

TOPR=99;/*时钟100预分频*/

TOMCR=0x02«3;

/*设置T0MR1匹配后复位TOTC,无中断标志*/

T0MR1=Fpclk/100;/*1秒钟定时-一匹配目标值*/

TOEMR|=0xC2;

/*设置TimerO发生MR1匹配时翻转MATO.1位*/

TOTCR=0x01;/*启动定时器*/

while

(1);

return0;

例7-2:

假设车轮毅上已经均匀安装了8个霍尔传感器,车轮每转一周可产生8个正脉冲。

使用LPC2132中的Timer0和Timerl资源,设计一个简易的车用综合仪表数据处理系统(可测量显示车速、本次里程.总里程等数据)。

^defineKClr1«0

/*KClr按键连接与P0.0管脚,KClr按下时P0.0为低电平*/

#defineL

2.5/*车轮周长2.5米*/

#defineHrN

8/*车轮箍霍尔传感器个数*

uint32Vspeed;/*当前车速*/

uint32VtotalLen;/*总里程*/

uint32VthisLen;/*本次里程Km*/intmain(void)

uint32Vx;/*暂存1秒钟车轮毂霍尔脉冲计数值*/

PINSEL0=(PINSEL0&("(3«20)))|(2«20):

/*设置P0.10管脚为CAP1.0

PINSEL0=PINSEL0&(、3);/*设置P0.0管脚为GPI0♦/

/♦设置TimerO—-1秒定时器♦/

TOCTCR&二OxfO;

TOTC=0;

TOPR=99;

TOMCR=0x03;

/*设置TimerOX作在定时方式*/

/*定时器•设置为0*/

/♦时钟100预分频*/

/*设置T0MR0匹配后复位T0TC,产生中断标志*/

T0MR0=Fpclk/100;/*1秒钟定时-一匹配目标值*/

/*设置Timerl-一计数器对P0.10管脚输入脉冲计数♦/

T1CTCR=(T1CTCR&「OxOf))|Oxfl;

/*设置Timerl计数方式,计数CAP1.0的上升沿♦/

 

T1TC=0;

T1MCR=0x00;

T1CCR&二"0x07;

TOTCR=0x01;

T1TCR=0x01;

while

(1){

/*设置计数器初值为0*/

/*这也是芯片的复位值00♦//*CAP1.0不再用作捕获触发♦//*启动定时器0*/

/*启动定时器1*/

if((TOIR&OxOl)

TOIR=0x01;

Vx=T1TC;

T1TC=0;

==1){/*1S定时到*/

/*清除MRO中断标志♦/

/*下一秒重新计数♦/

VtotalLen+=Vx;/*累计总里程*/

VthisLen+=Vx;/*累计小里程*/

Vspeed=(Vx*L*3.6)/HrN;/*单位:

Km/Hr*/}

if((IOOPIN&KClr)==0)

VthisLen=0;

/*如果KClr按下,淸0本次里程纪录*/

return0;

7、GPIO应用举例

#define

KI

1«0

//

KI按键连接与P0.0管脚,KI按下时P0・0为低电平

#define

K2

1«1

//

K2按键连接与P0.1管脚,K2按下时P0.1为低电平

itdefine

BEEP

1«7

//

P0.7控制蜂鸣器,高电平鋒鸣

itdefine

LED

1«8

//

P0.8控制发光二级管,高电平点亮

voidDelayNS(uint32dly)

uint32i;

for(;dly>0;dly—)

for(i=0;i<50000;i++);}

intmain(void)

//P0[15:

0]管脚用做GPIO功能

//设置KI控制口为输入

//设置K2控制口为输入

//设置BEEP控制口为输出

//设置LED控制口为输出

{

PINSELO=0x00000000;

I00DIR=IOODIR&(、K1);

IOODIR=IOODIR&(、K2);

IOODIR=IOODIRBEEP;

//BEEP、LED输出低电平

IOODIR=IOODIRLED;

IOOCLR=IOOCLRBEEPLED;wh订e仃)

if((IOOPIN&KI)==0)

IOOSET=LED;

//

如果KI按下,LED点亮

elseIOOCLR=LED;

//松开则熄灭

if((IOOPIN&K2)==0)

IOOSET=BEEP;

//

如果K2按下,蜂鸣器鸣叫

elseIOOCLR=BEEP;//松开则静音DelayNS(50);//延时50个时间单位

return0;}

实騷、功能:

计算X的n次方的值

;说明:

X和n均为无符号整数

XEQU9

nEQU8

;定义X的值为9

;定义Y的值为8

 

AREAExample4.CODE,READONLY;声明代码段Example4

ENTRY

C0DE32

STARTLDRSP,=0x40003F00

LDRRO,=X

LDRRl,=n

;标识程序入口

;芦明32位ARM指令

;设置堆栈(满递减堆栈,使用STMFD/LMDFD指令)

BLPOW

;调用子程序POW,返回值为RO

;入口参数:

RO

底数

R1

指数

;出口参数RO

运算结果

;占用资源:

RO、

R1

;说明:

本子程序不考虑溢出问题

HALTBHALT

;子程序:

POW

;功能:

整数乘方运算

POWSTMFDSP!

{R1-R12,LR}

MOVSR2.R1

MOVEQR0.#l

BEQ

CMP

BEQ

MOV

SUB

POWEND

R2,#l

POWEND

R1,ROR2,R2,#1

:

寄存器入栈保护

;将指数值复制到R2,并影响条件标志

;若指数为0,则设置RO=1

;若指数为0,则返回

POWLIBLDO_MUL

SUBSR2,R2.#1

BNEPOWLI

;若指数为1,则返回(此时RO没有被更改);设置DOMUL子程序的入口参数R0和R1

;计数器R2=指数值减1

;调用DOMUL子程序,RO=R1xR0

;每循环一次,计数器R2减1

;若计数器R2不为0,跳转到POWL1

POWENDLDMFDSP!

{R1-R12.PC};寄存器出栈,返回

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2