![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计原
花生酱拌面
这个作者很懒,什么都没留下…
展开
-
计算机组成原理——DMA传输方式
(截图来自MOOC平台计算机组成原理课程)一般情况下,存储器与IO设备的数据交互都要通过CPU来进行,而DMA控制器可以实现存储器和IO设备间数据的直接交换。DMA如果作为主设备,那么就有占用总线的权利,可以直接控制IO设备与内存之间的数据交换。此时系统中至少存在DMAC和CPU两个主设备,所以需要仲裁器。将DMAC和IO接口集成,那么IO设备也成为了主设备;或者DMAC作为桥接器,提供IO总线。DMA传输有以下4个步骤:这种工作模式下,DMAC获得.原创 2021-07-13 16:07:36 · 6620 阅读 · 1 评论 -
计算机组成原理——输入输出方式
(截图来自MOOC平台华中科技大学计算机组成原理课程)无条件IO方式即是在CPU读取和写入数据到外部设备时,都必须保证外部设备的工作状态已经准备好了,无需CPU查询。程序控制IO方式与无条件IO方式不同,计算机在执行IO指令时,要先获得外设的状态。程序发出IO指令,询问设备是否就绪,未就绪的话,重复查询,直到到达查询次数上限或者设备就绪为止。这种方式会导致CPU使用大量时间来查询外设状态。为了解决CPU被过度占用的问题,又出现了中断IO方式。外设准备好后主动通原创 2021-07-13 15:03:51 · 948 阅读 · 0 评论 -
计算机组成原理——输入输出接口概述
(截图来自MOOC平台华中科技大学计算机组成原理课程)输入输出系统包括外部设备、接口部件、总线及相应的管理软件。IO系统需要完成计算机内部的二进制信息和外部多种信息的交换,方便CPU选择输入输出设备,传输正确数据,还要实现主机与外设之间速度的匹配。硬盘就属于存储IO,通信芯片就属于通信IO。...原创 2021-07-13 10:53:09 · 512 阅读 · 0 评论 -
计算机组成原理——总线标准
(截图来自MOOC平台华中科技大学计算机组成原理课程)ISA是最早的总线标准,其后又有改进版本。PCI标准是现行的PC机常用的标准,地址总线和数据总线是分时复用的,能够插即用。AGP总线主要用于显卡接口。PCIe相较于以前的总线标准,吞吐量更大,还有不同的接口模式。USB总线是目前个人电脑和笔记本最常用的外部通用串行总线。USB总线中有四线电缆,两根用于传送数据,两根用于提供电源,采用的是差分信号。采用级联星型拓扑结构,最上层是主机,其原创 2021-07-12 17:10:41 · 2614 阅读 · 0 评论 -
计算机组成原理——总线仲裁和数据传输方式
(截图来自MOOC平台华中科技大学计算机组成原理课程)每一个主设备通过三条线和CPU连接起来,当总线忙信号无效时,主设备能够通过请求线发送请求信号。当主设备1发送请求信号后,总线应答只会发送给主设备1,这时总线忙信号有效,主设备1获得总线的控制权;只有当主设备1没有发送请求信号时,主设备2才会有获得总线控制权的机会。这样的仲裁方式并不合理,优先级靠前的设备会过多占用总线资源。集中式并行总线仲裁中,所有的设备都通过三条线连接到逻辑控制电路,再根据相应的仲裁策略获得总线使用权。固原创 2021-07-12 16:24:26 · 1735 阅读 · 0 评论 -
计算机组成原理——总线连接方式
(截图来自MOOC平台华中科技大学计算机组成原理课程)单级总线结构即只有一条系统总线,所有的功能部件都连在系统总线上,但由于公用一条总线,所以设备需要分时工作,速度慢。CPU和内存之间增加了内存总线,CPU和内存之间的数据交换直接通过内存总线进行,并行性更好。图右取消了内存和IO总线之间数据交换的接口,节省了费用,但IO和内存的数据交换都必须通过CPU来进行。增加了IO总线,系统总线和IO总线间通过IO通道连接起来。桥用来接连不同速率的总线。如图是多级总线的结构:原创 2021-07-12 11:10:20 · 5697 阅读 · 0 评论 -
计算机组成原理——总线性能和总线事务
(截图来自MOOC平台华中科技大学计算机组成原理课程)将总线类比为高速公路,总线频率即是高速公路上车辆的速度;总线宽度即是高速公路的车道数量,一般与处理器的字长相等;总线传输速率即是高速公路的车流量,等于(总线宽度/8)* 总线频率。总线事务就是一个总线周期中发生的一系列活动。主设备拥有总线的控制权,从设备只能被动接受总线控制传送数据。总线的一次数据传输,包括4个阶段:申请与仲裁阶段:节点申请数据传输并经过仲裁判断是否获得总线使用权;传输阶段;寻址阶段;原创 2021-07-12 10:15:06 · 5032 阅读 · 2 评论 -
计算机组成原理——系统总线的特性及其应用
(截图来自MOOC平台华中科技大学计算机组成原理课程)总线的功能就是将计算机系统中的各个功能部件连接起来。总线的作用和要求如下;承担通道、接口的作用,致力于实现标准化的计算机系统。存储器用于CPU和存储器之间的数据传输,用途比较单一,距离较短,相当于F1赛车赛道,速度快,车辆种类单一。系统总线是最重要的总线,连接着I/O总线和中间总线,传输的信号种类较多,速度较快,相当于高速公路。I/O总线用于连接各种外部设备,速度较慢,相当于城市公路或乡村公路。外部总线即机原创 2021-07-12 09:47:10 · 960 阅读 · 0 评论 -
计算机组成原理——多周期MIPS CPU的数据通路
单周期MIPS CPU中LW指令的数据通路如图所示:根据(PC)从IR中取出对应的指令,从寄存器堆中取出对应的操作数,而指令中的立即数经过位数扩展送到ALU地B端,和从源寄存器中取出的操作数进行运算,结果送到数据存储器,取出对应地址的数据再写入到对应的目标寄存器中。在这个过程中会经历触发器延迟Tclk-to-q,访存延迟Tmem,寄存器读延迟Tregfile-read,运算延迟Talu,多路选择器延迟Tmux,保持时间Tsetup。在单周期MIPS CPU中,指令周期取决于最慢的指令,那么如何可原创 2021-07-11 17:48:05 · 8570 阅读 · 2 评论 -
计算机组成原理——微指令格式
(截图来自MOOC平台华中科技大学计算机组成原理课程)微指令的设计应当要遵循如下的原则。根据以上原则,我们发现水平微指令的长度太长,控存容量大,如何去压缩微指令的长度?途中给出了三条解决思路,我们一一分析。1.编码表示在微指令的操作控制字段,有很多字位是相斥的,即在给出一个控制信号的同时,其他的控制信号都无法给出。如上图中的前七个out输出控制信号,以及最后三个运算控制信号。呢么我们可以考虑将这些互斥的命令用编码方式表示,7个out字位可以用一个3位编码表示,一共8种状态,.原创 2021-07-11 15:36:26 · 19857 阅读 · 1 评论 -
计算机组成原理——微程序设计
(截图来自MOOC平台华中科技大学计算机组成原理课程)微程序一般由多条微指令组成,每一条微指令由操作控制字段和顺序控制字段两部分组成,每条微指令对应一个时钟周期。以取指令的过程为例,每一个节拍都需要若干条控制信号,这些信号由微指令的操作控制字段给出,而下一条指令的地址由顺序控制字段确定。T1时,需要的命令时PCout、Xin、ARin这三个控制信号,而此时的微地址为0000,取值微程序还没有结束,所以顺序控制字段的判别字P1、P2为0,下址字段存放的就是下一条微指令的地址;T2时,需原创 2021-07-11 14:47:49 · 3209 阅读 · 0 评论 -
计算机组成原理——微程序控制器
(截图来自MOOC平台华中科技大学计算机组成原理课程)硬布线控制器存在一些缺陷:逻辑设计比较繁杂,而且每当需要新增或删除指令时,都需要对整个系统进行变更。因此,人们发明了微程序控制器。硬布线控制器的一条指令中有多个时钟周期,每个时钟周期对应一个状态,而一个状态对应一组并发控制信号。而微程序的思想是将并发信号事先存储为微指令,而一条指令就对应多条微指令,那么每一个状态就相当于是并发信号所在的存储器地址。微程序是一种软硬结合的思想,可以避免复杂的逻辑设计。下面以单总线结构的CPU为例原创 2021-07-09 17:16:47 · 6228 阅读 · 0 评论 -
计算机组成原理——硬布线控制器设计(2)
(截图来自MOOC平台计算机组成原理课程)传统时序在运行过程中常常会造成节拍的浪费,比如执行MOVE指令的时候,执行周期的T6、T7、T8节拍就被浪费掉了,为此人们设计了更快的现代时序。给所有可能用到的控制信号的每个节拍编号,如下就有S0—S15一共16个状态。我们可以用一个4位状态寄存器来表示这16种状态。与传统时序不同,这里的状态机设计需要考虑译码信号、反馈信号,而硬布线控制器输出的控制信号序列只与现态有关。当现态为S0、S1、S2时,次态都按正常顺序,而当现态为S3时,需要原创 2021-07-09 16:29:33 · 1407 阅读 · 0 评论 -
计算机组成原理——硬布线控制器设计(1)
MOVE指令的执行过程如下图所示,抛去取指令阶段,只需要一个时钟周期就可以完成。那么在这个过程中各个部件的控制信号是如何实现的,这就引出了控制器的设计。把控制器看作产生固定时序控制信号的逻辑电路,会有指令译码、时钟信号、反馈信号几个输入信号,输出的就是功能部件控制信号序列。如下指令中,LOAD指令的指令周期最长,需要8个时钟周期才能完成。对于传统三级时序而言,要取最长的指令周期作为机器周期的选择依据。下面依据传统三级时序设计硬布线控制器。首先要设计时序产生器。三级时序分别原创 2021-07-09 15:20:28 · 7391 阅读 · 0 评论 -
计算机组成原理——总线结构与CPU指令周期
以下是CPU执行的六条指令。取指令的过程:T1:PCout控制信号给出,PC中的地址给到AR寄存器和x锁存器,第一个时钟触发沿到来,Xin信号作用,(PC)到X锁存器中,来到ALU的左端。T2:(X)++,第二个时钟上升沿来临,计算结果写入Z寄存器。给出内存的读操作信号。T3:(Z)通过总线写入到PC中,完成++操作。根据AR中的地址,从内存中取出指令在第三个时钟触发沿到来时送到DR中。T4:(DR)通过总线在第四个时钟触发沿来临时写入IR寄存器中。以LOAD指令为例,将原创 2021-07-09 11:19:46 · 644 阅读 · 0 评论 -
计算机组成原理——数据通路实例
该架构中只有一条总线,所有的部件都挂在总线上。R0和R1中的数据由操作控制信号控制,输出到ALU的左右两端,计算完成后再写入到寄存器R2中。取指令时,根据PC从外部存储上获得指令的地址以及数据,分别存放在AR和DR寄存器中,将取出的指令送到IR中,经过译码、排序最终产生控制信号序列,控制各个部件。途中所有红色的控制流即为操作控制信号。如图是一个三总线结构,左边椭圆形的运算器部分和右边椭圆形的取指令部分是可以并发操作的。运算器部分的bus1可以通过两个三态门和BUS进行数据交流。相较于原创 2021-07-09 09:47:53 · 1458 阅读 · 0 评论 -
计算机组成原理——数据通路与总线系统结构
(截图来自MOOC平台华中科技大学计算机组成原理课程)数据通路分为共享通路和专用通路两种类型,专用通路可以看作多总线结构。而单总线的情况下,总线上的数据传输权成为稀缺资源,各部件需要分时使用总线,效率低下。以如下单总线结构为例:通用寄存器堆用于存储ALU要是用的操作数和计算结果,当接收一个读操作指令,即将选择的数据通过总线IB传输出去,接收一个写操作指令,即将数据写入寄存器中。LA和LB两个锁存器用于锁存从寄存器中读出的操作数,因为总线不能同时传输两个操作数,所以必须用锁存器暂时存储起来原创 2021-07-07 16:38:07 · 2241 阅读 · 0 评论 -
计算机组成原理——数据通路
(截图来自MOOC平台华中科技大学计算机组成原理课程)数据通路就是执行部件之间传送信息的路径,由控制信号控制,受始终驱动。以寄存器数据通路为例:将寄存器A中的值送到寄存器B中,那么需要给出一个RegAout的控制信号,输出A中数据,经过一段组合逻辑到达寄存器B,此时要给寄存器B一个RegBin的控制信号,让寄存器B接收数据。那么在这个过程中,CLK时钟信号起什么作用,始终频率又和什么有关了?寄存器由D触发器组成,一个D触发器相当于一个储存单元,能够储存一位数据。在时钟触发前,新到原创 2021-07-07 16:02:28 · 5577 阅读 · 0 评论 -
计算机组成原理——CPU的组成与功能
(截图来自MOOC平台华中科技大学计算机组成原理课程)计算机经过70余年的发展,相关技术突飞猛进,但总体来说仍然没有脱离冯诺依曼结构,而冯诺依曼结构简单来说就是程序存储和程序控制,而CPU的主要功能就是取指令和执行指令,这是由CPU中的运算器和控制器来实现的。运算器中ALU是算术逻辑单元,负责进行数据的运算;而通用寄存器用来暂存操作数和运算的结果;运算结束后的状态字会存在状态寄存器中,如溢出位、符号位等。一次完整的取指令、执行指令的步骤如下:1.根据程序计数器中地址通过地址总线访问主存,原创 2021-07-07 15:14:47 · 333 阅读 · 0 评论 -
计算机组成原理——MIPS指令概述
(截图来自MOOC平台华中科技大学计算机组成原理课程)(本文关于寻址方式的相关概念,可以参考前面的文章操作数寻址方式)MIPS指令只有三种指令格式,分别为R型、I型、J型。MIPS指令的操作数都为5位,那么指令可以访问的寄存器数量为32个。R型指令的操作码字段全为0,那么它的寻址方式完全有funct字段来说明。I型和J型指令则由OP来说明。此处要注意在汇编语言中,目标寄存器在命令的左边,而操作数寄存器在右边,但在指令中其实是相反的。...原创 2021-07-06 16:24:22 · 2501 阅读 · 0 评论 -
计算机组成原理——指令格式设计
(截图来自MOOC平台华中科技大学计算机组成原理课程)(如果本文内容有不理解的地方,可以参考我之前的关于寻址方式的两篇文章)操作码字段的位数要根据需要执行的操作数量来确定;寻址方式字段的位数根据支持的寻址方式数量确定;地址码字段位数根据需要访存的空间的大小来确定。60种操作——操作码字段6位;8种寻址方式——寻址方式字段3位;操作数2K范围——地址码字段位数11位;保存结果1K范围——地址码字段10位。80种操作——操作码字段7位;4种寻址方式——寻址方式字段2位。原创 2021-07-06 11:15:28 · 6588 阅读 · 2 评论 -
计算机组成原理——操作数寻址方式
(截图来自MOOC平台华中科技大学计算机组成原理课程)使用寻址方式有很多好处,比如缩短指令字长、方便程序设计、扩展访问空间。其中,不同的寻址方式会具有以上不同的特点。立即数寻址将操作数直接放在地址码字段,速度快,无需访问内存。寄存器寻址的速度快,也改善了立即数寻址数据大小受字段位数限制的缺点。直接寻址是根据地址直接去主存中读取该地址的内容,需要访问一次内存,访存空间受限于地址字段的位数。间接寻址是先访问主存获得操作数的地址,再通过该地址访问主存获得操作数。寄存器间接寻原创 2021-07-06 09:44:54 · 4584 阅读 · 0 评论 -
计算机组成原理——寻址方式及指令寻址
什么是寻址方式?寻址方式包括寻找指令和操作数的优先地址,其中对指令的寻址方式包括顺序寻址和跳跃寻址两种。其中顺序寻址即是从指令序列的第一条指令开始,逐条取出执行,关键在于第一条指令的地址又是如何得知的了?其实,在操作系统从主存中读取程序时,就已经加载了第一条指令的物理地址。PC中的程序首地址为100,那么即通过该地址找到第一条指令,并放到指令寄存器IR中,并将pc++。这里的+1指的是存储一条指令占用的字节单元数,对于32位系统来说就是4个单元。同样,当将地址为100的第一条原创 2021-07-02 15:16:02 · 1742 阅读 · 0 评论 -
计算机组成原理——指令系统概述及指令格式
(截图来自MOOC平台华中科技大学计算机组成原理课程)指令是指计算机能直接识别的机器指令。指令系统中的系列机和兼容机都是为了降低成本,使在不同机器上设计的指令集可以被使用。指令字长是根据指令中有多少个机器字长来确定的。根据指令的几个特性可以将指令分为几类。比如根据指令在计算机中的层次结构分类。机器语言处在指令集架构层,是软硬件的分界线和接口。一条汇编语言对应一条机器语言,而一条高级语言对应多条机器语言。机器语言本身也要有多条微指令来实现。根据地址码字段的个数分类。三地原创 2021-07-02 14:53:34 · 488 阅读 · 0 评论 -
计算机组成原理——RAID
为了解决以上问题,逐渐提出了RAID的概念,一是要提升数据的安全性,二可以通过并行读写提升访问速度。通过将多个物理磁盘组合在一起,组成一个逻辑磁盘。异或运算满足交换律。例如第一块磁盘数据为0,第二块磁盘数据为1,异或运算结果为1。此时第一块磁盘坏了,换成了一个新的磁盘,根据底单快磁盘中保存的之前两块磁盘的异或运算结果,便可以知道,第一块磁盘中的数据为0。RAID0不具备检验能力,安全性差,但速度快,比较方便。但磁盘越多,出故障的概率就越大。RAID1安全性高,但是空间利用率只..原创 2021-07-02 11:10:08 · 304 阅读 · 0 评论 -
计算机组成原理——地址转换后备缓冲器(TLB)
(截图来自MOOC平台华中科技大学计算机原理课程)在进行虚实地址转换的时候会存在多次访问主存导致Cache速度优越性难以体现的问题(虚实地址转换的相关内容可阅读我的上一篇文章虚拟存储器)。以一次命中的转换过程为例。处理器根据虚拟地址访问MMU,通过MMU分解出页表项的地址,根据该地址访问主存,再返回页表项的内容到MMU,判断该页表项在主存中,那么再根据拼接成的物理地址访问主存,获得数据。这样的过程需要访问主存2次。如果访问没有命中,那么将更为麻烦。在返回页表项内容时发现无效,出现缺页的情况,原创 2021-07-02 09:48:33 · 1317 阅读 · 0 评论 -
计原存储系统——虚拟存储器
(截图来自MOOC平台华中科技大学计算机组成原理课程)依据冯诺依曼体系,计算机是无法执行比主存空间还要大的程序的,这时就需要一些特殊的手段——虚拟存储器。主存和辅存之间数据的传输有页式、段式、段页式三种,也由此分别对应三种虚拟存储器。下面以页式存储器为例进行说明。针对以上两点问题,我们引入了MMU和页表来帮助解决,如何进行逻辑地址与物理地址的转换是虚拟存储器的重要内容。CPU给出一个虚拟地址,首先在页表中查询该内容是否存在主存中,如果是,进行逻辑地址到物理地址的转换,再从主存中找到相原创 2021-06-30 20:04:21 · 461 阅读 · 0 评论 -
存储系统——Cache的替换算法
截图来自MOOC平台华中科技大学计算机原理课程1.FIFO每一个数据块会有一个计数器,记录的是数据块进入Cache的顺序,当要载入数据块16(地址为16)时,发现数据块22的计数器数值是最大的,将其替换。2.LFU计数器记录的是数据块被使用即被命中的次数。当载入数据块4时,可以被替换的时命中次数最少的16和19数据块,此时可以结合其他替换算法比如FIFO,将其中进入时间较长的19替换。3.LRU计数器记录的是数据块未被使用的时间周期的长短。当载入数据块16,发现数原创 2021-06-25 15:08:22 · 1741 阅读 · 0 评论