免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2012年下半年 嵌入式系统设计师 上午试卷 综合知识
  第47题      
  知识点:   RAM   ROM   存储器   嵌入式系统
  关键词:   RAM   存储器   嵌入式系统   容量   主存   字节编址   嵌入式        章/节:   计算机组成及主要部件的基本工作原理   嵌入式系统的存储体系   嵌入式软件基础知识       

 
嵌入式系统主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2KX8位的ROM芯片和4KX4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是(47)。
 
 
  A.  1、15
 
  B.  2、15
 
  C.  1、30
 
  D.  2、30
 
 
 

 
  第2题    2018年下半年  
   39%
在微机系统中,BIOS (基本输入输出系统)保存在(2)中。
  第51题    2009年下半年  
   69%
下列关于IEEE1394的叙述中,正确的是(51)。
  第24题    2014年下半年  
   32%
嵌入式微处理器MPU—般是通过地址总线(AB)、数据总线(DB)和控制总线(CB)三条总线同外围的ROM存储器、RAM存储器及I/O接..
 
  第40题    2019年下半年  
   62%
一台计算机的显示存储器用DRAM芯片实现,要求显示分辨率为1024x1024,颜色深度为24位,帧频为100Hz,显示总带宽的,50%用来刷新屏..
  第29题    2010年下半年  
   68%
对于一块具有15条地址线、16条双向数据线的SRAM,其容暈为(29)。
  第24题    2014年下半年  
   32%
嵌入式微处理器MPU—般是通过地址总线(AB)、数据总线(DB)和控制总线(CB)三条总线同外围的ROM存储器、RAM存储器及I/O接..
 
  第44题    2018年下半年  
   62%
关于中间件软件,下列叙述错误的是(44)。
  第50题    2018年下半年  
   63%
嵌入式系统中,各处理模块的板级支持包(BSP)所包含的内容,是和系统相关的驱动和程序。一般认为,(50)。
  第33题    2019年下半年  
   21%
