Atapi指令接收方式的制作方法

文档序号:6555903阅读:175来源:国知局
专利名称:Atapi指令接收方式的制作方法
技术领域
本发明涉及一种控制ATAPI(AT连接包接口)协议的LSI指今接收方式,具体而言,是涉及一种能缩短CPU处理时间的ATAPI指令接收方式。
ATAPI是主机和内置用硬盘接口的ATA标准扩充到多媒体装置用的标准,关于其详细内容由X3T13委员会制定。
下面,参照图5和图6来说明已有的ATAPI指令的接收方式。
图5表示通过ATA总线2向主机1连接装置3-6的状态。
装置3-6是支持ATA协议的装置,或者是支持ATAPI协议的装置,此处是支持ATAPI协议的装置。在装置3的内部,如图6所示,具存控制ATAPI协议用的LSI(ATAPI协议控制KSI)31和解读从主机1接收的指令并在其内进行相应处理的CPU32,以及CPU32访问的RAM33。
图6表示通过ATA总线2访问的装置3的构成和指令数据流。即,ATAPI协议控制LS131通过ATA总线2控制ATAPI协议、CPU32对装置3进行控制、根据CPU32访问RAM33。
另外,ATAPI协议控制LSI31具有用于访问主机1的公共寄存器存储区域311和可能用作CPU32的RAM的缓冲存储器312。
而且,公共的寄存器存储区域311包括ATAPI协议规定的指令寄存器3111和暂时存储由主机1向公共寄存器的数据寄存器发送的指令包和访问数据等的数据FIFO(先进先出)3112以及其它的公共寄存器3113。
现在对于具有这种构成的装置3-6,主机1选择装置3,通过ATA总线2,对装置3发送指令时候的关于装置3的ATAPI指令接收方式进行说明。
对于从与主机1连接的装置3-装置6中选择的装置3而言,主机1通过ATA总线2访问公共的寄存器存储区域311,向公共的寄存器存储区域311发送1字节的指令和指令束(下面称作“指令包”)。这里,指令包是来自ATA协议的扩充机能,是当启动主机1的时候,以与装置3的指令(标识包装置指令)互赠设定的多字节指令数据。
通过ATA总线2,从主机1向装置3发送根据ATAPI协议所产生的指令的情况下,ATAPI协议控制LSI31分别向公共寄存器存储区域311中的指令寄存器3111存储主机1访问的指令寄存器的值,向公共寄存器存储区域311内的数据FIF03112存储主机1访问的指令包的值,向公共寄存器存储区域311内的其它公共寄存器3113存储主机1访问的其他公共寄存器的值,接着,向CPU32提供中断信号。
CPU32一接到中断信号后,就开始中断处理例行程序。在中断处理例行程序中,访问ATAPI协议控制LSI31中的指令寄存器3111、数据FIF03112和其他寄存器3113,并将存储在它们中的值存储在RAM33中。
CPU32一结束中断处理例行程序后,就恢复到作为通常处理的指令处理例行程序,在指令处理例行程序中,从RAM33中取出前述的存储值,进行指令处理。
据此,在根据上述的已有ATAPI指令接收方法接收指令时,CPU32识别来自ATAPI协议控制LSI31的中断,在CPU32的中断处理例行程序中,进行向ATAPI协议控制LSI31的公共寄存器存储区域311的访问,从而在RAM33中存储该公共寄存器的值。
但是,问题在于,根据上述的已有ATAPI指令接收方法,在CPU32的中断处理例行程序方面,CPU32取得ATAPI协议控制LSI31保持的公共指令寄存器的值和指令包的值要花费时间,对应CPU32的其它处理迟缓。
此外,还有问题是在CPU32正取得指令寄存器的值和指令包的值期间,ATAPI协议控制LSI31接收到来自主机1的下一个指令和指令包的情况下,具有破坏CPU32取得的指令寄存器值和指令包值的可能性。
因此,鉴于上述存在的问题,本发明的目的在于提供使CPU32的中断处理变短,能够增加系统稳定性的ATAPI指令接收方式。
为了解决上述问题,本发明第一方面的ATAPI指令接收方式是包括具有公共的寄存器存储区域和缓冲存储器且控制ATAPI(AT连接包接口)协议的LSI以及进行具有行该LSI的装置的控制的CPU的装置的指令接收方式,其特征在于,对于上述装置,当从该装置外部由主机经过ATA总线发送指令时,所述的CPU向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的存储目的地址中存储在所述的公共寄存器存储区域中存储的公共寄存器的值。
另外,本发明第二方面的ATAPI指今接收方式是包括具有公共的寄存器存储区域和缓冲存储器且控制ATAPI(AT连接包接口)协议的LSI以及进行具有该LSI的装置的控制的CPU的装置的指令接收方式,其特征在于,对于上述装置,当从该装置外部由主机经过ATA总线发送指令时,所述的CPU向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的第1存储目的地址中存储在所述的公共寄存器存储区域中存储的值,当所述的CPU不向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的第2存储目的地址中存储在所述的公共寄存器存储区域中存储的值。
另外,本发明第三方面的ATAPI指令接收方式是包括具有公共的寄存器存储区域和缓冲存储器且控制ATAPI(AT连接包接口)协议的LSI以及进行具有该LSI的装置的控制的CPU的装置的指令接收方式,其特征在于,对于上述装置,当从该装置外部由主机经过ATA总线发送指令时,所述的CPU向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的为偶数值的存储目的地址中顺序存储在所述的公共寄存器存储区域中存储的指令寄存器值,指令包值、和其它公共的寄存器值。


