计算机组成原理
一、
一、cpu的组成
运算器
(1)算术逻辑单元(ALU)
(2)累加寄存器(AC)
(3)数据缓冲寄存器(DR)
Data Register
用来暂时存放由内存储器读出的一条指令或一个数据字
(4)状态条件寄存器(PSW)
Program Status Word
保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容
控制器
![](https://i-blog.csdnimg.cn/blog_migrate/f25e5b13aabf4263271f7ba5bc0085f1.png)
(1)指令寄存器(IR)
(2)程序计数器(PC)
(3)地址寄存器(AR)
Address Register
用来保存当前 CPU所访问的内存单元的地址
(2)指令译码器(ID)
Instruction Decoder
对现行指令分析,确定要完成的操作及寻址方式
二、计算机的性能指标
@# 三、进制转换
整数:除基取余法
小数:乘基取整法
![](https://i-blog.csdnimg.cn/blog_migrate/09d08164be1112793f87b93d63503821.png)
![](https://i-blog.csdnimg.cn/blog_migrate/20e3b3907b9c9e7b31ba61c0a9696051.png)
四、BCD码
五、校验码
1.奇偶校验码
码距
奇偶校验
2.海明校验码
3.循环冗余校验码
![](https://i-blog.csdnimg.cn/blog_migrate/f39c1202a05c6aec6bcf5ffd2f188c5c.png)
求校验数
商对应余数第一位,模2减用异或运算
![](https://i-blog.csdnimg.cn/blog_migrate/0c978cb6c3d18cdd63e539592773fd18.png)
六、码
1.原码
![](https://i-blog.csdnimg.cn/blog_migrate/1e0a281664df94c9b6331196aadc744c.png)
2.反码
3.补码
4.移码
移码的作用
七、移位运算
八、溢出判断
符号扩展
九、四则运算
原码乘法
补码乘法
原码除法
恢复余数法
先用被除数(之后叫做余数)减去除数,减完所得余数若为负数则得一位商为0,将被除数恢复为原来的被除数,进行逻辑左移(相当于笔算除法时的补零),再接着除(减去除数),减完所得余数若为正数则得一位商为1,进行逻辑左移…
加减交替法
边界对齐
十、浮点数的表示
十一、IEEE 754标准
十二、浮点数的加减运算
十三、电路的基本原理
十四、CISC和RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
---|---|---|---|---|
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(简单) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
十五、流水线
上面K表示分了几部分
二、计算机体系结构、
1.2.1.2.计算机结构体系分类
Flynn分类法和冯式分类法
1.2.2.6.外存储器
(1)磁盘
(2)光盘
(3)固态硬盘
1.2.4.总线
1总线的分类
串行总线与并行总线
片内总线、系统总线、通信总线
系统总线
2总线的性能指标
3总线仲裁
集中仲裁
分布仲裁
4总线传输的四个阶段
5总线标准(各种总线类型介绍)
1.2.2.6.磁盘阵列
1.3.1.计算机安全(简)
1加密技术
对称加密技术
DES 3DES RC-5 IDEA AES
非对称加密技术
RSA 基于大素数分解
ECC 基于椭圆曲线(参考:https://zhuanlan.zhihu.com/p/38200434)
ESA 基于有限域离散对数难题
私钥发出公钥验证帮助证明私钥身份
公钥发出私钥接收则是信息加密传输
2认证技术
套接字
物理层、连接层、网络层、传输层、应用层概述
转载:https://www.jb51.net/network/211947.html
物理层(physical layer)所谓的物理层,是指光纤、电缆或者电磁波等真实存在的物理媒介。这些媒介可以传送物理信号,比如亮度、电压或者振幅。对于数字应用来说,我们只需要两种物理信号来分别表示0和1,比如用高电压表示1,低电压表示0,就构成了简单的物理层协议。针对某种媒介,电脑可以有相应的接口,用来接收物理信号,并解读成为0/1序列。
连接层(link layer)在连接层,信息以帧(frame)为单位传输。所谓的帧,是一段有限的0/1序列。连接层协议的功能就是识别0/1序列中所包含的帧。比如说,根据一定的0/1组合识别出帧的起始和结束。在帧中,有收信地址(Source, SRC)和送信地址(Destination, DST),还有能够探测错误的校验序列(Frame Check Sequence)。当然,帧中最重要的最重要是所要传输的数据 (payload)。这些数据往往符合更高层协议,供网络的上层使用。与数据相配套,帧中也有数据的类型(Type)信息。连接层协议不关心数据中到底包含什么。帧就像是一个信封,把数据包裹起来。
以太网(Ethernet)和WiFi是现在最常见的连接层协议。通过连接层协议,我们可以建立局域的以太网或者WiFi局域网,并让位于同一局域网络中的两台计算机通信。连接层就像是一个社区的邮差,他认识社区中的每一户人。社区中的每个人都可以将一封信(帧)交给他,让他送给同一社区的另一户人家。
网络层(network layer)不同的社区之间该如何通信呢? 换句话说,如何让WiFi上的一台计算机和以太网上的另一台计算机通信呢?我们需要一个“中间人”。这个“中间人”必须有以下功能: 1. 能从物理层上在两个网络的接收和发送0/1序列,2. 能同时理解两种网络的帧格式。路由器(router)就是为此而产生的“翻译”。一个路由器有多个网卡(NIC,Network Interface Controller),每个NIC可以接入多个网络,并理解相应的连接层协议。在帧经过路由到达另一个网络的时候,路由会读取帧的信息,并改写以发送到另一个网络。所以路由器就像是在两个社区都有分支的邮局。一个社区的邮差将信送到本社区的邮局分支,而邮局会通过自己在另一个地区的分支将信转交给另一个社区的邮差手中,并由另一个社区的邮差最终送到目的地。
在连接层,邮差只负责在本社区送信,所以信封上的地址总是“第一条街第三座房子”或者说“中心十字路口拐角的小房子”这样一些本地人才了解的地址描述,这给邮局的工作带来不便。所以邮局要求,信纸上写的地址必须是一个符合官方规定的“邮编”,也就是IP地址。这个地址为世界上的每一个房子编号(邮编)。当信件送到邮局的时候,邮局根据邮编,就能查到对应的地址描述,从而能顺利改写信封上的信息。
传输层(transport layer)上面的三层协议让不同的计算机之间可以通信。但计算机中实际上有许多个进程,每个进程都可能有通信的需求。这就好像一所房子里住了好几个人(进程),如何让信精确的送到某个人手里呢?遵照之前相同的逻辑,我们需要在信纸上写上新的信息,比如收信人的姓名,才可能让信送到。所以,传输层就是在信纸的空白上写上新的“收信人”信息。每一所房子会配备一个管理员(传输层协议)。管理员从邮差手中接过信,会根据“收信人”,将信送给房子中的某个人。
传输层协议,比如TCP和UDP,使用端口号(port number)来识别收信人(某个进程)。在写信的时候,我们写上目的地的端口。当信到达目的地的管理员手中,他会根据传输层协议,识别端口号,将信送给不同的人。
TCP和UDP协议是两种不同的传输层协议。UDP协议类似于我们的信件交流过程。TCP协议则好像两个情人间的频繁通信。一个小情人要表达的感情太多,以致于连续写了好几封信。而另一方必须将这些信按顺序排列起来,才能看明白全部的意思。TCP协议还有控制网络交通等功能。
应用层(application layer)通过上面的几层协议,我们已经可以在任意两个人(进程)之间进行通信。然而每个人实际上从事的是不同的行业。有的人是律师,有的人外交官。比如说律师之间的通信,会用严格的律师术语,以免产生纠纷。再比如外交官之间的通信,必须符合一定的外交格式,以免发生外交误会。再比如间谍通过暗号来传递加密信息。应用层协议是对信件内容进一步的用语规范。应用层的协议包括用于Web浏览的HTTP协议,用于传输文件的FTP协议,用于Email的IMAP等等。
认证技术
数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,就好比日常生活中个人身份证一样。数字证书是由一个权威机构证书授权中心(CA)发行的。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。其中证书授权中心的数字签名是用它自己的私钥完成的,而它的公钥也是公开的,大家可以通过它的公钥来验证该证书是否是某证书授权中心发行的,以达到验证数字证书的真实性。
因此要想验证用户A数字证书的真伪,需要用CA的公钥来完成,而因为消息M是A用其私钥加密后的结果,要验证其真实性,就需要用A的公钥来解密,如果能解密,说明消息M是A用其私钥进行了签名的。
TLS是安全传输层协议的简称,用于在两个通信应用程序之间提供保密性和数据完整性。
SSL是安全套接层协议的简称,它也是一种为网络通信提供安全和数据完整性的协议,它与TLS非常接近,它们都是在传输层对网络连接进行加密。
PGP是一个基于RSA公匙加密体系的邮件加密软件。,用它可以对邮件保密以防止非授权者阅读。
HTTPS即安全版的HTTP(超文本传输协议)的,它是在HTTP下加入SSL层,HTTPS的安全基础就是SSL。
IPSec是网络层的安全协议,它通过使用加密的安全服务来确保在网络上进行保密而安全的通讯。
MIME多用途互联网邮件扩展,它是一个互联网标准,最早应用于电子邮件系统,但后来也应用到浏览器。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。(不过和安全无关)
PGP是一个基于RSA公钥加密体系的邮件加密软件。
1.2.3.1.内存与接口的编址方法
独立编址:内存和外设分开独立编址(它们的地址原则上可以有重合区域);因为独立,所以内存编址可以从0~N,外设编址也可以从0~N;
统一编址:就是内存和外设的编址放到一起来规划,被外设用了的地址就不能给内存了,反之亦然! 比如:给外设分配地址0N,那么内存就不能使用0~N了,只能使用N~M!
针对PCI设备的访问,独立编址和统一编址的的区别在于:独立编址访问外设有专门的I/O指令(比如:x86的in/out等指令),而统一编址对外设的访问和都内存的访问指令可以是一样的(这样使用起来更方便)!
1.2.3.2.I/O系统演变过程
在DMA控制器向CPU发出请求并得到同意时,DMA将暂时获得整个系统总线的控制权。
I/O操作系统组成
三、计算机操作系统
页面置换算法(页面淘汰算法)
先进先出产生抖动
位示第一个下标为0
四、数据库
五、计算机网络
OSI/RM七层模型
DHCP协议
DNS协议
网络分层设计
IP地址
网络接入技术
子网划分
特殊含义IP地址
IPV6
单播(unicast): 是指封包在计算机网络的传输中,目的地址为单一目标的一种传输方式。它是现今网络应用最为广泛,通常所使用的网络协议或服务大多采用单播传输,例如一切基于TCP的协议。
组播(multicast): 也叫多播, 多点广播或群播。 指把信息同时传递给一组目的地址。它使用策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。
广播(broadcast):是指封包在计算机网络中传输时,目的地址为网络中所有设备的一种传输方式。实际上,这里所说的“所有设备”也是限定在一个范围之中,称为“广播域”。
任播(anycast):是一种网络寻址和路由的策略,使得资料可以根据路由拓朴来决定送到“最近”或“最好”的目的地。
信息系统安全属性
信息摘要
数字信封和PGP
PGP为了证明公钥和身份是绑定的
网络威胁与攻击
防火墙
六、数据结构
散列表
排序
1.直接插入排序
2.希尔排序
//函数功能,希尔排序算法对数字递增排序
//函数参数,数列起点,数列终点
void shell_sort(const int start, const int end) {
int increment = end - start + 1; //初始化划分增量
int temp{ 0 };
do { //每次减小增量,直到increment = 1
increment = increment / 2;
for (int i = start + increment; i <= end; ++i) { //对每个划分进行直接插入排序
if (numbers[i - increment] > numbers[i]) {
temp = numbers[i];
int j = i - increment;
do { //移动元素并寻找位置
numbers[j + increment] = numbers[j];
j -= increment;
} while (j >= start && numbers[j] > temp);
numbers[j + increment] = temp; //插入元素
}
}
} while (increment > 1);
}
3.直接选择排序
4.堆排序
5.冒泡排序
6.快速排序
7.归并排序
8.基数排序
9.排序算法道德比较
七、程序设计语言基础
编译过程
文法定义
有限自动机
正规式
八、法律法规
保护期限
知识产权人确定
侵权判定
声音
图像
媒体
多媒体相关计算
常见媒体标准
数据压缩基础
软件开发模型
需求的分类
结构化设计
内聚与耦合
测试原则与类型
测试阶段
测试是软件开发过程中的重要活动,为提高系统质量和可靠性提供保障。通常测试与软件开发阶段密切相对应。1 单元测试通常在模块的开发期间实施,主要测试程序中的一个模块或一个子程序。2 集成测试通常需要将所有程序模块按照设计要求组装成为系统,这种测试的目的是在保证各模块仍能够正常运行的同时,组装后的系统也能够达到预期功能。3 确认测试的任务是进一步检查软件的功能和性能是否与用户要求一致。4系统测试把己经确认的软件在实际运行环境中,与其他系统成分组合在一起进行测试。
在本题给出的备选项中,设计评审是指对软件需求分析阶段和概要设计阶段产生的软件设计说明书进行质量等方面的评审,此时,软件还没有形成实体;代码审查以人工的模拟技术和一些类似与动态分析的方法对程序进行分析和测试,通常在单元测试阶段进行;结构测试则是在了解程序结构的前提下在单元/模块测试中进行;可靠性测试则主要检查软件的平均失效间隔时间等指标是否符合系统需求。
McCabe复杂度
软件改进过程CMMI
项目管理
系统运行与维护
设计原则(设计模式六大原则)
UML
设计模式概念
设计模式分类
1创建型模式
2结构型模式
3行为型模式
数据流图(DFD)
1.数据流图基本概念
2数据字典
UML建模
用例图
类图与对象图
#####序列图
活动图
带甬道活动图
状态图
通信图
X软件公司的软件工程师张某兼职于Y科技公司,为完成Y科技公司交给的工作,做出了一项涉及计算机程序的发明。张某认为该发明是利用自己的业余时间完成的,可以以个人名义申请专利。此项专利申请权应归属()。因为张某是为了完成Y科技公司交给的工作而做出的发明,属于职务作品,对于职务作品,其专利权应该归单位所有,即Y单位。