以下不属于嵌入式系统硬件PCB图设计原则的是(33)。
   知识点讲解    
   · RAM    · ROM    · 存储器    · 嵌入式系统
 
       RAM
        易失性存储设备的代表是随机存取存储器(Random Access Memory,RAM)。在计算机存储体系结构中,RAM是与CPU直接交换数据的内部存储器,也叫主存或内存,其内部结构图如下图2-12所示。
        
        RAM结构图
        RAM电路由地址译码器、存储矩阵和读写控制电路三部分组成,如上图所示。存储矩阵由触发器排列而成,每个触发器能存储一位数据(0/1)。通常将每一组存储单元编为一个地址,存放一个“字”;每个字的位数等于这组单元的数目。存储器的容量以“字数×位数”表示。地址译码器将每个输入的地址代码译成高(或低)电平信号,从存储矩阵中选中一组单元,使之与读写控制电路接通。在读写控制信号的配合下,将数据读出或写入。
        RAM的特点之一就是随机读写,其含义指的是当RAM存储器中的数据被读取或写入时,所需要的时间与这段信息所在位置或所写入位置是无关的。
        RAM的读写速度很快,几乎是所有访问设备中写入和读取速度最快的,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。
        RAM存储器在断电时将丢失其存储内容,所以称为易失性存储设备,其主要用于存储短时间使用的程序。易失性和RAM的结构有关:随机存取存储器依赖电容器存储数据。电容器充满电后代表1(二进制),未充电的代表0。由于电容器或多或少有漏电的情形,若不作特别处理,数据会渐渐随时间流失。刷新是指定期读取电容器的状态,然后按照原来的状态重新为电容器充电,弥补流失电荷。需要刷新就解释了随机存取存储器的易失性。
        按照RAM存储单元的工作原理,RAM又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。
               SRAM
               静态存储单元是在静态触发器的基础上附加门控管而构成的。因此,它是靠触发器的自保功能存储数据的。SRAM将每个位存储在一个双稳态存储器单元,每个单元用一个六晶体管电路实现。
               数据一旦写入,其信息就稳定的保存在电路中等待读出。无论读出多少次,只要不断电,此信息会一直保持下去。SRAM初始加电时,其状态是随机的。写入新的状态,原来的旧状态就消失了。新状态会一直维持到写入新的状态为止。
               在电路工作时,即使不进行读写操作,只要保持在加电状态下,电路中就一定有晶体管导通,就一定就有电流流过,带来功率消耗。因此与DRAM相比,SRAM功耗较大,集成度不能做得很高。
               高速缓存Cache一般采用SRAM。高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的速度。
               DRAM
               DRAM将每个位存储为对一个电容的充电,每个单元由一个电容和一个访问晶体管组成。当DRAM存储器单元中的电容非常小,它被干扰之后很难恢复,也有很多原因会造成电容漏电,因此为了避免存储信息的丢失,必须定时地给电容补充电荷。通常把这种操作称为“刷新”或“再生”,因此DRAM内部要有刷新控制电路,其操作也比静态RAM复杂。尽管如此,由于DRAM存储单元的结构非常简单,所用元器件少且功耗低,可以制造得很密集,已成为大容量RAM的主流产品。
               DRAM的存储矩阵由动态MOS存储单元组成。动态MOS存储单元利用MOS管的栅极电容来存储信息,但由于栅极电容的容量很小,而漏电流又不可能绝对等于0,所以电荷保存的时间有限。为了避免存储信息的丢失,必须定时地给电容补充漏掉的电荷。通常把这种操作称为“刷新”或“再生”,因此DRAM内部要有刷新控制电路,其操作也比静态RAM复杂。
               DRAM必须定时不断刷新,以保证所存储的信息不会丢失,这或许是称之为动态的原因。初始加电时,其状态是随机的。写入新的状态,原来的旧状态就消失了。新状态会一直维持到写入新的状态为止。在电路上加上电源不进行读写及刷新操作时,只是保持在加电状态下,电路中没有晶体管导通,也就没有电流流过(会有极其微小的漏电流存在),也就没有功率消耗(或功耗可忽略不计)。因此,DRAM的功耗非常小,其集成度可做的很高,当前的一块DRAM芯片的集成度可达GB级别。
               常说的内存条,就是由DRAM构成。随着时间发展,DRAM经历若干代变更,早期的PM DRAM、EDO DRAM均已淘汰,目前仍在使用的主要是SDRAM和DDR SDRAM。
               DDR SDRAM
               双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR SDRAM)。通常人们习惯称之为DDR。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系。
               内存主频和CPU主频一样,习惯上被用来表示内存的速度,它代表着该内存所能达到的最高工作频率。内存主频是以MHz(兆赫)为单位来计量的。内存主频越高在一定程度上代表着内存所能达到的速度越快。内存主频决定着该内存最高能在什么样的频率正常工作。
 
       ROM
        只读存储器(Read-Only Memory,ROM)。ROM的重要特性是其存储信息的非易失性,存放在ROM中的信息不会因去掉供电电源而丢失,再次上电时,存储信息依然存在。其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。
               PROM
               可编程只读存储器(Programmable ROM,PROM)的内部有行列式的熔丝,是需要利用电流将其烧断,写入所需的资料,但仅能写录一次(又称作OTPROM,One Time Programmable Read Only Memory)。PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1),以实现对其“编程”的目的。PROM的典型产品是“双极性熔丝结构”,如果想改写某些单元,则可以给这些单元通以足够大的电流,并维持一定的时间,原先的熔丝即可熔断,这样就达到了改写某些位的效果。另外一类经典的PROM为使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,还是用大电流的方法将反相电压加在“肖特基二极管”上,造成其永久性击穿即可。
               EPROM
               可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)是目前使用最广泛的ROM。其利用高电压电流将资料编程写入,抹除时将线路曝光于紫外线下,则资料可被清空。之后又可以用电的方法对其重新编程,重复使用。通常在封装外壳上会预留一个石英透明窗以方便曝光。
               利用物理方法(紫外线)可擦除的RROM通常称为EPROM;用电的方法可擦除的PROM称为EEPROM(E2PROM)。
               EEPROM
               电子式可抹除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)之运作原理类似EPROM,但是抹除的方式是使用高电场来完成。
               EPROM需用紫外光擦除,使用不方便也不稳定。20世纪80年代制出的EEPROM,克服了EPROM的不足,但集成度不高,价格较贵。
 
       存储器
        计算机系统中包括各种存储器,如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的结构
 
       嵌入式系统
        嵌入式计算机系统是与特定功能的设备集成在一起、且隐藏在这个功能系统内部为预定任务而设计的计算机系统。该计算机可对设备的状态进行采集,包括操作者的命令和受控对象的状态,按照设备所要求的、预先设定的特定规律进行计算,计算结果作为命令输出到设备的某些部件,控制某些操作,同时将人所关心的信息显示给操作者。一个典型的嵌入式系统如下图所示。
        
        嵌入式系统组成
        上述嵌入式系统的输入、处理、输出的各个部分,一般情况下都是通过软件运行完成的。因此嵌入式软件是嵌入式系统的重要组成部分,而且体现了系统的思想、方法和规律。
        在当今社会中,嵌入式系统已经和我们的生活息息相关,人们每时每刻都离不了嵌入式系统,如下图所示。
        
        嵌入式系统基本分类
        嵌入式系统一般是实时系统,《牛津计算机字典》对实时系统解释是:“系统的输入对应于一个外部物理世界的运动,而系统输出对应着另外一个物理世界的运动,而这两个运动的时间差必须在可接受的足够小的范围内,实时性就体现在从输入到形成输出所需的时间。”实时系统又进一步定义为硬实时系统和软实时系统两种,如下表所示。
        
        实时系统分类及其特性
        一般认为,嵌入式计算机相对于个人计算机或超级计算机,在软件或硬件上的资源是有限的,硬件资源体现在处理速度、功耗、存储空间等方面,软件资源指有限的应用、有限的操作系统支持、应用代码量少等方面。
        第一款大批量生产的嵌入式系统是美国1961年发布的民兵Ⅰ型导弹内嵌的D-17自动制导计算机。
        随着20世纪60年代早期应用开始,嵌入式系统的价格迅速降低,同时处理功能和能力获得快速提高。以第一款单片机Intel 4004为例,在存储器和外围芯片的配套使用下,实现了计算器和其他小型系统。1978年,美国国家工程制造商协会发布了可编程单片机的“标准”,涵盖了几乎所有以计算机为基础的控制器,如单板计算机、数控设备以及基于事件的控制器,使得微处理器得到了快速发展。
        无一例外,不断发展中的嵌入式计算功能的实现都通过用户需求驱动、顶层定义、硬件定义开始,但核心是软件的算法处理,实际上类似硬件功能通过不同软件的控制就可以实现不同用户所需要的嵌入式功能,如下图所示。
        
        嵌入式计算机的层次化架构
        当基础硬件接口、计算和存储资源、总线与网络乃至各种传感器、作动器、液压等以模块化、通用化、组合化等变得越来越成熟,他们就可以方便地组合成硬件平台。而软件却恰恰相反,基本是为满足人类某种新的设想或应用要求开始进行新的设计。这些设计从诸如领域、实现功能、性能、可靠性、安全性等方面,可以是全新理念设备、或是适应性修改升级等途径,都会导致软件有不同程度的差异。
        嵌入式系统具有以下特征:
        (1)嵌入式系统的时间敏感性。嵌入式实时系统对时间响应都是有要求的。例如对于一个设备的运动控制系统,从操作指令发出,嵌入式计算机根据指令和外部条件计算并输出到动作器的动作,要保证在所有的条件下、在确定的时间内产生所需的输出。这对于设计者来说,一般的实时系统都会围绕这个关键需求进行系统设计。另外为了满足时间敏感性要求,确保在最复杂行为和最大延时情况下,系统操作不发生延迟,要求处理器的利用率要有40%左右的余量。有时为满足某些强实时嵌入式系统的应答时间限定在毫秒级或更低,需要在高级语言中嵌入低级语言编程实现。
        (2)嵌入式系统的可靠性和安全性。嵌入式计算机系统的失效带来的可能是个人娱乐系统故障的微小损失,可能是铁路信号失效的巨额经济损失,也可能是战略武器控制等经济损失以及重大的社会政治影响等。所以在某种设计缺陷被诱发后,对于不同的系统需要采取不同的策略,例如对具有重大影响的系统,要求计算机或计算机软件对设计缺陷、制造缺陷等失效采取“永不放弃”的安全性设计技术,将损失控制在可接受的范围内。在有人为输入情况下,嵌入式系统还需考虑最大可能地减少人为失误所引起的系统失效。这些算法或机制可以是输入有效性合理性检查、硬件容错、软件容错、错误后的系统缓慢降级、系统进入安全模式等。
        (3)嵌入式软件的复杂性。软件复杂度取决于问题规模和复杂度。简单问题的软件可由个人完成,甚至可以进行软件正确性证明;即使过程中更换人员,花费少许时间就可掌握和维护。但如汽车控制、飞机控制等大型复杂软件,其需要根据复杂的外部输入、按照多变量物理规律和人们的预期,实现预定的功能。软件需要根据系统的外部事件及其组合,考虑各种处理、逻辑、时序、边界、超出边界的鲁棒性等进行详细算法和策略研究。还需要考虑如安全性、可靠性、维护性等质量要求。更困难的是大规模软件需要团队联合定义、并行开发、持续维护,同时考虑处理平台限制条件。
   题号导航      2012年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第47题    在手机中做本题