计算机组成原理之组成篇
USB(Universal Serial Bus):通用串行总线;
总线解决了不同设备之间的通信问题!
总线的概述:
①提供了对外连接的接口;
②不同设备可以通过USB接口进行连接;
③连接的标准,促使外围设备接口的同一
常见的总线有:USB、PCI总线、ISA总线、Thunderbolt总线;
片内总线:高集成度芯片内部的信息传输线。 ①芯片内部的总线; ②寄存器于寄存器之间; ③寄存器与控制器、运算器之间; 问题:为啥用位数形容总线??USB不是一根线吗?(按位数表示是指传输的容量么?) 系统总线:CPU、主内存、IO设备、各组件之间的信息传输线。 ①数据总线:双向传输各个部件的数据信息;数据总线的位数(总线宽度)是数据总线的重要参数,一般与CPU位数相同(32/64); ②地址总线:指定源数据或目的数据在内存中的地址;地址总线的位数与存储单元有关,地址总线位数=n,寻址范围:0~2^n; ③控制总线:控制总线是用来发出各种控制信号的传输线;控制信号经由控制总线从一个组件发给另外一个组件;控制总线可以监视不同组件之间的状态。
仲裁的目的就是为了解决不同设备使用总线顺序的优先级问题!
字符输入设备:键盘(薄膜键盘、机械键盘[黑轴、红轴、青轴、茶轴]、电容键盘) 图形输入设备:鼠标、数位板[输入板+压感笔]、扫描仪(将图形信息转换为数字信号) 图像输出设备:显示器、打印机、投影仪 输入输出接口的通用设计(以下几点必不可少): ①能够向设备发送数据;②能够读取数据;③能够判断设备有没有被占用;④能够判断设备是否已经启动;⑤能够判断设备是否已经连接。
数据线 ①是I/O设备与主机之间进行数据交换的传送线; ②单向传输数据线; ③双向传输数据线; 状态线 ①IO设备状态向主机报告的信号线; ②查询设备是否已经正常连接并就绪; ③查询设备是否已经被占用; 命令线 ①CPU向设备发送命令的信号线; ②发送读写信号; ③发送启动停止信号; 设备选择线 ①主机选择I/O设备进行操作的信号线; ②对连在总线上的设备进行选择。
"程序中断"提供低速设备通知CPU的一种异步的方式,这样CPU可以高速运转的同时兼顾低速设备的响应!
缓存:CPU里面的寄存器和高速缓存;
主存:主要指计算机中的内存;
辅存:主要指计算机外部储存设备,如磁盘、U盘、移动硬盘等;
局部性原理:该原理是指CPU在访问储存器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
主存储器:内存;
辅存储器:磁盘;
常见磁盘调度算法:
①先来先服务:按顺序访问进程的磁道读写需求;
②最短寻道时间优先:与磁头当前位置有关,优先访问离磁头最近的磁道;
③扫描算法(电梯算法):每次只往一个方向走,到达一个方向需要服务的尽头再反方向移动;
④循环扫描算法:与扫描算法类似,但是只能往一个方向走;
要了解高速缓存得先了解一下主存! 可参考:https://blog.csdn.net/qq_42103479/article/details/89743061
高速缓存的替换策略:
①随机算法;
②先进先出算法(FIFO):把高速缓存看作是一个先进先出的队列,优先替换最先进入队列的字块;
③最不经常使用算法(LFU):优先淘汰最不经常使用的字块,需要额外的空间记录字块的使用频率;
④最近最少使用算法(LRU):优先淘汰一段时间内没有使用的字块,有多种实现方法,一般使用双向链表;把当前访问节点置于链表的前面以保证链表头部是最近使用的;
FIFO示例如下:
LFU示例如下:
LRU示例如下:
除了上述三种指令,还有一种特殊的地址指令,即零地址指令。
该类机器指令无地址码,一般为空操作、停机操作、中断返回操作等。
算术逻辑单元(英语:Arithmetic logic unit,简称:ALU)是一种可对二进制整数执行算术运算或位运算的组合逻辑数字电路。[1][2][3][4]ALU 与浮点数运算单元(FPU)不同,后者仅对浮点数进行操作。ALU 是许多类型的计算电路的基本部件,这些计算电路包括计算机的中央处理单元(CPU)、浮点处理单元(FPU)和图形处理单元(GPU)。单个CPU、FPU 或 GPU 可能包含多个 ALU。
ALU 的输入包括需要运算的数据(也称为运算数)和表明了运算操作类型的指令码。ALU 的输出是其执行运算的结果。在许多的设计中,ALU 还带有状态输入或输出,可将其之前操作或当前操作的信息在 ALU 和外部状态寄存器间传递。
上述过程存在一个问题:取指令和分析指令是在控制器中进行的,而执行指令是在运算器中进行的,这说明这两个部分没有同时工作,从而导致CPU的综合利用率不高。
#习题 1.计算机的总线就像是计算机的“高速公路”,你是否可以说出总线主要的功能和分类? 2.什么是总线标准,为什么需要总线标准,现在有哪些常见的总线标准? 3.常说的“IO设备”,“I”、“O”分别是什么的缩写? 4.常见的输入设备可以分为什么种类? 5.常见的输出设备可以分为什么种类? 6.日常常见的计算机外设(显示器、键盘、鼠标、打印机),分别属于什么设备? 7.输入输出接口一般需要完成什么工作,可以把接口的线路分为什么线路? 8.DMA的全称是什么? 9.程序中断和DMA相比,有什么优劣? 10.你是否可以清晰的表述计算机存储器的层次结构?存储器的层次结构是为了解决什么问题的? 11.什么是局部性原理,局部性原理对计算机存储系统的设计产生了什么影响? 12.计算机存储系统的每一个层次分别有什么特点? 13.计算机的辅助存储器一般是指计算机硬盘,你了解计算机磁盘的物理结构吗? 14.磁盘的调度算法有哪些?分别有什么特点? 15.计算机的主存一般是指计算机内存,内存有什么特点? 16.请解释概念:主存、辅存、Cache、RAM、ROM? 17.什么是字?什么是字块? 18.计算机的高速缓存一般是指Cache,Cache一般位于计算机的什么硬件设备上? 19.一般使用什么指标去评估主存-高速缓存的性能? 20.命中率是怎么定义的? 21.访问效率是怎么定义的? 22.假设CPU执行某段程序共计访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少? 23.请描述LFU、LRU、FIFO缓存置换算法的过程。 24.计算机的指令一般由操作码和地址码组成,那么计算机指令可以分类为几种类型? 25.对计算机指令数据的寻址有哪几种方式? 26.计算机的运算器主要由什么组成?控制器呢? 27.请简述计算机指令的执行过程。
#习题答案: 1.总线可以分为:片内总线、系统总线,其中系统总线可以分为数据总线、地址总线、控制总线。 2.总线标准是系统与各模块、模块与模块之间的一个互连的标准界面。总线标准有利于各模块高效使用总线。USB、PCIe等。 3.Input、Output,输入设备、输出设备。 4.字符输入设备(键盘等)、图像输入设备(鼠标、数位板、扫描仪)。 5.主要是图像输出设备(显示器),但在计算机远未普及的时候,显示器属于字符输出设备。 6.显示器、打印机属于输出设备,键盘、鼠标属于输入设备。 7.数据线、状态线、命令线、地址线。 8.DMA:Direct Memory Access,直接内存存取。 9.程序中断和DMA都是计算机IO和低速设备的交互方式,程序中断方式实现简单,DMA方式效率更高。 10.存储器的层次结构可以简单划分为:缓存-主存-辅存三个层次,缓存-主存主要是为了解决主存速度不够的问题;主存-辅存主要是为了解决主存容量不足的问题。 11.局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。 12.缓存:速度快、位价高;主存:速度适中、位价适中;辅存:速度慢、位价低。 13.略,参考PPT图片。 14.先来先服务算法、最短寻道时间优先算法、扫描算法、循环扫描算法。 15.主存容量比缓存大、比辅存小,访问速度比缓存慢,比辅存快,主存需要持续通电使用,停电时主存数据将会丢失。 16.主存:主存储器,即常说的计算机内存条,辅存:辅助存储器,即常说的磁盘、U盘、光盘、磁带等,Cache:高速缓存,即常说的L1、L2、L3缓存,CPU寄存器等,RAM:随机存取存储器(英语:Random Access Memory,缩写:RAM),ROM:只读存储器(Read Only Memory,缩写:ROM)。 17.字是指存放在一个存储单元中的二进制代码组合;字块是指存储在连续的存储单元中而被看作是一个单元的一组字。 18.在CPU上。 19.命中率。 20.略,参考PPT图片 21.略,参考PPT图片 22.平均访问时间:(480030+150200)/5000=34.8ns,命中率:4800/5000100%=96%,访问效率e:30/34.8100%=86.2%,性能提升:(150-34.8)/150*100%=76.8%。 23.略。 24.移位操作指令、数据传输指令、控制指令、算术逻辑操作指令。 25.立即寻址、直接寻址、间接寻址。 26.控制器主要由:程序计数器、时序发生器、指令译码器、寄存器、总线组成。运算器主要由:数据缓冲器、ALU、寄存器、状态字寄存器、总线组成。 27.略。
做一枚奔跑的老少年!