什么是英特尔 8089 IOP?

Intel 8089 l/0 处理器包含在 40 针集成电路封装中。在 8089 中有两个独立的单元,称为通道。每个通道都结合了处理器单元的一般特性和直接内存访问控制器的特性。

8089 设计用于在使用 Intel 8086 微处理器作为 CPU 的微型计算机系统中用作 IOP。8086 CPU 通过在内存中构建描述要执行的功能的消息来启动 l/0 操作。8089 IOP 从内存中读取消息,执行操作,并在完成时通知 CPU。

与只有 6 个基本 l/0 命令的 IBM 370 通道相比,8089 IOP 有 50 条基本指令,可以对单个位、字节或 16 位字进行操作。IOP 可以像 CPU 一样执行程序,除了专门选择指令集以提供高效的输入输出处理。

指令集包括通用数据传输指令、基本算术和逻辑运算、条件和无条件分支操作以及子程序调用和返回功能。该集合还包括用于启动 DMA 传输并向 CPU 发出中断请求的特殊指令。它在连接到系统总线的任何两个组件之间提供高效的数据传输,例如 I/O 到内存、内存到内存或 I/O 到 I/O。

8086 作为 CPU,8089 作为 IOP。这两个单元通过连接到系统总线的总线控制器共享一个公共内存,英特尔称之为“多总线”。IOP 使用本地总线与连接到 I/O 设备的各种接口单元进行通信。CPU 通过启用通道注意力线与 IOP 进行通信。CPU 使用选择线选择 8089 中的两个通道之一。IOP 通过发送中断请求来引起 CPU 的注意。

CPU 和 IOP 通过在系统内存中相互写入消息来相互通信。CPU 准备消息区域并通过启用通道注意行来通知 IOP。IOP 读取消息,执行所需的 l/0 功能,并执行适当的通道程序。当通道完成其程序时,它会向 CPU 发出中断请求。

通信方案由称为“块”的程序部分组成,它们存储在内存中。每个块都包含控制和参数信息以及指向其后继块的地址指针。

控制块的地址在初始化期间传递给每个 IOP 通道。忙标志指示 IOP 是忙还是准备好执行新的 I/O 操作。CCW(通道命令字)由 CPU 指定,以指示 IOP 所需的操作类型。8089 中的 CCW 与 IBM 频道中的命令字的含义不同。

CCW 更像是一条 I/O 指令,为 IOP 指定一个操作,例如启动操作、挂起操作、恢复操作和暂停 I/O 程序。参数块包含 IOP 程序在执行其任务时必须使用的变量数据。任务块包含要在 IOP 中执行的实际程序。