计算机组成原理 2

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 计算机组成原理

硬布线工作原理:

微操作控制信号由组合逻辑电路根据当前的指令码,状态和时序,即时产生


微程序工作原理:

事先把微操作控制信号存储在一个专门的存储器中,将每条机器指令编写成一个微程序,这些微程序可以存到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令


微指令格式

1. 水平型微指令

1. 一次能定义并执行多个并行操作

2. 优缺点:微程序短,执行速度快,微程序长,编写微程序麻烦

2. 垂直型微指令

1. 类似机器指令操作码的方式,由微操作码字段规定微指令的功能

2. 优点:微指令短,规整,便于编写

3. 缺点:微程序长,执行速度慢,工作效率低

3. 混合型微指令


微指令编码方式(微指令控制方式)

是指如何对微指令的控制字段进行编码,以形成控制信号。编码的目标是在保证速度对情况下,尽量缩短微指令字长

1.  直接编码方式
1.  在微指令的操作控制中,每一位代表一个微操作指令
2.  优点:简单,直观,执行速度快,并行性好
3.  缺点:微指令字段过长,造成控存容量极大
2.  字段直接编码方式
1.  将微指令的控制字段分成若干段,每段译码后发出控制信号
2.  分段原则
1.  互斥性:微命令分在同一段内,相容性:微命令分在不同段内
2.  每个小段包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间
3.  一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此,当某一段,长度为3位,最多只能表示7个互斥的微命令,通常用000表示不操作。
3.  优点:可以缩短微指令字长
4.  缺点:要通过译码电路后再发出微命令,因此比直接编码慢
3.  字段间接编码方式
1.  一个字段的某些微命令需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称为隐士编码
2.  优点:可进一步缩短微指令字长
3.  缺点:削弱了微指令的并行控制能力,通常作为字段直接编码方式的一种辅助手段

微指令的地址形成方式

1. 微指令的下地址字段指出

1. 微指令格式中设置一个下地址字段,由微指令的下地址直接指出后续微指令的地址,这种方式称为断定方式

2. 根据机器指令的操作码形成

1. 当机器指令取到指令寄存器后,微指令的地址由操作码经微地址形成部件形成

3. 增量计数器法

4. 分支转移

5. 通过测试网络

6. 由硬件产生微程序入口地址


操作控制字段 转移方式 转移地址

转移方式:指明判别条件;转移地址:指明转移成功后的去向


微程序控制的基本概念

1. 微命令和微操作

1. 微命令是微操作的控制信号

2. 微操作是微命令的执行过程

2. 微指令与微周期

1. 微指令是若干微命令的集合

2. 微周期通常是指从控制存储器中读取一条微指令并执行相应的微操作所需的时间

3. 主存储器和控制存储器

1. 主存储器用于存放程序和数据,在CPU的外部,用RAM实现

2. 控制存储器(CM)用于存放微程序,在CPU内部,用ROM实现

4. 程序与微程序

1. 程序是指令的有序集合,用于完成特定的功能

2. 微程序是微指令的有序集合,一条指令的功能由一段微程序来实现

5. 地址寄存器(MAR)和微地址寄存器(CMAR)

6. 指令寄存器(IR)和微指令寄存器(CMDR)


微程序设计分类

1. 静态微程序设计和动态微程序设计

1. 静态微程序无需改变,采用ROM

2. 动态:通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM

2. 毫微程序设计

1. 微程序设计用微程序解释机器指令

2. 毫微程序设计用毫微程序解释微程序

3. 毫微指令和微指令的关系好比微指令与机器指令的关系


硬布线与微程序的比较

微程序控制器 硬布线控制器

工作原理 微操作控制信号以微程序的形式存放在控制存储器中,执行指令时可以读出即可 微操作控制信号由组合逻辑电路根据当前的指令码,状态和时序,即时产生

执行速度 慢 快

规整性 比较规整 烦琐

应用场合 CISC CPU RISC CPU

易扩充性 容易扩充 困难


微程序控制器的基本结构

1. 微地址形成部件

2. 微地址寄存器CMAR

3. 控制存储器CM(control memory )

4. 微指令寄存器(CMDR)


指令流水线


一条指令的执行过程可以分为多个阶段

取指 分析 执行

取指:根据PC内容访问主存,取出一条指令送到IR中

分析:对指令操作码进行译码,按给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从EA中取出操作数

执行:根据操作码字段,完成指令规定的功能,即把运算结果写到通用寄存器或主存中

