什么是英特尔 8089 IOP?
Intel8089l/0处理器包含在40针集成电路封装中。在8089中有两个独立的单元,称为通道。每个通道都结合了处理器单元的一般特性和直接内存访问控制器的特性。
8089设计用于在使用Intel8086微处理器作为CPU的微型计算机系统中用作IOP。8086CPU通过在内存中构建描述要执行的功能的消息来启动l/0操作。8089IOP从内存中读取消息,执行操作,并在完成时通知CPU。
与只有6个基本l/0命令的IBM370通道相比,8089IOP有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中执行的实际程序。