计算机组成原理(五)

一、链式查询方式

在这里插入图片描述
接口的优先级固定不变

在链式查询的情况下,设备的优先级通常与其在链中的位置有关。具体来说,越靠近查询链的起始位置的设备通常具有较高的优先级,而越靠近链的末尾位置的设备优先级较低。

优点:
  • 简单实现:链式查询可以通过简单的硬件逻辑或软件控制实现,无需复杂的总线仲裁机制。
  • 低成本:相比于其他总线访问方式,链式查询的硬件成本较低,适用于成本敏感型应用。
  • 适用于少量设备:对于少量设备的系统,链式查询是一种有效的管理方式,可以简化系统设计和管理。
缺点:
  • 响应时间不稳定:由于设备的查询顺序是固定的,靠近链起始位置的设备响应时间较短,而靠近链末尾位置的设备响应时间较长,导致整体响应时间不稳定。

  • 单点故障影响大:如果链中的某个设备发生故障,可能会影响整个链式查询系统的正常工作。

  • 不适用于大规模系统:对于大规模设备的系统,链式查询可能会导致查询时间过长,降低系统性能。

适用场景:
  • 小型系统:链式查询适用于设备数量较少的小型系统,例如家庭电器控制系统、嵌入式系统等。
  • 低成本应用:由于链式查询的硬件成本低,适用于成本敏感型应用,例如消费类电子产品、嵌入式控制器等。

二、计数器定时查询方式

在这里插入图片描述
可以通过软件修改计数器的初始值,改变调用接口的优先级

地址线:

通过地址线,CPU可以确定要访问的内存或 I/O 设备的地址范围。例如,如果一个系统有 16 条地址线,那么它可以访问的地址范围为 2^16,即 0 到 65535。地址线不直接指向特定的设备,而是用于选择地址范围。

设备地址:

设备地址是特定的 I/O 设备在系统中的地址位置。这个地址通常是由设备的控制器或系统配置确定的,不同的设备有不同的地址。当 CPU 决定要访问某个 I/O 设备时,它会发送相应的地址信号,选择要与之通信的设备地址。

地址线用于选择要访问的地址范围,而设备地址用于选择具体的 I/O 设备。CPU可以通过地址线确定要访问的地址范围,然后通过发送设备地址来选择特定的 I/O 设备进行通信。

不过上面这两种都是按顺序进行查找的,这个速度依然慢

三、独立请求方式

在这里插入图片描述

可以通过修改排队器,改变调用接口的优先级
缺点:使用的线太多了

—————————————————————————————————————————————————————————————

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据传输的每个阶段都严格按照定宽、定距的时钟信号进行同步,确保数据的采样和传输在预定的时刻进行。
固定的时刻进行固定的操作。

  1. T1上升沿:
    CPU给出地址信号,指定要访问的设备或内存位置。

  2. T2上升沿:
    在此期间,数据的读取准备工作在进行。CPU向外设发送读信号,指示其准备好接受数据。

  3. T3上升沿:
    外设将数据通过数据总线发送给CPU,CPU接收数据。

  4. T4上升沿:
    在T4上升沿时,CPU撤销控制(读)信号和数据信号,表示数据传输过程的结束。

  5. T4结束时:
    CPU撤销地址信号,表示数据输入过程的结束。

在这里插入图片描述

  1. T1上升沿:
    CPU给出地址信号,指定要从中读取数据的设备或内存位置。

  2. T1下降沿:
    外设在T1下降沿时,准备好数据并开始将数据发送到数据总线上。

  3. T2上升沿:
    CPU给出写命令,指示外设进行数据写入。

  4. T2至T3上升沿之间:
    外设进行写入操作,将数据写入到指定的设备或内存位置。

  5. T4上升沿:
    CPU撤销数据信号和写命令信号,表示数据写入过程的结束。

  6. T4结束时:
    CPU撤销地址信号,表示数据输出过程的结束。

在这里插入图片描述

异步通信是一种数据传输方式,其中发送方和接收方的时钟信号不同步。在异步通信中,数据的传输不依赖于定时的时钟信号,而是通过特定的起始位和停止位来标识数据的开始和结束。

不互锁(Non-Handshaking):

在不互锁的异步通信中,发送方和接收方之间没有任何确认或应答信号。发送方发送数据后,不等待接收方的确认,而是直接继续发送下一个数据。
这种方式简单直接,但可能会存在数据丢失或传输错误的风险。

半互锁(Half-Duplex Handshaking):

在半互锁的异步通信中,发送方在发送数据后会等待接收方发送确认信号。一旦接收方接收到数据并进行处理,就会发送一个确认信号给发送方。
这种方式可以确保数据的可靠传输,但仍存在一定的风险,如接收方无法及时发送确认信号导致数据丢失。

全互锁(Full-Duplex Handshaking):

在全互锁的异步通信中,发送方和接收方之间进行完全的双向确认。发送方在发送数据后会等待接收方发送确认信号,同时接收方在接收到数据后会发送一个确认信号给发送方。
这种方式提供了最高级别的数据传输可靠性和稳定性,确保了数据的完整性和准确性。

在这里插入图片描述

  1. T1上升沿:
    CPU给出地址信号,指定要访问的设备或内存位置。

  2. T2上升沿:
    CPU给出读信号

  3. 在T3开始之前:
    从设备如果不能把数据准备好
    通过wait信号给出一个低电平,告诉CPU进行等待
    CPU检测wait信号是低电平,就会在T3到来之前,插入Tw
    在下一个时钟周期开始之前,继续检测wait信号是否是高电平,否则重复上述操作
    高电平则是,数据已经在数据总线上了,CPU可以进行数据接收

  4. T3周期:
    CPU开始接收数据

  5. T4周期开始时:
    CPU撤销读命令信号和数据信号,表示数据传输过程的结束

  6. T4周期结束时:
    CPU撤销地址信号,表示数据输入过程的结束。

上诉三种的缺点如下图,总线会空闲,导致资源浪费
在这里插入图片描述

分离式通信

在这里插入图片描述

一个传输周期,分成两个子周期

子周期1(Sub-Cycle 1):

子周期1是发送方执行数据发送操作的时段。
在这个子周期内,发送方准备数据并将其放置在数据总线上,同时发出请求信号通知接收方有数据可读。

子周期2(Sub-Cycle 2):

子周期2是接收方执行数据接收操作的时段。
在这个子周期内,接收方检测到请求信号后,从数据总线上读取数据,并发出确认信号通知发送方数据已被接收。

分离式通信可以看作是由两个传输周期组成,其中每个传输周期都包含两个子周期,并且不同的传输周期交替占用总线。
具体而言,第一个传输周期由发送方的子周期1和接收方的子周期2组成,而第二个传输周期则由接收方的子周期1和发送方的子周期2组成。

在这里插入图片描述

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值