1.  顺序执行方式
1.  传统的冯诺依曼机采用顺序执行方式,又称串行执行方式
2.  优点:控制简单,硬件代价小
3.  缺点:执行指令的速度慢,任何时刻,只有一条指令在执行,利用率低
2.  一次重叠执行方式
1.  优点:程序执行时间缩短,各部件利用率提高
2.  缺点:需要付出硬件上较大的开销,执行过程也比较复杂
3.  二次重叠方式
1.  优点:
2.  缺点:

指令流水线

1. 基本概念:

1. 指令执行过程划分为不同阶段,占用不同的资源,就能使多条指令同时执行

2. 表示方法

1. 指令流程图:主要用于分析影响流水线的因素

2. 时空图:主要用于分析流水线的性能

2. 性能指标

1. 吞吐率TP

2. 加速比S

3. 效率E

3. 影响因素

4. 分类及常见技术


取指->译码->执行->访存->写回

IF->ID->EX->M->WB

Fetch->Decode->Execute->Memory->Write back


影响流水线的因素

1. 结构相关(资源冲突)

1. 由多条指令在同一时刻争用同一资源而形成的冲突

1. 解决办法:后一相关指令暂停一周期

2. 资源重复配置:数据存储器➕指令存储器

2. 数据相关(数据冲突)

1. 数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况,则这两条指令即为数据相关

2. 解决办法:

1. 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件阻塞(stall)和软件插入NOP两种方法

2. 数据旁路技术

3. 编译优化:通过编译器调整指令顺序来解决数据相关

3. 控制相关(控制冲突)

1. 当流水线遇到转移指令和其他改变PC值的指令而造成断流时,会引起控制相关

2. 解决办法:

1. 尽早判别转移是否发生,尽早生成转移目标地址

2. 预取转移成功和不成功两个控制流方向的目标指令

3. 加快和提前形成条件码

4. 提高转移方向的猜准率


数据相关(数据冲突)

数据的基本操作:读(R),写(W)

冲突的基本类型:

RAW(写后读)按序发射,按序完成

WAR(读后写)乱序发射

WAW(写后写)


流水线分类

1. 部件功能级,处理机级和处理机间流水线

1. 部件功能级流水线就是将复杂的算术逻辑运算组成流水线工作方式。如,可将浮点数运算分为求阶差,对阶,尾数相加以及结果规格化

2. 处理机级流水线是把一条指令解释过程分成多个子过程,如取指,译码,执行,访存,写回

3. 处理机间流水线是一种宏流水,其中每一个处理机完成某一专门任务,各个处理机所得的结果需要存放在与下一个处理机所共享的存储器中

2. 单功能流水线和多功能流水线

1. 单功能流水线指只能实现一种固定的专门功能的流水线

2. 多功能流水线指通过各段间的不同连接方式可以同时或不同时地实现多种功能的流水线

3. 动态流水线和静态流水线

1. 静态流水线指同一时间内,流水线的各段只能按同一种功能的连接方式工作

2. 动态流水线指在同一时内,当某些段正在实现某种运算时,另一些段正在运行另一种,这样对提高效率有好处,但会使流水线控制变得复杂

4. 线性流水线和非线性流水线

1. 线性流水线中,从输入到输出,每个功能只允许经过一次,不存在反馈回路

2. 非线性流水线中存在反馈回路,适合进行线性递归运算


流水线的多发技术

1.  超标量技术
1.  每个时钟周期内可并发多条独立指令
2.  配置多个功能部件
3.  不能调整指令的执行顺序
4.  通过编译优化技术,把可并行执行的指令搭配起来
2.  超流水技术
1.  在一个时钟周期内再分段
2.  在一个时钟周期内一个功能部件使用多次
3.  不能调整指令执行顺序
4.  靠编译程序解决优化问题
3.  超长指令字
1.  由编译程序挖掘出指令间潜在的并行性
2.  将多条能并行操作的指令组合成一条
3.  具有多个操作码字段的超长指令字

总线

1.  概述
1.  基本概念
2.  总线的分类及经典结构
3.  性能指标
2.  仲裁
1.  如何解决多个设备争用总线的问题
3.  操作和定时
1.  占用总线的一对设备如何进行数据传输
4.  标准
1.  易于实现系统的模块化设计

总线是一组能为多个部件分时共享的公共信息传送路线


共享是指总线上可以接多个部件,各部件之间相互交换的信息都可以通过这组线路分时共享


分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则只能分时地向总线发送信息


为什么要用总线?

