上午题
一 计算机系统知识 5~6'
1、计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。CPU是硬件系统的核心。
2、CPU的功能:
(控制器) 程序控制、操作控制、时间控制
(运算器) 数据处理
此外,CPU 还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。
3、CPU组成:主要由运算器、控制器、寄存器组和内部总线等部件组成。
1)运算器:由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器等组成
①算术逻辑单元(ALU)
②累加寄存器(AC):为 ALU 提供一个工作区。
③数据缓冲寄存器(DR):作为CPU和内存、外部设备之间数据传送中转,操作速度上的缓冲;在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。
④状态条件寄存器(PSW)。
2)控制器:不仅要保证程序的正确执行,而且要能够处理异常事件。
一般包括指令控制逻辑、时序控制逻辑、总线控制還辑和中断控制逻辑等几个部分。
①指令寄存器(IR)。保存当前cpu执行的指令,对用户是完全透明的。
②程序计数器(PC)。
寄存信息和计数两种功能
顺序执行,修改的过程通常只是简单地对PC加1
转移执行,转移指令,跟踪地址指令的寄存器
为从内存读取指令操作码,要将程序计数器的内容送到地址总线上
程序员可访问
③地址奇存器(AR)。AR 保存当前 CPU 所访问的内存单元的地址。
④指令译码器(ID)。指令包含操作码和地址码两部分,对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。
3)寄存器组 :分为专用寄存器和通用寄存器。
4、进制转换
5、容量计算
6、数据表示:对阶,小阶向大阶对齐,浮点数(尾数)向右移
原码:最高位表示数的符号,其他表示数值,0为正,1为负
反码:
正数的反码和原码相同
负数的反码是由其原码的符号位不变,其余位按位取反
补码:
正数的补码和原码相同
负数的补码是由其原码的符号位不变,其余位按位取反,再在最低位加1
7、寻址
立即寻址。操作数就包含在指令中。
直接寻址。操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。
寄存器寻址。操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。
寄存器间接寻址。操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。
间接寻址。指令中给出操作数地址的地址。
相对寻址。指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量。
变址寻址。操作数地址等于变址寄存器的内容加偏移量。
寻址方式获取的操作数的速度:立即寻址》》寄存器寻址》》直接寻址》》寄存器间接寻址》》间接寻址》》相对寻址==变址寻址
8、校验码
奇偶校验码:只能检错,不能纠错
海明码:利用奇偶性来检错和纠错的校验方法。
设数据位是n位,校验位是k位,则n和k必须满足以下关系:
![]()
循环冗余校验码:可以检错但不能纠错。
9、

10、流水线计算
1)流水线周期:指的是流水线执行过程中最长的一段。
2)流水线执行时间:指令全部的执行时间 + (n - 1)x 流水线周期△t
指令全部的执行时间=第1条指令的执行时间
3)流水线 吞吐率,指的是单位时间内,流水线所完成的指令数量。
吞吐率 = 指令条数 / 流水线执行时间。
最大吞吐率 = 1 / 流水线周期△t。
4)流水线加速比 = 不使用流水线执行时间 / 使用流水线执行时间
11、Cache 和主存之间的交互功能全部由硬件实现。
Cache(SRAM 静态随机存储器)
主存储器 (DRAM 动态随机存储器)

Cache 存储器部分用来存放主存的部分拷贝(副本)信息。
Cache地址映像:
直接:主存的块与Cache块的对应关系是固定。

全相联

