免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2013年下半年 嵌入式系统设计师 下午试卷 案例
  第4题      
  知识点:   总线   安全性   功能检查   可靠性   数据采集   硬件

 
某公司负责研制一个嵌入式计算机系统,如图4-1所示。该系统以PowerPC处理器为核心,通过AD进行实时数据采集,并将采集来的数据进行预处理后,通过RS422总线发送给后端计算中心。

同时为了提高产品的安全性可靠性,设计实现了机内自测试(Built_In_Test,BIT)。BIT依靠自身电路和程序完成对计算机平台硬件功能检查、故障诊断与隔离。
 
问题:4.1   王工负责对该系统进行故障模式分析,识别出了该系统可能出现的故障模式,如表4.1所示。请将属于CPU和RAM的故障填写在答题纸的对应栏中。
 
问题:4.2   王工设计了三种BIT测试程序,分别是上电BIT、周期BIT、维护BIT。运行流程如图4-2所示。

请回答下面三个问题,将答案填写在答题纸的对应栏中。
(1)请问不影响和破坏任务正常运行的是哪一种BIT?
(2)请问具有最完备的测试用例集合,可用于故障隔离和定位的是哪一种BIT?
(3)请问确保设备单元在使用前都被测试的是哪一种BIT?
 
问题:4.3   李工负责设计CPU单元的BIT测试算法,通过对每组指令分别设计一组测试用例,定义不同的操作数、操作码和预期值,在指令运行后比较结果与预期值。由于该系统选用的处理器集成了多级Cache(高速缓存),并且指令缓存和数据缓存是分开K,执行指令功能测试前需要刷新指令Cache,以保证与内存中的测试代码一致。每个测试项的测试结果正确为0,故障为1。
以32位字比较指令cmpw测试为例,cmpw将寄存器rA和rB内数据比较的结果(大于、小于、等于)放入条件寄存器cdc,其操作码为0x7C000000,测试用例数据如表4.2所示。