早期计算机外设少时大多采用分散连接方式,不易实现随时增删外设,为了更好地解决IO设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接


总线特征:

1. 机械特性

2. 电气特性

3. 功能特性

4. 时间特性


总线分类

1. 按数据传输格式

1. 串行总线

1. 优点:只需要一条传输线,成本低,广泛应用于长距离通信,节省布线空间

2. 缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串并转换的问题

2. 并行总线

1. 优点:总线的逻辑时序简单,电路实现容易

2. 缺点:信号线数量多,占布线空间,远距离传输成本高;由于工作频率较高时,并行的信号线之间会发生严重干扰,对每条线等长的要求也越高,所以无法持续提升效率

3. 串行总线和并行总线的速度比较

1. 工作频率相同时,串行总线传输速度比并行总线慢

2. 并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线

2. 按总线功能

1. 片内总线:它是CPU芯片内部寄存器和寄存器之间,寄存器与ALU之间的公共连接线。

1. 数据通路表示的是数据流经的路径

2. 数据总线是承载的媒介

2. 系统总线

1. 数据总线

2. 地址总线

3. 控制总线

3. 通信总线

3. 按时序控制方式

1. 同步总线

2. 异步总线


系统总线


1.  系统总线是计算机系统内各功能部件(CPU 主存 IO)之间相互连接的总线
2.  数据总线(DB):传输各功能部件之间的数据信息,包括指令和操作数,位数与机器字长,存储字长有关
3.  双向传输
4.  地址总线(AB):传输地址信息,包括主存单元或IO端口的地址,位数与主存地址空间大小以及设备数量有关
5.  是单向传输
6.  控制总线(CB):一根控制线传输一个信号:有出的,如CPU送出的控制命令,有入的,如主存返回的CPU反馈信号

通信总线

是用于计算机系统之间或计算机系统与其他系统之间信息传递的总线,通信总线也称为外部总线


系统总线的结构

1. 单总线结构

1. 单总线不是指只有一根信号线

2. 优点:结构简单,成本低,容易接入新的设备

3. 缺点:带宽低,负载重,多个部件争用同一个总线,不支持并发传递操作

2. 双总线结构

1. 一条是主存总线,用于CPU,主存,和通道之间进行数据传送,支持突发传送:送出一个地址,收到多个地址连续的数据

2. 另一条是IO总线,用于多个外设与通道之间进行数据传递,通道是具有特殊功能的处理器,能对IO设备进行统一管理,通道程序放在主存中

3. 优点:将低速的IO设备从单总线上分离出来,实现存储器总线和IO总线分离

4. 缺点:需要增加通道等硬件设备

3. 三总线结构

1. 主存总线

2. DMA总线(Direct Memory Access )直接内存访问

3. IO总线

4. 优点:提高了IO设备的性能,使其更快地响应命令,提高系统吞吐量

5. 缺点:系统工作效率低


补充:

桥接器,用于连接不同的总线,具有数据缓冲,转换和控制功能

靠近CPU的总线速度较快


总线的性能指标

1.  总线的传输周期(总线周期)
1.  一次总线操作所需时间(包括申请,寻址,传输,结束阶段),通常由若干个总线时钟周期构成
2.  总线时钟周期
1.  即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机各部件,总线也受此时钟的控制
3.  总线的工作频率
1.  总线周期的倒数
2.  指一秒内传送几次数据
4.  总线的时钟⏰频率
1.  即机器的时钟频率,为时钟周期的倒数
2.  指一秒内有多少个时钟周期
5.  总线宽度
1.  又称为总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数
6.  总线带宽
1.  可以理解为总线的数据传输率,即单位时间总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量
2.  总线带宽是指总线本身所能达到的最高传输速率
3.  实际计算的有效数据传输速率时,要用实际传输的数据量➗耗时
4.  总线带宽=总线工作频率×总线宽度(串并行总线的速度?)
7.  总线复杂
1.  总线复用是指一种信号线在不同的时间传输不同的信息,可以使用较少的线传输更多的信息,从而节省空间和成本
8.  信号线
1.  地址总线,数据总线和控制总线3种总线的和称为信号线

总线仲裁


同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据。

将总线上所连接 各类设备按其对总线有无控制功能分为:

主设备:获得总线控制权

从设备:只能响应从主设备发来的各种总线命令


为什么要仲裁?

总线作为一种共享设备,不可避免会出现同一时刻有多个主设备竞争总线控制权的问题


总线仲裁的定义:

多个主设同时竞争主线控制权,以某种方式选择一个设备优先获得总线控制权称为总线仲裁