组相联
冲突少顺序:全相联–》组相联–》直接映像
Cache 容量越大,则命中率越高,随着 Cache 容量的增加,其失效率接近 0%(命中率遂渐接近 100%)。
12、 IO控制方式
1)程序查询方式:
① CPU和I/O(外设)只能串行工作
CPU需要一直轮询检查,长期处于忙等状态。CPU利用率低。
② 一次只能读/写一个字
③ 由CPU将数据放入内存
2)中断驱动方式:
① I/O设备通过中断信号主动向CPU报告I/O操作已完成
② CPU和I/O(外设)可并行工作
③ CPU利用率得到提升
④ 一次只能读/写一个字
⑤ 由CPU将数据放入内存
3)直接存储器方式(DMA):
① CPU和I/O(外设)可并行工作
② 仅在传送数据块的开始和结束时才需要CPU的干预
只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理。
③ 由外设直接将数据放入内存
④ 一次性读写的单位为“块”而不是字
CPU是在一个总线周期结束时响应DMA请求的。
13、 中断方式
1. 中断向量:提供中断服务程序的入口地址
2. 中断响应时间:发出中断请求开始,到进入中断服务程序
3. 保存现场,返回来执行源程序
中断处理方法。中断处理方法有中断信号线法、中断软件查询法、菊花链法、总线仲裁法及中断向量表法。
中断优先级控制。为了便于实现多级中断嵌套,使用堆栈来保护断点和现场最有效。
14、 微机中的总线分为数据总线、地址总线和控制总线3类。系统总线有时也称内总线,目前比较流行的内总线如下(前3个)。
(1) ISA(Industry Standard Architecture)总线:它是工业标准总线,向上兼容更早的 PC总线,在PC总线62个插座信号的基础上,再扩充另一个具有36个信号的插座构成ISA总线。它主要包括24条地址线、16条数据线等。
(2) EISA(Extended Industry Standard Architecture)总线:它是在ISA 总线的基础上发展起来的 32 位总线。该总线定义32位地址线、32位数据线,以及其他控制信号线、电源线等共196个连接点。EISA 总线的传输速率达33MB/s。该总线利用总线插座与 ISA 总线相兼容。
(3) PCI(Peripheral Component Interconnection)总线:这是当前最流行的总线之一,是由Intel 公司推出的一种局部总线。PCI总线是目前微型机上广泛采用的内总线,采用并行传输方式。PCI总线有适于32位机的124个信号的标准和适于64位机的188个信号的标准。PCI总线的传输速率至少为133Mb/s,64位PCI总线的传输速率为266Mb/s。PCI总线的工作与CPU的工作是相互独立的,也就是说,PCI总线时钟与处理器时钟是独立的、非同步的。PCI总线上的设备是即插即用的。接在PCI总线上的设备均可以提出总线请求,通过PCI管理器中的仲裁机构允许该设备成为主控设备,主控设备与从属设备间可以进行点对点的数据传输。PCI总线能够对所传输的地址和数据信号进行奇偶校验检测。
。。。。。。。。。。。略
15、
对称密钥算法(私钥、私有密钥算法):适合大量明文信息。
1. DES
2. 3DES
3. RC-5
4. IDEA
5. AES
6. RC4
非对称密钥(公钥、公开密钥加密)算法:
1. RSA
2. ECC
3. DSA
Hash函数、MD5摘要算法 128位、SHA-1安全散列算法
验证对方的身份,防止假冒【数字签名、数字证书】
防止数据被窃听 【加密】
防止发送方否认发送过数据 【数据签名】
防止发送的报文被篡改 【摘要】
用发送方的私钥进行签名,发送方的公钥进行验证。
16、 计算机可靠性
(1)串联系统:可靠性R=R_1 R_2 ...R_n,失效率λ=λ_1+λ_2+...+λ_n。
(2)并联系统:可靠性R=1-(1-R_1)(1- R_2)...(1-R_n),失效率
二 程序设计语言 6′
1、编译程序和解释程序
解释器:翻译源程序时不生成独立的目标程序。
编译器:翻译时将源程序翻译成独立保存的目标程序。
机器上运行的是与源程序等价的目标程序。
源程序和编译程序都不再参与目标程序的运行过程。
解释程序和源程序要参与到程序的运行过程中。
2、数据类型:
①便于为数据合理分配存储单元
②便于对参与表达式计算的数据对象进行检查
③便于规定数据对象的取值范围及能够进行的运算
3、
传值调用:
将实参的值传递给形参,实参可以是变量、常量和表达式。
不可以实现形参和实参间双向传递数据的效果。
传引用(地址)调用:
将实参的地址传递给形参,形参必须有地址,实参不能是常量(值),表达式。
可以实现双向传递数据。
4、
编译方式:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成
解释方式:词法分析、语法分析、语义分析
编译器和解释器都不可省略词法分析、语法分析、语义分析且顺序不可交换即词法分析、语法分析、语义分析是必须的。
编译器方式中中间代码生成和代码优化不是必要,可省略。
即编译器方式可以在词法分析、语法分析、语义分析阶段后直接生成目标代码。
5、符号表
不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。
记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。
6、
词法分析:分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。
输入:源程序 输出:记号流
语法分析:对各条语句的结构进行合理性分析,分析程序中的句子结构是否正确。
输入:记号流 输出:语法(分析)树
语义分析:是进行类型分析和检查。
输入:语法树
语法分析可以发现程序中的语法错误,但不能发现程序中所有的语义错误。
语义分析可以发现静态语义错误,不能发现动态语义错误,动态语义错误运行时才能发现。
目标代码生成阶段的工作与具体的机器密切相关。
寄存器的分配处于目标代码生成阶段。
中间代码生成
常见的中间代码有:后缀式、三地址码、三元式、四元式和树(图)等形式。
中间代码与具体的机器无关(不依赖具体的机器)。
可以将不同的高级程序语言翻译成同一种中间代码。
中间代码可以跨平台。
因为与具体的机器无关,使用中间代码有利于进行与机器无关的优化处理和提高编译程序的可移植性。
7、正规式
8、
有限自动机是词法分析的一个工具,它能正确地识别正规集。
确定的有限自动机(DFA):对每一个状态来说识别字符后转移的状态是唯一的
不确定的有限自动机(NFA):对每一个状态来说识别字符后转移的状态是不唯一的
正确识别:最后停留在终态,ε为空

