普通网站建设,wordpress中文博客主题,建设信用卡申请进度查询官方网站,谷歌seo2022目录
计算机硬件组成
CPU
CPU的组成
CPU的功能
校验码
奇偶校验
CRC
CRC计算案例
指令
指令指行过程 指令系统
指令系统分类
指令流水线技术
流水线技术相关计算公式
存储
计算机存储系统设计
高速缓存Cache
缓存的局部性原理
地址映射
替换算法 关于命中…目录
计算机硬件组成
CPU
CPU的组成
CPU的功能
校验码
奇偶校验
CRC
CRC计算案例
指令
指令指行过程 指令系统
指令系统分类
指令流水线技术
流水线技术相关计算公式
存储
计算机存储系统设计
高速缓存Cache
缓存的局部性原理
地址映射
替换算法 关于命中率及平均时间的相关计算
磁盘
磁盘结构与参数
磁盘调度算法
输入输出 计算机与外设之间的数据交互
内存与接口地址编址
总线 计算机硬件组成 计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5 大部件组成。
运算器、控制器等部件被集成在一起统称为中央处理单元(Central ProcessingUnitCPU)。CPU 是硬件系统的核心用于数据的加工处理能完成各种算术逻辑运算及控制功能。 存储器是计算机系统中的记忆设备分为内部存储器内存和外部存储器硬盘。前者速度高、容量小一般用于临时存放程序、数据及中间结果。而后者容量大、速度慢可以长期保存程序和数据。输入设备和输出设备合称为外部设备(简称外设)输入设备用于输入原始数据及各种命令而输出设备则用于输出计算机运行的结果。
CPU
CPU的组成 CPU的组成:CPU 主要由运算器、控制器、寄存器组和内部总线等部件组成。
运算器:执行所有的算术运算如加减乘除等;执行所有的逻辑运算并进行逻辑测试如与、或、非、比较等。组成部分如下 算术逻辑单元ALU实现对数据的算术和逻辑运算累加寄存器AC运算结果或源操作数的存放区数据缓冲寄存器DR暂时存放内存的指令或数据状态条件寄存器PSW保存指令运行结果的条件码内容如溢出标志等控制器:控制整个CPU的工作由以下部分组成 指令寄存器IR暂存CPU执行指令。程序计数器PC存放指令执行地址。地址寄存器AR保存当前CPU所访问的内存地址。指令译码器ID分析指令操作码。
CPU依据指令周期的不同阶段来区分二进制的指令和数据因为在指令周期的不同阶段指令会命令CPU分别去取指令或者数据。
CPU的功能
程序控制CPU 通过执行指令来控制程序的执行顺序这是CPU的重要功能。操作控制一条指令功能的实现需要若干操作信号配合来完成CPU产生每条指令的操作信号并将操作信号送往对应的部件控制相应的部件按指令的功能要求进行操作。时间控制CPU 对各种操作进行时间上的控制即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。数据处理CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理4)数据加工处理的结果被人们所利用。所以对数据的加工处理也是CPU 最根本的任务。中断响应CPU 还需要对系统内部和外部的中断(异常)做出响应进行相应的处理。
校验码 校验码是一种附加在数据上的代码用于检测和/或校正数据在传输、存储或处理过程中可能发生的错误。 当数据被写入CPU的寄存器、缓存或内存时相应的校验码也会被计算并存储。校验码的生成依赖于数据本身以及所使用的校验算法。 当数据被读取或传输时CPU会重新计算校验码并与存储的校验码进行比较。如果两者不匹配说明数据可能发生了错误。 校验码对于确保CPU的可靠性和稳定性至关重要。它可以减少因数据错误导致的系统崩溃、性能下降或安全问题。 校验码在CPU中主要用于
寄存器和缓存中的数据保护指令和数据的传输校验内存管理单元MMU的数据校验硬件故障诊断和修复
校验码常见类型
奇偶校验最简单的校验方法只能检测奇数个错误。CRC一种常见的校验方法可以检测并校正多种错误类型。
奇偶校验
在编码中增加1位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验)从而使码距变为2。 码距的概念 就单个编码A:00而言其码距为1因为其只需要改变一位就变成另-个编码。在两个编码中从A码到B码转换所需要改变的位数称为码距如A:00要转换为B:11码距为2。一般来说码距越大越利于纠错和检错。 例如
奇校验:编码中含有奇数个1发送给接收方接收方收到后会计算收到的编码有多少个1如果是奇数个则无误是偶数个则有误。 偶校验同理只是编码中有偶数个1奇偶校验只能检1位错并且无法纠错。
CRC
使用CRC编码需要先约定一个生成多项式G(x)。生成多项式的最高位和最低位必须是1。假设原始信息有m位则对应多项式M(x)。生成校验码思想就是在原始信息位后追加若干校验位使得追加的信息能被G(x)整除。接收方接收到带校验位的信息然后用G(x)整除。余数为0则没有错误;反之则发生错误。
注意 CRC只能检错不能纠错。
CRC计算案例
题目
假设原始信息串为10110CRC的生成多项式为G(x)x^4x1求CRC 校验码。
原始信息串10110生成多项式G(x)x4x1G(x)x4x1
计算步骤 添加0在原始信息位后面添加与生成多项式阶数相同的0。因为 G(x)G(x) 的阶为4所以在原始信息串10110后面添加4个0得到新串101100000。 得到除数根据生成多项式将多项式中的x的幂指数存在的位置设为1不存在的位置设为0。对于 G(x)x4x1G(x)x4x1x的幂指数为0, 1, 4的位置存在所以得到除数串10011。 模2除法将新串101100000作为被除数除数为10011进行模2除法运算不进位也不借位的除法。除法过程如下 1 0 0 1___________________|
1 0 1 1 | 1 0 1 1 0 0 0 0 0/ 1 0 1 1 ——————————————————1 0 1 0 01 0 0 1 1——————————————————1 1 1 0 01 0 0 1 1——————————————————1 1 1 1补齐余数如果余数的位数小于生成多项式的阶数需要在余数的左边补齐0。在这个例子中余数1111是4位与生成多项式的阶数相同所以不需要补齐。 生成最终发送信息串将余数1111添加到原始信息串10110的后面得到最终发送的信息串101101111。 接收方校验接收方使用相同的生成多项式 G(x)G(x) 对收到的信息进行除法运算。如果余数为0则信息无误如果余数不为0则要求发送方重传。
指令
一条指令由操作码和操作数两部分组成操作码决定要完成的操作操作数指参加运算的数据及其所在的单元地址。在计算机中操作要求和操作数地址都由二进制数码表示分别称作操作码和地址码整条指令以二进制编码的形式存放在存储器中。
指令指行过程 计算机指令执行过程包括取指令--分析指令--执行指令三个步骤。
取指令 首先将程序计数器PC中的指令地址取出送入地址总线CPU依据指令地址去内存中取出指令内容存入指令寄存器IR对应图上1-4步骤分析指令 由指令译码器进行分析分析指令操作码对应图中5、6步骤执行指令 取出指令执行所需的源操作数执行指令内容对应图中第7步 寻址方法 指令寻址方式 顺序寻址方式:当执行一段程序时是一条指令接着一条指令地顺序执行。跳跃寻址方式:指下一条指令的地址码不是由程序计数器给出而是由本条指令直接给出。程序跳跃后按新的指令地址开始顺序执行。因此程序计数器的内容也必须相应改变以便及时跟踪新的指令地址。指令操作数的寻址方式 立即寻址方式:指令的地址码字段指出的不是地址而是操作数本身。直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。间接寻址方式:指令地址码字段所指向的存储单元中存储的是操作数的地址。寄存器寻址方式:指令中的地址码是寄存器的编号。基址寻址方式:将基址寄存器的内容加上指令中的形式地址而形成操作数的有效地址其优点是可以扩大寻址能力。变址寻址方式:变址寻址方式计算有效地址的方法与基址寻址方式很相似它是将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址。 指令系统
指令系统分类
指令系统分为复杂指令系统CISC和精简指令系统RISC。
CISC复杂指令系统兼容性强指令繁多、长度可变由微程序实现RISC精简指令系统指令少使用频率接近主要依靠硬件实现(通用寄存器、硬布线逻辑控制)
两者间对比
类型指令寻址方式实现方式备注CISC复杂指令系统数量多使用频率差别大可变长格式支持多种微程序控制技术(微码)研制周期长RISC精简指令系统数量少使用频率接近定长格式大部分为单周期指令操作寄存器只有Load/Store操作内存支持方式少增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线优化编译有效支持高级语言
指令流水线技术
将指令分成不同段每段由不同的部分去处理因此可以产生叠加的效果所有的部件去处理指令的不同段 RISC中的指令流水线技术 超流水线Super Pipe Line技术。它通过细化流水、增加级数和提高主频使得在每个机器周期内能完成一个甚至两个浮点操作。其实质是以时间换取空间。超标量Super Scalar技术。它通过内装多条流水线来同时执行多个处理其时钟频率虽然与一般流水接近却有更小的CPI。其实质是以空间换取时间。超长指令字Very Long Instruction WordVLIW技术。VLIW和超标量都是20世纪80年代出现的概念其共同点是要同时执行多条指令其不同在于超标量依靠硬件来实现并行处理的调度VLIW则充分发挥软件的作用而使硬件简化性能提高。
流水线技术相关计算公式
流水线周期概念指令分成不同执行段其中执行时间最长的段为流水线周期。
计算内容公式流水线执行时间1条指令总执行时间 总指令条数 - 1 * 流水线周期流水线吞吐率计算吞吐率即单位时间内执行的指令条数。公式指令条数 / 流水线执行时间。流水线的加速比计算不使用流水线执行时间 / 使用流水线执行时间。
存储
计算机存储系统设计 为了解决存储容量、成本、速度之间的矛盾问题计算机的存储系统采用的分级存储体系。由上到下以此为
寄存器CPU内部成本最高读取速度最快Cache : 高速缓存位于CPU与内存之间之间与CPU交互容量大于寄存器小于内存速度大于内存小于寄存器主存储器一般指RAM也就是常说的运行内存容量大于Cache速度小于Cache但大于辅助存储器磁盘、光盘辅助存储器需要进行IO读取的一般指磁盘、外置光盘等成本最低读写速度最慢但容量最大
高速缓存Cache 高速缓存Cache用来存储当前最活跃的程序和数据直接与CPU交互位于CPU和主存之间容量小速度为内存的5-10倍由半导体材料构成。其内容是主存内存的副本拷贝对于程序员来说是透明的。 Cache由控制部分和存储器组成存储器存储数据控制部分判断CPU要访问的数据是否在Cache中在则命中不在则依据一定的算法从主存中替换。
缓存的局部性原理
总的来说在CPU运行时所访问的数据会趋向于一个较小的局部空间地址内包括下面两个方面:
时间局部性如果一个数据项正在被访问那么在近期它很可能会被再次访问即在相邻的时间里会访问同一个数据项。空间局部性在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的即相邻的空间地址会被连续访问。
地址映射
在CPU工作时送出的是主存单元的地址而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址这种地址的转换称为地址映像由硬件自动完成映射分为下列三种方法
直接映射
将Cache存储器等分成块主存也等分成块并编号。主存中的块与Cache中的块的对应关系是固定的也即二者块号相同才能命中。地址变换简单但不灵活容易造成资源浪费。 全相连映射
同样都等分成块并编号。主存中任意一块都与Cache中任意一块对应。因此可以随意调入Cache任意位置但地址变换复杂速度较慢。因为主存可以随意调入Cache任意块只有当Cache满了才会发生块冲突是最小可能发生块冲突的映像方式。 组组相连映射
前面两种方式的结合将Cache存储器先分块再分组主存也同样先分块再分组组间采用直接映像即主存中组号与Cache中组号相同的组才能命中但是组内全相联映像也即组号相同的两个组内的所有块可以任意调换。
替换算法 替换算法的目标是让高速缓存Cache获得尽可能高的命中率 随机替换算法。就是用随机数发生器产生一个要替换的块号将该块替换出去。先进先出算法。就是将最先进入Cache的信息块替换出去。近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去。优化替换算法。这种方法必须先执行一次程序统计Cache的替换情况。有了这样的先验信息在第二次执行该程序时便可以用最有效的方式来替换。 关于命中率及平均时间的相关计算 命中率即当CPU所访问的数据在Cache中时命中直接从Cache中读取数据。 设读取一次Cache时间为1ns若CPU访问的数据不在Cache中则需要从内存中读取设读取一次内存的时间为1000ns。若在CPU多次读取数据过程中有90%命中Cache则CPU读取一次的平均时间为(90%*110%*1000)ns。
磁盘
磁盘结构与参数 磁盘有正反两个盘面每个盘面有多个同心圆每个同心圆是一个磁道每个同心圆又被划分为多个扇区数据就被存放在一个个扇区中。 磁头首先要寻找到对应的磁道然后等待磁盘进行周期旋转旋转到指定的扇区才能读取到对应的数据因此会产生寻道时间和等待时间。公式为存取时间寻道时间等待时间平均定位时间转动延迟。注意寻道时间是指磁头移动到磁道所需的时间等待时间为等待读写的扇区转到磁头下方所用的时间
磁盘调度算法
磁盘数据的读取时间分为寻道时间旋转时间也即先找到对应的磁道而后再旋转到对应的扇区才能读取数据其中寻道时间耗时最长需要重点调度有如下调度算法
先来先服务FCFS根据进程请求访问磁盘的先后顺序进行调度。最短寻道时间优先SSTF请求访问的磁道与当前磁道最近的进程优先调度使得每次的寻道时间最短。会产生“饥饿”现象即远处进程可能永远无法访问。扫描算法SCAN又称“电梯算法”磁头在磁盘上双向移动其会选择离磁头当前所在磁道最近的请求访问的磁道并且与磁头移动方向一致磁头永远都是从里向外或者从外向里一直移动完才掉头与电梯类似。单向扫描调度算法CSCAN与SCAN不同的是其只做单向移动即只能从里向外或者从外向里。
输入输出 计算机与外设之间的数据交互
程序控制查询方式CPU主动查询外设是否完成数据传输效率极低。 程序中断方式外设完成数据传输后向CPU发送中断等待CPU处理数据效率相对较高。中断响应时间指的是从发出中断请求到开始进入中断处理程序中断处理时间指的是从中断处理开始到中断处理结束。中断向量提供中断服务程序的入口地址。多级中断嵌套使用堆栈来保护断点和现场。 DMA方式直接主存存取CPU只需完成必要的初始化等操作数据传输的整个过程都由DMA控制器来完成在主存和外设之间建立直接的数据通路效率很高。在一个总线周期结束后CPU会响应DMA请求开始读取数据CPU响应程序中断方式请求是在一条指令执行结束时。
内存与接口地址编址 内存与接口地址编址主要是指在计算机系统的硬件设计和编程阶段用来定义和区分内存单元和输入/输出接口的地址空间。 内存与接口地址独立编址方法
内存地址和接口地址是完全独立的两个地址空间。访问数据时所使用的指令也完全不同用于接口的指令只用于接口的读/写其余的指令全都是用于内存的。因此在编程序或读程序时很易使用和辨认。这种编址方法的缺点是用于接口的指令太少、功能太弱。
内存与接口地址统一编址方法
内存地址和接口地址统一在一个公共的地址空间里即内存单元和接口共用地址空间。优点是原则上用于内存的指令全都可以用于接口这就大大地增强了对接口的操作功能而且在指令上也不再区分内存或接口指令。该编址方法的缺点就在于整个地址空间被分成两部分其中一部分分配给接口使用剩余的为内存所用这经常会导致内存地址不连续。 总线 总线Bus是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路它的一个重要特征是由总线上的所有设备共享因此可以将计算机系统内的多种设备连接到总线上。 从广义上讲任何连接两个以上电子元器件的导线都可以称为总线通常分为以下三类
内部总线内部芯片级别的总线芯片与处理器之间通信的总线。系统总线是板级总线用于计算机内各部分之间的连接具体分为数据总线并行数据传输位数、地址总线系统可管理的内存空间的大小、控制总线传送控制命令。代表的有ISA总线、EISA总线、PCI总线。外部总线设备一级的总线微机和外部设备的总线。代表的有RS232串行总线、SCSI并行总线、USB通用串行总线即插即用支持热插拨。