总线仲裁分类:

1. 集中仲裁方式:

1. 链式查询方式,

1. 离总线控制器越近的部件,其优先级越高

2. 优先级固定的

3. 优点:只需要很少的几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易

4. 缺点:对硬件电路的故障敏感,且优先级不能改变

5. 当优先级高的部件频繁请求使用总线时,会使得优先级低的部件长期不能使用总线

2. 计数器定时查询方式

1. 结构特点:用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG,仍用一根总线请求线

2. 当总线控制器收到总线请求信号,判断总线空闲时,计数器开始记数,记数指通过设备地线发向各个部件

3. 当地址线上的计数指与请求使用总线设备的地址一致时,该设备获得总线控制权。同时,中止计数器的计数以及查询

4. 优点:

1. 计数初始值可以改变优先次序

⁃ 计数每次从0开始,设备的优先级就按顺序排列,固定不变

⁃ 计数从上一次的终点开始,此时设备使用总线的优先级相等

⁃ 计数器的初值还可以由程序设置

2. 对电路的故障没有链式敏感

5. 缺点:

1. 增加了控制线数

2. 控制相对比链式查询相对复杂

3. 独立请求方式

1. 结构特点:每个设备都有一对总线请求线和总线允许线

2. 当总线上的部件需要使用总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队

3. 当总线控制器按一定的优先次序决定批准某个部件的请求时,则给该部件发送总线响应信号

4. 优点:

1. 响应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或查询

2. 对优先次序的控制相当灵活

5. 缺点:

1. 控制线数量多

2. 总线的控制逻辑更加复杂

2. 分布仲裁方式

1. 特点:不需要中央仲裁器,每个主模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用

2. 过程:

1. 当设备有总线请求时,它们就把各自唯一的仲裁号发到共享仲裁总线上

2. 每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号比较

3. 如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号

4. 最后,获胜的仲裁号保留在仲裁总线上


总线传输的四个阶段


1.  申请分配阶段:由需要使用总线的主模块提出申请,经总线仲裁机构决定下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段
2.  寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址以及有关命令,启动参与本次传输的从模块
3.  传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传输
4.  结束阶段:主模块的有关信息均可从系统总线上撤销,让出总线使用权

总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则

1. 同步通信(同步定时方式):由统一时钟控制数据传送

1. 优点:传送速度快,具有较高的传输速率,总线控制逻辑简单

2. 缺点:主从设备属于强制性同步,不能及时进行数据通信的有效性校验,可靠性差

3. 同步通信适用于总线长度短以及总线所连接部件的存取时间比较接近的系统。

2. 异步通信(异步定时方式):采用应答方式,没有公共时钟标准

1. 不互锁方式

2. 半互锁方式

3. 全互锁方式

4. 优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合

5. 缺点:比同步控制方式复杂点,速度比同步定时方式慢。

3. 半同步通信:同步,异步结合

4. 分离式通信:充分挖掘系统总线每瞬间的潜力

1. 特点:

1. 各模块都有权申请占用总线

2. 采用同步方式通信,不等对方回答

3. 各模块准备数据时,不占用总线

4. 总线利用率提高


总线标准


即插即用(Plug-and-Play)的作用是自动配置计算机的板卡和其他设备,然后告诉对应的设备都做了什么。把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道


热插拔(hot-plugging)即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘,电源或板卡等部件,从而提高了系统对灾难的及时恢复能力,扩展性和灵活性,如面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能


• ISA(Industry Standard Architecture)系统总线
• EISA(Extended ISA)系统总线
• PCI(Peripheral Component Interconnect)局部总线
• PCI-E(PCI-Express)串行
• USB(Universal Serial Bus)
• SATA(Serial Advanced Technology Attachment)串行硬盘接口
• AGP(Accelerated Graphics Port)

PCI特点:

1. 高性能:不依附于某个具体的处理器,支持突发传送

2. 良好的兼容性

3. 支持即插即用

4. 支持多主设

5. 具有与处理器和存储器子系统完全并行操作的能力

6. 提供数据和地址奇偶校验的能力

7. 可扩充性好,可采用多层机构提高驱动能力

8. 采用多路复用技术,减少总线引脚个数


视频线标准简介

VGA:Video Graphics Array 传输模拟信号

有CRT显示器,LCD液晶显示器

DVI:Digital Visual Interface

HDMI:High Definition Multimedia Interface


IO系统


输入输出系统

1. 基本概念

1. 演变过程

2. IO系统的组成