9、大多数程序设计语言的语法规则用 上下文无关文法 描述即可。
10、中缀、后缀 —— 栈
优先级:()> 逻辑与∧ 逻辑或∨
三 数据结构 5'
1、大O表示法

递归式时间复杂度 = 递归的次数 x 递归的时间复杂度
空间复杂度=递归调用的深度
2、递归式主方法

3、
高度为h的m叉树至多结点数为( m^h − 1 ) / ( m − 1 )
具有n个结点的m叉树的最小高度为 ⌈ l o g m ( n ( m − 1 ) + 1 ) ⌉
具有n个结点的二叉树有
种
顺序存储需要维护结点和左、右孩子的关系:结点编号为n,则左孩子为 2n,右孩子为2n+ 1。
链式存储有二叉链表和三叉链表。对于n个结点的二叉树,二叉链表的空指针为n + 1,三叉链表的空指针为n + 2。

4、
深度优先搜索遍历借助栈结构实现。不唯一,DFS,先序遍历。
空间复杂度:O(n),时间复杂度:O(e);
广度优先搜索遍历借助队列结构实现。不唯一,BFS,层序遍历。
空间复杂度:O(n),时间复杂度:O(e);
5、带权连通无向图
- 构造最小生成树的算法有普里姆算法和克鲁斯卡尔算法两种,
- prim:O(v2)边稠密;从顶点开始,找集合边最小;
- (贪心算法)kruskal:不断选择未被选的最小权值边,O(eloge),边稀疏;
- 求最短路径的算法有两种:
- (1)(贪心算法)Dijkstra:某一顶点到其他顶点的最短路径(单源),O(v2)
- (2)(动态规划)Floyed:适用所有顶点间最短路径和带权无向图,
-
时间复杂度:O(v3)空间复杂度:O(n2)
拓扑排序:AOV网,关键路径--AOE网
6、

⭕️ 不稳定算法 4个:选些雪块堆
简单选择、希尔、快排、堆排
⭕️ 移动鸡
元素移动次数与初始序列无关:基数排序
⭕️ 比较 跪着选对
元素比较次数与初始序列无关:归并 折半 简单选择 堆排
⭕️ 时间 鬼计选对
时间复杂度与初始序列无关:归并 基数 简单选择 堆排
⭕️ 快速冒泡 有糖
排序趟数与初始序列有关
⭕️ 平均复杂度最快算法:快些堆
log2n

7、出栈顺序,卡特兰数:
四 知识产权 2~3′
1、
著作权 又称版权:是指作者对其创作的作品享有的人身权和财产权。
人身权:发表权、署名权、修改权、保护作品完整权。(认罚数休宝)
仅发表权有时间性,终生+死亡后50年。另外三个永永远远。
财产权包括作品的使用权和获得报酬权。
2、

最低0.47元/天 解锁文章
1118

被折叠的 条评论
为什么被折叠?



