📜  电脑组织|异步输入输出同步

📅  最后修改于: 2021-06-28 09:27:18             🧑  作者: Mango

异步输入输出是一种输入输出处理的形式,它允许其他设备在完成传输或数据传输之前进行处理。

异步输入输出同步面临的问题–
不确定数据总线上的数据是否新鲜,因为它们没有用于发送或接收数据的时隙。

此问题通过以下机制解决:

  1. 频闪
  2. 握手

数据通过两者之间的数据总线从源传输到目标。

1.频闪机制:

  1. 源启动选通–当源启动数据传输过程时。频闪只是一个信号。

    (i)首先,信号源将数据放在数据总线上,并将选通信号打开。
    (ii)看到选通的ON信号的目的地,从数据总线读取数据。
    (iii)按目的地从数据总线读取数据后,选通灯熄灭。

    信号可以看成是:

    它表明先将数据放在数据总线上,然后选通信号变为活动状态。

  2. 目标启动信号–目标启动数据传输过程时。

    (i)首先,目的地将选通信号置ON,以确保信号源将最新数据放入数据总线。
    (ii)看到ON信号的消息源将新数据放到数据总线上。
    (iii)目标从数据总线读取数据,并且选通信号变为OFF信号。

    信号可以看成是:

    它显示出第一个选通信号被激活,然后数据被放入数据总线。

基于Strobe的异步输入输出面临的问题–

  1. 在源启动的选通中,假定目标已从数据总线读取数据,但不确定。
  2. 在目标启动的选通中,假定源已将数据放到数据总线上,但不确定。

通过握手可以解决此问题。

2.握手机制:

  1. 源启动握手–源启动数据传输过程时。它由信号组成:
    数据有效:如果为ON,则表明数据总线上的数据有效,否则无效。
    数据已接受:如果为ON,则表示数据已被接受,否则未接受。

    (i)源将数据放在数据总线上,并启用数据有效信号。
    (ii)目标从数据总线接受数据并启用数据接受信号。
    (iii)此后,禁用数据有效信号表示数据总线上的数据现在无效。
    (iv)禁用数据已接受信号,然后处理结束。

    现在可以确定目标已通过数据接受信号从数据总线读取了数据。

    信号可以看成是:

    它显示了先将数据放入数据总线,然后数据有效信号变为活动状态,然后数据接受信号变为活动状态。接受数据后,首先数据有效信号断开,然后数据接受信号断开。

  2. 目标启动的握手–目标启动数据传输过程时。
    REQUEST FOR DATA:如果为ON,则请求将数据放入数据总线。
    数据有效:如果为ON,则表明数据总线上的数据有效,否则为无效数据。

    (i)当目的地准备好接收数据时,“数据请求”信号将被激活。
    (ii)作为响应的源将数据放在数据总线上,并启用数据有效信号。
    (iii)目标然后接受来自数据总线的数据,并且在接受数据之后,禁用数据请求信号。
    (iv)最后,禁用数据有效信号意味着数据总线上的数据不再是有效数据。

    现在可以确定信号源已通过数据有效信号将数据放入数据总线。

    信号可以看成是:

    它显示了先请求数据信号变为活动状态,然后将数据放入数据总线,然后数据有效信号变为活动状态。读取数据后,首先发出“数据请求”信号,然后发出“数据有效”信号。