图1是表示使用本发明的ATAPI指令处理方式的装置的构成和装置内部的指令流的示意图;图2是表示根据本发明的实施例1的缓冲存储器的公共寄存器值的存储构成的图;图3是表示根据本发明的实施例2的缓冲存储器的公共寄存器值的存储构成的图;图4是表示根据本发明的实施例3的缓冲存储器的公共寄存器值的存储构成的图;图5是表示用ATA总线连接主机和系统的状态的示意图,图6是表示已有的使用指令处理方式的装置的构成和装置内部的指令流的示意图。
图1是表示使用根据实施例1所述的ATAPI指令处理方式的装置7的构成和装置7内部的指令流。
如图1所示,装置7包括控制ATAPI协议的ATAPI协议控制LSI71、进行装置7整体控制的CPU72和CPU72所访问的RAM73。
ATAPI协议控制LSI71包括用于访问主机1的公共寄存器存储区域711和可能作为CPU72的RAM的缓冲存储器712。
在公共寄存器存储区域711中,存在存储公共寄存器的指令寄存器的指令寄存器7111、存储由主机1发送的指令包的数据FIF07112和存储其它公共寄存器的其它公共寄存器7113。
图2表示关于本实施例1的ATAPI协议控制LSI71内部的缓冲存储器712内的公共寄存器和指令包的存储构成。如图所示,CPU72在指定的存储目的地址A中存储公共的寄存器值(包括指令包值)。
下面,说明根据本实施例1所述的ATAPI指令接收方式的动作。
在装置7通过ATA总线2接收由主机1发送的指令的情况下,ATAPI协议控制LSI71分别向公共寄存器存储区域711的指令寄存器7111存储主机1发送的指令寄存器值、向公共寄存器存储区域711的数据FIF07112存储主机1发送的指令包值、向公共寄存器存储区域711的其它公共寄存器7113存储主机1发送的其它公共寄存器值。
然后,在装置7通过总线2接收由主机1发送的指令时,在ATAPI协议控制LSI71提供来自CPU72的数据存储许可的情况下,如图2所示,ATSPI协议控制LSI71在CPU72指定的缓冲存储器712的存储目的地址A中存储公共寄存器的值(包括指令包值),向CPU72提供中断指示,进而ATAPI协议控制LSI71自己取消数据存储许可。
CPU72识别到中断后,进入中断处理例行程序结束处理,并向指令处理例行程序切换,在该指令处理例行程序中,在从缓冲存储器712的地址A中取出公共寄存器的值(包括指令包值)之后,进行指令处理。因此,在结束指令处理之后,CPU72向ATAPI协议控制LSI71再次提供数据存储许可。
在未提供上述的数据存储许可的情况下,从主机一发送指令起,ATAPI协议控制LSI71就分别向公共寄存器存储区域711的指令寄存器7111存储主机1发送的指令寄存器值、向公共寄存器存储区域711的数据FIF07112存储主机1发送的指令包值、向公共寄存器存储区域711的其它公共寄存器7113存储主机1发送的其它公共寄存器值,向CPU72提供中断指示。在中断处理例行程序中,这种情况下的接收中断指示之后的CPU72的动作是进行向ATAPI协议控制LSI71的公共寄存器存储区域711的访问,在RAM73中存储该公共寄存器的值后,从中断处理例行程序向指令处理例行程序切换,在指令处理例行程序中,从RAM73中取出公共的寄存器的值(包括指令包值),进行指令处理。
据此,在根据本实施例1的ATAPI指令接收方式中,在ATAPI协议控制LSI71一次将公共寄存器的值(包括指令包值)放入缓冲存储器712之后,CPU72进行指令处理期间,为取消对于来自CPU72的ATAPI协议控制LSI71的数据存储许可的状态,这期间,在发送来自主机1的指令的情况下,主机1发送的指令寄存器值分别暂存储在公共寄存器存储区域711的指令寄存器7111中,指令包值暂存储在公共寄存器存储区域711中的数据FIF07112中,其它公共寄存器值暂时存储在公共寄存器存储区域711的其它公共寄存器7113中。因此,在根据主机1提供的指令中,在缓冲存储器712中存储最初的指令,由主机1赋予地址的最后的(最新的)指令存储在ATAPI协议控制LSI71的公共寄存器存储区域711中。
从而,如本实施例1的ATAPI指令接收方式,对于最初的指令,根据CPU72的中断处理例行程序,节省了公共寄存器的值(包括指令包的值)的取入时间,从而能够缩短CPU72的整体处理时间。另外,CPU72不介入其中,ATAPI协议控制LSI71保持由主机1赋予地址的指令。另外,由于一次存储指令的缓冲寄存器712的地址,节省了存储地址的管理,因而能够将存储大小限制到最小限度。
图3是表示根据本实施例2的装置7的ATAPI协议控制LSI71内部的缓冲存储器712中存在的公共寄存器和指令包的存储构成。如图所示,在CPU72指定的存储地址B、C中存储公共的寄存器值(包括指令包的值)。
下面说明根据本实施例2所述的ATAPI指令接收方式的动作。
在装置7通过ATA总线2接收由主机1发送的指令的情况下,ATAPI协议控制LSI71分别向公共寄存器存储区域711的指令寄存器7111存储主机1发送的指令寄存器值、向公共寄存器存储区域711的数据FIF07112存储主机1发送的指令包值、向公共寄存器存储区域711的其它公共寄存器7113存储主机1发送的其它公共寄存器值。
因此,在装置7通过总线2接收由主机1发送的指令时,在ATAPI协议控制LSI71提供来自CPU72的数据存储许可的情况下,如图3所示,ATSPI协议控制LSI71在CPU72指定的缓冲存储器712的存储目的地址B中存储公共寄存器的值(包括指令包值),接下来,ATAPI协议控制LSI71向CPU72提供中断指示,进而ATAPI协议控制LSI71自己取消数据存储许可。
这之后,CPU72从中断处理例行程序向指令处理例行程序切换,在指令处理例行程序中,在从缓冲存储器712的地址B中取出公共寄存器的值(包括指令包值)之后,进行指令处理。然后,在结束指令处理之后,CPU72向ATAPI协议控制LSI71再次提供数据存储许可。
另一方面,在未提供上述的数据存储许可的情况下,如图3所示,ATAPI协议控制LSI71在CPU72指定的缓冲存储器712的存储目的地址(重叠用存储地址)C中存储公共寄存器的值(包括指令包值),向CPU72提供中断指示。接收到中断指示后的CPU72的动作与上面所述的相同,从中断例行程序向指令处理例行程序切换,在指令处理例行程序中,在从缓冲存储器712的地址C中取出公共寄存器的值(包括指令包值)之后,进行指令处理。因此,在结束了指令处理之后,在地址B中没有未处理的指令的情况下,CPU72向ATAPI协议控制LSI71再次提供数据存储许可。在地址B中存在未处理的指令的情况下,在结束该指令处理之后,CPU72再次向ATAPI协议控制LSI71提供数据存储许可。
据此,根据本实施例2的ATAPI指令接收方式,ATAPI协议控制LSI71一次把公共寄存器的值(包括指令包值)取入缓冲存储器712中,之后,CPU72进行指令处理期间,为取消向CPU72的ATAPI协议控制LSI71的数据存储许可的状态,这期间,在发送来自主机1的指令的情况下,在CPU72指定的缓冲存储器712的存储目的地址C中存储主机1发送的公共寄存器的值(包括指令包值)。从而,在从主机1发送的指令中,在缓冲存储器712的地址B中存储最初的指令,在缓冲存储器712的地址C中存储根据主机1被赋予地址的最后的(最新的)指令。
因此,如果是根据本实施例2所述的ATAPI指令接收方式,那么,对于任意的指令,在CPU72的中断处理例行程序的动作中,节省了公共寄存器的值(包括指令包的值)的取入时间,从而能够缩短CPU72的整体处理时间。并且,在无CPU2的介入时,ATAPI协议控制LSI71能够保持根据主机1赋予地址的指令。实施例3接下来,利用图1和图4来说明根据对应于本发明的第三方面的实施例3的ATAPI协议接收方式。另外,用相同的符号表示与上述实施例相同的构成,省略其说明。
图4表示根据本发明的实施例3的装置7的ATAPI协议控制LSI71内部的缓冲存储器712内存在的公共寄存器值的存储构成。在CPU72指定的存储目的地址D中存储公共寄存器值(包括指令包值)。在这里,存储目的地址D的值是偶数值。
下面,说明根据本实施例3所述的ATAPI指令接收方式的动作。
在装置7通过ATA总线2接收由主机1发送的指令的情况下,ATAPI协议控制LSI71分别向公共寄存器存储区域711的指令寄存器7111存储主机1发送的指令寄存器值、向公共寄存器存储区域711的数据FIF07112存储主机1发送的指令包值、向公共寄存器存储区域711的其它公共寄存器7113存储主机1发送的其它公共寄存器值,另外,在ATAPI协议控制LSI71提供来自CPU72的数据存储许可的情况下,如图4所示,ATSPI协议控制LSI71在CPU72指定的作为偶数值的缓冲存储器712的存储目的地址D中顺序存储指令寄存器值、指令包值、和其它公共寄存器值、接下来,ATAPI协议控制LSI71向CPU72提供中断指示,进而ATAPI协议控制LSI71自己取消数据存储许可。
并且,在这之后,CPU72从中断处理例行程序向指令处理例行程序切换,在指令处理例行程序中,在从缓冲存储器712的地址D中取得指令寄存器值和指令包值的0字节的值,从这2个值来判断有无数据发送,进行指令处理。然后,在结束指令处理之后,CPU72向ATAPI协议控制LSI71再次提供数据存储许可。
接下来,在ATAPI协议控制LSI71未提供来自CPU72的数据存储许可的情况下,装置7通过ATA总线2接收由主机1发送的指令的时候,ATAPI协议控制LSI71分别向公共寄存器存储区域711的指令寄存器7111存储主机1发送的指令寄存器值、向公共寄存器存储区域711的数据FIF07112存储主机1发送的指令包值、向公共寄存器存储区域711的其它公共寄存器7113存储主机1发送的其它公共寄存器值,向CPU72提供中断指示。在中断处理例行程序中,这种情况下的接收中断指示之后的CPU72的动作是进行向ATAPI协议控制LSI71的公共寄存器存储区域711的访问,在RAM73中存储该公共寄存器的值后,从中断处理例行程序向指令处理例行程序切换,在指令处理例行程序中,从RAM73中取出公共的寄存器的值(包括指令包值),进行指令处理。
据此,在根据本实施例3的ATAPI指令接收方式中,在CPU72向ATAPI协议控制LSI71提供数据存储许可的情况下,在CPU72指定的缓冲存储器712的作为偶数值的存储目的地址中,顺序存储在公共寄存器存储区域711内存储的指令寄存器值、指令包值和其它公共寄存器值,CPU72能够从缓冲存储器712的为偶数值的地址D取到的指令寄存器值和指令包值的0字节的值来判断有无数据发送,从而可能清除CPU72应该取到的剩余指令包值和其它公共寄存器值,并能够达到减少存储访问的数量。
另外,CPU72如果通过将偶数值地址D设定为存储目的地址的开始地址可能字访问时,则在进行字(2个字节)访问的情况下,因为按照偶数地址、奇数地址的顺序每2个字节读出数据,从而能够实现进一步消减存储访问的数量。在这里,在来自主机的指令中,因为能够仅由收到的指令寄存器值和指令包值的开头的1个字节来确定指令处理的内容,从而不从偶数值地址开始使每个存储指令寄存器值(1个字节)和指令包值,指令包值能够从连续于存储的偶数值地址的奇数地址开始连续存储指令寄存器值(1个字节),从而能够提高指令处理的效率。
据此,节省了CPU72的指令处理的公共寄存器值的取得时间,从而能够大大缩短CPU72的整体处理时间。
如上所述,如果根据本发明的第一方面所述的ATAPI指令接收方式,那么在通过ATA总线从主机发送指令的时候,从CPU向LSI提供数据存储许可的情况下,在由CPU指定的缓冲存储器的存储目的地址中,因为构成了存储在公共寄存器存储区域中的存储值,从而缩短了在CPU中断处理时的不进行公共寄存器值的取得的处理时间,能够实现系统稳定性的增加。另外,在没有CPU介入的情况下,LSI能够保持根据主机赋予地址的指令,为了CPU能够在缓冲存储器中指定存储地址,对于复数组的指令而言,存储在任意的场所内变为可能。为此,能够容易地对应于ATAPI协议的重叠机能。
另外,如果根据本发明的第二方面所述的ATAPI指令接收方式,那么在通过ATA总线从主机发送指令的时候,对应于来自CPU的对LSI设定的数据存储许可的有无,变更由CPU指定的缓冲存储器的存储目的地址,在该存储目的地址中,因为在公共寄存器存储区域中存储了被存储的值,所以缩短了在CPU的中断处理时不进行公共寄存器值的取出的处理时间,并能够实现系统稳定性的增加。
另外,如果根据本发明的第三方面的ATAPI指令接收方式,则在通过ATA总线从主机发送指令的时候,在从CPU向LSI提供数据存储许可的情况下,因为在由CPU指定的缓冲存储器的为偶数值的存储目的地址中顺序存储了在公共寄存器存储区域中存储的指令寄存器值、指令包值和其它公共的寄存器值,可能对CPU进行字访问,能够减少从上述的缓冲存储器取得上述公共寄存器值时的访问次数,从而缩短了上述CPU的处理时间。
权利要求
1.一种包括具有公共的寄存器存储区域和缓冲存储器的控制ATAPI(AT连接包接口)协议的LSI以及进行具有该LSI的装置的控制的CPU的装置的ATAPI指令接收方式,其特征在于,对于上述装置,当从该装置外部由主机经过ATA总线发送指令时,所述的CPU向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的存储目的地址中存储在所述的公共寄存器存储区域中存储的公共寄存器的值。
2.一种包括具有公共的寄存器存储区域和缓冲存储器且控制ATAPI(AT附加包接口)协议的LSI以及进行具有该LSI的装置的控制的CPU的装置的ATAPI指令接收方式,其特征在于,对于上述装置,当从该装置外部由主机经过ATA总线发送指令时,所述的CPU向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的第1存储目的地址中存储在所述的公共寄存器存储区域中存储的值,当所述的CPU不向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的第2存储目的地址中存储在所述的公共寄存器存储区域中存储的值。
3.一种包括具有公共的寄存器存储区域和缓冲存储器且控制ATAPI(AT连接包接口)协议的LSI以及进行具有该LSI的装置的控制的CPU的装置的ATAPI指令接收方式,其特征在于,对于上述装置,当从该装置外部由主机经过ATA总线发送指令时,所述的CPU向所述的LSI提供数据存储许可时,在所述CPU指定的所述缓冲存储器的为偶数值的存储目的地址中顺序存储在所述的公共寄存器存储区域中存储的指令寄存器值,指令包值、和其它公共的寄存器值。
全文摘要
本发明提供一种ATAPI指令接收方式。使得CPU能够迅速地对应于没有在数据存取中花费时间的其它处理,另外,不破坏CPU存取时的中间数据。本发明在包括从主机通过ATA总线2接收的公共寄存器存储区域(包括保持指令包的数据FIFO712)711和可能作为CPU72的RAM使用的缓冲存储器712的ATAPI协议控制LSI71进行指令接收时,在从CPU72提供数据存储许可的情况下,在由CPU72指定的缓冲存储器712的存储目的地址中,存储公共寄存器值(包括指令包值)。
文档编号G06F9/38GK1317747SQ01117849
公开日2001年10月17日 申请日期2001年2月16日 优先权日2000年2月17日
发明者木村容子, 上田泰志 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1