1)流水线三种冒险
数据冒险:指一条指令需要使用之前指令的计算结果,但是之前结果还没有返回产生的冲突现象。
结构冒险:指因硬件资源满足不了指令重叠执行的要求而发生的冲突现象。
控制冒险:指流水线遇到分支指令或者其他可能引起PC指针进行改变的指令所引起的冲突现象。
2)RISC和CISC
RSIC:精简指令集计算机
CISC:复杂指令集计算机
类别 | RISC | CISC |
指令系统 | 指令长度固定,指令种类少(少于100种) | 指令数量多 |
执行时间 | 选取使用频率较高的一些简单指令,且指令执行时间较短 | 有些指令执行时间很长,例如整块的存储器内容复制 |
编码长度 | 固定,通常为4字节 | 可变,1~15字节 |
寻址方式 | 种类少,即简单寻址 | 种类丰富 |
操作 | 设置大量通用寄存器,访问存储器指令简单,只能对寄存器进行算术和逻辑操作 | 可以对存储器和寄存器进行算术和逻辑操作 |
编译 | 采用优化代码编译技术,生成高效的目标代码程序 | 难以用优化编译器生成高效的目标代码程序。 |
3)MVC体系结构
MVC(模型—视图—控制器)体系结构:是使用模型—视图—控制器设计创建Web应用程序模式。
模型:应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。
视图:应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。
控制器:应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
优点:提高系统的开发效率、提高系统的可维护性和有利于代码重用。
缺点:增加了系统结构和实现的复杂性、视图与控制器过于紧密的连接、视图对模型数据的低效率访问、目前,一些高级的界面工具或构造器不支持mvc
4)数据库恢复操作的基本原理是冗余
即利用存储在系统其他地方的冗余数据来重建数据库中被破坏或不正确的那部分数据。
5)嵌入式系统硬件初始化过程
嵌入式系统硬件初始化是设计一个完整的板级支持包(BSP)需要完成的工作之一,它可以分为3个主要环节,按照自下向上、从硬件到软件的次序依次为片级初始化、板级初始化和系统级初始化。
6)邮件服务协议
支持协议:SMTP(负责邮件发送)、POP(负责邮件接收)
常见错误:
可发不可收:服务器配置错误(如POP配置错误)、路由器端口的访问控制列表设置为denypop3(屏蔽了邮件接收)、客户端代理设置错误(接收域名服务器填写错误)
收发均不可:网络连接中断
7)异步串行通信特点
①以字符为单位传送信息;
②相邻两字符间的间隔是任意长;
③因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以。
简单而言,异步方式的特点就是:字符间异步,字符内部各位同步。
在异步串行通信的数据格式中,每个字符(每帧信息)由4个部分组成:
①1位起始位,规定为低电平0;
②5~8位数据位,即要转送的有效信息;
③1位奇偶校验位;
④1~2位停止位,规定为高电平1。
综上所述,在四个选择中,传送的每一-个字符是独立发送的是正确的。
8)协处理器
一种协助中央处理器完成其无法执行或执行效率低下的处理工作而开发和应用的处理器。
如:设备间的信号传输、接入设备的管理等图形处理、声频处理等。
协处理器也能通过提供一组专门的新指令来扩展指令集。
协处理器可以在自己内部所包含的寄存器上进行指令的加载以及存储操作,可以和主处理器CPU之间进行数据交换,以提高执行效率。
9)进程状态变化
基本状态:就绪状态、运行状态、等待状态(阻塞)
转换关系:
10)软件生存周期模型(软件开发模型)
模型 | 概念/特点 | 优点 | 缺点 | 适用场景 |
瀑布模型 | 1.阶段具有顺序性和依赖性 3.质量保证 | 提高软件质量、降低软件成本、缓解软件危机 | 1.缺乏灵活性 2.无法解决需求不明确的问题 | 需求明确的软件 |
快速原型模型 | 先建立一个软件原型,然后根据用户的评价(挑毛病)去获得更多的需求,从而完善该软件。 | 1.确定需求上优于瀑布模型 2.提供学习手段 3.有的软件原型可以成为最终产品的一部分 | 对软件原型的修改可能导致 产品质量低下,原型软件的内部结构不好 | 需求不明确的软件 |
增量模型 | 软件分为若干个构件,哪个构件做好就拿给用户试用 | 1. 能够在较短的时间向用户提交完成可用的工作产品。 2. 用户有充裕的时间适应产品。 3. 软件结构必须开放,方便向现有产品加入新构件。 | 1.软件足够开放不易做到 2.风险更大,合并构架可能存在冲突 | 开发时间较短的软件 |
螺旋模型 | 增加了风险控制 开发过程: 1. 制定计划:确定目标、选定方案、设定条件约束。 | 对于大型的软件开发项目有非常好的风险控制 | 1. 开发人员需要有风险评估的经验(没有风险以为有;有风险以为没有)。 2. 契约开发通常会事先指定过程模型和产品 | 大型软件开发 |
喷泉模型 | 面向对象方法的过程模型,此模型体现了面向对象方法的两个重要特性——迭代和无缝 | 无缝。可同时开发、提高效率、节省开发时间、适应面向对象软件 | 可以随时向模型中添加各种信息、需求、资料,这样就会导致 文档管理和审核的难度增加 | 面向对象软件 |