免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2016年下半年 嵌入式系统设计师 下午试卷 案例
  第4题      
  知识点:   I2C   串口   存储器   数据存储   以太网   AR   常用命令   调试   方案设计   监控   软件调试   温度

 
阅读下列说明》回答问题:1至问题3。
【说明】
某公司承接了一个数据处理模块的项目,由沈工负责模块的方案设计,沈工的设计方案如图4-1所示。该数据处理模块以PowerPC处理器为核心,设计了存储器以太网温度传感器、调试接口等功能电路。
处理器外接FLASH存储器用于存储上电初始化程序和应用程序。处理器通过I2C接口连接测温电路,监控模块的工作温度以太网串口调试离散量等用于软件调试和状态显示。
测温电路选用ADT7461AR芯片,用于测试模块温度。ADT7461AR是一个双通道数字温度计,工作电压3v至5v,具有低/超温报警功能,采用I2C接口实现主机对远程/本地温度数据的采集f采集数据存储在高/低两个数据寄存器中,每个寄存器为16位,高寄存器表示整数值,低寄存器表示小数值。

存储模块采用某公司的FLASH存储芯片。支持编程、擦除、复位等操作命令。该FLASH芯片的常用命令序列如表4-1所示。表中的地址和数据皆为16进制数。
 
问题:4.1   ADT7461AR芯片支持两种测温模式,其中第0种模式为二进制模式,用0表示0度,测温范围为0℃〜+127℃;第二种模式为偏移二进制模式,用64表示0度,测温范围为-55℃〜+150℃,温度数据转换关系如表4-2所示。
请在(1)〜(4)处写出对应温度的二进制数。
 
