一、计算机组成原理
1. CPU
-
运算器
1.算术逻辑单元ALU:数据的算术运算和逻辑运算
2.累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据和运算结果
3.数据缓冲寄存器DR:写内存时,暂存指令或数据
4.状态条件寄存器PSW:存状态标志与控制标志 -
控制器
①程序计数器PC:存储下一条要执行指令的地址(存储指令地址) 注意:不是指令的地址码,而是指令的地址
②指令寄存器IR:存储即将执行的指令 注意:存储指令的地址码和操作数
③指令译码器ID:对指令中的操作码字段进行分析解释
④地址寄存器AR:存储数据地址⑤时序部件:提供时序控制信号
重点 寄存器
-
地址寄存器:存储数据地址
-
通用寄存器: 运算时用于暂存操作数或地址
-
累加寄存器:暂时存放操作数和中间运算结果
透明的:数据缓冲寄存器、数据地址寄存器、指令寄存器
可见的:程序计数器,程序状态字寄存器,通用寄存器
控制器有: 程序,指令,时序,地址
透明的: 数据,指令
可见的: 程序
2.基本单位和进制转换
- n进制—>10进制 按权相加
- 10进制—>n进制 短除法
- 二进制转八进制(三个数为一组,从左至右)/十六进制(四个数为一组,从左至右)
3.原、反、补、移码
4.浮点数
- 浮点数的表示数值范围
如果浮点数的阶码(包括1位阶符)用R位的移码表示,尾数(包括1位数符)用M位的补码表示,则浮点数表示的数值范围如下。
那说明这种题目选择的时候,负数正常数字,正数组合数字,并且指数都不是2的倍数
5.寻址
6.校验码
- 奇偶校验码:只能检错,不能纠错
- CRC校验码:可以检错,不能纠错
- 海明校验码:码距为3,可以纠错 2^r>=n+r+1
- r是校验码合数,n是信息位个数
7.CISC与RISC
8.流水线
9.存储器
书上P21有笔记
CPU—Cache—主存储器—联机磁盘存储器----磁盘存储器
- Cache----SRAM(静态随机存储器)
- 主存------DRAM(动态随机存储器)周期性刷新
- 闪存(U盘)-----以块为单位删除,信息断电不会丢失,可以代替ROM不能代替主存
- RAM-----读/写存储器和随机存储器
- ROM-----只读存储器
- SAM------顺序存储器
- DAM------直接存储器
- 相联存储器----按内容访问
10.Cache
- 由硬件自动完成Cache与主存之间的地址映射
- 高速缓存中的地址映像方法
- 直接映像:主存的块与Caceh的块的对应关系是固定的。
- 比如内存中每个区的第0块都只能对应Cache中第0块
- 全相联映像:主存的块可以对应Cache中所有块
- 级相联映像:内存块先分组,组是直接映像,组里面很多块,块是全相联映像
- 直接映像:主存的块与Caceh的块的对应关系是固定的。
- cache命中率关键因素:程序的行为、cache的容量、组织方式、块的大小有关
- cache容量越大,命中率越高,最后趋于稳定
- 对于给定的Cache容量,当块大小增加时,命中率开始时处于上升趋势,后来反而会下降。
虚拟存储器由主存和辅存构成的
11.中断
- 中断向量:提供中断服务程序的入口地址
- 中断响应时间:发出中断请求开始,到进入中断服务程序
- 中断服务程序 就是 需要紧急处理的程序
- 存储现场:返回来执行源程序
12.输入输出(IO)控制方式
1、程序查询方式
-
CPU和I/0(外设)只能串行工作,CPU需要一直轮询检查,长期处于忙等状态。CPU利用率低
-
一次只能读/写一个字
-
由CPU将数据放入内存
2、中断驱动方式
-
I/O设备通过中断信号主动向CPU报告I/O操作己完成
-
CPU和I/O(外设)可并行工作
-
CPU利用率得到提升
-
一次只能读/写一个字
-
由CPU将数据放入内存
3、直接存储器存取方式(DMA)
- CPU和I/O(外设)可并行工作
- 仅在传送数据块的开始和结束时才需要CPU的干预
- 由外设直接将数据放入内存
- 一次读写的单位为“块”而不是字
若某计算机系统的I/O接口与主存采用统一编址,则输入输出操作是通过访存指令来完成的。
I/O接口单独编址是指通过设置单独的I/O地址空间,为接口中的有关寄存器或存储部件分配地址码,需要设置专门的I/o指令进行访问。这种编址方式的优点是不占用主存的地址空间,访问主存的指令和访问接口的指令不同,在程序中容易使用和辨认。
13.总线
分类:数据总线、地址总线、控制总线,数地控
以及13种总线,书上P36,可以去看看背背
-
内存大小和地址总线有关,4GB = 2^32 B,地址总线就是32位,字长就是 数据总线宽度
-
总线可以减少信息传输线的数量
-
带宽=(时钟频率/时钟周期)*总线带宽
14.安全性
1.信息系统安全属性
机密性、完整性、可用性、可控性与可审查性 五个属性
要有最小授权原则,能完成工作的最小权限
2.对称加密技术
- 加密强度不高
- 密钥分发困难
- 加密快解密快,适合大量明文数据
加密算法:DES / 3DES / IDEA / RC-5 / RC4 / AES
3.非对称加密技术
加密算法:RSA / ECC /DSA
- 在非对称加密技术(公钥体系)中,公钥加密,私钥解密
甲发给乙明文,则用乙的公钥加密,这样乙只能用自己的私钥解密
4.信息摘要(保证内容未被改)
因为明文内容通过Hash算法单向生成摘要,接收方一比对摘要就可以判断是否修改
算法:
-
MD5—>128位
-
SHA—>160位
5.数字信封(对称与非对称组合使用)
发送方将原文用对称密钥加密传输,而将对称密钥用接收方公钥加密,接受方接收到电子信封,取出对称密钥,获得明文信息
6.数字签名
- 在数字签名中,私钥加密,公钥解密
谁的数字签名用谁的私钥加密
这样用相对应他公钥解密证明是专属签名
私钥只有自己有,公钥满天飞,公钥由PGP证书认证,需要认证这个公钥是谁的公钥
7.认证技术
CA:权威机构
数字证书:用户向CA机构申请数字证书,将个人信息和自己的公钥发给CA机构,
CA机构发给用户数字证书,数字证书通过CA机构的私钥加密,别人只要使用CA机构的公钥解密,得到该用户的公钥
(可以知道这个数字证书被认证过,数字证书中的公钥也能得以保证,即认证了这个公钥是谁的公钥)
15.可靠性
串联:R=R1×R2×…×Rn
并联:R=1-(1-R1)×(1-R2)×…×(1-Rn)
16.磁盘结构
二、程序设计语言
-
低级语言:汇编语言和机器语言
-
高级语言:Java,c++,Python…
-
脚本语言是动态语言(也是弱类型语言),PHP,JS,Python
1.编译程序和解释程序
java既是编译也是解释型
- 编译程序,将源语言程序翻译成等价的目标语言程序,先编译,再执行。
- 编译程序不参与目标程序的执行
- 解释程序,一般运用于脚本语言,立即执行源程序,并得出结果,不生成目标程序
- 解释程序参与源程序的执行
- 解释,程序执行速度慢
2.编译程序和解释程序过程
符号表:不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。
-
词法分析:识别句子中的一个个单词,输入:源程序 输出:记号流(单词符号)
-
语法分析:分析句子的语法结构 输入:记号流 输出:语法树
- 语法分析可以发现程序中所有语法错误
- 比如 变量未声明,b = a -1;
- 自顶向下语法分析:递归下降分析法和预测分析法,不是这两种那就属于自底向上
- 自底向上语法分析:算符优先分析法和LR分析法
- 语法分析可以发现程序中所有语法错误
-
语义分析:分析句子的含义,检查是否包含静态语义错误
-
静态语义:编译阶段检查比如被除数为0是语义错误
-
静态语义方法:语法指导翻译
-
静态语义错误:比如类型不匹配,int a = “123”;
-
-
动态语义:运行时才能检查
- 动态语义错误:比如被除数为0,int a = 1/0;
-
-
中间代码生成:进行初步的翻译
-
代码优化:对译文进行修饰
- 常见的中间代码:后缀式、三地址码、三元式、四元式和树(图)等形式。
-
目标代码生成:写出最后的译文
- 寄存器的分配工作处于目标代码生成阶段
3.程序设计语言的成分
- 数据具有类型的作用
- 便于为数据合理分配存储单元
- 便于对参与表达式计算的数据对象进行检查
- 便于规定数据对象的取值范围及能够进行的运算
4.传值调用和引用调用
- 传值调用:将实参的值传递给形参,实参可以是变量、常量和表达式。不可以实现形参和实参间双向传递数据的效果
- 传引用(地址)调用:将实参的地址传递给形参,形参必须有地址,实参不能是常量(值),表达式。可以实现形参和实参间双向传递数据的效果,即改变形参的值同时也改变了实参的值。
5.正规式
*号表示循环(0到多次),|号表示或
正规式要能表达出相应文法,但不能多,范围不能更大
正规集可以用正规式描述,用有限自动机识别。
6.有限自动机
-
有限自动机是词法分析的一个工具,它能正确地识别正规集,识别一个字符后,转移一下
-
两个圆圈是终态,识别完后,一定在终态上
-
确定的有限自动机(DFA):对每一个状态来说识别字符后转移的状态是唯一的
-
不确定的有限自动机(NFA):对每一个状态来说识别字符后转移的状态是不确定的。比如字符为1,转移的路径有多条可以去选
7.上下文无关文法
上下文无关文法广泛的表示语言的语法规则
8.中缀、后缀表达式转换
规则:a?b(中缀) 变 ab?(后缀)
例子:中缀:1+2 后缀:1 2 +
- 中缀表达式怎么变后缀表达式
- 先看优先级,按优先级符号后置
- 优先级相同,从右至左看
- a×b/(c-d) 变为 abcd-/×
- a×b/cd-
- a×bcd-/
- abcd-/×
- 后缀表达式怎么变中缀表达式
-
利用栈
-
abcd-/× 从左至右放入栈
-
遇到符号,按栈的规则将数字提出来
栈底 abcd 栈口
- -号 cd出来 c-d
- /号 b出来 b/(c-d)
- ×号 a出来 a×b/(c-d)
9.语法树中、后序遍历
中缀式:语法树中序遍历可以得出中缀式,左根右
后缀式:语法树后序遍历可以得出后缀式,左右根
五、知识产权
1.著作权
-
著作权中包括人身权和财产权
-
人身权:发表权,署名权,修改权和保护作品完整权。以外都是属于财产权
-
除了署名权,修改权和保护作品完整权,保护时间没有受限制,其他著作权时间都受限制
-
发表权时间受限制,终身及其死后50年(50年12月31日)
-
-
专利在哪个地方申请在哪个地方受保护
-
计算机软件著作权
- 主体:享有著作权的人。
- 客体:1.计算机程序(包括源程序和目标程序) 2.计算机软件的文档(软件文档)
- 计算机软件著作权来自《中华人民共和国著作权法》和《计算机软件保护条例》
- 计算机软件著作权人身权:发表权和开发者身份权(署名权)。其他是著作财产权
- 根据《著作权法》和《计算机软件保护条例》的规定,计算机软件著作权的权利自软件开发完成之日起产生,保护期为50年。保护期满,除开发者身份权以外,其他权利终止
2.职务作品
- 本职工作或用了单位的东西,著作权都是单位,个人只享有署名权
- 本职工作,离职退休一年内,单位有专利权
3.委托作品
委托创作:有合同归委托方,没合同归受委托方
4.侵权判断
中国公民作品不论是否发表,都享有著作权
开发软件思想不受保护
著作权:法律法规,国家机关文件,时事新闻不受著作权保护
5.专利的申请和商标的注册
- 原则:专利申请人及其代理人在办理各种手续时都应当采用书面形式。一份专利申请文件只能就一项发明创造提出专利申请,即“一份申请一项发明”原则。两个或者两个以上的人分别就同样的发明创造申请专利的,专利权授给最先申请人。
- 专利,谁先申请,谁拥有
- 商标,谁先申请,谁拥有。如果同一天注册,谁先使用谁拥有
6.独家和独占
(1)独占许可使用。权利人通过书面合同授权,被授权方可以根据合同规定的方式、条件和时间确定独占性,权利人不得将软件使用权授予第三方,权利人自己不能使用该软件。
(2)独家许可使用。权利人通过书面合同授权,被授权方可以根据合同规定的方式、条件和时间确定独占性,权利人不得将软件使用权授予第三方,权利人自己可以使用该软件。
(3)普通许可使用。权利人通过书面合同授权,被授权方可以根据合同规定的方式、条件和时间确定独占性,权利人可以将软件使用权授予第三方,权利人自己可以使用该软件。
(4)**法定许可使用和强制许可使用。**在法律特定的条款下,不经软件著作权人许可,使用其软件,需要支付报酬。