计算机组成原理02-组成篇

tech2022-08-03  141

计算机的总线

概述

总线提供对外连接的接口 不同设备可以通过usb(通用串行总线)进行连接 促使外用设备接口统一 总线解决了不同设备之间的通信问题

总线的分类

片内总线

片内总线为芯片内部的总线 或者是寄存器与寄存器之间 或者是寄存器与控制器、运算器之间

系统总线

例如数据总线:双向传输各个部件的数据信息 数据总线的位数是数据总线的重要参数,一般与cpu的位置相同

地址总线

指定源数据或目的数据在内存中的地址 地址总线的位数与存储单元有关 地址总线位数若为n,则寻址范围为0-2 ^n

控制总线(键盘与显示器之间的交互桥梁)

用来发出各种控制信号的传输线 控制信号由一个组件发给另一个组件 可以监听不同组件之间的状态(已就绪/未就绪)

总线的仲裁

为什么需要总线的仲裁

决定主存、硬盘、io谁先执行的

仲裁的方式

链式查询:无论谁传信号,都是从设备1开始往下传,好处是电路复杂度低,仲裁方式简单。 坏处则是优先级低的设备很难获得总线的使用权。以及对电路的故障很敏感。

计时器查询 仲裁控制器对设备编号并使用计数器累计,接受到仲裁信号后,往所有设备发出计数值,若于编号一致则获得仲裁器的使用权, 独立请求 每个设备均有总线赌气连接的仲裁器 设备课单独向仲裁其发送请求和接收请求 每当有多个请求信号时,仲裁器会按照优先级分配使用权 好处就是相应快 坏处是设备连线多,总线控制复杂

计算机的输入输出设备

输入设备

字符输入设备

键盘

薄膜键盘 机械键盘:红、黑、青、茶四种轴 电容键盘

图像输入

显示器 数位板 扫描仪

输出设备

图像显示器 打印机 投影仪

输入的接口通用设计

数据线:io与主机之间进行交换的传输线,有单向或者双向的 状态线:io设备状态向主机报告的信号线(查询设备是否被连接或者是否被仲裁) 命令线:cpu向设备发送命令的信号线 设备选择线:主机选择设备进行排序的信号线对连在线上的设备进行排序执行

cpu与io设备通信的方法

程序中断

当外围io设备就绪时,向cpu发送中断信号,外围设备处理完成后,cpu会回来继续工作 好处:这种机制可提供低俗设备通知cpu的一种异步方式,使cpu在高速运转时能够兼顾低速的设备相应

dma(直接存储器访问)

当主存与io设备之间交换信息时,不许中断cpu,可直接俄与cpu交换(硬盘、外置显卡)

计算机存储器

存储器分类

按介质分类

半导体存储器:内存 U盘 固态硬盘 磁带设备 磁带 磁盘

存取方式分类

随机ram 随机存取与位置无关 串行存储器 与位置有关 按顺序查找 只读存储器 只读不写(rom)

存储器的层次

关键因素

独写速度 容量 价格=>位价==每比特价位

层次

缓存 cpu寄存器 价格高 速度快主存 价格中 速度中辅存 价格低 速度慢

缓存-主存层次

原理 局部性原理 实现 在cpu和主存之间增加一层速度快 容量小的cache 目的 解决速度不足的问题

主存-辅存层次

原理 局部性原理 实现 主存之外增加辅助存储器

目的 解决容量不足

计算机的主存和辅存

如下所示左边是台式的主存储器 右边是笔记本的主存储器,即我们所说的ram(随机存取器) 由于ram通过电容存储数据,必须隔一段时间刷新一次,所以若断电则数据会丢失

主存与cpu的关系图

与操作系统的关系

32位:2 ^32 = 4 * 2 ^30=4gb 64位:2 ^ 34 * 2 ^ 30=4*2^30=2 ^ 34 gb

辅存

寻到算法

先来先服务

按进程顺序独写磁道

最短寻道算法

就近原则,执行离磁道最近的

扫描算法

即电梯算法,磁道来来回回循环

循环算法

电梯算法改良版,就按照一个方向循环执行

高速缓存

目的

解决cpu与主存之间速度不匹配的问题

工作原理

先行概念

字:存在一个v存储单元中的二进制代码组合,可以是一个字符串或者是一条指令 字块:一组字

字地址包含两个部分,前m位表示字块地址,后b位表示字在字块中的地址。而一个字32位,一个字块共B个字,主存共M个字块 由此可得 BM=主存总字数 BM*32=主存总容量 2 ^ m=M 2 ^ b=B

问题:假设主存用户空间容量为4G,字块大小为4M,字长为32位,则对于这种字块中的块地址M和块内地址的b的位数应该是多少? 解: 4G=4096M 字块数:4096/4=1024 由 2 ^ m=M 得 m=log2 ^M ====>log 2 ^1024=10

块内字数:4/32=1045876bit

由 2 ^ b=B 得 b=log2 ^B ====>20

高速缓存

需要了解的是cpu需要的数据要去高速缓存拿,若没有则需要去主存拿,所以提高缓存利用率是及其重要的

命中率

命中率是衡量缓存的重要性能指标

访问效率e

问题

命中率

访问率 平均时间极为父母

高速缓存策略

随机策略

先进先出

若队尾加入字块,则队首字块移除

“最不常用”算法

新字块加入时,会将最不常用的字块移除

“最少用”算法

用双向链表作为存储结构,最近使用的字块排最前,当有新字块进入时,会将最不用的字块移除

指令系统

机器指令主要组成部分

操作码 :反映系统操作的种类 地址码:直接给出操作数,或者操作数的地址

三地址指令

二地址指令

一地址指令

op acc的为自增操作等

机器指令的操作类型

数据传输

寄存器之间 寄存器与存储单元 存储单元之间的传送。还有数据读写,交换地址数据,清空置一等操作。

算数逻辑操作

加减乘除,与非等运算

控制指令

等待指令、停机指令、空操作指令、中断指令等

数据寻址

立即寻址:指令直接操作数,不用访问存储器 直接寻址 直接给出操作数在主存的地址 间接寻址 指令给出操作数地址的地址

cpu的组成部分

控制器

控制器是协调和控制计算机运行的

主要组成部分

程序计数器

存储下一条指令的地址,循环工作

时序发生器

相当于cpu的节拍器,按照发送的时序脉冲有节奏的进行工作

指令译码器

翻译操作和控制传输地址码对应的数据

指令寄存器

从主存或者高速缓存取出计算机指令

主存地址寄存器

保存当前cpu正要访问的内存单元地址

主存数据寄存器

保存当前cpu正要读取或者写的主存数据

通用寄存器

用于暂时存放传送数据的指令,可保存alu的运算结果,容量也比一般寄存器大

运算器

输入缓冲区

暂时存放外设送来的数据

输出缓冲

暂时存放往外送的数据

alu

算数逻辑单元 是运算器主要组成部分,常见加减乘除等操作

状态寄存器

存放运算状态 控制信息

通用寄存器

通用寄存器

用于暂时存放传送数据的指令,可保存alu的运算结果,容量也比一般寄存器大

计算机指令执行过程

缺点:运算器 控制器 各自独立工作,导致cpu利用率低

解决方式

流水线工作

效率对比

最新回复(0)