这里整理的是一些容易忘记的又或者比较难的知识点。
计算机组成原理
总线:
- 内部总线
- 系统总线(数据总线、地址总线、控制总线)
- 外部总线
CISC和RISC差异:
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
---|---|---|---|---|
CISC | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制方式 | |
RISC | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器,硬布线逻辑控制为主,采用流水线 | 优化编译,有效支持高级语言 |
- 指令寄存器(IR)用来保存当前正在执行的指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送给IR,为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作,指令译码器(ID)就是做这项工作的。指令寄存器中的操作码字段的输出就是指令译码的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号
- 地址寄存器(AR)用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止
为了保证程序指令能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正式起到这种作用,所以通常又称为指令计数器。
CPU执行算术运算或逻辑运算时,常将源操作数和结果暂存在累加器(AC)中。
寻址方式:
- 立即寻址:立即寻址方式只针对源操作数,此时源操作数是一个立即数,它作为指令的一部分,紧跟在指令的操作码之后,存放于内存的代码段中
- 直接寻址:直接寻址表示参加运算的数据放在内存中,指令中给出的是数据存放的偏移地址
- 寄存器寻址:当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。
- 隐含寻址:有些指令的操作码不仅包含了操作的性质
设计模式
上午题和下午题均有对于设计模式的考察,且分值不低,这部分需要重点掌握。
设计模式按照分类可以分为结构型、创建型、行为型。推荐学习地址:设计模式。
结构型设计模式
结构型设计模式主要用来描述类与类之前的关系。
结构型设计模式有适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、代理模式。
创建型设计模式
创建型设计模式主要用来描述创建对象的方式。
创建型设计模式有工厂方法模式、抽象工厂模式、构建器模式、原型模式、单例模式。
行为型设计模式
行为型设计模式主要用来描述具体方法执行的时候的一些行为特征。
行为型涉及模式有责任链模式、命令模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。
常考的设计模式
常考的设计模式有:桥接模式、组合模式、构建器模式、责任链模式、观察者模式、状态模式、策略模式、模板方法模式。
需要掌握每种设计模式的应用场景,以及每种设计模式具体属于结构型、创建型还是行为型。
计算机网络及协议
邮件使用的协议:
- SMTP:简单邮件传输协议,用于发送邮件,是电子邮件客户端向服务器发送邮件的协议
- POP3:邮局协议,用于从目的邮件服务上读取邮件,POP3允许用户服务器上把邮件存储到本地主机上,同时删除保存在邮件服务器上的邮件。默认传输协议为TCP,端口为110
- IMAP4:交互式邮件存取协议,与POP3类似,但不同的是,它在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器,如删除邮件、标记已读等
- MIME:多用途互联网邮件扩展类型,MIME消息可以包含文本、图像、音频、视频等多媒体数据
- IpSec工作于网络层,为IP数据报文进行加密
- PP2P工作于数据链路层,用于链路加密
- HTTPS是HTTP与SSL的结合体,为传输层以上层次数据加密
- TLS安全传输协议用于两个在通信应用程序之间提供保密性和数据完整性
域名系统的分层结构:根域、顶级域、二级域
- 根域名位于域名空间最顶层,一般用一个“.”表示
- 顶级域一般代表类型的组织结构或国家、地区,如net、com、org、edu、gov、mil、cn、jp、hk
顶级域名有三类:
- 一类是地理顶级域名如cn代表中国、jp代表日本等;
- 一类是类别顶级域名如com、net、org、edu、gov、arpa(美国军方)、int(国际组织)等
- 一类是新顶级域名,例如xyz、top等
二级域名用来表明顶级域内的一个特定组织,国家顶级域下面的域名由国家网络部门统一管理,如.cn顶级域名下面设置的二级域名.com.cn、.net.cn、.edu.cn等。
.com表示工商企业,com为commercial简称,表示商业性质的。
IPV4地址的长度是32,IPV6地址的长度是128。
TCP和UDP均提供了端口寻址的功能。
UDP是一种不可靠的、无连接的协议,没有连接管理能力,不负责重新发送丢失或出错的数据消息,也没有流量控制的功能。
程序语言设计基础
- 词法分析阶段:非法字段、单词拼写错误等
- 语法分析阶段:标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误
- (静态)语义分析阶段:运算符与运算对象类型不合法等错误
- 目标代码生成(执行阶段):动态语义错误,包括陷入死循环、变量取零时做除数,引用数据元素下标越界等错误
面向对象和结构化开发
耦合类型
- 数据耦合是通过参数列表传递简单信息
- 公共耦合是多个模块访问同一个公共数据环境(重点是公共数据环境)
- 外部耦合是一组模块访问同一个全局简单变量而没有通过参数表传递(重点是全局变量)
- 内容耦合是一个模块直接访问另一个模块的内部数据,一个模块不通过正常的入口转到另一个模块的内部;两个模块有一部分程序代码重叠;一个模块有多个入口
- 非直接耦合:两个模块没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
- 标记耦合:一组模块通过参数列表传递记录信息(数据结构)
- 控制耦合:模块之间传递的信息中包含用于控制模块内部逻辑的信息
内聚类型
- 逻辑内聚:模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成那一个功能
- 过程内聚:一个模块完成多个任务,这些任务必须按指定的顺序执行
- 通信内聚:模块内的所有处理元素都在同一数据结构上操作,各处理使用相同的输入数据或产生相同的输出数据
- 功能内聚:模块内的所有元素共同作用一个功能,缺一不可,是最强的内聚
- 瞬时内聚:所包含的任务必须在同一时间间隔内执行(如初始化模块)
- 偶然内聚:完成逻辑上相关的一组任务
- 顺序内聚:处理元素相关,而且必须顺序执行
巧合内聚就是偶然内聚,偶然内聚由于内容是不相关的,所以必然导致它与外界多个模块有关联,这也使得模块间的耦合度增加。
操作系统
页面置换算法前提是被置换的页要在内存中。
- 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
- 临界区:每个进程中访问临界资源的那段代码
- 信号量:是一种特殊的变量
PV操作是一种实现进程互斥与同步的有效方法。PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思。PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。