问题:4.2   沈工用C语言实现对FLASH的操作,需按照表4-1中定义的命令序列顺序执行即可。仔细阅读下列代码,请在(1)〜(4)处将对应的C语言代码补全。

 
问题:4.3   该嵌入式系统对处理的性能要求较高,沈工在完成软件设计后,需要对每一个函数的执行性能进行测试,检测其是否满足系统设计的要求。沈工通过PowerPC处理器内部的高精度时钟寄存器(TimeBase)进行计时,该寄存器由高低两个32位的寄存器组成,根据总线频率自动递增,当低32位寄存器递增到0xFFFFFFFF时,向高32位寄存器进位。计数值可以换算成时间值,精确到微秒级。
在功能函数functkm1()的执行体前后,进行时间统计,最后计算出该函数的执行时间值,请在(1)〜(2)处将对应的C语言代码补全。

 
 
 

   知识点讲解    
   · I2C    · 串口    · 存储器    · 数据存储    · 以太网    · AR    · 常用命令    · 调试    · 方案设计    · 监控    · 软件调试    · 温度
 
       I2C
        I2C(Inter-Integrated Circuit)总线是由飞利浦公司开发的两线式串行总线接口,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准,如下图所示。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
        
        I2C总线连接图
        I2C接口特点:
        (1)I2C串行总线有两根信号线:一根是双向的数据线SDA;另一根是时钟线SCL。所有接到I2C总线上的设备的串行数据都接到总线的SDA线,各设备的时钟线SCL接到总线的SCL。
        (2)I2C总线上所有的外围器件都需要唯一的地址,地址由器件地址和引脚地址两部分构成,共7位。器件地址是I2C器件固有的地址编码,器件出厂时就已经给定,不可更改。引脚地址由I2C总线外围器件的地址引脚(A2,A1,A0)决定,根据其在电路中接电源正极,接地或悬空的不同,形成不同的地址代码。引脚地址数决定了同一种器件可接入总线的最大数目。R/W(—)是方向位,R/W(—)=0表示主器件向从器件发送数据,R/W(—)=1表示主器件读取从器件数据。
        (3)I2C规程运用主/从双向通信。I2C总线的运行(数据传输)由主机控制。所谓主机即启动数据的传送时(发出启动信号)发出时钟信号,传送结束时发出停止信号的设备,通常主机是微处理器。被主机寻访的设备都称为从机。主机和从机的数据传送,可以由主机发送数据到从机,凡是发送数据到总线的设备称为发送器,也可以是从机发到主机。从总线上接收数据的设备被称为接收器。
        总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况,这种情况叫做总线竞争。I2C总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用I2C总线上的信息进行仲裁,因此不会造成信息的丢失。
 
       串口
        所谓串行通信就是使数据一位一位地进行传输而实现的通信。当然,在实际传输中,如外部设备与CPU或计算机与计算机之间交换信息,是通过一对导线传送信息的。在传输中每一位数据都占据一个固定的时间长度。与并行通信相比,串行通信具有传输线少、成本低等优点,特别适合远距离传送,其缺点是速度慢,若并行传送n位数据需时间T,则串行传送的时间最少为nT。
               RS-232C串口
               RS-232C是美国电子工业协会(Electronic Industry Association,EIA)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
               RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
               RS-232C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200比特。RS-232C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
               嵌入式板卡上一般都配置有串口,并遵循RS-232总线标准。
               RS-485串口
               在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。
               RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
 
       存储器
        计算机系统中包括各种存储器,如CPU内部的通用寄存器组和Cache(高速缓存)、CPU外部的Cache、主板上的主存储器、主板外的联机(在线)磁盘存储器以及脱机(离线)的磁带存储器和光盘存储器等。不同特点的存储器通过适当的硬件、软件有机地组合在一起形成计算机的存储体系层次结构,位于更高层的存储设备比较低层次的存储设备速度更快、单位比特造价也更高。其中,Cache和主存之间的交互功能全部由硬件实现,而主存与辅存之间的交互功能可由硬件和软件结合起来实现。
               存储器的分类
                      按存储器所处的位置分类
                      按存储器所处的位置可分为内存和外存。
                      (1)内存。也称为主存(Main Memory),设在主机内或主机板上,用来存放机器当前运行所需要的程序和数据,以便向CPU提供信息。相对于外存,其特点是容量小、速度快。
                      (2)外存。也称为辅存,如磁盘、磁带和光盘等,用来存放当前不参加运行的大量信息,而在需要时调入内存。
                      按存储器的构成材料分类
                      按构成存储器的材料可分为磁存储器、半导体存储器和光存储器。
                      (1)磁存储器。磁存储器是用磁性介质做成的,如磁芯、磁泡、磁膜、磁鼓、磁带及磁盘等。
                      (2)半导体存储器。根据所用元器件又可分为双极型和MOS型;根据数据是否需要刷新又可分为静态(Static memory)和动态(Dynamic memory)两类。
                      (3)光存储器。利用光学方法读/写数据的存储器,如光盘(Optical Disk)。
                      按存储器的工作方式分类
                      按存储器的工作方式可分为读/写存储器和只读存储器。
                      (1)读/写存储器(Random Access Memory,RAM)。它指既能读取数据也能存入数据的存储器。按照存储单元的工作原理,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。SRAM比DRAM更快,也贵得多。
                      (2)只读存储器。工作过程中仅能读取的存储器,根据数据的写入方式,这种存储器又可细分为ROM、PROM、EPROM和EEPROM等类型。
                      ①固定只读存储器(Read Only Memory,ROM)。这种存储器是在厂家生产时就写好数据的,其内容只能读出,不能改变。一般用于存放系统程序BIOS和用于微程序控制。
                      ②可编程的只读存储器(Programmable Read Only Memory,PROM)。其中的内容可以由用户一次性地写入,写入后不能再修改。
                      ③可擦除可编程的只读存储器(Erasable Programmable Read Only Memory,EPROM)。其中的内容既可以读出,也可以由用户写入,写入后还可以修改。改写的方法是写入之前先用紫外线照射15~20分钟以擦去所有信息,然后再用特殊的电子设备写入信息。
                      ④电擦除可编程的只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)。与EPROM相似,EEPROM中的内容既可以读出,也可以进行改写。只不过这种存储器是用电擦除的方法进行数据的改写。
                      ⑤闪存(Flash Memory)。闪存是一种非易失性存储器,基于EEPROM,已成为重要的存储技术,为大量电子设备包括数码相机、手机、PDA、笔记本、台式机和服务器等计算机系统提供快速且持久的存储能力。
                      存储在ROM设备中的程序通常称为固件(Firmware)。例如,当计算机加电后,它会运行存储在ROM中的固件。
                      按访问方式分类
                      按访问方式可分为按地址访问的存储器和按内容访问的存储器。
                      按寻址方式分类
                      按寻址方式可分为随机存储器、顺序存储器和直接存储器。
                      (1)随机存储器(Random Access Memory,RAM)。这种存储器可对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间是相同的。
                      (2)顺序存储器(Sequentially Addressed Memory,SAM)。访问数据所需要的时间与数据所在的存储位置相关,磁带是典型的顺序存储器。
                      (3)直接存储器(Direct Addressed Memory,DAM)。介于随机存取和顺序存取之间的一种寻址方式。磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序寻址。
               相联存储器
               相联存储器是一种按内容访问的存储器。其工作原理就是把数据或数据的某一部分作为关键字,按顺序写入信息,读出时并行地将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字,特别适合于信息的检索和更新。
               相联存储器的结构如下图所示。
               
               相联存储器的结构框图
               相联存储器中,输入检索寄存器用来存放要检索的内容(关键字),屏蔽寄存器用来屏蔽那些不参与检索的字段,比较器将检索的关键字与存储体的每一单元进行比较。为了提高速度,比较器的数量应很大。对于位比较器,应每位对应一个,应有2m×N个,对于字比较器应有2m个。匹配寄存器用来记录比较的结果,它应有2m个二进制位,用来记录2m个比较器的结果,1为相等(匹配),0为不相等(不匹配)。
               相联存储器可用在高速缓冲存储器中,在虚拟存储器中用来作为段表、页表或快表存储器,用在数据库和知识库中。
               高速缓存
               高速缓存(Cache)由快速半导体存储器构成,用来存放当前最活跃的程序和数据,其内容是主存局部域的副本,对程序员来说是透明的。
                      高速缓存的组成
                      Cache存储器中控制部分的功能是判断CPU要访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。命中时直接对Cache存储器寻址;未命中时,要按照替换原则决定主存的一块信息放到Cache存储器的哪一块里。
                      现代CPU中Cache分为了多个层级,如下图所示。
                      
                      三级Cache示意图
                      在多级Cache的计算机中,Cache分为一级(L1 Cache)、二级(L2Cache)、三级(L3 Cache)等,CPU访存时首先查找L1 Cache,如果不命中,则访问L2Cache,直到所有级别的Cache都不命中,才访问主存。通常要求L1 Cache的速度足够快,以赶上CPU的主频。如果Cache为两级,则L1 Cache的容量一般都比较小,为几千字节到几十千字节;L2 Cache则具有较高的容量,一般为几百字节到几兆字节,以使高速缓存具有足够高的命中率。
                      高速缓存中的地址映像方法
                      在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换成Cache存储器的地址,这种地址的转换称为地址映像。Cache的地址映像有如下3种方法。
                      (1)直接映像。直接映像是指主存的块与Cache块的对应关系是固定的,如下图所示。
                      
                      直接映像示意图
                      在这种映像方式下,由于主存中的块只能存放在Cache存储器的相同块号中,因此,只要主存地址中的主存区号与Cache中记录的主存区号相同,则表明访问Cache命中。一旦命中,由主存地址中的区内块号立即可得到要访问的Cache存储器中的块,而块内地址就是主存地址中给出的低位地址。
                      直接映像方式的优点是地址变换很简单,缺点是灵活性差。例如,不同区号中块号相同的块无法同时调入Cache存储器,即使Cache存储器中有空闲的块也不能利用。
                      (2)全相联映像。全相联映像如下图所示。同样,主存与Cache存储器均分成大小相同的块。这种映像方式允许主存的任一块可以调入Cache存储器的任何一个块的空间中。
                      
                      全相联映像示意图
                      例如,主存为64MB,Cache为32KB,块的大小为4KB(块内地址需要12位),因此主存分为16384块,块号从0~16383,表示块号需要14位,Cache分为8块,块号为0~7,表示块号需3位。存放主存块号的相联存储器需要有Cache块个数相同数目的单元(该例中为8),相联存储器中每个单元记录所存储的主存块的块号,该例中相联存储器每个单元应为14位,共8个单元。
                      在地址变换时,利用主存地址高位表示的主存块号与Cache中相联存储器所有单元中记录的主存块号进行比较,若相同即为命中。这时相联存储器单元的编号就对应要访问Cache的块号,从而在相应的Cache块中根据块内地址(上例中块内地址是12位,Cache与主存的块内地址是相同的)访问到相应的存储单元。
                      全相联映像的主要优点是主存的块调入Cache的位置不受限制,十分灵活。其主要缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
                      (3)组相联映像。这种方式是前面两种方式的折中。具体方法是将Cache中的块再分成组。例如,假定Cache有16块,再将每两块分为1组,则Cache就分为8组。主存同样分区,每区16块,再将每两块分为1组,则每区就分为8组。
                      组相联映像就是规定组采用直接映像方式而块采用全相联映像方式。也就是说,主存任何区的0组只能存到Cache的0组中,1组只能存到Cache的1组中,以此类推。组内的块则采用全相联映像方式,即一组内的块可以任意存放。也就是说,主存一组中的任一块可以存入Cache相应组的任一块中。
                      在这种方式下,通过直接映像方式来决定组号,在一组内再用全相联映像方式来决定Cache中的块号。由主存地址高位决定的主存区号与Cache中区号比较可决定是否命中。主存后面的地址即为组号。
                      替换算法
                      替换算法的目标就是使Cache获得尽可能高的命中率。常用算法有如下几种。
                      (1)随机替换算法。就是用随机数发生器产生一个要替换的块号,将该块替换出去。
                      (2)先进先出算法。就是将最先进入Cache的信息块替换出去。
                      (3)近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去。
                      (4)优化替换算法。这种方法必须先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换。
                      Cache性能分析
                      Cache的性能是计算机系统性能的重要方面。命中率是Cache的一个重要指标,但不是最主要的指标。Cache设计的目标是在成本允许的条件下达到较高的命中率,使存储系统具有最短的平均访问时间。设Hc为Cache的命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache存储器的等效加权平均访问时间ta为:
                      ta=Hctc+(1-Hc)tm=tc+(1-Hc)(tm-tc
                      这里假设Cache访问和主存访问是同时启动的,其中,tc为Cache命中时的访问时间,(tm-tc)为失效访问时间。如果在Cache不命中时才启动主存,则
                      ta=tc+(1-Hc)tm
                      Cache的命中率与Cache容量的关系如下图所示。Cache容量越大,则命中率越高,随着Cache容量的增加,其失效率接近0%(命中率逐渐接近100%)。但是,增加Cache容量意味着增加Cache的成本和增加Cache的命中时间。
                      
                      Cache容量与命中率的关系
                      在指令流水线中,Cache访问作为流水线中的一个操作阶段,Cache失效将影响指令的流水。因此,降低Cache的失效率是提高Cache性能的一项重要措施。当Cache容量比较小时,容量因素在Cache失效中占有比较大的比例。降低Cache失效率的方法主要有选择恰当的块容量、提高Cache的容量和提高Cache的相联度等。
               虚拟存储器
               在概念上,可以将主存存储器看作一个由若干个字节构成的存储空间,每个字节(称为一个存储单元)有一个地址编号,主存单元的该地址称为物理地址(physical address)。当需要访问主存中的数据时,由CPU给出要访问数据所在的存储单元地址,然后由主存的读写控制部件定位对应的存储单元,对其进行读(或写)操作来完成访问操作。
               现代系统提供了一种对主存的抽象,称为虚拟存储(virtual memory),使用虚拟地址(virtual address,由CPU生成)的概念来访问主存,使用专门的MMU(Memory Management Unit)将虚拟地址转换为物理地址后访问主存。设主存容量为4GB,则其简化后的访问操作和内存模型如下图所示。
               
               内存模型及使用虚拟地址访存示意图
               虚拟存储器实际上是一种逻辑存储器,实质是对物理存储设备进行逻辑化的处理,并将统一的逻辑视图呈现给用户。因此,用户在使用时,操作的是虚拟设备,无需关心底层的物理环境,从而可以充分利用基于异构平台的存储空间,达到最优化的使用效率。
               外存储器
               外存储器用来存放暂时不用的程序和数据,并且以文件的形式存储。CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存才可访问。外存储器主要由磁表面存储器(如磁盘、磁带)、光盘存储器及固态硬盘(采用Flash芯片或DRAM作为存储介质的存储器)构成。
                      磁盘存储器
                      硬盘是最常见的外存储器。一个硬盘驱动器内可装有多个盘片,组成盘片组,每个盘片都配有一个独立的读/写头。
                      为了正确地存储信息,将盘片划成许多同心圆,称为磁道(track)。将一个磁道沿圆周划分为若干段,每段称为一个扇区(sector),每个扇区内可存放一个固定长度的数据块,如512字节。一组盘片的所有记录面上相同序号的磁道构成一个柱面(cylinder)。
                      硬盘的寻址信息由硬盘驱动号、柱面号、磁头号(记录面号)、数据块号(或扇区号)以及交换量组成。
                      磁盘以扇区大小的块来读写数据。对扇区的访问时间(access time)主要包括以下三个部分:寻道时间(seek time)、旋转时间(rotational latency)和传送时间(transfer time)。
                      (1)寻道时间。为了读取某个目标扇区的内容,需要将读/写头移动到包含目标扇区的磁道上,这称为寻道时间Tseek。显然,寻道时间与读/写头的移动速度以及其之前的位置有关。通过数千次对随机扇区的寻道操作求平均值来测得平均寻道时间,一般为3~9ms。
                      (2)旋转时间。一旦读/写头定位至期望的磁道,就等待目标扇区旋转到读/写头的下方,该时间依赖于读/写头到达目标扇区前盘面的位置和旋转速度。在最坏情况下,读/写头刚好错过目标扇区,就必须等待磁盘旋转一周。因此,最大旋转延迟时间Tmax rotaion为磁盘旋转速度的倒数,平均旋转时间Tavg rotaion为最大旋转延迟时间的一半。
                      (3)传送时间。当目标扇区的第一个位位于读/写头下方时,就可以开始读或写该扇区的内容了。一个扇区数据的传送时间依赖与旋转速度和每磁道的扇区数目,因此可以粗略估算一个扇区的平均传送时间Tavg transfer为磁盘旋转速度的倒数乘以每磁道扇区数的倒数。
                      现代磁盘构造复杂,大容量磁盘采用多区记录技术,将柱面的集合分割成不相交的子集,每个子集称为一个记录区。每个记录区包含一组连续的柱面,一个及记录区中每个柱面的每条磁道有相同数量的扇区,扇区数由最靠近盘片中心的磁道所能包含的扇区数决定。
                      一个磁盘上可以记录的最大位数称为其最大容量。最大容量由记录密度、磁道密度和面密度决定。
                      记录密度是指每英寸磁道的段中可以存储的位数。磁道密度是盘片半径方向上每英寸的磁道数。面密度则是记录密度与磁道密度的乘积。
                      磁盘最大容量等于每扇区字节数×每磁道平均扇区数×每盘面磁道数×每盘片记录面数×盘片数。
                      磁盘通常以千兆字节(GB)或兆兆字节(TB)为单位来表示磁盘容量,且1GB=109B,1TB=1012B。
                      磁盘控制器必须对磁盘进行格式化后才能存储数据。格式化后的容量通常小于最大容量。
                      光盘存储器
                      根据性能和用途,光盘存储器可分为只读型光盘(CD-ROM)、只写一次型光盘(WORM)和可擦除型光盘。只读型光盘是由生产厂家预先用激光在盘片上蚀刻不能再改写的各种信息,目前这类光盘的使用很普遍。只写一次型光盘是指由用户一次写入、可多次读出但不能擦除的光盘,写入方法是利用聚焦激光束的热能,使光盘表面发生永久性变化而实现的。可擦除型光盘是读/写型光盘,它是利用激光照射引起介质的可逆性物理变化来记录信息。
                      光盘存储器由光学、电学和机械部件等组成。其特点是记录密度高、存储容量大、采用非接触式读/写信息(光头距离光盘通常为2mm)、信息可长期保存(其寿命达10年以上)、采用多通道记录时数据传送率可超过200Mb/s、制造成本低、对机械结构的精度要求不高、存取时间较长。
                      固态硬盘
                      固态硬盘(Solid State Disk,SSD)的存储介质分为两种,一种是采用闪存(FLASH芯片)作为存储介质;另一种是采用DRAM作为存储介质。
                      基于闪存的固态硬盘是固态硬盘的主要类别,其主体是一块PCB板,板上最基本的配件就是控制芯片、缓存芯片和用于存储数据的闪存芯片。主控芯片是固态硬盘的大脑,其作用有两个:一是合理调配数据在各个闪存芯片上的负荷;二是承担数据中转的作用,连接闪存芯片和外部SATA或USB接口。不同主控芯片差异很大,在数据处理能力、算法,对闪存芯片的读写控制方面会有非常大的不同,直接会导致固态硬盘产品在性能上差距很大。
                      一个闪存由多个块、每块由多页组成,通常页的大小为512B~4KB,块的大小为32~128页。在闪存中,数据是以页为单位读写的。只有在一个页所在的块被整体擦除后,才能写入该页。写一个块重复写入限定次数(例如100000)后,该块就会磨损坏而不能再使用。如果一个固态硬盘的主控芯片中磨损逻辑处理得好,就可以用很多年。
                      SSD的读操作比写操作要快,顺序读写操作比随机读写操作要快。进行随机写操作时,要擦除整块,因此需要较长的时间。另外,如果写操作试图修改一个包含其他有用数据的块,则需要将有用数据复制到一个新擦除的块中,然后才能进行写入操作。
                      固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘基本相同,外形和尺寸也基本与普通的2.5英寸硬盘一致。
                      固态硬盘虽然价格仍较为昂贵,容量较低,但是由于具有传统机械硬盘不具备的快速读写、质量轻、能耗低以及体积小等特点,因此常作为传统机械式硬盘的替代品使用。
               磁盘阵列技术
               磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。现在常见的磁盘阵列称为廉价冗余磁盘阵列(Redundant Array of Independent Disk,RAID)。
               虽然RAID包含多块硬盘,但从用户视角看则是一个独立的大型存储设备。RAID可以充分发挥出多块硬盘的优势,实现远超出任何一块单独硬盘的速度和吞吐量。除了性能上的提高之外,RAID还可以提供良好的容错能力。RAID技术分为几种不同的等级,分别可以提供不同的速度、安全性和性价比。
               目前,常见的RAID如下表所示。
               
               廉价冗余磁盘阵列
               除此之外,上述各种类型的RAID还可以组合起来,构成复合型的RAID,此处不再赘述。
               存储域网络
               存储域网络是连接服务器与存储设备的网络,它能够将多个分布在不同地点的RAID组织成一个逻辑存储设备,供多个服务器共享访问,如下图所示。通过网络将一个或多个服务器与多个存储设备连接起来,每个存储设备可以是RAID、磁带备份系统、磁带库和CD-ROM库等,构成了存储域网络(Storage Area Network,SAN)。这样的网络不仅解决服务器对存储容量的要求,还可以使多个服务器之间可以共享文件系统和辅助存储空间,避免数据和程序代码的重复存储,提高存储器的利用率。另外,SAN还实现了分布式存储系统的集中管理,降低了大容量存储系统的管理成本,提高了管理效率。
               
               SAN的结构
 
       数据存储
        数据存储用来表示存储数据。通常,一个流入加工的数据流经过加工处理后就消失了,而它的某些数据(或全部数据)可能被加工成输出数据流,流向其他加工或外部实体。除此之外,在软件系统中还常常要把某些信息保存下来以供以后使用,这时可以使用数据存储。每个数据存储都有一个定义明确的名字标识。可以有数据流流入数据存储,表示数据的写入操作;也可以有数据流从数据存储流出,表示数据的读操作;还可以用双向箭头的数据流指向数据存储,表示对数据的修改。
 
       以太网
        以太网接口一般分为十兆、百兆、千兆以太网接口。
        (1)传统以太网接口符合10Base-T物理层规范,工作速率为10Mb/s,有全双工和半双工两种工作方式。
        (2)快速以太网接口符合100Base-TX物理层规范,兼容10Base-T物理层规范,可以在10Mb/s、100Mb/s两种速率下工作,有半双工和全双工两种工作方式。它具有自动协商模式,可以与其他网络设备协商确定工作方式和速率,自动选择最合适的工作方式和速率,从而可以大大简化系统的配置和管理。传统以太网接口的配置与快速以太网接口的配置基本相同,但前者配置简单,配置项较少。
        (3)千兆以太网技术作为最新的高速以太网技术,给用户带来了提高核心网络的有效解决方案,这种解决方案的最大优点是继承了传统以太技术价格便宜的优点。千兆技术仍然是以太技术,它采用了与10Mb/s以太网相同的帧格式、帧结构、网络协议、全/半双工工作方式、流控模式以及布线系统。
        千兆以太网技术有两个标准:IEEE 802.3z和IEEE 802.3ab。
        IEEE 802.3z工作组负责制定光纤(单模或多模)和同轴电缆的全双工链路标准。IEEE 802.3z定义了基于光纤和短距离铜缆的1000Base-X,采用8B/10B编码技术,信道传输速度为1.25Gb/s,去耦后实现1000Mb/s传输速度。
        IEEE 802.3ab工作组负责制定基于半双工链路的千兆以太网标准,产生IEEE 802.3ab标准及协议。
        以太网卡可以工作在两种模式下:半双工和全双工。
        半双工:半双工传输模式实现以太网载波监听多路访问冲突检测。传统的共享LAN是在半双工下工作的,在同一时间只能传输单一方向的数据。当两个方向的数据同时传输时,就会产生冲突,这会降低以太网的效率。
        全双工:全双工传输是采用点对点连接,这种安排没有冲突,因为它们使用双绞线中两个独立的线路,这等于没有安装新的介质就提高了带宽。在全双工模式下,冲突检测电路不可用,因此每个全双工连接只用一个端口,用于点对点连接。标准以太网的传输效率可达到50%~60%的带宽,全双工在两个方向上都提供100%的效率。
 
       AR
        (1)AR的定义。增强现实技术(Augmented Reality,AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术1990年提出。随着随身电子产品CPU运算能力的提升,预期增强现实的用途将会越来越广。
        (2)AR的特点。
        ①真实世界和虚拟世界的信息集成;
        ②具有实时交互性;
        ③是在三维尺度空间中增添定位虚拟物体。
        (3)AR的营销价值。
        ①虚实结合,震撼体验。借助AR的虚实交互体验,增强产品发布会的趣味性和互动性。另外借助AR技术,可以展示模拟现实条件无法表现的细节和创意,使消费者更直观形象地感知产品,提升对企业品牌形象的理解,尤其适用于工艺复杂、技术含量高、价值相对较高的产品。
        ②体验营销。AR技术实现品牌和消费者零距离接触,在游戏或互动中潜移默化地传达产品内容、活动及促销信息,加深消费者对品牌的认可和了解。AR技术借助手机摄像头可以生动地再现产品使用场景,增强用户的购物体验,解决电子商务当下无法试用、试穿的瓶颈,给我们生活带来极大地便利和乐趣。
        ③与微博、SNS等社交媒体整合。利用AR技术与微博、SNS等社交媒体的融合打通,实现从体验营销到自营销,最终形成消费者对产品和品牌的信任和钟爱,满足了消费者购买咨询、体验和分享的需求,促成消费者形成良好的口碑并促进购买。
 
       常用命令
        1)目录操作命令
        (1)查看目录命令ls
        语法:ls[选项][目录或是文件]
        功能:列出目录的内容。该命令类似于DOS下的dir命令。默认情况下,输出的条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
        (2)改变工作目录命令cd
        语法:cd[directory]
        功能:该命令将当前目录改变至directory所指定的目录。利用点点(..)把目录上移一级。
        (3)创建目录命令mkdir
        语法:mkdir[选项]dir-name
        功能:创建由dir-name命名的目录。该命令类似于DOS下的md命令。
        (4)删除目录命令rmdir
        语法:rmdir[选项]dir-name
        功能:删除目录dir-name。需要特别注意的是,一个目录被删除之前必须是空的。
        (5)显示当前目录命令pwd
        语法:pwd
        功能:此命令显示出当前工作目录的绝对路径。
        2)文件操作命令
        (1)显示文件命令cat、head、tail、more
        ①cat命令
        语法:cat[选项]文件名
        功能:在标准输出上显示指定的文件。如果文件内容很长,在一张屏幕显示不下时,会出现屏幕滚动。
        ②head命令
        语法:head[显示行数]文件名
        功能:在屏幕上显示指定文件最前面的若干行,行数由"显示行数"确定。
        ③tail命令
        语法:tail[显示行数]文件名
        功能:在屏幕上显示指定文件末尾的若干行,行数由"显示行数"确定。
        语法:tail[+n]文件名
        功能:在屏幕上从指定行号n开始显示,直到文件的末尾。
        ④more命令
        语法:more[选项]文件名
        功能:显示文件内容,每次显示一屏,并在屏幕的底部提示已显示的百分比。按Space键显示下一屏的内容,按Enter键显示下一行的内容,按B键显示上一屏的内容,按Q键退出more命令。
        (2)创建新文件命令touch
        语法:touch文件名
        功能:创建空文件夹。
        (3)复制文件命令cp
        语法:cp[选项]源文件或目录目标文件或目录
        功能:把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。该命令同DOS下的copy命令一样。
        (4)移动和重命名文件命令mv
        语法:mv[选项]源文件或目录目标文件或目录
        功能:为文件或目录改名或将文件由一个目录移到另一个目录中。当第二个参数类型是文件时,mv命令完成文件重命名;当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
        (5)删除文件命令rm
        语法:rm[选项]文件
        功能:删除不需要的文件和目录。对于链接文件,只是断开了链接,原文件保持不变。
        (6)文件链接命令ln
        语法:ln源文件目标文件
        功能:在文件间建立链接。如果目标文件是到某一目录文件的目录,源文件会链接到此目录下,文件名不变;如果目标文件不是到某一目录文件的路径,源文件会链接到此目标文件,并覆盖已经存在的同名文件。
        (7)文件内容比较命令diff和cmp
        ①diff命令
        语法:diff文件1文件2…
        功能:用于比较文本文件,并显示两个文件的不同。
        ②cmp命令
        语法:cmp文件1文件2…
        功能:用于比较数据文件,只报告从哪一个字节开始出现不同。
        (8)查找命令find和locate
        ①find命令。
        语法:find路径名[选项]
        功能:查找文件和目录的位置。
        ②locate命令。
        语法:locate文件名[选项]
        功能:用于文件和目录的查找。使用locate命令的前提是要首先创建一个用于定位文件或目录位置的slocate数据库,而且该数据库应是时时更新的,这样才能保证locate查找结果的准确性。
        (9)文件中查找正文命令grep
        语法:grep[选项]查找模式文件名
        功能:在文件中查找指定模式的词或短语,并在标准输出上显示包括给定字符串的所有行。
        3)文件权限操作命令
        Linux系统中的每个文件和目录都有访问许可权限,用来确定谁可以通过何种方式对文件和目录进行访问和操作。
        (1)改变文件属主命令chmon
        语法:chmon[选项]用户或组文件
        功能:更改某个文件或目录的所有权。用户可以是用户名或用户ID,组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表、文件参数。
        (2)改变用户组命令chgrp
        语法:chgrp[选项]group文件名
        功能:改变文件或目录所属的组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变目录所在的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
        (3)chmod
        语法:chmod key文件名
        功能:改变文件或目录的访问权限。只有文件主或超级用户root才有权用chmod命令改变文件或目录的访问权限。
        提示:访问权限规定了3种不同类型的用户,分别是文件属主(owner)、同组用户(group)和可以访问系统的其他用户(others)。每类用户有3种访问方式,即可读(r)、可写(w)、可执行或查找(x)。如下图所示的文件权限表示,该文件的属主有可读、可写和可执行权力,而同组用户和其他用户只有可读和可执行权力。文件权限也可以由3个八进制数来表示,例如,上述文件权限可表示为755。
        
        文件权限
        4)进程和作业控制命令
        (1)ps命令
        语法:ps[option[arguments]…]
        功能:观察进程状态,把当前瞬间进程的状态显示出来。
        (2)top命令
        功能:用于读入计算机系统的信息,包括当前的系统数据和进程的状态等。
        (3)kill命令
        功能:用于终止进程的执行,释放进程占用的系统资源。
        (4)at命令
        语法:at[选项]时间[日期]
        功能:在指定的时间运行用户安排的作业。
        5)基本网络命令
        (1)telnet命令
        语法:telnet[选项]IP地址/主机名
        功能:用于远程登录。成功连接远程计算机后,telnet就显示登录信息,提示用户输入注册名和口令。
        (2)ping命令
        语法:ping[选项]IP地址/主机名
        功能:用来确定网络上的主机是否可到达和到达速率。
        (3)inger命令
        语法:inger[选项]用户@主机名
        功能:查询系统用户的信息,显示某个用户的用户名、主目录、停滞时间、登录时间等信息。
 
       调试
        调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,进行改正。调试主要由程序开发人员来进行,谁开发的程序就由谁来进行调试。常用的调试方法有试探法、回溯法、对分查找法、归纳法和演绎法。
 
       方案设计
        系统方案设计包括总体设计和各部分的详细设计。
        .系统总体设计:包括系统的总体架构方案设计、软件系统的总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计等。
        .系统详细设计:包括代码设计、数据库设计、人机界面设计、处理过程设计等。
 
       监控
        主要包括故障监控和性能、流量、负载等状态监控,这些监控关系到集群的健康运行及潜在问题的及时发现与干预。
        (1)服务故障、状态监控:主要是对服务器自身、上层应用、关联服务数据交互监控;例如针对前端Web Server,就可以有很多种类型的监控,包括应用端口状态监控,便于及时发现服务器或应用本身是否崩溃、通过ICMP包探测服务器健康状态,更上层可能还包括应用各频道业务的监控,这些只是一部分,还有多种监控方式,依应用特点而定。还有一些问题需解决,如集群过大,如何高性能地进行监控也是一个现实问题。
        (2)集群状态类的监控或统计,为合理管理调优集群提供数据参考,包括服务瓶颈、性能问题、异常流量、攻击等问题。
 
       软件调试
        在软件测试的过程中,就会发现软件中的一些错误,但是,这种错误的发生只是一种表象,错误究竟是由什么原因引起的,是由哪段代码引起的,这些问题就需要进行调试才能确定。
        调试主要由3个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出是哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正,最后进行回归测试。总的来说有三种调试的实现方法,分别是蛮力法、回溯法、原因排除法。
        蛮力法的调试可能是为了找到错误原因而使用的最普通但是最低效的方法了。当所有其他的方法都失败的情形下,才会使用这种方法。根据“让计算机自己来寻找错误”的思想,进行内存映像,激活运行时的跟踪。
        回溯是在小程序中经常能够奏效的相当常用的调试方法。从发现症状的地方开始,开始(手工地)往回跟踪源代码,直到发现错误的原因。
        原因排除法是通过演绎和归纳,以及二分法来实现的。对和错误发生有关的数据进行分析可寻找到潜在的原因。先假设一个可能的错误原因,然后利用数据来证明或者否定这个假设。也可以先列出所有可能的原因,然后进行检测来一个个地进行排除。如果最初的测试表明某个原因看起来很像的话,那么就要对数据进行细化来精确定位错误。
        上面的每一种方法都可以使用调试工具来辅助完成。我们可以使用许多带调试功能的编译器、动态的调试辅助工具(跟踪器)、自动的测试用例生成器、内存映像工具、以及交叉引用生成工具。
        软件调试与测试的区别主要体现在以下几个方面:
        (1)测试的目的是找出存在的错误,而调试的目的是定位错误并修改程序以修正错误。
        (2)调试是测试之后的活动,测试和调试在目标、方法和思路上都有所不同。
        (3)测试从一个已知的条件开始,使用预先定义的过程,有预知的结果;调试从一个未知的条件开始,结束的过程不可预计。
        (4)测试过程可以实现设计,进度可实现确定;调试不能描述过程或持续时间。
 
       温度
        计算机机房室内温度要适当并维持在稳定状态,温度过高或过低都会影响计算机系统的正常工作。如果工作环境温度过高,特别是在南方气候炎热的夏天,很容易造成系统内部元器件的温度过高,轻者计算机系统工作不正常、死机,重者将烧毁部件。如果工作环境温度过低,过低的室温会引起凝聚和结露现象,从而引起器件生锈,温度过低还会使绝缘材料变硬、变脆。
        机房的温度应保持在15℃~35℃,安装空调来调节温度是解决此问题的最佳办法。对于没有条件安装空调的单位来说,假如机器已超频的话,在炎热的季节就应该把频率降下来了。其次要注意机房的通风,上机时尽量开窗开门,并借助于电风扇进行通风。机房室内布局要合理,各个设备之间不应该靠得太挤,保持一定的距离以保证正常散热,并且尽量为CPU选用合格的功能强的风扇。
   题号导航      2016年下半年 嵌入式系统设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第4题    在手机中做本题