计算机组成原理之组成篇
计算机输入输出设备
常见的输入输出设备
字符输入设备
- 键盘
- 扫描仪
- 设备版
图像输入设备
- 显示器
输入输出接口的通用设计
数据线
- 数据交换
状态线
- 设备状态
命令线
- 信号线
设备选择线
- 设备选择
CPU于IO设备的通信
程序中断
- 当外围IO设备就绪时,向CPU发出中断信号
- CPU有专门的电路响应中断信号
(提供低俗设备通知CPU的一种异步的方式)
DMA(直接存储器当问)
- DMA直接连接主存与IO设备
- DMA工作时不需要CPU的参与(提高CPU效率)
计算机存储器的浏览
存储器的分类
半导体存储器(按存储介质)
- 内存,U盘,固态硬盘
磁存储器
- 磁带,磁盘
随机存储器(RAM)(按存取方式)
- 随机存取
- 与位置无关
串行存储器
- 与位置有关
- 按顺序查找
只读存储器(ROM)
- 只读不写
存储器的层次结构(速度不统一)
缓存(cpu缓存)
- 缓存主存层次(解决速度不均的问题)
- 局部性原理
主存(计算机主存)
- 主存辅存形式
- 局部性原理
- 目的:解决主存容量不足
辅存(优盘)
计算机的主存储器与辅助存储器
主存储器——内存
- RAM(随机存取存储器)
- RAM通过电容数据存储数据,必须隔一段时间刷新一次
- 如果断电,那么一段时间后将丢失所有数据
辅助存储器——磁盘
- 表面是可磁化的硬磁特性材料
- 移动磁头径向运动读取磁道信息
磁盘调度算法
- 先来先服务算法
- 最短寻道时间优先(与磁头位置有关,离谁近读谁)
- 扫描算法(电梯算法)(每次只往一个方向移动,不公平)
- 循环扫描算法
计算机的高速缓存
高速缓存的工作原理(命中率,和访问效率)
高速缓存的替换策略
随机算法
先进先出算法
- 把高速缓存看作一个队列
最不经常使用算法(LFU)
- 优先淘汰不经常使用(计算访问频率)
最近最少使用算法(LRU)
- 优先淘汰一段时间内没有使用的字块
- 有多种实现方法,一般使用双向链表
- 把当前访问节点置于链表前面(保证链表头部节点是最近使用的)
计算机指令系统
机器指令的形式
- 操作码:
(1)指明指令要完成的操作
(2)位数反应了机器的操作种类 - 地址码:
(1)地址码直接给出操作数或者操作数的地址
(2)分三地址指令,二地址指令和一地址指令
机器指令的操作类型
- 数据传输
(1)寄存器之间,寄存器与存储单元,存储单元之间传送
(2)数据读写,交换地址数据,清零置一等操作 - 算术逻辑操作
(1)操作数之间的加减乘除运算
(2)操作数的与或非等逻辑位运算 - 移位操作
(1)数据左移除2,数据右移除2
(2)完成数据在算数逻辑单元的必要操作 - 控制指令
(1)等待指令,停机指令,空操作指令,中断指令等
机器指令的寻址方式
指令寻址
- 顺序寻址
- 跳跃寻址
数据寻址
- 立即寻址:直接获得操作数
- 直接寻址:直接给出操作吗在主存的位置
- 间接寻址:指令地址码给出的是操作数地址的地址
计算机的控制器
程序计数器
- 程序计数器用来存储下一条指令的地址
- 循环从程序计数器中拿出指令
- 当指令被拿出时,指向下一条指令
时序发生器
- 电气工程领域,用于发送时序脉冲
- cpu依据不同的时序脉冲有节奏的进行工作
指令译码器
- 指令译码器是控制器的主要部件之一
- 计算机吧指令由操作码和地址码组成
- 翻译操作码对应的操作以及控制传输地址码对应的数据
各种寄存器
指令寄存器
- 指令寄存器也是控制器的主要部件之一
- 从主存或高速缓存取计算机指令
主存地址寄存器
- 保存当前CPU正要访问的内存单元的地址
主存数据寄存器
- 保存当前CPU正要读或写的主存数据
通用寄存器
- 用于暂时存储或传送数据或指令
- 可保存ALU的运算中间结果
计算机的运算器
数据缓冲器
- 分为输入缓冲和输出缓冲
- 输入缓冲暂时存放外设送过来的数据
- 输出缓冲暂时存放送往外设的数据
ALU(算数逻辑单元)
- 常见的位运算
- 算数运算
状态字寄存器
- 存放运算状态
- 存放运算控制信息
通用寄存器
- 用于暂时存放或传送
数据或指令 - 可保存ALU的运算中间结果
- 容量比一般专用寄存器要大
计算机指令的执行过程
- 指令执行过程
- CPU的流水线设计
(1)类似工厂的装配线
(2)工厂的装配线使得多个产品可以同时被加工
(3)在同一个时刻,不同产品均位于不同的加工阶段