命中时直接对cache存储器寻址,时间tc
未命中时,主存寻址并且读入cache,时间tm
平均访存时间ta在tc和tm之间,取决于命中率
地址映像:主存地址转换成cache地址,直接映像 全相联 组相联
主存被划分为若干个与Cache大小相同的块。Cache也被划分为若干行,每行的大小与主存块相同。主存的块号直接映射到Cache的行号,通常是通过将主存块号的一部分直接用作Cache行号
实现简单,硬件开销小。冲突概率高,多个主存块竞争一个Cache行时命中率会下降
主存的任何块都可以映射到Cache的任何行,没有固定的映射关系。CPU访问主存时,Cache控制器会检查所有Cache行,看是否有与主存块匹配的标记
冲突概率最低,实现复杂,硬件开销大,因为需要比较所有Cache行的标记。访问Cache时可能需要较长的时间,因为需要搜索整个Cache空间
Cache行被分为若干组,主存的块首先映射到一个特定的组,然后在该组内寻找空闲的行来存储。通常主存块号的一部分用于确定组号,另一部分与Cache行内的标记进行比较
当多个主存块映射到同一组时在组内竞争行,不同组之间不会有冲突
CPU访问虚拟地址,空间大于主存的物理地址
页式page:固定页长,通过页表查找物理地址
段式segment:段长不固定,段间不连续存在碎片
段页式:逻辑分段,主存分页,每个段管理页表
页面替换:LRU
RAID 冗余独立磁盘阵列Redundant Independent Disk Arrays,用于数据存储和恢复,多个硬盘组合,数据分散
复杂指令集CISC
编译过程简单,寻址方式多
精简指令集RISC
机器周期T更小,更容易通过流水线优化
支持寻址:寄存器 立即数 相对寻址
程序主动控制:循环访问状态
中断:优先级,嵌套处理
DMA:内存和IO之间整块传输,不经过CPU
任务重叠执行
指令的获取(IF - Instruction Fetch):处理器从指令缓存(Instruction Cache)或主存中取指令暂存到指令寄存器(IR)中等待解码,更新PC(程序计数器)为下一条待取指令的地址
指令的解码(ID - Instruction Decode):解码器会解析IR中的指令,识别其操作码和操作数,操作数可能是立即数、寄存器地址或内存地址
操作数的获取(OF - Operand Fetch):操作数在寄存器中可以立即读取;如果在内存中则访问内存
指令的执行(EX - Execute):处理器根据指令类型和操作数执行运算,暂存执行结果
结果写回(WB - Write Back):计算结果会被写回寄存器或内存中
吞吐率:单位时间执行的指令数
冲突:数据冒险、结构冒险和控制冒险
有条件跳转指令:流水线停顿
异常和中断:错误或外部请求时响应
芯片内总线 元器件总线 内总线 外总线
芯片内总线,CPU内部高度集成,寄存器之间、算术逻辑部件(ALU)与控制部件之间传输数据
元器件总线涉及电路布局、信号完整性以及电磁兼容性
内总线,系统总线分为数据总线、地址总线和控制总线,连接CPU、内存、I/O设备等,常见有ISA EISA PCI
外总线,通信总线用于计算机与外部设备之间,串行硬件简单,传输距离远
时间重叠:多个处理过程在时间上错开,轮流使用同一套硬件设备的各个部件,减少等待时间,提高整体吞吐量,指令流水属于时间重叠
资源重复:增加硬件资源,相同的硬件资源被重复设置,从而同时处理多个任务,多处理机系统和陈列式处理机属于资源重复
资源共享:通过软件方法使多个任务轮流使用同一套硬件设备,操作系统任务调度属于资源共享
保密性:信息不被未授权的第三方获取
完整性:信息不被篡改
可用性:系统能够正常工作可访问
可控性:信息在传输范围和存放空间内的可控
不可否认性:参与者无法否认或抵赖,可审查性
计算机的安全等级
对称:AES(高级加密标准)DES(数据加密标准)3DES(三重数据加密算法)
非对称:
RSA(基于密钥的长度和大数分解)
椭圆曲线加密(ECC)基于椭圆曲线,计算效率更高
Diffie-Hellman密钥交换算法
DSA数字签名算法
用户名口令
信息摘要Message Digest
公钥PKI
私钥签名,公钥验证
安全套接字层SSL:通信加密,身份认证
传染性:通过网络、文件共享、USB驱动器传播
隐蔽性:隐藏在合法程序或文件中,使用加密或变形来隐藏绕过检测
潜伏性:可以在特定的日期、时间或系统事件触发恶意行为
破坏性:恶意行为包括删除文件、破坏系统数据、占用系统资源等
网络病毒:通过计算机网络传播,感染可执行文件或利用网络协议漏洞进行攻击。
文件病毒:感染扩展名为COM、EXE、SYS等类型的文件。
引导型病毒:感染计算机启动扇区或硬盘系统引导扇区,影响计算机的正常启动
串联系统:概率的乘积
并联系统:1-所有失效概率的乘积
CPU时间=程序的CPU时钟周期数 \times (CPU时钟)周期时间
指令数IC
CPI=(程序的CPU)时钟周期数 \div IC
时钟周期数=CPI \times IC
CPU时间=CPI \times IC \times 周期时间
周期时间=1 \div CPU时钟频率
CPU时间=\frac{CPI \times IC}{时钟频率}
指令执行速度:单位MIPS(百万条指令每秒)
MIPS=指令数 \div 执行时间 \div 10^6 = \frac{IC}{CPU时间} \div 10^6 = \frac{时钟频率}{CPI \times 10^6}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。