导学:
计算机的总线
总线的概述:
通用串行总线(USB)
- 提供了计算机对外的接口
- 不同的设备都可以通过USB接口进行连接
- 连接的标准,促使外围设备接口的统一
解决不同设备之间的通信问题
总线分类:
片内总线
- 芯片内部的总线
- 寄存器与寄存器之间
- 寄存器与控制器、运算器之间
-
高集成度芯片内部的信息传输线
系统总线
CPU、主内存、IO设备、各组件之间的信息传输线
数据总线
双向传输各个部件的数据信息
数据总线的位数(总线宽度)是数据总线的重要参数
一般与CPU位数相同(32位、64位)
地址总线
指定源数据或目的数据在内存中的地址
地址总线的位数与存储单元有关
控制总线
控制总线是用来发出各种控制信号的传输线
控制信号经由控制总线从一个组件发给另一个组件
控制总线可以监视不同组件之间的状态(就绪/未就绪)
总线的仲裁:
解决不同设备使用总线的优先顺序的一个设备
链式查询
好处:电路复杂度低,仲裁方式简单
坏处:优先级低的设备难以获得总线使用权;对电路故障比较敏感
计时器定时查询
仲裁控制器对设备编号并使用计数器累计计数
接收到仲裁信号后,往所有设备发出计数值
计数值与设备编号一致则获得总线使用权
独立请求
每个设备均由总线独立连接仲裁器
设备可单独向仲裁器发送请求和接收请求
当同时接收到多个请求信号,仲裁器有权按优先级分配使用权
好处:响应速度快,优先顺序可动态改变
坏处:设备连线多,总线控制复杂
计算机的输入/输出设备
常见的输入输出设备:
字符输入设备
键盘:薄膜键盘、机械键盘、电容键盘
图像输入设备
鼠标、数位板、扫描仪
图像输出设备
显示器、打印机、投影仪
输入输出接口的通用设计:
数据线
是I/O设备与主机之间进行数据交换的传送线
单向传输数据线
双向传输数据线
状态线
IO设备状态向主机报告的信号线
查询设备是否已经正常连接并就绪
查询设备是否已经被占用
命令线
CPU向设备发送命令的信号线
发送读写信号、发送启动停止信号灯等
设备选择线
主机选择与I/O设备进行操作的信号线
对连接在总线上的设备进行选择
CPU与IO设备的通信:
CPU的速度与IO设备速度不一致
程序中断方法
提供低速设备通知CPU的一种异步方式
CPU可以在高速运转的同时兼顾低速设备的响应
当外围的IO设备准备就绪时,向CPU发出中断信号
CPU有专门的电路响应中断信号
DMA(直接存储访问方法)
DMA直接连接主存与IO设备
DMA工作时不需要CPU的参与
当主存与IO设备交换信息时,不需要中断CPU可以提高CPU的效率
计算机存储器概览
存储器分类
按存储介质分类
半导体存储器:内存、U盘、固态硬盘
磁存储器:磁带、磁盘
按存取方式分类:
随机存储器(RAM):随机读取、与位置无关
串行存储器:与位置有关、按顺序查找
只读存储器(ROM):只读不写
存储器的层次结构
容量+价格=>位价:每比特位价格
局部性原理:CPU在访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中
计算机的主存储器与辅助存储器
主存储器--内存:
RAM(随机存储器:Random Access Memory)
RAM通过电容存储数据,必须隔一段时间刷新一次
如果掉电,那么一段时间后将丢失所有数据
操作系统的位数与主存储器的关系:
辅助存储器--磁盘:
表面是可磁化的硬磁特性材料
移动磁头径向运动读取磁道信息
结构图:
盘片平面图:
计算机的高速缓存
高速缓存的工作原理:
字:存放在一个存储单元中的二进制代码组合
字块:存储在连休的存储单元中而被看作是一个单元的字
示例:
命中率:
命中率是衡量缓存的重要性能指标
理论上CPU每次都能从高速缓存取数据的时候,命中率为1
访问效率:
访问效率也是衡量缓存的重要性能指标
高速缓存的替换策略:
高速缓存替换时机:
- 随机算法
- 先进先出算法(FIFO)
把高速缓存看做是一个先进先出的队列
优先替换最先进入队列的字块
流程:
- 最不经常使用算法(LFU)
优先淘汰最不经常使用的字块
需要额外的空间记录字块的使用频率
流程:
- 最近最少使用算法(LRU)
优先淘汰一段时间内没有使用的字块
有多种实现方法,一般使用双向链表
把当前访问节点置于链表前面(保证链表头部节点是最近使用的)
流程:
计算机的指令系统
机器指令的形式:
机器指令主要由:操作码和地址码组成
操作码指明指令所要完成的操作
操作码的位数反映了机器的操作种类
地址码直接给出操作数或者操作数的地址
分三地址指令、二地址指令和一地址指令
零地址指令:
在机器指令中无地址码
空操作、停机操作、中断返回操作等
机器指令的操作形式:
数据传输:
寄存器之间、寄存器与存储单元、存储单元之间的传送
数据读写、交换地址数据、清零置一等操作
算数逻辑操作类型:
操作数之间的加减乘除运算
操作数的与或非等逻辑位运算
位移操作:
数据左移(乘2)、数据右移(除2)
完成数据在算数逻辑单元的必要操作
控制指令:
等待指令、停机指令、空操作指令、中断指令等
机器指令的寻址方式:
指令寻址:
数据寻址:
立即寻址
直接寻址
间接寻址
三种寻址方式的对比:
计算机的控制器
控制器是协调和控制计算机运行的
组成:
程序计数器:
程序计数器用来存储下一条指令的地址
循环从成宿计数器中拿出指令
当指令被拿出时,指向下一条指令
时序发生器:
电器工程领域,用于发送时序脉冲
CPU依据不同的时序脉冲有节奏的进行工作
指令译码器:
指令译码器是控制器的主要部件之一
计算机指令由操作码和地址码组成
指令寄存器:
指令寄存器也是控制器的主要部件之一
从主存或高速缓存取计算机指令
主存地址寄存器:
保存当前CPU正要访问的内存单元的地址
主存数据寄存器:
保存当前CPU正要读或写的主存数据
通用寄存器:
用于暂时存放或传送数据或指令
可保存ALU的运算中间结果
容量比一般专用寄存器容量大
计算机的运算器
运算器是用来进行数据运算加工的
数据缓冲器:
分为输入缓冲和输出缓冲
输入缓冲暂时存放外设送过来的数据
输出缓冲暂时存放发送外设的数据
ALU:
算数逻辑单元,是运算器的主要组成
常见的位运算(左右位移、与或非等)
算数运算(加减乘除)
状态字寄存器:
存放运算状态(条件码、进位、溢出、结果正负等)
存放运算控制信息(调试跟踪标记位、允许中断等)
通用寄存器:
用于暂时存放或传送数据或指令
可保存ALU的运算中间结果
容量比一般专用寄存器要大
计算机指令执行的过程
指令执行的过程:
CPU的流水线的设计:
执行过程:
效率: