首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于数据采集与处理系统的说明,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】 某公司承接了一个数据采集与处理系统的项目,由刘工负责系统的方案设计,刘工的设计方案如图4—1所示。该方案是基于PCI总线的多功能处理系统,PCI设备1
阅读以下关于数据采集与处理系统的说明,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】 某公司承接了一个数据采集与处理系统的项目,由刘工负责系统的方案设计,刘工的设计方案如图4—1所示。该方案是基于PCI总线的多功能处理系统,PCI设备1
admin
2016-11-11
40
问题
阅读以下关于数据采集与处理系统的说明,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
某公司承接了一个数据采集与处理系统的项目,由刘工负责系统的方案设计,刘工的设计方案如图4—1所示。该方案是基于PCI总线的多功能处理系统,PCI设备1是以太网,PCI设备2用于数据采集,PCI设备3、PCI设备4用于和该系统中的其他处理模块进行互联,LEGACY设备1、LEGACY设备2用于处理系统中一些慢速设备。
【问题3】
PCI设备2和主CPU之间通过双端口存储器进行数据交换。刘工设计了环形队列的实现方式。设备2向环形队列写入数据,主CPU从环形队列读取数据。环形队列是一个首尾相连的FIFO数据结构,采用数组存储,到达尾部时将转回到0位置,该转回是通过取模操作来实现的。因此环形队列逻辑上是将数组元素q[0]与q[MAX-1]连接,形成一个存放队列的环形空间。为了方便读写,还要用数组下标来指明队列的读写位置,其中head指向可以读的位置,tail指向可以写的位置,环形队列如图4-2所示。使用环形队列时需要判断队列为空还是为满。当tail追上head时,队列为满,当head追上tail时,队列为空。通常判断环形队列为空/为满有两种判断方法。
1.附加一个标志位tag,当head赶上tail,队列空,则令tag=0,当tail赶上head,队列满,则令tag=1;
2.限制tail赶上head,即队尾结点与队首结点之间至少留有一个元素的空间。队列空:head=tai:队列满: (rail+1)%MAXN==head。
如果采用第一种方法(即附加标志实现算法),则环形队列的结构定义如下:
typedef struct ringq
{
int head; /*头部,出队列方向*/
int tail; /*尾部,入队列方向*/
int tag:
int size; /*队列总尺寸*/
int space[RINGQ MAX]; /*队列空间*/
}RINGQ;
RINGQ P,*q;
q=&p;
初始化环形队列的C语言代码为:
q一>head=q一>tail=q一>tag=0:
q一>size=RINGQ MAX;
判断队列为空的C语言代码为__________(1)。
判断队列为满的C语言代码为__________(2)。
入队操作时,如果队列不满,则入队后更新尾指针的C语言代码为q->tail=_________(3)。
出队操作时,如果队列不空,则出队后更新头指针的C语言代码为q->head=_________ (4)。
如果采用第二种方法,还采用上述数据结构,初始化环形队列的C语言代码为:
q一>head=q一>tail=0;
q一>size=RINGQ—MAX;
判断队列为空的C语言代码为_________(5)。
判断队列为满的C语言代码为_________(6)。
入队操作时,如果队列不满,则入队后更新尾指针的C语言代码为q->tail=________(7)。出队操作时,如果队列不空,则出队后更新头指针的C语言代码为q->head=________(8)。
选项
答案
(1)(q->head==q->tail)&&(q->tag==0) (2)((q->head==q->tail)&&(q->tag==1)) (3)(q->tail+1)%q->size (4)(q->head+1)%q->size (5)(q->head==q->tail) (6)(q->head==(q->tail+1)%q->size)) (7)(q->tail+1)%q->size (8)(q->head+1)%q->size
解析
环形队列是在实际编程极为有用的数据结构,它有如下特点:它是一个首尾相连的FIFO的数据结构,采用数组的线性空间;数据组织简单,能很快知道队列是否满或空;能以很快的速度来存取数据。因为简单高效,甚至在硬件都实现了环形队列。
内存上没有环形的结构,因此环形队列实际上是数组的线性空间来实现。那当数据到了尾部如何处理呢?它将转回到0位置来处理。这个转回是通过数组下标索引取模操作(Index%MAXN)来实现的。
因此环列队列的是逻辑上将数组元素q[0]与q[MAXN-1]连接,形成一个存放队列的环形空间。为了方便读写,还要用数组下标来指明队列的读写位置。定义Head/tail两个变量,其中head指向可以读的位置,tail指向可以写的位置。
环形队列的关键是判断队列为空,还是为满。当tail追上head.时,队列为满;当head追上tail时,队列为空。但如何知道谁追上谁,还需要一些辅助的手段来判断。
如何判断环形队列为空、为满有两种判断方法。一是附加一个标志位tag,当head赶上tail,队列空,则令tag=0,当tail赶上head,队列满,则令tag=1;二是限制tail赶上head,即队尾结点与队首结点之间至少留有一个元素的空间。队列空时head==tail,队列满时(tail+1)%MAXN==head。
入队操作时,如队列不满,则写入q->tail=(q->tail+1)%q->size;出队操作时,如果队列不空,则从head处读出。下一个可读的位置在q->head=(q->head+1)%q->size。
转载请注明原文地址:https://kaotiyun.com/show/WQWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
(68)________________不是分布式数据库管理系统应该遵循的准则。
下列描述的因素中,不属于数据库物理设计应该考虑的是(64)________________。
设员工表(员工号,姓名,级别,工资)中,级别增加一级,工资增加500元,实现该约束的可行方案是(57)________________。
下表中两个事务的调度带来的问题是(54)________________。
某本科髙校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据,新增进修学
在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表查询或建立(65);用带(66)的条件子句等价替换OR子句;只检索需要的属性列等。(66)
在Windows系统中,磁盘碎片整理程序可以分析本地卷,以及合并卷上的可用空间使其成为连续的空闲区域,从而使系统可以更高效地访问()。
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()。
设备驱动程序是直接与()打交道的软件模块。
函数调用和返回控制是用()实现的。
随机试题
()是指由专门的学前教育机构实施的,根据社会的要求和学前儿童身心发展的特点和需要,对学前儿童实施有目的、有计划、有组织的影响,使之能够在德、智、体、美等方面都得到全面、和谐发展的教育活动的总和。
下列选项中,除()以外均为出卖人的标的物存在权利瑕疵。
一种以提供选择权的交易合约,购买合约的人可以获得一种在指定时间内按协议价格买进或卖出一定数量的某种金融资产的权利。这种金融工具称之为()。
甲公司实行累积带薪缺勤货币补偿制度,补偿金额为放弃带薪休假期间平均日工资金额的3倍。2019年,甲公司有20名销售人员放弃5天的带薪休假,该公司平均每名职工每个工作日工资为100元。则甲公司因这20名员工放弃年休假应确认的成本费用总额为(
某教师为了让学生们认识到只有学好化学知识,才能解决生活中的实际问题,在教学过程中利用多媒体展示“南极臭氧空洞”的图片、环保部门对大气检测的资料片,以及机动车辆尾气排放图片、工厂排放废气而产生“浓烟滚滚”的景象等。该情境属于()。
简述感觉的特性。
某校为了解学生喜爱的体育活动项目,随机抽查了100名学生,让每人选一项自己喜欢的项目并制成如图所示的扇形统计图,如果该校有1200名学生,则喜爱跳绳的学生约有__________人.
Iwon’tbemodest.IamgratifiedtodiscoverthatapaperIpennedoninequalitymadeitswayintoMattMiller’sWashingtonPos
在微型计算机中,应用最普遍的字符编码是
Theconceptofpersonalchoiceinrelationtohealthbehaviorsisanimportantone.Anestimated90percentofallillnessesmay
最新回复
(
0
)