嵌入式系统设计师08部分总结

08 1. 计算机内存布局和寻址方式: 运行时为名字分配存储空间的过程叫绑定。静态数据区用于存放一对一的绑定且编译时就可确定存储空间大小的数据。 栈用于存放一对多的绑定且与活动同生存期的绑定;堆用于存储由程序语句动态生成和撤销的数据。 程序运行时,需要将程序代码(激起指令序列)和代码所操作的数据加载到内存。指令代码加载至代码区,数据则根据绑定关系可能位于静态数据区,栈区和堆区。 立即数寻址方式是指指令所需的操作数由指令的地址码部分直接给出,其特点是取指令时同时取出操作数,以提高指令的执行速度。 2. 浮点数运算特点: 浮点数的表示由阶码和尾数两部分组成,其一般表示形式如下:阶码通常为带符号的纯整数,尾数为带符号的纯小数。 阶符 阶码 数符 尾数 对阶:使两个数的阶码相同。 3. 寄存器的类型和特点: 寄存器是CPU中的一个重要组成部分,它是CPU内部的临时存储单元。寄存器既可以用来存放数据和地址,也可以存放控制性息和CPU工作时的状态。在CPU中增加寄存器的数量,可以使 CPU把执行程序时所需的数据尽可能地放入寄存器件中,从而减少访问内存的次数,提高其运行速度。但是寄存器的数据也不能太多,除了增加成本外,由于寄存器地址编码增加也会对增加指令的长度。CPU中的寄存器通常分为存放数据的寄存器,存放地址的寄存器,存放控制信息的寄存器,存放状态信息的寄存器和其他寄存器等类型。 程序计数器用于存放指令的地址。令当程序顺序执行时,每取出一条指令,PC内容自动增加一个值,指向下一条要取得指令。当程序出现转移时,则将转移地址送入PC,然后由PC指向新的程序地址。 程序状态寄存器用于记录运算中产生的标志信息,典型的标志为有进位标志位,零标志位,符号标志位,溢出标志位,奇偶标志位等。 地址寄存器包括程序计数器,堆栈指示器,变址寄存器,段地址寄存器等,用于记录各种内存地址。 累加寄存器是一个数据寄存器,在运算过程中暂时存放被操作数和中间运算结果,累加器不能用于长时间地保存一个数据。 4. I/O设备与主机间交换数据的方式和特点: 直接程序控制方式的主要特点:CPU直接通过I/O指令对I/O接口进行访问操作,主机与外设之间交换信息的每个步骤均在程序中表示出来,整个输入输出过程是由CPU执行程序来完成的。 中断方式的特点:当I/O接口准备好接收数据或准备好向CPU传送数据时,就发出中断信号通知CPU。对中断信号进行确认后,CPU保证正在执行的程序现场,转而执行提前设置好的I/O中断服务程序,完成一次数据传送处理。 这样,CPU就不需要主动查询外设的状态,在等待数据期间可以执行其他程序,从而提高了CPU的利用率。采用中断方式管理I/O设备,CPU和外设可以并行地工作。 虽然中断方式能够提高CPU的利用率,能处理随机事件和实时任务,但一次中断处理过程需要经历保护现场,中断处理,恢复现场等阶段,需要执行若干条指令才能处理一次中断事件,因此这种方式无法满足高速的批量数据传送要求。 直接内存存取(DMA)方式的基本思想:通过硬件控制实现主存与I/O设备的直接数据传送,数据的传送过程由DMA控制器(DMAC)进行控制,不需要CPU干预。在DMA方式下,需要CPU启动传送过程,即向设备发出“传送一块数据”的命令。在传送结束时,DMAC通过中断方式通知CPU进行一些后续处理工作。 DMA方式简化了CPU对数据传送的控制,提高了主机与外设并行工作的程度,实现了快速外设和主存之间成批的数据传送,使系统的效率明显提高。 通道是一种专用控制器,它通过执行通道程序进行I/O操作的管理,为主机与I/O设备提供一种数据传输通道。用通道指令编制的程序存放在存储器中,当需要进行I/O设备提供一种数据传输通道。用通道指令编制的程序存放在存储器中,当需要进行I/O操作时,CPU只要按约定格式准备好命令和数据,然后启动通道即可;通道则执行相应的通道程序,完成所要求的操作。用通道程序也可完成较复杂的I/O管理和预处理,从而在很大程度上将主机从繁重的I/O管理工作中解脱出来,提高系统效率。 5. 校验方法: 奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2. 它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中奇数位发生了错误,即编码中的1变为0或0变为1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。 海明码也是利用奇偶性来检错和纠错的校验方法。海明码的构成方法是:在数据位之间插入K个校验位,通过扩大码距来实现检错和纠错。 循环冗余校验码广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为K个数据位产生R个校验位进行编码,其编码长度为K+R。 6. 高速缓存基础知识: 它位于CPU和主存之间,有硬件实现;容量小,一般在几KB到几MB之间;速度一般比主存快5到10倍,由快速半导体存储器制成。其内容是主存内容的副本,对程序员来说是透明的;CACHE既可以存放程序又可以存放数据。 CACHE主要由两部分组成:控制部分和Cache存储器部分。Cache存储器部分用来存放主存的部分拷贝(副本)。控制部分的功能是:判断CPU要访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。命中时直接对Cache存储器寻址。未命中时,若是读取操作,则从主存中读取数据,并按照确定的替换原则把数据写入Cache存储器中;若是写入操作,则将数据写入主存即可。 7. 专利法基本知识: 专利申请具有三个原则: 书面原则,是指专利申请人及代理人在办理各种手续时都应当采用书面形式; 先申请原则,是指两个或者两个以上的人分别就同样的发明创造申请专利的,专利权授给最先申请人。 单一性原则,是指一份专利申请文件只能就一项发明创造提出专利申请,即“一申请一发明”原则。 8. 著作权法相关知识: RUP(Rational Unified Process)分为4个阶段,每个阶段结束时都有重要的里程碑。 初始阶段结束时的里程碑式生命周期目标; 精化阶段结束时的里程碑式生命周期架构; 构建阶段结束时的里程碑式最初运作能力; 移交阶段的里程碑式产品发布。 9. 死锁检测和银行家算法: 10. 操作系统文件管理知识: 文件管理系统是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取指0和1分别表示空闲和占用。 11. CPU状态寄存器: 符号标志位:要确定进行的是符号数运算还是无符号数运算。 进位标志位:不同的CPU各不同。 12. 内存地址与接口地址: 内存与接口地址独立编址的计算机中,内存与接口的地址是完全独立的。CPU执行程序,永远是从内存中取指令来执行。因此,接口地址不可作为内存地址使用,放在接口地址中的程序CPU无法直接执行。但接口地址是可以作为外存地址使用,放在接口地址中的程序可以先调入内存,然后执行。 另外,在此编址方式下,内存地址可以作为接口地址使用。此时,是将内存的地址用作接口,也就是接口地址译码器接的是内存地址。在读写接口时还必须用访问内存的指令。因此,内存地址不可作为接口地址使用时不正确的。 在计算机中还有另一种内存与接口地址的编址方式,那就是内存地址与接口地址统一编址。在那里,内存地址就是作为接口地址使用的。 12. CPU访问存储系统的平均访问时间及该Cache-主存系统的效率: 设某计算机存储系统由Cache-主存系统构成,Cache的存取周期为Tc ns,主存的存取周期为Tm ns。在CPU执行一段程序时,Cache完成存取的次数为Nc次,主存完成的次数为Nm次,则: Cache命中率: H=Nc/(Nc+Nm) CPU访问存储系统的平均访问时间T: T=Tc*H+Tm*(1-H) Cache-主存系统的效率为: e=Tc/T 13. 同步通信中,接收端和发送端得收发时钟是严格同步的,也就是说通信过程中采用同一个公共时钟信号进行同步。由于收发时钟是严格同步,在接收端就不会因接收时钟和发送时钟不一致所造成的时钟误差累积。正是这种收发时钟的严格同步,才允许在同步通信中,可以用很高的传输速率一次传送几十,几百甚至更多字节的数据。 异步通信中,接收端和发送端得收发时钟是不需要严格同步的,也就是说在通信过程中收发时钟是异步的,是有效的不同(允许在5%以内)。正是这种收发时钟的异步,在接收端就会因接收时钟和发送时钟不一致所造成的时钟误差累积。这就使得异步通信的传输速率低,每次只能传送几位数据。 14. 扩展操作码技术: 某计算机指令长度为32位,有3种指令:双操作数指令、单操作数指令、无操作数指令。今采用扩展操作码的方式来设计指令,假设操作数地址为12位,己知有双操作数指令K条,单操作数指令L条,问无操作数指令有多少条? 答案: 解:对于双操作数指令,操作码长度为(32-12×2)=8位; 对于单操作数指令,操作码长度为(32-12)=20位,可扩展位为20-8=12位; 对于无操作数指令,操作码长度为32位,可扩展位为32-20=12位。 由于双操作数指令有K条,而双操作数最多有2^8条,所以留有(2^8-K)个编码用于扩展到单操作数指令; 单操作数指令有L条,而单操作数指令最多有(2^8-K)×2^12条,所以留有[(2^8-K)×2^12-L]个编码用于扩展到无操作数指令; 根据以上分析:无操作数指令条数=[(2^8-K)×2^12-L] ×2^12。 15. 机器0: 在计算机中,浮点数机器零定义:当浮点数的尾数为0,阶码为最小值(移码表示)时,浮点数代码为00...0(全零),称之为机器零。此时,在计算机中的表示全“0”,则阶码应采用移码表示。移码(又叫增码)是符号位取反的补码,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。 16. 电磁兼容性相关知识: 串扰是指走线,导线,电缆束,元件及任意其他易受电磁场干扰的点子元件之间由于距离太近而产生的不希望的电磁耦合。在印制电路板PCB设计和布线技术中为避免串扰,常常遵循如下设计原则: ①控制传输线和总线的结构,把连接关系密切的原件靠近位置,从而减少布线的总长度,减少连线的长度和连线的密度。 ②元件远离易受干扰的区域,如大功率,高频区域。 ③提供正确的阻抗匹配,包括信号源与传输线匹配,传输线与负载匹配,走线的均匀性等。 ④相互串扰的传输线避免平行走线,如果必须平行走线,则需要加大它们之间的距离。 ⑤尽量使串扰的信号线采用垂直走线,以防止走线间的电容耦合和电感耦合。 ⑥缩短信号线到地的距离。 ⑦降低走线特性阻抗和信号电平,从而降低信号的功率强度。 ⑧把PCB中产生大噪声源的部件隔离起来,可以使用屏蔽技术。 17. 软件错误报告按其来源分为三类: 程序错误,文档错误和设计错误。 18. 32位微处理器实地址模式下可寻址2^32=4GB空间,保护模式下寻址空间??? 19. 堆栈操作: 8086处理器均采用满递减堆栈。入栈时,先减地址,后进数据;出栈时,先出数据,后减地址。 20. 时钟:计算机中根本没有时钟这个东西,只有晶振。通常人们说的时钟频率就是晶振的频率,这个参数与具体使用的晶振有关。就好像你不能直接问我电阻有多大,这要看具体是什么电阻。指令周期:一条指令执行所需的时钟周期,不同的指令执行所需的时钟周期个数都不同。一个机器周期就是CPU主频的倒数。总线周期:CPU在执行指令过程中,凡需要执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问(存取一个字节)所需的时间称为一个总线周期。一般一个基本的总线周期由4个时钟周期组成。 21. 物理地址计算: 例如:8086,(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后存放数据21H的物理地址为? 8086中的堆栈采用满递减堆栈,即SP先减,再压入数据,以字为单位对堆栈操作。因此压入数据时的起始SP应为0FEH;8086中数据采用小端模式存取,即一个字数据中低字节存放低地址;8086逻辑地址到物理地址的形成机制为:物理地址=段地址*16+偏移地址(或物理地址=段地址左移4位+偏移地址)压栈后内容存储的物理地址为SS*16+0FEH,21H是AX中的高位,其存储位置为200FFH。 22. 软件测试: 白盒测试:基于设计和基于代码的。 黑盒测试:基于需求,随意的(尤其针对潜在数据),提炼的(针对现场数据),反常的或极端的。 灰盒测试:结合白盒测试和黑盒测试两种特点的测试方法。 23. 硬件抽象层: 24. RTOS的性能评价指标: 上下文切换时间,任务调度算法,最大中断延迟时间,任务通讯延迟时间等衡量。 25. CRC编码的计算: 例如:设生成多项式为x^3+x+1,则数据信息10101的CRC编码为:V(x)=B(x)G(x)=(x^4+x^2+1)(x^3+x+1)=x^7+x^4+x^2+x+1,所以CRC编码为:10010111。 26. 流水线计算: 例如:设某一个任务需要8个加工部件加工才能完成,每个加工部件加工需要2小时,现在采用流水线加工方式,需完成100个任务,共需多少小时? 总时间=(8+100-1)*2=214 27. CMM把软件开发过程的成熟度由低到高分为5级,即初始级,可重复级,已定义级,已管理级和优化级。共18个关键过程区域 。可重复级包括6个关键过程区域:为软件配置管理,软件质量保证,软件子合同管理,软件项目跟踪与监督,软件项目策划,软件需求管理。已定义级包括7个关键过程区域,为同行评审,组间协调,软件产品工程,集成软件管理,培训大纲,组织过程定义,组织过程集点。已管理级包括两个关键过程区域,为软件质量管理和定量过程管理。优化级包括3个关键过程区域,为过程更改管理,技术改革管理和缺陷预防。 28. 软件测试: 确认测试是一组选定的专门测试,用来发现错误解决无法完全确定报告的问题方法,典型的确认测试包括对每一个错误报告重新进行测试的过程,并分别考查每个步骤。 回归测试是检验原有正常功能没有应更改出现缺陷而进行的测试。 验收测试是用来论证系统在测试下满足需求的情况,它的目的是为了证明其充分性和正确性,而不是为了发现问题。验收测试通常是产品发表前的最后一个测试阶段。 第三方测试是由开发方和使用方以外的人员进行发现软件缺陷的测试。

你可能感兴趣的:(嵌入式系统设计师08部分总结)