计算机组成原理
starter_zheng
这个作者很懒,什么都没留下…
展开
-
差错控制 —— 检错编码(奇偶校验码和CRC码)
一、奇偶校验码奇偶校验无法纠错。在数据传输之前,我们会求一次校验位,传输后,会求一次校验位,那么,在奇偶校验中,我们通过比较这两个校验位是否相同,若结果为1,则说明有奇数个错误,结果为0,则说明正确或者偶数个错误。二、循环冗余校验码(CRC码)CRC码可以发现并纠正信息串行读/写、存储或传送中出现的一位或多位错(与多项式的选取有关)在发送端,将要传送的K位二进制信息码左移R位...原创 2019-10-08 06:49:30 · 4485 阅读 · 0 评论 -
总线 —— 基本概念和性能指标
一、总线的基本概念为什么要用总线?早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。为了更好地解决I/0设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。1. 总线的定义总线是一组能为多个部件分时共享的公共信息传送线路。共享:是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。分时:是指同一时刻只允许有一个部件向总...原创 2019-08-13 16:19:02 · 6351 阅读 · 0 评论 -
总线 —— 总线的分类和系统总线结构
一、总线的分类总线的分类可以按照数据传输格式、总线功能和时序控制方式三个角度进行划分。1. 按数据传输格式按数据传输格式,可以将总线分为串行总线和并行总线。工作频率相同时,串行总线传输速度比并行总线慢。并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线。(1)串行总线优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计...原创 2019-08-13 16:17:21 · 12924 阅读 · 2 评论 -
Cache —— 替换算法和写策略
一、替换算法在采用全相联映射和组相联映射方式时,从主存向 Cache 传送一个新块,当 Cache 中的空间被占满时,就需要使用替换算法置换 Cache行。而采用直接映射则不需要考虑替换算法。随机算法(RAND):随机地确定替换的Cache块。它的实现比较简单,但没有依据程序访问的局部性原理,故可能命中率较低。先进先出算法(FIFO):选择最早调入的行进行替换。它比较容易实现,但也没有依据...原创 2019-07-27 16:47:32 · 5030 阅读 · 0 评论 -
中央处理器 —— CPU的功能和基本结构
一、CPU的功能二、运算器和控制器的功能三、运算器的基本结构原创 2019-08-05 13:32:17 · 4166 阅读 · 0 评论 -
Cache —— Cache和主存的映射方式
一、地址映射和地址变换地址映射:地址映射是一种规则,它指明了把主存地址空间映射到Cache地址空间所用的规则,即把存放在主存中的程序按照某种规则装入Cache。由于Cache的块数比主存块数少得多,因此需要加入 主存字块标记 和 字块内地址地址变换:地址变换是一个过程,它是指CPU在访存时,将主存地址按映射规则换算成Cache地址的过程。二、全相联映射可以把主存数据块装入 Cache 中...原创 2019-07-26 22:16:16 · 15682 阅读 · 14 评论 -
Cache —— 局部性原理和工作原理
一、程序访问的局部性原理程序访问的局部性原理包括时间局部性和空间局部性。空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息高速缓冲技术iu是利用程序访问的局部性原理,把程序中正在使用的部分存放在一个高速的、容量较小的Cache中,使CPU的访存操作大多数针对Cache进行,从...原创 2019-07-26 14:48:36 · 12399 阅读 · 0 评论 -
指令系统 —— CISC和RISC
一、CISC(Complex Instruction Set Computing)设计思路:一条指令完成一个复杂的基本功能。代表:x86架构,主要用于笔记本、台式机等二、RISC(Reduced Instruction Set Computing)设计思路:一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基本功能。代表:ARM架构,主要用于手机、平板等三、CISC和RISC的对...原创 2019-07-31 12:03:38 · 1857 阅读 · 0 评论 -
指令系统 —— 指令寻址
一、引入(数据存放)字长存储器寻址、大小端模式和边界对齐补充:大小端模式和边界对齐补充:存储器寻址二、指令寻址方式存储器寻址指的是存储器如何定位到某一个存储单元。而指令的寻址方式是指寻找指令或操作数的有效地址的方式,即确定本条指令的数据地址及下一条待执行指令的地址的方法。两者的主体不同。指令中的地址码字段并不代表操作数的真实地址,这种地址称为形式地址(A)。形式地址结合寻址方式...原创 2019-07-31 11:52:30 · 1607 阅读 · 0 评论 -
存储器与CPU的协同工作 —— 双端口RAM和多模块存储器
一、双端口RAM双端口RAM是一种空间并行技术,它是指同一个存储器有左右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许两个独立的控制器同时异步地访问存储单元。当两个端口的地址不相同时,在两个端口上进行读写操作一定不会发生冲突。当两个端口同时存取存储器的同一地址单元时,会有以下几种情况两个端口不同时对同一地址单元存取数据。两个端口同时对同一地址单元读出数据。两...原创 2019-07-25 23:56:28 · 2667 阅读 · 2 评论 -
主存与CPU的连接 —— 连接原理和片选方式
一、连接原理主存储器通过数据总线、地址总线和控制总线与CPU连接数据总线的位数与工作频率的乘积正比于数据传输率地址总线的位数决定了可寻址的最大内存空间控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻合理选择存储芯片:通常选用ROM存放系统程序、标准子程序和各类常数、RAM则是为用户编程而设置的地址线的连接:CPU的地址线数往往比存储芯片的地址线数多。CPU...原创 2019-07-25 17:31:25 · 12152 阅读 · 0 评论 -
半导体存储器 —— SRAM、DRAM和ROM
一、SRAM的工作原理通常把存放一个二进制位的物理器件称为存储元,它是存储器的最基本的构件。地址码相同的多个存储元构成一个存储单元,若干个存储单元的集合构成存储体。静态随机存储器(SRAM)的存储元是用双稳态触发器(六管MOS)来记忆信息的,SRAM具有以下几个特点如果电源被切断,原来的保存信息便会丢失即使信息被读出后,它仍保持其原状态而不需要再生(非破坏性读出)(1)SRAM的读周...原创 2019-07-21 09:45:23 · 5675 阅读 · 1 评论 -
半导体存储器 —— 译码驱动方式
一、半导体存储芯片的基本结构二、74138译码器A、B、C为译码地址输入端;G1、G2A、G2BG_1、G_{2A}、G_{2B}G1、G2A、G2B 为选通端,Y0 Y7Y_0~Y_7Y0 Y7 为译码输出端(低电平有效)。当选通端 G1G_1G1 为高电平,另两个选通端 G2A、G2BG_{2A}、G_{2B}G2A、G2B 为低电平时,才可以将地...原创 2019-07-21 09:47:16 · 5748 阅读 · 0 评论 -
中央处理器 —— 数据通路
一、数据通路的功能数据在功能部件之间传送的路径称为数据通路,建立数据通路的任务是由“控制部件"来完成的内部数据通路:CPU内部的数据传送通路,用于在寄存器之间或寄存器与ALU之间传送数据。外部数据通路:一般借助系统总线,将寄存器(MAR和MDR)与存储器和I/O模块连接起来。内部总线:是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线系统总线:是指同一台计算机系统的各部件,如C...原创 2019-08-06 23:04:11 · 3342 阅读 · 1 评论 -
总线 —— 总线仲裁
一、总线仲裁的定义为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始传送数据。二、总线仲裁的分类总线仲裁方式按其仲裁控制机构的设置可分为集中仲裁方式和分布仲裁方式。将总线上所连接的各类设备按其对总线有无控制功能分为:主设备:对总线有控制权,信息的传送是由主设备启动的从设备:对总线没有控制...原创 2019-08-13 20:42:33 · 15440 阅读 · 9 评论 -
I/O 方式 —— 通道控制方式
一、基本概念二、工作流程原创 2019-09-28 14:50:13 · 5421 阅读 · 0 评论 -
I/O 方式 —— DMA方式
一、DMA方式的接口结构原创 2019-09-02 20:17:57 · 3740 阅读 · 0 评论 -
I/O方式 —— 程序中断方式
一、工作流程中断请求:中断源向CPU发送中断请求信号。中断判优:多个中断源同时提出请求时,通过中断判优逻辑响应一个中断源。中断响应及中断隐指令。中断向量:中断服务程序寻址执行中断服务程序步骤一:中断请求(1)中断请求分类程序中断方式属于I/O 中断,因此属于外中断。硬件中断:通过外部的硬件产生的中断。硬件中断属于外中断。软件中断:通过某条指令产生的中断,...原创 2019-09-01 12:06:01 · 16463 阅读 · 1 评论 -
I/O方式 —— 程序查询方式
一、程序查询方式接口结构主机进行 I/O 操作时,先发出询问信号,从 设备状态寄存器 中读取设备的状态并根据设备的状态决定下一步操作是进行数据传送还是等待 (数据缓冲寄存器 DBR)二、工作流程...原创 2019-09-01 10:57:58 · 5642 阅读 · 0 评论 -
I/O系统 —— I/O接口
一、I/O 接口的功能设备选址传送命令传送数据反映 I/O 设备的工作状态二、I/O 接口的基本结构三、I/O 接口数据传输过程四、I/O 接口的类型五、接口与端口六、I/O 端口及其编址(1)统一编址(2)独立编址...原创 2019-08-30 20:32:19 · 1056 阅读 · 0 评论 -
I/O系统 —— 外部设备
外部设备也称外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置。一、输入设备用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。(1)键盘键盘输入信息可分为3个步骤:①查出按下的是哪个键;②将该键翻译成能被主机接收的编码,如ASCll码;③将编码传送给主机。(2)鼠标当鼠标在平面上移动时,其底部传感器把运动的方向和距离检测出来,从而控制光...原创 2019-08-21 15:44:22 · 1139 阅读 · 0 评论 -
I/O系统 —— 基本概念
一、I/O 系统的演变过程演变总体趋势是:I/O设备对CPU的依赖越来越低二、I/O 系统基本组成一般来说,I/0系统由I/O软件和I/O硬件两部分构成。(1)I/O软件包括驱动程序、用户程序、管理程序、升级补丁等。(2)I/O硬件包括外部设备、设备控制器和接口、I/O总线等。三、I/O 控制方式简介(1)程序查询方式(2)程序中断方式需要CPU中断自己的任务,...原创 2019-08-21 14:53:04 · 3317 阅读 · 0 评论 -
指令流水线 —— 影响流水线的因素
一、结构相关(资源冲突)二、数据相关(数据冲突)三、控制相关(控制冲突)原创 2019-08-11 22:58:51 · 3343 阅读 · 0 评论 -
指令流水线 —— 分类和多发技术
一、指令流水线的分类(1)按照使用级别分根据流水线使用的级别的不同,流水线可分为部件功能级流水线、处理机级流水线和处理机间流水线。部件功能级流水:将复杂的算术逻辑运算组成流水线工作方式。例如,可将浮点加法操作分成求阶差、对阶、尾数相加以及结果规格化等4个子过程。处理机级流水:将一条指令解释过程分成多个子过程,如前面提到的取指、译码、执行、访存及写回5个子过程。处理机间流水:是一种宏流水...原创 2019-08-11 22:46:52 · 3735 阅读 · 1 评论 -
指令流水线 —— 表示方法和性能指标
一、指令流水的定义计算机的流水线把一个重复的过程分解为若干子过程,每个子过程与其他子过程并行执行。由于采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术。二、流水线的表示方法三、流水线的性能指标...原创 2019-08-11 20:46:44 · 839 阅读 · 0 评论 -
中央处理器 —— 硬布线控制器和微程序控制器
一、控制器的结构和功能运算器是组合逻辑电路(输入),控制器是时序逻辑电路(输入+状态)控制器是计算机系统的指挥中心,控制器的主要功能有:1)从主存中取出一条指令,并指出下一条指令在主存中的位置。2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。3)指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。二、控制单元的输入和输出三、硬布线控制器硬布线控制...原创 2019-08-10 10:44:41 · 19655 阅读 · 4 评论 -
总线 —— 总线操作和定时
一、总线传输的四个阶段二、同步定时方式三、异步定时方式原创 2019-08-13 23:31:17 · 2053 阅读 · 1 评论 -
主存与CPU的连接 —— 主存容量的扩展
一、位扩展法二、字扩展法字扩展是指增加存储器中字的数量,而位数不变。采用字扩展时,各芯片连接地址线的方式相同,连接数据线的方式也相同,但在某一时刻只需选中部分芯片,所以通过片选信号CS或采用译码器设计连接到相应的芯片。如图所示,用 4三、字位同时扩展字位同时扩展是指既增加存储字的数量,又增加存储字长。采用字位同时扩展时各芯片连接地址线的方式相同,但连接 数据线 的方式不同,而且需...原创 2019-07-25 12:09:11 · 2841 阅读 · 4 评论 -
数制和编码 —— 大小端模式和边界对齐
一、大端模式和小端模式计算机的字节顺序模式分为大端数据模式和小端数据模式,它们是根据数据在内存中的存储方式来区分的Little-Endian 就是低位字节存放在内存的低地址端,高位字节存放在内存的高地址端。Big-Endian 就是高位字节存放在内存的低地址端,低位字节存放在内存的高地址端。举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:(1)大端模式(正序):...转载 2019-07-25 11:22:45 · 1272 阅读 · 0 评论 -
数据的表示和运算 —— 定点表示和浮点表示的区别
定点表示和浮点表示的区别(1)数值的表示范围若定点数和浮点数的字长相同,则浮点表示法所能表示的数值范围将远远大于定点表示法。(2)精度所谓精度,是指一个数所含有效位的尾数。对于字长相同的定点数和浮点数来说,浮点数虽然扩大了数的表示范围,但精度也随之下降。(3)数的运算浮点数包括阶码和尾数两部分,运算时不仅要做尾数的运算,还要做阶码的运算,而且运算结果要求规格化,所以浮点运算比定点运算复...转载 2019-07-14 22:09:53 · 4550 阅读 · 0 评论 -
数值的表示和运算 —— 强制类型转换
一、无符号数和有符号数之间的转换强制类型转换的结果保持位值不变,仅改变了解释这些位的方式(1)有符号数转换为无符号数int man(){ short x=-4321; unsigned short y=(unsigned short)x;}输出结果为 x=-4321,y=61215(2)无符号数转换成有符号数int main(){ unsigned short 655...原创 2019-07-10 15:37:54 · 2375 阅读 · 0 评论 -
定点数的计算 —— 符号扩展、溢出判断
一、符号扩展定点数表示的数转换成具有不同位数的某种表示形式。对于正数,新表示形式的所有附加位都用0进行填充对于负数原码的所有附加位都用0进行填充反码的所有附加位都用1进行填充补码的所有附加位都用1(对于整数)或0(对于小数)进行填充二、溢出判断方法一:采用一位符号法当参加操作的两个数符号相同,结果又与原操作数符号不同,则表示结果溢出。方法二:采用双符号位最高位符号...原创 2019-07-10 15:09:37 · 8955 阅读 · 1 评论 -
定点数的运算 —— 逻辑移位、算术移位、循环移位
一、逻辑移位逻辑移位的对象是无符号数,移位规则:逻辑左移时,高位移丢,低位添0;逻辑右移时,低位移丢,高位添0二、算术移位算术移位的对象是有符号数,在移位的过程中符号位保持不变。三、循环移位(a)不带进位的循环右移:操作数循环右移位,空出的高位部分由移出的低位部分来填充。同时,CF中只保存最后一次移出的那一位的内容(b)带进位的循环右移:操作数连同CF位循环右移,用原CF的值...原创 2019-07-10 13:57:42 · 16655 阅读 · 4 评论 -
定点数的运算 —— 原码、补码的除法运算
一、引入我们按照常规的方法进行除法运算,计算机需要解决两个问题:①被除数和除数的大小比较;② 每次计算余数位数不断扩大。因此,我们提出了原码恢复余数法、原码不恢复余数法、补码加减交替法。二、原码恢复余数法符号位与数值位分开求,商符由两个数的符号位“异或”形成题目步骤一被除数 x 和除数 y 均取绝对值参加运算符号位为 xs⊕ysx_s⊕y_sxs⊕ys计算除数y的绝...原创 2019-07-14 01:15:32 · 7163 阅读 · 4 评论 -
定点数的运算 —— 原码、补码的加减法运算
一、原码的加减法运算加法规则:先判断符号位,若相同,则绝对值相加,结果符号位不变;若不同,则做减法,绝对值大的数减去绝对值小的数,结果符号位与绝对值大的数相同减法规则:减数符号取反,然后按加法规则进行计算以 14-14 为例:二、补码的加减法运算符号位要作为数的一部分一起参加运算,符号位产生的进位要丢掉逢二进一参与运算的两个操作数均用补码表示...转载 2019-07-09 21:47:28 · 22864 阅读 · 3 评论 -
有符号数的表示 —— 原码、反码、补码、移码
一、原码用机器数的最高位表示该数的符号,其余的各位表示数的绝对值二、反码纯小数反码纯整数反码三、补码补码的优点是:易于进行加减运算纯小数补码纯整数补码四、移码移码常用来表示浮点数的阶码,它只能表示整数。移码中的逗号不是小数点,而是表示左边一位是符号位。移码中的符号位规律与原码、补码、反码相反,1表示正数,0表示负数同一个真值的移码和补码仅...原创 2019-07-09 21:29:15 · 3550 阅读 · 0 评论 -
定点数的表示 —— 无符号数、有符号数、定点小数、定点整数
一、无符号数整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。n位的无符号数表示范围为:000 ~ 2n−12^n-12n−1二、有符号数有符号数用“0”表示“正”号,用“1”表示“负”号。有符号数的机器表示有原码、补码、反码和移码。三、定点小数和定点整数定点表示即约定机器数中的小数点位置是固定不变的。根据小数点固定的位置不同可以分为定点小数和定点整数。...原创 2019-07-09 20:46:15 · 17313 阅读 · 6 评论 -
计算机组成原理 —— 进制的转换
一、十进制转换成任意进制数(以二进制为例)将(75.3)10(75.3)_{10}(75.3)10转换成二进制(1)取整数部分故(75)10=(1001011)2(75)_{10}=(1001011)_2(75)10=(1001011)2(2)取小数部分故(0.3)10=(0.01001...)2(0.3)_{10}=(0.01001...)_2(0.3)10=(0.0100...原创 2019-07-09 08:19:02 · 1288 阅读 · 0 评论 -
BCD码 —— 8421码,余3码,2421码
通常采用4位二进制数表示一位十进制数中的0~9这10个数码。这种编码方法使二进制数和十进制数之间的转换得以快速进行。但4位二进制数可以组合出16种代码,故必有6种状态为冗余状态一、8421码从1011到1111这6个为无效码,当运算结果落于这个区间时,需要将运算结果加上6二、余3码三、2421码大于等于5的4位二进制数中最高位为1,小于5的最高位为0...原创 2019-07-09 08:17:03 · 35306 阅读 · 4 评论 -
计算机组成原理 —— ASCII码、汉字的表示和编码
一、ASCII码二、汉字的表示和编码汉字的编码包括汉字的输入编码、汉字内码、汉字字形码区位码和国标码都是输入码,它们和汉字内码的关系如下国标码=(区位码)16+2020H国标码=(区位码)_{16}+2020H国标码=(区位码)16+2020H汉字内码=(国标码)16+8080H汉字内码=(国标码)_{16}+8080H汉字内码=(国标码)16+8080H三、字符串的存放...转载 2019-07-09 08:15:24 · 4639 阅读 · 0 评论