![](https://i-blog.csdnimg.cn/direct/f833ddf1b7d24a5fadfbca885b3d00f0.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机组成原理
文章平均质量分 82
计算机组成原理的相关知识理解
码明
独学无友,则孤陋而难成。
展开
-
计算机的性能指标
它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞社量主要取决于主存的存取周期。基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程宁的其它计算机性能进行比较。指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频。指cpu一次能处理的二进制数据的位数。原创 2024-08-11 17:50:27 · 703 阅读 · 0 评论 -
进制的转换
进位计数法是一种表示数值的系统,在这种系统中,数字的位置决定了它的权重。最常见的进位计数法是十进制系统,但还有其他进制系统,如二进制、八进制和十六进制。原创 2024-08-05 15:27:09 · 405 阅读 · 0 评论 -
什么是BCD码?
BCD码(Binary-Coded Decimal,二进制编码十进制)是一种用于表示十进制数字的二进制编码方式。它将每一个十进制数字(0-9)用四位二进制数来表示。以下是BCD码的由来和原理的详细讲解,并附有示例。原创 2024-08-05 15:33:17 · 315 阅读 · 0 评论 -
一篇文章让你搞懂原码,反码,补码!
机器数是指计算机内部用来表示数值的二进制数。机器数通常包括符号位和数值位,其中符号位用于表示正负,数值位用于表示数的大小。计算机处理和存储数据时,使用的是机器数。原创 2024-08-04 13:06:39 · 1296 阅读 · 1 评论 -
什么是移码?
原码、补码、反码的符号位相同,正数的机器码相同。原码、反码的表示在数轴上对称,二者都存在+0和-0两个零。补码、移码的表示在数轴上不对称,零的表示唯一,它们比原码、反码多表示一个数。整数的补码、移码的符号位相反,数值位相同。负数的反码、补码末位相差1。原码很容易判断大小。而负数的反码、补码很难直接判断大小,可采用如下规则快速判断:对于负数,数值部分越大,绝对值越小,真值越大(更靠近0)。原创 2024-08-05 16:21:47 · 926 阅读 · 0 评论 -
计算机系统层次结构
对某一功能来说,既可以由硬件实现,又可以由软件实现,从用户的角度来看,它们在功能上是等价的。将PC的内容送MAR,MAR 中的内容直接送地址线,同时控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上,MDR从数据线接收指令信息,并传送到IR中。将IR中指令的地址码送MAR,MAR中的内容送地址线,同时控制器将读信号送读/写信号线,从主存中读出操作数,并通过数据线送至MDR,再传送到ACC中。在本例中,IR中是取数指令,因此读控制信号被送到总线的控制线上。原创 2024-08-10 18:57:11 · 606 阅读 · 0 评论 -
一篇文章让你用我的世界中的红石搞懂什么是ALU!
开关的开开关的关灯的亮灯的不亮 七种常见的逻辑门真值表 :所有输入为高时,才会有输出高。逻辑函数表示为F=A*B。 :所有输入为低时,才会有输出低。逻辑函数表示为F= A + B。 :逆转输入的高低状态。逻辑函数表示为F=A’。 4、 与非门:所有输入为高时,才会有输出低。逻辑函数表示为F=(A*B)’。 :所有输入为低时,才会有输出高。逻辑函数表示为F=(A + B)’。 :输入相同时输出为低,否则为高。逻辑函数表示为F=A’B + AB’。 :与异或门相反。输入相同时输出为高,否则为低。逻辑函数表原创 2024-08-05 13:07:42 · 1143 阅读 · 0 评论 -
定点数的运算
码制添补代码正数原码0反码0补码0负数原码0反码1补码左移添0右移添1。原创 2024-08-07 21:07:12 · 756 阅读 · 0 评论 -
C语言中整数类型及其类型转换
在C语言中,有符号数和无符号数之间的转换可以通过类型转换(type casting)实现。需要注意的是,这种转换会影响数值的解释。原创 2024-08-05 17:41:08 · 813 阅读 · 0 评论 -
浮点数及其计算
浮点数(floating-point number)是一种用于表示实数的计算机数据类型,可以表示非常大或非常小的数,同时也可以表示带小数的数。浮点数通常用科学计数法表示,其中包含一个有效数字和一个指数。例如,3.14可以表示为3.14×10^0,而3000可以表示为3.0×10^3。原创 2024-08-08 10:34:48 · 1456 阅读 · 0 评论 -
存储器的分类
主存储器(内存)原创 2024-08-11 18:38:33 · 269 阅读 · 0 评论 -
存储器芯片的基本原理
给MOS管一个阈值电压(5v)就能够导电,若是不给那么就是一个绝缘体不会导电。通常在电容中保存着数据0或1,那么如何去读取呢?可以给MOS管加电流,若是达到阈值5V,此时右端就会流出1,否则就会流出0。可以在MOS管的右端加一个5v的高电平,同时也给MOS管加一个5v的电平,此时MOS管就可以接通,电容中就会存储1,此时MOS管端口,电容里的电荷就跑不出去了。原创 2024-08-12 22:55:50 · 782 阅读 · 0 评论 -
SRAM和DRAM
由于DRAM使用的存储元是栅极电容,电容内的电荷只能维持2ms。即便不断电,2ms后信息也会消失。而SRAM使用的双稳态触发器就不会,只要不断电触发器的状态就不会改变。所以2ms内就需要给DRAM中的电容充电,这就叫作刷新。原创 2024-08-12 23:35:43 · 738 阅读 · 0 评论 -
提升主存的速度
一个存储器的存取周期中正真用来读写的时间其实占很少一部分,而另外一部分则是由于存储器的自身构造,需要一段时间来恢复某些存储单元,以便该单元下次还可以被访问。对于DRAM芯片读请求是破坏性请求,读取之后需要进行恢复,存取时间就是DRAM读取一个字的时间,读完之后则需要一段恢复时间,在这个恢复时间中CPU无法访问。而SRAM得恢复时间就很少。而这段恢复时间可以干什么呢,就非要cpu一直等待它恢复吗?当然不需要,我们可以将这段时间用来cpu去读写别的地方。原创 2024-08-13 11:10:19 · 654 阅读 · 0 评论 -
认识多种ROM(外存,辅存)
在EEPROM 基础上发展而来,断电后也能保存信息,且可进行多次快速擦除重写注意:由于闪存需要先擦除在写入,因此闪存的“写”速度要比“读”速度更慢,每个存储元只需单个MOS管,位密度比RAM高。)构成,与闪速存储器的核心区别在于控制单元不一样,但存储介质都类似,可进行多次快速擦除重写。Erasable Programmable Read-Only Memory--可擦除可编程只读存储器。Programmable Read-OnlyMemory--可编程只读存储器。--闪速存储器(注:U盘、SD卡就是闪存)原创 2024-08-12 22:13:05 · 488 阅读 · 0 评论 -
存储器与CPU的连接
单独的一块独立的存储芯片提供的线有:地址总线,数据总线,读写控制线,片选线,如果该存储器只有八根数据总线用于输出数据,而cpu一次可以读64位的数据呢?我们可以将八块这样的芯片通过合理的连接方式连接上cpu,使得CPU一次可以读出64位的数据,这就时位扩展。原创 2024-08-13 16:47:57 · 295 阅读 · 0 评论 -
磁盘存储器
一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区(也称块)是磁盘读写的最小单位,也就是说磁盘按块存取。磁头数(Heads):即记录面数,表示硬盘总共有多少个磁头,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头。柱面数(Cylinders):表示硬盘每一面盘片上有多少条磁道。在一个盘组中,不同记录面的相同编号(位置)的诸磁道构成一个圆柱面。扇区数(Sectors):表示每一条磁道上有多少个扇区。原创 2024-08-13 17:43:35 · 1045 阅读 · 0 评论 -
固态硬盘SSD
问:某固态硬盘采用磨损均衡技术,大小为2^40B=1TB,闪存块的擦写寿命只有2^10-1K次。因此,平均每8天,每个闪存块需要擦除一次。每个闪存块可以被擦除1K次,因此,经过8K天,约23年后,该固态硬盘被男子玩坏。SSD采用磨损均衡技术,最理想情况下,SSD中每个块被擦除的次数都是完全均衡的。基于闪存技术 Flash Memory,属于电可擦除ROM,即EEPROM。所以固态也是很耐造的,况且现在的技术可以让内存块擦除的次数更多。闪存翻译层-负责翻译逻辑块号,找到对应页(Page)原创 2024-08-13 18:04:17 · 422 阅读 · 0 评论 -
Cache
LRU算法--基于“局部性原理”,近期被访问过的主存块,在不久的将来也很有可能被再次访问,因此淘汰最久没被访问过的块是合理的。若被频繁访问的主存块数量Cache行的数量,则有可能发生“抖动”如:{1,2,3,4,5,1,2,3,4,5,1,2...}采用全相联映射,依次访问主存块{1,2,3,4,1,2,5,1,2,3,4,5}采用全相联映射,依次访问主存块(1,2,3,4,1,2,5,1,2,3,4,5}采用全相联映射,依次访问主存块{1,2,3,4,1,2,5,1,2,3,4,5}原创 2024-08-14 17:25:28 · 996 阅读 · 0 评论 -
虚拟存储器
虚拟存储器和Cache都是为了提高系统性能的关键技术,但它们的工作层次和实现方式不同。虚拟存储器主要解决内存和磁盘之间的访问问题,而Cache则主要用于加速CPU对主存的访问。理解这两者的原理和区别有助于更好地设计和优化计算机系统。原创 2024-08-14 17:36:40 · 790 阅读 · 0 评论 -
指令及指令系统
指令(又称机器指令):是指示计算机执行某种操作的命令是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。Eg:x86 架构、ARM架构。原创 2024-08-15 21:18:06 · 778 阅读 · 0 评论 -
指令的寻址方式
什么是指令寻址? 1.确定下一条要执行的指令的存放地址;2.由程序计数器 PC 指明 。指令寻址方式有两种:一种是顺序寻址方式,另一种是跳跃寻址方式。 通过程序计数器PC加“1”(1个指令字长),自动形成下一条指令的地址。注意加的“1”是指令的字长:这个是定长指令,那要是变长指令怎么办呢? 注意:每一条指令的执行都分为“取指令”以及“执行”两个阶段 PC里永远存的都是下一条指令的地址,所以在执行当前指令时的取指令结束阶段会根据操作码判断这条指令的总字节数n,来决定下一条指令的起始地址,也就是将pc+原创 2024-08-16 17:59:04 · 666 阅读 · 0 评论 -
AT&T格式与Intel格式x86汇编指令的区别
这个公司的创始人就是发明电话的贝尔,而Unix和C语言都是出自贝尔实验室的产物。原创 2024-08-18 15:58:05 · 380 阅读 · 0 评论 -
CISC和RISC
ComplexInstruction Set Computer复杂指令集计算机。原创 2024-08-18 16:25:36 · 253 阅读 · 0 评论 -
CPU的功能和基本结构
指令控制、操作控制、时间控制、数据加工、中断处理。原创 2024-08-19 11:31:14 · 583 阅读 · 0 评论 -
指令执行过程
也称为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位。(CPU的性能指标中的主频的倒数就是CPU的时钟周期)指令周期常常用若干机器周期来表示,机器周期又叫CPU周期。每个指令周期内机器周期数可以不等,每个机器周期内的节拍数也可以不等。CPU从主存中每取出并执行一条指令所需的全部时间。一个机器周期又包含若干时钟周期。原创 2024-08-19 17:59:33 · 551 阅读 · 0 评论 -
CPU内部单总线数据通路各阶段的微操作序列利控制信号
内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线;系统总线是指同一台计算机系统的各部件,如CPU、内存、通道和各类/0接口间互相连接的总线。原创 2024-08-20 21:10:16 · 307 阅读 · 0 评论 -
CPU内部专用数据通路各阶段的微操作序列利控制信号
由于是专用数据通路,只要两个元器件之间有数据流动就需要一条数据通路,造价昂贵,所速度十分迅速,以至于有一些微操作可以在同一时间并行完成。原创 2024-08-21 09:19:52 · 423 阅读 · 0 评论 -
硬布线控制器的设计
这些步骤中的每一个具体操作,诸如将数据从一个寄存器传送到另一个寄存器,或者将数据从寄存器传送到数据总线,这些操作都称为微操作。这些微操作通常在一个时钟周期内完成,而一条完整的机器指令可能需要多个时钟周期才能完成,因为它包含多个微操作。微操作的执行是实现复杂指令功能的基础,因此在设计和理解计算机体系结构时,理解微操作的概念非常重要。它指的是在计算机的中央处理单元(CPU)内部进行的一种基本操作,是指令执行过程中最小的、不可再分的操作步骤。一条指令执行时包括几个机器周期例如:取值,间址,执行,中断。原创 2024-08-21 17:15:07 · 1112 阅读 · 0 评论 -
微程序控制器的设计
首先我们来看高级语言转换到汇编语言,可以知道高级语言是可以被翻译成一条条的汇编指令序列的。每条指令对应不同的机器周期,不同的机器周期对应着不同的微操作,CU就是发出微命令(每个微命令都对应一个微指令)来统筹CPU内部的执行工作的。基于高级语言的思想,我们可以将多个微操作整合成一个微指令,而多个微指令整合成一个微程序,这个微程序就负责完成每条指令的执行。其中的关系如下图示:Tips:物理上,取指周期、执行周期看起来像是两个微程序但逻辑上应该把它们看作一个整体。因此,“一条指令对应一个微程序。原创 2024-08-23 22:52:23 · 848 阅读 · 0 评论 -
指令流水线
指令流水线(Instruction Pipeline)是提高处理器执行效率的一种重要技术。它通过将指令的执行过程分解为多个独立的阶段,每个阶段使用不同的硬件资源,从而实现多个指令的并行处理。原创 2024-08-24 22:53:05 · 849 阅读 · 0 评论 -
多处理器的基本概念
SISD(单指令流单数据流)特性 各指令序列只能并发、不能并行,每条指令处理一两个数据 不是数据级并行技术 硬件组成 一个处理器+一个主存储器 若采用指令流水线,需设置多个功能部件 采用多模块交叉存储器 SIMD(单指令流多数据流)特性 各指令序列只能并发,不能并行, 是一种数据级并行技术 硬件组成 一个指令控制部件(CU) + 多个处理单元/执行单元(ALU) + 多个局部存储器 + 一个主存储器 每个执行单元有各自的原创 2024-08-29 15:53:18 · 300 阅读 · 0 评论 -
硬件多线程
在传统CPU中,线程的切换包含一系列的开销,频繁的切换会极大影响系统的性能,为了减少线程切换过程中的开销,便诞生了硬件多线程,在支持硬件多线程的CPU中,必须为每个线程提供单独的通用寄存器组,单独的程序计数器,线程的切换只需要激活选中的寄存器,从而省略了于存储器交换数据的环节,大大减少了线程切换的开销。原创 2024-08-29 16:04:16 · 249 阅读 · 0 评论 -
计算机中的总线
总线是一组能为多个部件分时共享的公共信息传送线路。共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息为什么要用总线?早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。为了更好地解决IO设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。原创 2024-08-30 17:51:58 · 1080 阅读 · 0 评论 -
I/0系统基本概念
输入设备、输出设备、外存设备、I/O接口(I/O控制器)原创 2024-08-31 14:24:35 · 498 阅读 · 0 评论 -
中断interrupt
程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。原创 2024-08-31 21:53:57 · 1248 阅读 · 0 评论 -
多重中断Multiple interrupt
多重中断就是中断的时候还能响应中断因为本质上中断服务程序也是一个程序而已多增加了两个步骤,也即保护现场后的开中断和修改屏蔽字,以及执行中断服务后的关中断屏蔽字是为了解决中断是否被中断中断的优先级问题开中断关中断。原创 2024-09-01 09:34:50 · 377 阅读 · 0 评论 -
I/O方式
1/0端口每收到一个字符申请一次中断,中断响应需10个时钟周期,中断服务程序共有20条指令,其中第15条指令启动D工作。在中断响应阶段CPU进行了哪些操作?设备D采用异步串行通信方式向主机传送7位ASCII字符,通信规程中有1位奇校验位和1位停止位,从D接收启动命令到字符送入1/0端口需要0.5ms。0.5ms对应时钟周期数为 0.5ms/20ns=25000传送1个字符需要的时钟周期数为 25000+10+15x4=25070传送1000个字符需要的时钟周期数为25070x1000=25070000。原创 2024-09-01 17:57:21 · 1331 阅读 · 0 评论