3. IO控制方式简介

2. 外部设备

1. 输入设备:键盘,鼠标🖱️

2. 输出设备:显示器,打印机🖨️

3. 外存:磁盘,光盘💿,固态硬盘

3. IO方式

1. 程序查询方式:IO与CPU串行,CPU有踏步等待现象

2. 程序中断方式:IO准备数据时CPU继续工作,在指令执行结束时响应中断

3. DMA方式:主存与IO交换信息时由DMA控制器控制,在存取周期结束时响应DMA请求

4. 通道方式:通过IO指令启动通道,通道程序放在主存中

4. IO接口

1. 主要功能

2. 组成

3. IO端口以及编址


IO系统的基本组成


一般来说,IO系统由IO软件和IO硬件两部分组成

1. IO软件 包括驱动程序,用户程序,管理程序,升级补丁。底层逻辑:采用IO指令和通道指令实现CPU和IO设备的信息交换

1. IO指令(CPU指令的一部分)

操作码 命令码 设备码

识别IO指令 做什么操作 对哪个设备进行操作

2. 通道命令

1. 指出数据的首地址,传送字数,操作命令

2. 通道指令放在主存中

3. 由CPU执行启动IO设备的指令,由通道代替CPU对IO设备进行管理

2. IO硬件 包括外设,设备控制器和接口,IO总线


外设

1.  输入设备——键盘,鼠标
2.  输出设备
1.  显示器
1.  分类:
1.  阴极射线管(CRT)
1.  字符,图形,图像
2.  光栅扫描,随机扫描
2.  液晶(LCD)
3.  发光二极管(LED)
2.  参数
1.  屏幕大小,分辨率,灰度级,刷新频率
2.  显示存储器VRAM
1.  容量=分辨率×灰度级位数
2.  带宽=分辨率×灰度级位数×帧频
3.  打印机
1.  击打式和非击打式
2.  串行和行式
3.  针式,喷墨式,激光

外存

1.  磁盘存储器
1.  磁记录原理
2.  磁盘设备的组成
1.  存储区域:磁头(Heads) 柱面(Cylinders) 扇区(Sectors)
2.  硬盘存储器:磁盘驱动器,磁盘控制器,盘片
3.  性能指标
1.  容量:格式化和非格式化
2.  记录密度:道密度,位密度,面密度
3.  平均存取时间:寻道时间+延迟时间+传输时间
4.  数据传输率
4.  磁盘地址:驱动器号,柱面号,盘面号,扇区号
5.  工作过程:寻址,读盘,写盘对应各自的控制字,串行读写
2.  磁盘阵列RAID
1.  利用磁盘廉价的特点提高存储性能,可靠性和安全性
2.  RAID0:条带华,提高存取速度,没有容错能力
3.  RAID1:镜像磁盘互为备份
4.  RAID2-5:通过数据校验提高容错能力
3.  光盘存储器
1.  CD-ROM CD-R CD-RW  DVD-ROM
4.  固态硬盘SSD
1.  采用Flash Memory 记录数据,由E2PROM发展来的

IO接口


IO接口是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换


接口的功能:

1. 设备选址

2. 传送命令

3. 传送数据

4. 反映IO设备的工作状态


IO接口的基本结构

1. 设备选择电路

1. 用来设备选址

2. 命令寄存器和命令译码器

1. 传送命令

3. 数据缓冲寄存器

1. 传送数据,可实现格式转换功能

4. 设备状态标记

1. 反映设备状态

1. 完成触发器D

2. 工作触发器B

3. 中断请求触发器INTR

4. 屏蔽触发器MASK


内部接口:内部接口与系统总线相连,实质上是与内存,CPU相连。数据的传输方式只能是并行传输


外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此IO接口需要有串并转换的功能


CPU同外设之间的信息传送实质是对接口中的某些寄存器(即端口)进行读或写。


接口与端口


IO端口是指接口电路中可以被CPU直接访问的寄存器

1.  接口Interface 
1.  端口Port 
1.  数据端口
2.  控制端口
3.  状态端口
2.  控制逻辑

如何访问IO端口

IO端口要想被CPU访问,必须要有端口地址,每一个端口都对应着一个端口地址


IO端口以及编址

1. 统一编址

1. 把IO端口当作存储器的单元进行地址分配,用统一的访存指令就可以访问IO端口,又称为存储器映射方式

2. 靠不同的地址码区分内存和IO设备,IO设备地址要求相对固定在地址的某个部分

