大家好,又见面了,我是你们的朋友全栈君。
相关链接
第一章 计算机系统概述
知识网图
冯诺依曼机的特点:
1)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成。
2)指令和数据以同等地位存储在存储器中,并可按地址寻址。
3)指令和数据均用二进制代码表示。
4)指令由操作码和地址码组成。操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
5)指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器和存储器传送数据。
不同级别的语言:
机器语言: (二进制语言)计算机唯一可以直接识别和执行的语言。
汇编语言: 用英文单词或其缩写代替二进制的指令代码,易于人们记忆和理解。
高级语言: 为方便程序设计人员写出解决问题的处理方案和解题过程的程序。
计算机的工作过程:
1)把程序和数据装入主存储器。
2)将源程序转换成可执行文件。
3)从可执行文件的首地址开始逐条执行指令。
计算机的性能指标:
机器字长: 指计算机进行一次整数运算所能处理的二进制数据的位数。(通常与CPU的寄存器、加法器有关。
数据通路宽带:指数据总线一次所能并行传送信息的位数(指外部数据总线的宽度,与CPU内部的数据总线宽度有可能不同)
主存容量: 指主存储器所能存储信息的最大容量,通常以字节来衡量,也可用字数字长来表述存储容量。
运算速度
1)吞吐量:指系统在单位时间内处理请求的数量
2)响应时间:指从用户向计算机发送一个请求到系统对该请求做出响应并获得所需结果的等待时间。通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)
主频和CPU时钟周期:
1)CPU时钟周期:
2)主频:
CPI:执行一条程序所用的时钟周期数
CPU执行时间:指运行一个程序所花费的时间。
CPU执行时间 = CPU时钟周期数/主频=(指令条数CPI)/主频
MIPS、MFLOPS、GFLOPS、TFLOPS
第二章 数据的表示和运算
知识网图
在计算机系统内部,所有信息都用二进制进行编码的原因有以下几点:
1)二进制只有0和1两种状态,使用有两个稳定状态的物理器件就可以表示二进制的每一位。制造成本低。
2)二进制位1和0正好与逻辑值“真”和“假”对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件。
3)二进制的编码和运算规则简单,通过逻辑门电路便能方便实现算术运算。
有符号的机器表示
(n+1)位 | 整数表示范围 | 小数表示范围 |
---|---|---|
原码和反码 | ||
补码 | ||
移码 | 移码全为0真值最小,移码全为1真值最大 |
第三章 存储系统
知识网图
DRAM刷新方式
1)集中刷新
在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行进行逐一再生,期间停止对存储器的读写操作,即死时间,访存“死区”。
优点:读写操作时不受刷新工作的影响,系统的存取速度较高。
缺点:在集中刷新期间(死区)不能访问存储器。
2)分散刷新
把对每行的刷新分散到各个工作周期中,一个存储器的系统工作周期分为两部分:前半部分用于正常读写或保持;后半部分用于刷新某一行。
优点:没有死区。
缺点:加长了系统的存取周期,降低了整机的速度。
3)异步刷新
将刷新周期除以行数,得到两次刷新操作之间的时间间隔t,每间隔时间t产生一次刷新请求。
前两种方法的结合,即可缩短”死时间“,又能充分利用最大刷新间隔2ms的特点。
程序访问的局部性原理
程序访问的局部性原理包括时间局部性和空间局部性。
时间局部性
指在最近的未来要用的信息很可能是现在正在使用的信息,(因为程序中存在循环)
空间局部性
是指在最近的未来要用到的信息,很可能与现在正在使用的信息在存储空间上是邻近的,因为指令通常是顺序存放,顺序执行的。
高速缓冲技术
利用程序访问的局部性原理,把程序中正在使用的部分存放在一个高速的容量较小的Cache中,使CPU的访存操作大多数针对Cache进行,从而大大提高程序的执行速度。
虚拟存储器程序的执行过程
CPU使用续存时,由辅存硬件找出虚地址与实地址之间的对应关系,并判断这个虚地址对应的存储单元是否已装入主存。若已在主存中,则通过地址转换,CPU可直接访问主存指示的实际单元;若不在主存中,则把包含这个字的一页或一段调入主存后再由CPU访问。若主存已满,则采用替换算法置换主存的一页或一段。
快表
通常采用全相联或组相联方式,每个TLB项由页表表项内容加上一个TLB标记字段组成,TLB标记用来表示该表项曲子页表中的哪个虚页号对应的页表项,所以TLB标记的内容在全相联方式下表示该页表项对应的虚页号;组相联方式下表示对应虚页号的高位部分,虚页号的低位部分用于选择TLB组的组索引。
虚拟存储器与Cache的比较
共同点:
1)均是为了提高系统性能,二者都有容量、速度、价格的梯度;
2)均把数据划分为小信息块,并作为基本得传递单元,虚存系统的信息块更大;
3)都有地址的映射、替换算法、更新策略等问题;
4)依据程序的局部性原理,将活跃的数据放在相对高速的部件中。
不同点:
1)Cache主要解决系统速度,虚存为了解决主存容量;
2)Cache由硬件实现,是硬件存储器,对所有程序员透明;而虚拟存储器由OS和硬件共同实现,是逻辑上的存储器,对系统程序员不透明,对应用程序员透明;
3)虚拟存储器系统不命中时对系统性能影响更大;
4)CPU与Cache和主存都建立了直接访问的通路,辅存与CPU无直接通路。
第四章 指令系统
知识网图
常见指令寻址方式的特点及适用情况:
1)立即寻址:操作数获取便捷,通常用于给寄存器赋初值。
2)直接寻址:相对于立即寻址,缩短了指令长度。
3)间接寻址:扩大了寻址范围,便于编制程序,易于完成子程序返回。
4)寄存器寻址:指令字较短,指令执行速度较快。
5)寄存器间接寻址:扩大了寻址范围。
6)基址寻址:扩大了操作数寻址范围,适用于多道程序设计,常用于为程序或数据分配存储空间。
7)变址寻址:主要用于处理数组问题,适合编制循环程序。
8)相对寻址:用于控制程序的执行顺序、转移等。
CISC与RISC特点
CISC的主要特点:
1)指令系统复杂庞大,指令数量一般大于200+;
2)指令的长度不固定,指令格式多,寻址方式多;
3)可以放村的指令不受限制;
4)各种指令的使用频度相差很大;
5)各种指令执行时间相差很大,大多数指令需要多个时钟周期才能完成;
6)控制器大多数采用微程序控制,有些指令非常复杂,难以采用硬连线控制;
7)难以用优化编译生成高效的目标代码程序。
RISC的主要特点:
1)选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现;
2)指令长度固定,指令格式种类少,寻址方式种类少;
3)只有Load/Store指令访存,其余指令的操作都在寄存器之间进行;
4)CPU中通用寄存器的数量相当多;
5)RISC采用指令流水线技术,大部分指令在一个时钟周期内完成;
6)以硬布线控制为主,不用或少用微程序控制;
7)重视编译优化工作,减少程序执行时间。
与CISC相比,RISC的优点:
1)更能充分利用VLSI芯片的面积;
2)更能提高运算速度;
3)便于设计,可降低成本,提高可靠性;
4)有利于编译程序代码优化。
第五章 中央处理器
知识网图
CPU的具体功能
1)指令控制:完成取指令,分析指令和执行指令的操作,即程序的顺序执行。
2)操作控制:CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
3)时间控制:对各种操作加以时间上的控制。
4)数据加工:对数据进行算数和逻辑运算。
5)中断处理:对计算机运行过程中出现的异常情况及特殊请求进行处理。
控制器的工作原理
根据指令操作码、指令的执行步骤(微命令序列)和条件信号来形成当前计算机各部件要用到的控制信号。计算机整机各硬件系统在这些控制信号的控制下协同运行,产生预期的执行结果。
1)运算器部件通过数据总线与内存储器、输入输出设备传送数据。
2)输入输出设备通过接口电路与总线相连接。
3)内存储器、输入输出设备从地址总线接收地址信息,从控制总线得到控制信号,通过数据总线与其他部件传送数据。
4)控制器部件从数据总线接收指令信息,从运算器部件接收指令转移地址,送出指令地址到地址总线,还要向系统中的部件提供它们运行所需要的控制信号。
控制器的主要功能
1)从主存中取出一条指令并指出下一条指令在主存的位置。
2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
3)指挥并控制CPU、主存、输入输出之间的数据流动方向。
CPU的控制方式
1)同步控制方式
系统有一个统一的时钟,所有的信号均来自这一统一的时钟信号。
控制电路简单,但运行速度慢。
2)异步控制方式
不存在基准时标信号,各部件按自身固有的速度工作,通过应答方式进行联络。
运行速度快,但控制电路比较复杂。
3)联合控制方式
介于同步、异步之间的一种折中。对各种不同的指令的微操作实行大部分采用同步控制,小部分采用异步控制的办法。
硬布线控制单元设计步骤:
1)列出微操作命令的操作时间表。根据微操作节拍安排,列出微操作命令的操作时间表(包含各个机器周期,节拍下的每条指令完成的为操作控制信号)。
2)进行微操作信号综合。对微操作信号进行综合分析、归类,根据微操作时间表可写出各微操作控制信号的逻辑表达式并进行适当的简化。
3)画出微操作命令的逻辑图。根据逻辑表达式可画出对应每个微操作信号的逻辑电路图,并用逻辑门电路实现。
硬布线和微程序控制器的特点
硬布线控制器的特点:
速度快(控制器的速度取决于电路延迟),一旦设计完成后,就不能通过其他额外修改添加新功能(将控制部件视为专门产生固定时序控制信号的逻辑电路,用最少元件和取得最高速度作为设计目标)。
微程序控制器:
具有规整性,灵活性,可维护性等优点,但由于微程序控制器采用了存储程序原理,所以每条指令都要从控制存储器中取一次,影响速度。
第六章 总线
知识网图
总线传输的4个阶段
1)申请分配阶段。由需要使用总线的主模块提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者(分为传输请求,总线仲裁两阶段)。
2)寻址阶段。取得使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及相关命令,启动参与本次传输的从模块。
3)传输阶段。主模块和从模块进行数据交换,可单向或双向进行数据传送。
4)结束阶段。主模块的有关信息均从系统总线上撤除,让出总线的使用权。
第七章 输入/输出系统
知识网图
程序查询方式的工作流程
1)CPU执行初始化程序,并预置传送参数;
2)向Iowa接口发送命令字,启动IO设备;
3)从外设接口读取其状态信息;
4)CPU不断查询IO设备状态,直到外设准备就绪;
5)传送一次数据;
6)修改地址和计数器参数;
7)判断传送是否结束,若未结束转3),直到计数器为0
程序中断的作用
1)实现CPU与IO设备的并行工作;
2)处理硬件故障和软件错误;
3)实现人机交互,用户干预机器需要用到中断系统;
4)实现多道程序,分是操作,多道程序的切换;
5)实时处理需要借助中断系统来实现快速响应;
6)实现应用程序和操作系统的切换;
7)多处理器系统中各处理器之间的信息交流和任务切换。
中断处理流程
关中断
保存断点
引出中断服务程序
保存断点和屏蔽字
开中断
执行中断服务程序
关中断
恢复现场和屏蔽字
开中断
DMA方式与中断方式的区别
1)中断方式时程序的切换,需要保护和恢复现场;而DMA处理预处理和后处理,其他操作均不占用CPU的任何资源
2)对中断请求的响应只发生在每条指令执行完毕时,而对DMA请求的响应可以发生在每个机器周期结束时,只要CPU不占用总线即可
3)终端传送需要CPU的干预,而DMA传送过程无需CPU的干预
4)DMA请求的优先级高于中断请求
中断方式具有对异常事件的处理能力,而DMA仅限于传送数据块的IO操作
6)中断方式靠程序传送数据,DMA方式靠硬件传送数据
知识网图下载
https://download.csdn.net/download/weixin_42104154/14922915
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138060.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...