cmpw指令功能测试的算法流程示意如图4-3所示。请补全流程图4-3中的执行操作,将答案填写在答题纸的对应栏中。
 
 
 

   知识点讲解    
   · 总线    · 安全性    · 功能检查    · 可靠性    · 数据采集    · 硬件
 
       总线
        计算机系统中的总线(Bus)是指计算机设备和设备之间传输信息的公共数据通道,是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备以总线方式进行连接。
               总线的分类
               按照所传输的信号类型可将总线分为数据总线、地址总线和控制总线3类。不同型号的CPU芯片,其数据总线、地址总线和控制总线的条数可能不同。
               .数据总线(Data Bus,DB)用来传送数据信息,是双向的。CPU既可通过DB从内存或输入设备读入数据,也可通过DB将内部数据送至内存或输出设备。DB的宽度决定了CPU和计算机其他设备之间每次交换数据的位数。
               .地址总线(Address Bus,AB)用于传送CPU发出的地址信息,是单向的。传送地址信息的目的是指明与CPU交换信息的内存单元或I/O设备。存储器是按地址访问的,所以每个存储单元都有一个固定地址,要访问1MB存储器中的任一单元,需要给出220个地址,即需要20位地址(220=1M)。因此,地址总线的宽度决定了CPU的最大寻址能力。
               .控制总线(Control Bus,CB)用来传送控制信号、时序信号和状态信息等。其中有的信号是CPU向内存或外部设备发出的信息,有的是内存或外部设备向CPU发出的信息。显然,CB中的每一条线的信息传送方向是单方向且确定的,但CB作为一个整体则是双向的。所以,在各种结构框图中,凡涉及到控制总线CB,均是以双向线表示。
               总线的性能直接影响到整机系统的性能,而且任何系统的研制和外围模块的开发都必须依从所采用的总线规范。总线技术随着微机结构的改进而不断发展与完善。
               在计算机的概念模型中,CPU通过系统总线和存储器之间直接进行通信。实际上在现代的计算机中,存在一个控制芯片的模块。CPU需要和存储器,I/O设备等进行交互,会有多种不同功能的控制芯片,称之为控制芯片组。对于目前的计算机结构来说,控制芯片集成在主板上,典型的有南北桥结构和单芯片结构。与芯片相连接的总线可以分为前端总线(FSB)、存储总线、I/O总线、扩展总线等。
                      南北桥芯片结构
                      北桥芯片直接与CPU、内存、显卡、南桥相连,控制着CPU的类型、主板的总线频率、内存控制器、显示核心等。前端总线(FSB)是将CPU连接到北桥芯片的总线。内存总线是将内存连接到北桥芯片的总线。用于和北桥之间的通信,显卡则通过I/O总线连接到北桥芯片。
                      南桥芯片主要负责外部设备接口与内部CPU的联系,其中,通过I/O总线连接外部I/O设备连接到南桥,例如USB设备、ATA和SATA设备以及一些扩展接口,扩展总线则指是主板上提供的一些PCI、ISA等插槽。
                      单芯片结构
                      单芯片组方式取消了北桥。由于CPU中内置了内存控制器,不再需要通过北桥来控制,这样就能提高内存控制器的频率,减少延迟。还有一些CPU还集成了显示单元,使得显示芯片的频率更高,延迟更低。
               常见总线
               (1)ISA总线。ISA是工业标准总线,只支持16位I/O设备,数据传输率大约是16Mb/s,也称为AT标准。
               (2)EISA总线。EISA是在ISA总线的基础上发展起来的32位总线。该总线定义32位地址线、32位数据线以及其他控制信号线、电源线、地线等共196个接点。总线传输速率达33MB/s。
               (3)PCI总线。PCI总线是目前微型机上广泛采用的内总线,采用并行传输方式。PCI总线有适于32位机的124个信号的标准和适于64位机的188个信号的标准。PCI总线的传输速率至少为133MB/s,64位PCI总线的传输速率为266MB/s。PCI总线的工作与CPU的工作是相互独立的,也就是说,PCI总线时钟与处理器时钟是独立的、非同步的。PCI总线上的设备是即插即用的。接在PCI总线上的设备均可以提出总线请求,通过PCI管理器中的仲裁机构允许该设备成为主控设备,主控设备与从属设备间可以进行点对点的数据传输。PCI总线能够对所传输的地址和数据信号进行奇偶校验检测。
               (4)PCI Express总线。PCI Express简称为PCI-E,采用点对点串行连接,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率。相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI Express的双单工连接能提供更高的传输速率和质量。
               PCI Express的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16(X2模式将用于内部接口而非插槽模式),其中X1的传输速度为250MB/s,而X16就是等于16倍于X1的速度,即是4GB/s。较短的PCI Express卡可以插入较长的PCI Express插槽中使用。PCI Express接口能够支持热拔插。同时,PCI Express总线支持双向传输模式,还可以运行全双工模式,它的双单工连接能提供更高的传输速率和质量,它们之间的差异与半双工和全双工类似。因此连接的每个装置都可以使用最大带宽。
               (5)前端总线。微机系统中,前端总线(Front Side Bus,FSB)是将CPU连接到北桥芯片的总线。需要注意主板和CPU的搭配问题。一般来说,如果CPU不超频,那么前端总线是由CPU决定的,如果主板不支持CPU所需要的前端总线,系统就无法工作。
               通常情况下,一个CPU默认的前端总线是唯一的。北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并与南桥芯片连接。CPU通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片与内存、显卡交换数据。FSB是CPU和外界交换数据的最主要通道,因此FSB的数据传输能力对计算机整体性能作用很大,如果没足够快的FSB,再强的CPU也不能明显提高计算机整体速度。
               (6)RS-232C。RS-232C是一条串行外总线,其主要特点是所需传输线比较少,只需三条线(一条发、一条收、一条地线)即可实现全双工通信。传送距离远,用电平传送为15m,电流环传送可达千米。有多种可供选择的传送速率。采用非归零码负逻辑工作,电平≤-3V为逻辑1,而电平≥+3V为逻辑0,具有较好的抗干扰性。
               (7)SCSI总线。小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。该接口总线早期是8位的,后来发展到16位。传输速率由SCSI-1的5MB/s到16位的Ultra2 SCSI的80MB/s。今天的传输速率已高达320MB/s。该总线上最多可接63种外设,传输距离可达20m(差分传送)。
               (8)SATA。SATA是Serial ATA的缩写,即串行ATA。它主要用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输之用。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
               (9)USB。通用串行总线(USB)当前风头正劲,近几年得到十分广泛的应用。USB由4条信号线组成,其中两条用于传送数据,另外两条传送+5V容量为500mA的电源。可以经过集线器(Hub)进行树状连接,最多可达5层。该总线上可接127个设备。USB 1.0有两种传送速率:低速为1.5MB/s,高速为12MB/s。USB 2.0的传送速率为480MB/s。USB总线最大的优点还在于它支持即插即用,并支持热插拔。
               (10)IEEE-1394。IEEE-1394是高速串行外总线,近几年得到广泛应用。IEEE-1394也支持外设热插拔,可为外设提供电源,省去了外设自带的电源,能连接多个不同设备,支持同步和异步数据传输。IEEE-1394由6条信号线组成,其中两条用于传送数据,两条传送控制信号,另外两条传送8~40V容量为1500mA的电源,IEEE-1394总线理论上可接63个设备。IEEE-1394的传送速率从400MB/s、800MB/s、1600MB/s直到3.2GB/s。
               (11)IEEE-488总线。IEEE-488是并行总线接口标准。微计算机、数字电压表、数码显示器等设备及其他仪器仪表均可用IEEE-488总线连接装配,它按照位并行、字节串行双向异步方式传输信号,连接方式为总线方式,仪器设备不需中介单元直接并联于总线上。总线上最多可连接15台设备。最大传输距离为20m,信号传输速度一般为500Kb/s,最大传输速度为1MB/s。
 
       安全性
        (1)可用性。可用性评价指标及测量,如下表所示。
        
        可用性评价指标及测量
        
        (2)完整性。完整性评价指标及测量,如下表所示。
        
        完整性评价指标及测量
        (3)保密性。保密性评价指标及测量,如下表所示。
        
        保密性评价指标及测量
        
 
       功能检查
        在软件发布前进行功能检查,以确认已满足实现软件需求规格说明书中规定的所有需求。
 
       可靠性
        (1)完备性。完备性评价指标及测量,如下表所示。
        
        完备性评价指标及测量
        (2)连续性。连续性评价指标及测量,如下表所示。
        
        连续性评价指标及测量
        
        (3)稳定性。稳定性评价指标及测量,如下表所示。
        
        稳定性评价指标及测量
        (4)有效性。有效性评价指标及测量,如下表所示。
        
        有效性评价指标及测量
        (5)可追溯性。可追溯性评价指标及测量,如下表所示。
        
        可追溯性评价指标及测量
        
 
       数据采集
        数据采集阶段的主要任务就是获取各个不同数据源的各类数据,按照统一的标准进行数据的转换、清洗等工作,以形成后续数据处理的符合标准要求的数据集。
        原始数据往往形式多样,包括:结构化数据,例如业务系统中的交易明细、操作日志等;非结构化数据,例如企业中的各种文档数据,视频、音频等数据;半结构化数据,例如Web页面的HTML文档等。而且其来源和种类也存在很大差距。
        当前的大数据处理中,数据的种类一般包括:
        .传感数据:传感数据是由感知设备或传感设备感受、测量及传输的数据。这些感知设备或传感设备实时和动态地收集大量的时序传感数据资源。传感数据种类有很多,如人身体的传感数据,网络信号的传感数据和气象的传感数据等。近年来随着物联网、工业互联网的日益发展,传感数据越来越丰富,人们也逐渐发现了其数据价值。
        .业务数据:企业业务系统在执行日常业务活动时产生的大量数据,包括设备工况、操作记录、交易流水,以及用户在使用系统时遗留下来的大量行为数据。这些数据反映了人或者物的属性、偏好,在推荐或预测系统中有很大的利用价值。
        .人工输入数据:用户通过软件人机交互等主动输入的数据,典型代表是微博、微信、抖音等系统的用户输入数据。随着互联网的不断深入,手机APP应用的不断发展,这种用户产生的数据也越来越多,越来越丰富。
        .科学数据:通过科学研究和科学实验不断搜集和汇聚的数据,一般是以电子记录或文本的形式存在。
        从大数据的来源进行划分,其种类包括:
        .企业数据:企业自建的各种业务系统,如ERP、在线交易系统、招聘系统等,也会产生各种数据集。
        .政府数据:政府信息化已发展多年,构建了很多业务数据。近年来政府也在不断地建设大数据中心,发布各种数据,包括人社、医疗、税务、工商、财务等。
        .互联网数据:互联网数据是当前大数据应用的一个重要的数据来源。互联网上存在各种应用沉淀下来的大量数据,包括门户网站、社交信息、电商网站等等。
        其中,企业数据一般属于内部数据,而政府数据、互联网数据往往属于外部数据。
        从上面大数据的分类可以看出,数据来源渠道众多,差异非常大。因此,数据采集的主要任务就是进行数据的汇聚,为后续的数据处理做好准备。这个阶段工作中主要涉及的技术包括针对内部数据的数据集成和ETL技术,针对外部数据,尤其是互联网数据的爬虫技术。
        数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在企业数据集成领域,已经有很多成熟的框架可以利用。目前通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。
        ETL(Extract Transform Load)用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
        基本的ETL体系结构示意图如下图所示。
        
        ETL体系结构示意图
        ETL过程中的主要环节是数据抽取、数据转换和加工、数据加载。一般ETL工具中,围绕上述三个核心环节进行了功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持和统计信息等,尽量降低ETL阶段的工作强度,减少工作量。
        数据转换和加工是三个环节的重点,因为抽取的数据中往往存在各种问题,例如数据格式不一致、数据输入错误、字段不匹配、字段类型不符、数据不完整等。ETL一般以组件化的方式实现数据转换和加工。常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等,并以工作流的形式进行各种方式的组合,以满足数据转换的需求。有的ETL工具也提供脚本支持,满足用户定制化的数据转换需求。
        常用的ETL工具有三种:DataStage、Informatica PowerCenter和Kettle。
        .DataStage:IBM公司的DataStage是一种数据集成软件平台,专门针对多种数据源的ETL过程进行了简化和自动化,同时提供图形框架,用户可以使用该框架来设计和运行用于变换和清理、加载数据的作业。它能够处理的数据源有主机系统的大型数据库、开发系统上的关系数据库和普通的文件系统。
        .Informatica PowerCenter:Informatica公司开发的为满足企业级需求而设计的企业数据集成平台。可以支持各类数据源,包括结构化、半结构化和非结构化数据。提供丰富的数据转换组件和工作流支持。
        .Kettle:Kettle是一款国外开源的ETL工具,纯Java编写,可以在Windows、Linux、UNIX上运行,数据抽取高效稳定。管理来自不同数据库的数据,提供图形化的操作界面,提供工作流支持。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。Kettle包括4个产品:Spoon、Pan、Chef、Kitchen。Spoon通过图形界面来设计ETL转换过程(Transformation)。Pan批量运行由Spoon设计的ETL转换(例如使用一个时间调度器),是一个后台执行的程序,没有图形界面。Chef创建任务(Job),任务通过允许每个转换、任务、脚本等等,更有利于自动化更新数据仓库的复杂工作。Kitchen批量使用由Chef设计的任务(例如使用一个时间调度器)。
        由于很多大数据应用都需要来自互联网的外部数据,因此,爬虫技术也称为数据采集阶段的一个主要基础性的技术。
        网络爬虫(又称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。网络爬虫基本的体系结构如下图所示。
        
        爬虫框架示意图
        爬虫调度器主要负责统筹其他四个模块的协调工作。URL管理器负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HTML网页。HTML解析器用于从HTML下载器中获取已经下载的HTML网页,并从中解析出新的URL链接交给URL管理器,解析出有效数据交给数据存储器。
        网络爬虫大致可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫、深层网络(Deep Web)爬虫。实际的大数据应用由于往往聚焦于某个特定的应用目标,其采用的网络爬虫系统通常是聚焦网络爬虫、深层网络爬虫技术相结合实现的。
        通用网络爬虫,爬行对象从一些种子URL扩充到整个Web,主要为门户站点搜索引擎和大型Web服务提供商采集数据。通用网络爬虫的结构大致可以分为页面爬行模块、页面分析模块、链接过滤模块、页面数据库、URL队列、初始URL集合几个部分。为提高工作效率,通用网络爬虫会采取一定的爬行策略。常用的爬行策略有:深度优先策略、广度优先策略。
        聚焦网络爬虫,是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。和通用网络爬虫相比,聚焦爬虫只需要爬行与主题相关的页面,可以很好地满足一些特定人群对特定领域信息的需求。聚焦网络爬虫和通用网络爬虫相比,增加了链接评价模块以及内容评价模块。聚焦爬虫爬行策略实现的关键是评价页面内容和链接的重要性,常见的爬行策略有基于内容评价的爬行策略、基于链接结构评价的爬行策略、基于增强学习的爬行策略、基于语境图的爬行策略等。
        深层网络爬虫用于专门爬取那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。Deep Web爬虫爬行过程中最重要的部分就是表单填写,包含两种类型:基于领域知识的表单填写,此方法一般会维持一个本体库,通过语义分析来选取合适的关键词填写表单;基于网页结构分析的表单填写,此方法一般无领域知识或仅有有限的领域知识,将网页表单表示成DOM树,从中提取表单各字段值。常见的爬虫工具有如下三种:
        .Nutch:一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。Nutch有Hadoop支持,可以进行分布式抓取、存储和索引。Nutch采用插件结构设计,高度模块化,容易扩展。
        .Scrapy:是Python开发的一个快速、高层次的屏幕抓取和Web抓取框架,用于抓取Web站点并从页面中提取结构化的数据。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便地修改。它提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫、Web2.0爬虫等。
        .Larbin:Larbin是一种开源的网络爬虫/网络蜘蛛,用C++语言实现。Larbin目的是能够跟踪页面的URL进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。
        当数据采集到以后,需要对采集并清洗后的数据进行存储。具体的存储技术在13.1.3云关键技术中的分布式数据存储中介绍,此处不再详述。
 
       硬件
        硬件是计算机物理设备的总称,也称为硬件设备,通常是电子的、机械的、磁性的或光的元器件或装置,一般分为中央处理器、存储器和输入、输出设备。
   题号导航      2013年下半年 嵌入式系统设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第4题    在手机中做本题