3. 优点:不需要专门的输入输出指令可以也是C P U访问IO的操作更灵活,更方便还可以使端口有较大的编址空间。

2. 独立编址

1. IO端口地址与存储器地址无关,独立编制CPU需要设置专门的输入输出指令访问端口,又称IO影射方式。

2. 靠不同的指令区分内存和设备。

3. 优点:输入输出指令与存储器指令有明显区别程序编制清晰,便于理解。

4. 缺点输入输出指令少,一般只能对端口进行传送炒作,尤其需要C P U提供存储器读写IO设备读写两组控制信号,增加了控制的复杂性。


IO接口的类型

1.  按数据传送方式可分为:
1.  并行接口:一个字节或者一各自所有位同时传送。
2.  串行接口:一个位一个位的传送。
3.  这里所说的数据传传送方式,指的是外设和接口一侧的传送方式,而在主机和接口一次数据总是并行传送的,接口要完成数据格式转换。
2.  按主机访问设备的控制方式可以分为:
1.  程序查询接口
2.  中断接口
3.  DMA接口
3.  按功能选择的灵活性可分为:
1.  可编程接口
2.  不可编程接口

中断系统

1. 中断基本概念

2. 工作流程

1. 中断请求

1. 分类(结合操作系统)

2. 中断请求标记触发器INTR

2. 中断响应

1. 响应中断的条件

2. 中断判优

1. 软件:查询程序

2. 硬件:排队器

3. 优先级的设置

3. 中断处理

1. 中断隐指令

1. 关中断

2. 保存断点(PC)

3. 引出中断服务程序

1. 软件查询法

2. 硬件向量法-中断向量

2. 中断服务程序

3. 单重中断与多重中断

1. 中断服务程序的具体步骤

2. 中断屏蔽技术

1. 屏蔽字

2. 程序执行轨迹


DMA方式

1.  DMA控制器
1.  主要功能
1.  传送前:接收外设的DMA请求,向CPU发出总线请求,接管总线控制权
2.  传送时:管理总线,控制数据传送,确定主存单元地址及长度,能自动修改对应参数
3.  传送后:向CPU报告DMA操作的结束
2.  组成
1.  主存地址计数器:存放要交换数据的主存地址
2.  传送长度计数器:记录传送数据的长度
3.  数据缓冲寄存器:暂存每次传送的数据
4.  DMA请求触发器:设置准备好数据后将其置位
5.  控制状态逻辑:由控制和时序电路及状态标志组成
6.  中断机构:数据传送完毕后触发中断机构,提出中断请求
2.  传送过程
1.  预处理:CPU完毕寄存器初值设置等准备工作
2.  数据传送:CPU继续执行主程序,DMA控制器完成数据传送
3.  后处理:CPU执行中断服务程序做DMA结束处理
3.  传送方式
1.  停止CPU访问:需要数据传送时,停止CPU访存,总线控制权交给DMA控制器
2.  交替访存:将CPU周期分为DMA访存和CPU访存两个部分
3.  周期挪用(周期窃取):IO设备需要访存时,挪用一个或几个存取周期
4.  特点
5.  与中断方式的区别
6.  CPU占用情况
中断  DMA

数据传送 程序控制 程序切换→保存和恢复现场 硬件控制 CPU只需进行预处理和后处理

中断请求 传送数据 后处理

响应 指令执行周期结束后响应中断 每个机器周期结束后均可,总线空闲时即可响应DMA请求

场景 CPU控制,低速设备 DMA控制器控制,高速设备

优先级 优先级低于DMA 优先级高于中断

异常处理 能处理异常中断 仅传送数据


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
8月前
【计算机组成原理】计算机组成原理(三)
计算机组成原理(三) 奇偶校验码: 校验原理:
62 0
|
1月前
|
存储
【计算机组成原理】指令系统
【计算机组成原理】指令系统
130 0
【计算机组成原理】指令系统
|
8月前
|
C语言
【计算机组成原理】综合测试
【计算机组成原理】综合测试
99 0
|
9月前
|
C语言
计算机组成原理相关知识
计算机组成原理相关知识
79 0
|
存储 算法 芯片
计算机组成原理(三)
计算机组成原理(三)
118 0
|
存储
计算机组成原理(二)
计算机组成原理(二)
123 0
|
存储 算法
计算机组成原理(五)
计算机组成原理(五)
121 0
|
存储 开发框架 Unix
计算机组成原理(一)
计算机组成原理(一)
95 0
|
存储 芯片 内存技术
计算机组成原理(四)
计算机组成原理(四)
145 0