计算机组成原理
文章平均质量分 91
记录一些笔记
CS_Mr M
菜是原罪
展开
-
组原综合复习_题目驱动
第7章:1. 鼠标适用于用中断方式来实现输入操作。(√) ==> 键盘鼠标等输入设备一般都采用中断方式来实现,原因在于 CPU 需要及时响应这些操作,否则容易造成输入的丢失。2. 某磁盘转速为 10000r/min ,平均寻道时间是6ms,磁盘传输速率是 20MB/s ,磁盘控制器延迟为 0.2ms,读取一个 4KB 的扇区所需要的平均时间约为: 9.4 ms。10000r/min => (1000/6) r/s => (6/1000) s/r 所以...原创 2020-10-13 11:19:07 · 3635 阅读 · 2 评论 -
组原综合复习_概念辨析
第7章:1.外部设备也称外围设备,是除主机外的能直接或间接与计算机交换信息的装置。 包括:输入/ 输出设备,通过输入/输出接口才能访问的外存储设备。2.外存设备,指除计算机内存及 CPU 缓存等外的存储器。硬磁盘、光盘等都是最基本的外存设备。3. 计算机外存储器又称辅助存储器。换句话来说,外存储器和辅助存储器是一个概念。...原创 2020-10-13 08:14:51 · 279 阅读 · 0 评论 -
第3章习题小结
1. Cache 知识点【1】Cache 和主存映射方式直接映射、组相联映射的联系对比理解。(还有全相联映射) 各种映射方式下,CPU 访存的过程概述; 各种映射方式下,主存地址结构的划分;划分结构时用到的是二进制的地址形式,题目可能给出的地址形式是十进制和十六进制。 多思考二进制状态下,划分位数结构时对应的十进制计算理解; 点我! 各种映射方式下,Cache 地址和主存地址的对应关系。 Cache 标记位,有效位,...原创 2020-09-06 16:18:29 · 264 阅读 · 0 评论 -
组原7_DMA 方式
1. 总览2. DMA 主要功能中断机构向 CPU 提出中断请求,这里的中断和中断方式中的中断是不一样的。中断方式的中断是为了让 CPU 来控制数据传送的过程。这个中断是告知 CPU 数据传送已经结束了,看一下还有没有其它事要做。3. DMA 传送过程CPU 执行遇到 I/O 指令后,接着预处理:预处理是由 CPU 来完成的,主要的任务就是对一些寄存器的值进行初始化。预处理结束之后,CPU 就继续...原创 2020-08-27 12:50:39 · 488 阅读 · 0 评论 -
组原7_程序查询和程序中断方式
1. I/O 方式简介2. 程序查询方式程序查询方式流程图程序查询方式接口结构一次只能传送一个字的原因在于:这种方式下,外设传过来的数据是放在寄存器中的;即使外设传的数据想放到主存中,也需要先放到 CPU 寄存器中,再从这个寄存器移到主存相应位置。所以程序查询的方式用来管理这些高速设备是非常不科学的。一般来说,从频率的角度来考虑,计算量会比较小,但需要对频率的概念理解准确。...原创 2020-08-26 20:20:53 · 2424 阅读 · 0 评论 -
组原6_零碎杂记
原创 2020-08-25 14:04:10 · 156 阅读 · 0 评论 -
组原6_总线仲裁
目录1. 基本概念2. 集中仲裁方式3. 分布仲裁方式1. 基本概念2. 集中仲裁方式总线控制部件可以单独做一个部件,也可以就做在 CPU 中。(集中仲裁方式统一特点)[1/3] 链式查询方式 单独特点:BG BR BS 这三根控制线都是单根的线。 5min 20s 工作流程[2/3] 计数器查询方式共用...原创 2020-08-24 11:47:23 · 269 阅读 · 0 评论 -
组原6_ 总线的性能指标
前6个关心的是总线的工作速度,第7个总线复用关心的是总线的利用率以及如何减少总线所占用的面积,第8个信号线数主要受总线复用的影响。一个总线的传输周期,可能由若干个时钟周期来构成。总线传输周期:完成一次总线的操作所需要的时间(图中的 T1 到 T4 总时间)。对于这个读的例子来说,在这样一个总线传输周期内是完成了一个数据的操作(从哪读到哪和使用总线的两个设备有关)变形:有可能总线传输周期是由单个时钟周期构成,在这单个时钟周期内完成了上面的四个步骤。甚至存在...原创 2020-08-24 11:03:12 · 161 阅读 · 0 评论 -
组原5_指令流水线影响因素和流水线分类
1. 机器周期的设置对于这些硬件,取指阶段和访存阶段能够拆分为两段原因在于将指令和数据分开存储,否则取指的时候和存回数据的时候访问的都是存储器,就有可能产生硬件资源的冲突。锁存器出现的原因在于机器周期取的是最长耗时,当某阶段不需要这么久,那么当这阶段完成产生的数据要提供给下一阶段时,如果直接流向下一阶段,那么可能破坏下一阶段的数据,因此需要先存储在锁存器中。2. 影响流水线的因素[1/3]资源冲突:这里 Mem 冲突...原创 2020-08-22 20:56:20 · 1309 阅读 · 0 评论 -
组原5_指令流水线和性能指标
目录1. 指令流水线的定义2. 流水线的表示方法3. 流水线的性能指标摘要 =>前面内容知道了 CPU 如何协调整个系统的工作,并且完成了控制器的设计。这一小节主要是在之前能够完成工作的基础上想办法提升系统的工作速度;这就是引入流水线结构的原因。1. 指令流水线的定义[1/3]顺序执行方式:根据上面的特点,容易知道 取指阶段用到的是 取指所需要的硬件,分析阶段主要是译码器等硬件,执行主要用的是运算器硬件,它们使用的这些功能部件是不一...原创 2020-08-22 14:16:47 · 535 阅读 · 0 评论 -
组原5_控制器微程序设计
1. 微程序设计逻辑和基本思想硬布线设计的本质是想一个办法来产生这个控制信号。那么是不是可以选择不用电路来产生它,而是直接将这些信号存下来。这就是微程序的设计逻辑。就是将所需要的这些信号存在一个专门的存储器中(控制存储器,直接做在 CPU 里面的),既然涉及到把一些东西存到存储器中,这个就类似于之前存储程序的思想,只不过之前是把一个程序分解一些指令,现在是把一条机器指令编写成一个程序,这个程序叫做微程序。这样把一个一个的微指令存储到存储器中,就可以使用之前执行指令的...原创 2020-08-21 22:31:49 · 2034 阅读 · 0 评论 -
组原5_控制器硬布线设计
目录1. 控制器的结构和功能2. 控制单元的输入和输出3. CPU 的控制方式4. 安排微操作时序5. 电路设计(组合逻辑设计)1. 控制器的结构和功能2. 控制单元的输入和输出操作码部分规定了要产生一些任务,具体怎么产生这些信息,流过控制单元后,就会自动的变成相应的信号。在写微操作序列的时候,微操作的产生是需要一定顺序的,产生顺序的概念需要一个参考的时钟。某些微操作的实现需要依据一定的条件的,所以...原创 2020-08-21 20:42:13 · 1029 阅读 · 0 评论 -
组原5_专用数据通路
1. 知识讲解总线的方式下,是所有的寄存器和相应的电路都是连接到总线的。它们总线是一条公共的通路。专用数据通路方式下,是需要交流的部件之间直接有一条通路,控制的方法就是依靠这条通路上的一个信号。因为基本的控制逻辑是一样的,所以只以取指周期为例进行分析:IR 到 CU 的路径画出来了,那么就需要表示一下这个过程(单总线没有画,所以没有表示这个过程)2. 例题把数据来拿过,必须放在一个能存...原创 2020-08-20 11:42:24 · 646 阅读 · 0 评论 -
组原5_数据通路(CPU 内部单总线方式)
目录1. 概述2. 单总线方式下的分析3. 例题1. 概述在研究数据通路的时候,要搞清楚的一个问题就是:信息从哪里流出来的,中间经过哪些部件,最后传到哪个部件;以及这样的流动是怎么去控制的 = => 依靠的是控制单元所发出来的控制信号,这些控制信号可以建立数据通路。而具体应该有哪些控制信号 ==> 基于 CPU 内部这些连线的方式的。连线的方式有三种:CPU 内部单总线方式、CPU 内部多总线方式、专用数据通路方式。前两种可以看成一种:...原创 2020-08-20 10:35:41 · 5014 阅读 · 4 评论 -
组原5_指令周期数据流
1. 指令周期中断是被安排在指令的最后一个阶段的,中断的意思就是暂停现在的任务去完成其它的任务,但即使是要暂停现在的任务,也应该把现在这条指令执行完成。所以中断周期是安排在这条指令执行结束的,但是中断的响应是要在这条指令结束前安排好的。如果不这样,则这条指令执行结束就会自动取下一条指令,又进入一个新的指令周期。2. 指令周期流程通过这个流程就可以使具有不同长度的指令系统运行起来。整个机器可以处于不同的...原创 2020-08-19 17:44:01 · 2829 阅读 · 0 评论 -
组原5_CPU 的功能和基本结构
1. 本章总览2. CPU 的功能这五个功能是摊到了运算器和控制器两个模块的。这两个模块分别应该具有的一些功能见下方。3. 运算器基本结构运算器核心 ==> ALU能够输入两个操作对象,根据控制信号对这两个操作对象进行处理后在输出端输出相应结果。要注意的是,它是一个组合逻辑电路,特点在于这些信号输入进去后,输出就会相应的产生;所以在对这个输出进行接收的时候,这些输入信号是需要同时有...原创 2020-08-19 11:06:43 · 448 阅读 · 0 评论 -
组原4_指令系统设计 CISC 和 RISC
CISC 复杂指令集 RISC 精简指令集这里的存储部件不是主存,而是为了实现复杂指令集这样的设计在 CPU 中专门设置了一个小的存储部件。可访存指令:对于 RISC 来说,访问存储器的操作也被抽象成一个小的动作。所以只有访存指令才可以访存。对于 CISC 来说,更关注的是整个任务怎么去完成,这一整个任务所要完成的任务都包含在了这条指令中,所以每条指令基本上都可以访存。通用寄存器数量:CISC 每条指令考...原创 2020-08-18 12:22:13 · 449 阅读 · 0 评论 -
组原4_指令偏移寻址
目录1. 基址寻址 EA= (BR) + A2. 变址寻址 EA = (IX) + A3. 相对寻址 EA = (PC) + A4. 例题5. 小结6. 附加 堆栈寻址1. 基址寻址 EA= (BR) + A基址寄存器可以是 专用寄存器 和 通用寄存器区别:使用专用寄存器的时候,不需要在指令中指出寄存器编号,而是将编号隐含的放在操作码中;只要进行基址寻址这个操作,就自动去寻找相应的专用寄存器;使用通用寄存器的时候,因为通用寄存器除了要进行基址寻...原创 2020-08-18 11:23:02 · 1483 阅读 · 0 评论 -
组原4_指令寻址
1. 数据存放和对齐按字节编址,可以有不同的寻址方式 ===> 按字节寻址、按半字寻址、按字寻址;按字编址,最小取出的单元就是一个字,没办法直接取一个字节出来。若要拆出一个字节的话,需要软件来实现。存储单元和数据都有自己的高位和低位。 ==> 两种存放方式:大端方式,小端方式机器字长、指令字长、存储字长 三者之间没有固定的大小关系,但必须都是字节的整数倍。其中,存储字长一般去字节的偶数倍,方便硬件的设计。早期,习惯上会将存储字长和机器字长做成一...原创 2020-08-17 11:47:21 · 1234 阅读 · 0 评论 -
组原4_指令基础概念
目录1. 基础概念2. 地址码3. 操作码设计4. 操作类型1. 基础概念高级语言和机器语言的一个主要区别是:高级语言不管在哪台机器上,主要的关键字和语法是不变的; 但机器语言是直接指导硬件进行工作的,而硬件在设计上会有很多变化,所以一台计算机只能执行自己的那一套指令,而不能执行其它结构不一样的计算机指令。用符号语言可以代替冗长的文字语言进行描述。2. 地址码这种设计方式下:在主存中,同样是二进制数据,有的是...原创 2020-08-17 09:26:55 · 515 阅读 · 0 评论 -
组原3_虚拟存储器
目录1. 概念理解2. 页式虚拟存储器3. 段式虚拟存储器4. 段页式虚拟存储器5. TLB 块表6. 例题1. 概念理解这样的一个存储器层次是通过硬件直接实现的,操作系统是感受不到的 (透明)。 对于操作系统来说,虽然这里是一个层次化的设计,但是只需要给这个存储系统一个地址,直接要求所要返回的数据。而并不需要了解这个数据是从 Cache 来的,还是从主存来的,以及 Cache 和主存如何协同工作。访问辅助存储器的时候不会以字节为单位...原创 2020-08-16 10:56:09 · 708 阅读 · 0 评论 -
组原3_Cache 替换算法和写策略
1. 替换算法3考虑了局部性原理,4侧重全局观念。区分 3 和 4 计数器工作方式。1.1 全相联映射替换分析给出的是块号,不再需要从二进制地址中拆分出来。对于全相联映射来说,主存的块号就是标记位。相联存储器的工作原理理解。图中信息:对 LFU 替换算法,要更多的判断依据,需要参考操作系统对应的内容。最后这个2不管替换谁都是没有命中的。 所以总共命中3次。...原创 2020-08-15 22:36:48 · 785 阅读 · 0 评论 -
组原3_Cache的命中率 以及和主存 的映射方式
目录1. Cache命中率2. Cache 和主存的映射方式2.1 全相联映射2.2 直接映射2.3 组相联映射1. Cache命中率引入Cache后的时间计算包括: 主存调数据到 Cache,Cache 到 CPU,CPU 运算时间,运算结果从 CPU 到 Cache。CPU 和 主存或者高速缓存 交流的基本单位是机器字长,这是因为 CPU 取数据或者输出数据都是通过内部的寄存器,寄存器因为电路比较复杂,所以可以暂存的数据位数是有限的。但是主存和 Cac...原创 2020-08-15 22:12:06 · 4284 阅读 · 0 评论 -
组原3_双端口RAM 和 多模块存储器
目录1.优化思路2. 双端口 RAM3. 单体多字存储器4. 多体并行存储器1.优化思路对存储器工作的优化就在于能够把 恢复时间 通过一定的方法利用起来。基本的思路就是对多个不同时间能够进行不同存取的存储单元进行并行操作。或者采用流水线的方案,当某个存储单元进入恢复时间的时候,可以对其它单元进行存取。2. 双端口 RAM两个端口,两个CPU (CPU1 CPU2)3. 单体多字存储器限...原创 2020-08-15 19:39:47 · 435 阅读 · 0 评论 -
组原3_第三章知识点整理
【1】存储速度主存带宽又称数据传输率,表示每秒从主存进出信息的最大数量,单位: 字/秒 字节/秒 位/秒存储速度: 数据传输率 = 数据的宽度/存储周期数据宽度:“点我 ”。存储周期:又称为存取周期。思考:数据的宽度/存储周期。这里的数据宽度指的是,在一个存储周期取出数据的位数。【2】多级存储系统存储系统是指 Cache、主存储器和外存储器。Cache和主存之间的数据调动是由硬件自动完成的,对所有程序员均透明;而主存和辅存之间的数据调动则是由硬件...原创 2020-08-14 20:17:51 · 3753 阅读 · 0 评论 -
组原3_RAM 和 ROM
1. RAM 基础知识易失性存储器: RAM (断电,存储信息就消失)非易失性存储器: ROM ,磁表面存储器,光存储器Cache 由 SRAM(静态随机存储器) 实现。 <非破坏性读出>主存储器 由 DRAM(动态随机存储器) 实现。 <破坏性读出>SRAM 存储元是用 双稳态触发器 (六晶体管MOS)来记忆信息,信息被读出后,仍保持原生状态不需要再生。DRAM 是利用存储元电路中栅极电容上的电荷来存储信息。(基本存储元通常只使用一个晶体管)...原创 2020-08-14 19:22:08 · 1248 阅读 · 0 评论 -
组原3_主存储器模型
【存储器芯片逻辑结构】片选线==>"开关作用"可用于容量扩充。多个存储器芯片同时开,同时关,位扩展。多个存储器芯片轮流开,轮流关,字扩展。如果将芯片分组,每组内部芯片同时开关,组和组之间轮流开关,字和位同时扩充。【存储器芯片实现细节】一个在描述个数,一个在描述位数。【寻址】一个小方框代表 8位,即1B。1K 个单元即需要标注 1000 个小方框...原创 2020-08-14 20:17:46 · 166 阅读 · 0 评论 -
组原2_浮点数标准 IEE754
对于真值 -128 的移码计算:真值 + 偏置值 ==> -1000 0000 + 0111 1111 = 0111 1111 - 1000 0000 (小数-大数 ) =10111 1111 - 1000 0000 = 1111 1111可以类比,时钟指向3,5个小时前是几点?3-5 = (3+12)-5 = 10 或者 3+(12-...原创 2020-08-13 11:35:04 · 429 阅读 · 0 评论 -
组原2_浮点数的表示和规格化1
因为阶码的底是不变的,所以可以省略,直接存储 阶码和尾数。阶符表示小数点移动方向,阶码表示小数点移动多少位。阶码的底通常为 2,当然也可以为 4 8 ……2^i 等。思考的时候,可以是小数点移动,也可以是小数点不动,数值位移动。但计算机处理是: 小数点不变,数值位移动。当用补码表示尾数的时候,规定符号位为0时,数值位最高位必须是1;规定符号位为1时,数值位最高位必须是0。 因为这样这样...原创 2020-08-13 09:59:31 · 375 阅读 · 0 评论 -
组原2_第二章练习思考
1.补码思考=> 负数的补码等于 符号位不变,其余位取反加1。如果不管符号位,只分析数值位: 显然,其余位取反,意味着两数相加的二进制表示为 全1,即 111 1111 => 2^7-1 = 127。又因为数据是从0开始的,所以是 0~127 共128个数。模长的含义是能代表多少不同的状态 (自我理解 ),所以这也是为什么补码的转换规则是 "其余位取反加1" 。"-x " = "+ (模长 - x) " 其中 x 表示的是正数 ;以时钟为例,假设现在指...原创 2020-08-11 22:24:11 · 4419 阅读 · 0 评论 -
组原2_第二章知识梳理
1. 不同进制数之间的转换二进制、八进制、十六进制 之间的转换很方便,以二进制为桥梁;二进制、八进制、十六进制 转 十进制,各位数码按权相加即可;十进制转 二进制、八进制、十六进制,先将十进制转换为二进制,然后再根据转化的二进制 进行 八进制、十六进制的转换。十进制转二进制方法:除基取余(整数部分) 和 乘基取整(小数部分)【注】:在计算机中,小数和整数不一样,整数可以连续的表示,但是小数是离散的。也就意味着并不是每个十进制小数都可以准确地用二进制表示。 比如 0.32...原创 2020-08-11 15:48:11 · 391 阅读 · 0 评论 -
组原2_强制类型转换、数据存储和排列
对于有符号数来说,在C语言中是存储为补码形式。有符号数强制转化为无符号数:改变解释方式,不再把最高位当做符号位,而是数值位。对于 n => p 因为是无符号数,只需要在高位添补0即可。...原创 2020-08-10 07:16:10 · 410 阅读 · 0 评论 -
组原2_原码及补码的一位乘法
1. 原码一位乘法根据MQ中低位(1处)的数值计算出 ACC (2处)的值,然后3是向右移动一位后 ACC 中的值。需要注意的是:最后还需要进行一次右移,将 乘数 完全移出 MQ。2. 补码的一位乘法只需要掌握基本操作即可,不用深挖原理。算法之前的准备工作:将 被乘数补码形式的双符号位的机器数 写一下,同时它相反数的补码形式的双符号位机器数也要写一下,乘数只需要写单符号的即可。ACC 将被乘数的两个符号位一起存过来;MQ把...原创 2020-08-09 22:48:18 · 397 阅读 · 0 评论 -
组原2_符号扩展、加法运算、溢出
1. 符号拓展原码形式的符号扩展非常方便,反码和补码的符号扩展都是在原码符号扩展上分析得来的,所以尽量先处理原码形式的符号拓展,拓展好了之后再进行其它的求反码和补码操作!2. 加法运算对于机器来说:加法和减法实际上都是加法,只不过要加上一个辅助电路,辅助电路用来求减数相反数的补码。3. 溢出溢出的原因:机器字长有限! 所能表示的数据是有范围的!...原创 2020-08-09 14:50:50 · 4143 阅读 · 0 评论 -
组原2_补码、移码、移位运算
对于原码的算术移位算术移位中,符号位是不参与的,然后要明白移位会产生空位,也就意味着会移丢一位!原创 2020-08-09 14:20:24 · 2843 阅读 · 5 评论 -
组原2_ASCII码
原创 2020-08-08 19:56:43 · 180 阅读 · 0 评论 -
组原_第一章知识点笔记
1. 存储字长可以是 1B 或者 字节的偶数倍。计算机字长(机器字长) 通常选定为 字节(8位)的整数倍。2. 冯诺依曼机最根本的特征是采用 存储程序 的原理,基本工作方式是 控制流驱动方式。3. 寄存器的设置对汇编语言不透明!汇编程序员要对寄存器进行直接操作。4.解释程序一句一句翻译且边翻译边执行的程序,速度因此较编译程序慢。5. 计算机的位数:机器字长; 操作系统的位数: 操作系统可寻址的位数。6. 机器字长、指令字长、存储字长,三者在数值上 可等也可以不等,视不同机器而定...原创 2020-08-07 14:16:22 · 1017 阅读 · 2 评论 -
组原_计算机系统层次结构
目录1. 传统和现代计算机结构2. 运算器控制器以及取指代码3. I/O设备、系统软件应用软件4. 计算机编程语言5. 系统层次结构6. 存储元 存储单元1. 传统和现代计算机结构传统的冯洛伊曼计算机结构:箭头指向的数据线说明:比如说买了一块运算器,处理的是4位数据的运算。当运算需求增加到8块、16块、32块的时候,解决方法有两种:一种是再买运算器,算多少位的买多少位的,但是需求是不断变化的,这种方式不合理。第二种就是将长的数据切断,切成4位4位送到运算器,那么运原创 2020-07-27 06:59:48 · 2745 阅读 · 0 评论 -
计算机的硬件发展历程
原创 2020-07-26 22:51:20 · 866 阅读 · 0 评论 -
【计算机】杂
目录1、bit和byte及ASCII,Unicode2、补码知识及-128~127由来1、bit和byte及ASCII,Unicode数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。ASCII码:一个英文字母(不分大小写)占一个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制...原创 2020-05-16 15:58:31 · 300 阅读 · 0 评论