寄生个人计算机接口的制作方法

文档序号:6410380阅读:193来源:国知局
专利名称:寄生个人计算机接口的制作方法
技术领域
本发明涉及计算机接口及资源共享,且更具体地涉及一种将待由远程处理机执行的程序存储在驻留于一计算机系统中的存储器内的方法及装置。
一通用本地处理器受到许多其它更专业的处理装置的辅助在今天来说是很普通的。例如,甚至比较小的计算机(例如个人计算机)有一通用本地“主”处理器执行与计算机执行的应用程序有关的主要处理,例如,该主处理器读取作为一应用程序的一部分的指令,例如一字处理程序,并确定哪些处理器将执行该功能。这些主处理器典型地受到至少一个视频处理器、一数字信号处理器、一I/O控制处理器、一数学协处理器、及其它这类处理装置的辅助。
在某些情况下,例如在膝上型计算机的情况下,一些处理由通过外部端口(例如众所周知的在许多现代膝上型计算机上用的PCMCIA端口)而耦合至该膝上型计算机的远程装置来执行,这些外部端口使膝上型计算机可为通用、轻便且便宜的。可被耦合至一PCMCIA端口的外围设备的一个例子是调制解调器。调制解调器是众所周知的可通过电话线发送及接收信息的装置。因此,通过将一调制解调器耦合至一膝上型计算机的PCMCIA端口,该膝上型计算机可发送信息给同样连接至电话线另一端的任何其它装置并接收来自其的信息。


图1为一系统方框图,该系统是根据一种用于将一外部处理装置104耦合至一主计算机100的方法构成的。该外部处理装置104与一数据缓冲器118、一I/o缓冲器108、一程序存储器110、及一数据存储器112组装在一起。外部设备102内的该外部处理装置104通过耦合在主计算机100与I/o缓冲器108之间的一I/o总线106接收来自主计算机100的命令。该外部处理装置104读取来自I/o缓冲器108的命令并执行来自程序存储器110的程序。当接收到一命令时,该外部处理装置104设置一程序计数器(PC)120的起始地址。该起始地址指示哪个程序指令将从程序存储器110取出以由外部处理装置104执行。
外部处理装置104可或者直接从外部设备102内的一数据存储器112或从主计算机100内的一主数据存储器114获得数据。例如,如果外部设备执行视频压缩,未压缩的视频数据可从主数据存储器114读取而压缩的视频数据可存储回主数据存储器114。而后,从主数据存储器114读取该视频数据并进行解压。当将从该主数据存储器114读取数据时,执行一直接存储器存取(DMA)操作。这些DMA操作在现有技术中是众所周知的。典型地,连同一起始地址及块大小一起对待被读取或写至存储器的数据作出一请求。然后在写该数据至一DMA缓冲存储器118(或从该DMA缓冲存储器118读取该数据)的DMA装置116的控制下,从该主数据存储器114读取该数据(或将该数据写至该主数据存储器114)。DMA操作允许不包含主处理器122或外部处理装置104而进行数据传送。该体系结构存在的问题之一是在某些情况下,例如在调制解调器、语音识别、音频处理、及视频处理应用中,外部处理器104必须作的工作量大于可利用的处理资源。
在这些情况下,如图2中所示,一些外部设备,例如调制解调器,包括卸载一些在外部处理器204中需被执行的附加功能的一控制处理器(CP)201,该外部处理器204例如在一调制解调器中典型地为一数字信号处理器(DSP)。经I/o总线106自主计算机100发送的命令在命令缓冲存储器208中被缓冲。CP201对这些来自主计算机100的命令进行解码并将命令及控制功能提供给DSP204。因此,该CP201执行不要求DSP204的特殊运算能力的功能。这样该CP201从DSP204卸载接口任务、附加任务、及其它的DSP204未被具体指定及适合的功能,以使DSP204在执行调制及解调任务中所需的特殊运算功能(例如计算傅里叶变换)时可使用更多的处理资源。
然而,在图2所示的体系结构中,由于CP201的尺寸及由CP201执行的CP功能的复杂性,还有存储DSP程序及数据所需的存储器212、210,要求有相对大及昂贵的存储装置211、213来存储CP功能程序指令和CP数据。为了减小调制解调器的成本及尺寸,一些调制解调器生产厂家已实行一“宿主”系统。宿主系统将CP功能从调制解调器202移入主计算机100。图3是一配置成一宿主调制解调器系统的调制解调器302及主计算机300的方框图。如图所示,用于CP功能的程序指令(即“CP功能程序”码304)驻留于主存储器306内。主计算机300内的一中央处理单元(CPU)308执行CP功能程序304。因此,外部设备302是较小且不太昂贵的,并没有实际的增加主计算机300的尺寸及其负担。然而,该CP功能必须用可由主计算机300执行的程序语言来写。并且,CPU308必须按照由主计算机操作系统设置的规则来执行该CP功能。因此,在宿主系统中遇到一些附加的负担,例如,事实上该CP功能程序码必须与主计算机的操作系统相兼容,这意味着对于外部设备试图共用使用的各种类型的操作系统,必须写不同的CP功能程序码。更具体地,如果一调制解调器的制造商希望售出该调制解调器用于一基于窗口的系统,则必须写基于窗的CP功能程序码。如果制造商还希售出该调制解调器用于基于DOS的系统,必须写一另外的用于DOS操作系统的CP功能程序码。由于现在的主机中使用有几种操作系统,且这些操作系统偶尔被升级至或为不向下兼容,或为会引起用户对为操作系统新版本所具体设计程序的需求的操作系统,写并调试该CP功能程序码所需要的调试时间量会很繁重。
所以,希望提供一种方法和装置,用于将一外部处理装置耦合至一主计算机而该外部设备不需要包括一大的、昂贵的存储器,并只需写一种CP功能程序码来适应所有可能会与该外部设备共用使用的主计算机。本发明提供了这样一种方法及装置。
本发明给出了一种方法及装置,用于将一外部设备耦合至一主计算机,以使待由外部设备执行的程序码可存储在主计算机存储器中但与主计算机基本无关。
根据本发明,其硬件及软件使一程序及地址总线的逻辑位移能跨接处理器间接口。一外部设备最好通过一普通的DMA功能提供对存储于主计算机存储器内的程序码的直接存取。待由该外部设备内的外部处理器执行的程序码被从主存储器传送至该外部设备内的指令缓冲存储器。在本发明的一实施例中,该外部处理器在一定时中断基础上确定何时要求通过DMA信道自主存储器来的附加指令。该中断致使该外部处理器请求将来自主存储器的附加指令传送至该外部设备内的指令缓冲存储器。在本发明的另一个实施例中,每次当该外部处理器被中断时,该外部处理器核查有多少指令仍留在指令缓冲器中。如果在该指令缓冲器中有不够量的指令,则该外部处理器请求自主存储器传送附加指令。
在本发明的另一实施例中,该指令缓冲器被配置为一指令超高速缓存器。也就是说,经常使用的指令保留在该超高速缓存器中。当需要一当前不在该超高速缓存器中的指令时,该外部处理器命令该DMA装置传送来自主存储器的包括该所需指令的一批指令。该批指令包括其它可能需要的指令,其由在执行完该所需指令后在一很短时间内将执行这些其它指令的可能性来确定。
在本发明的再一个实施例中,程序码本身内的“取”指令指示该外部处理器请求附加指令。这些取指令可能会关键地位于该码内的由该程序码的程序员所选取为主要点的点上,以请求附加指令以确保该指令缓冲器一直含有待由外部处理器执行的下一个指令。
在本发明的各实施例中,该外部处理器最好要求一当前不在缓冲器中的指令。然后该缓冲器返回一指令给该外部处理器,使该外部处理器请求来自主存储器的包括该所需指令的附加指令。在一实施例中,该外部处理器然后将保持空闲而该DMA装置传送这些来自主存储器的所请求的指令。
在本发明的优选实施例中,提供有一多路复用器,其允许将来自一其内存储有用于特殊用途功能的指令的特殊用途程序存储器的指令提供给外部处理器。例如,在其内的外部处理器为一数字信号处理器(DSP)的调制解调器中,这些特殊用途功能包括用于执行在物理层上调制及解调信号(被发送至电话线上的信号)的算术运算的指令。典型地,这些特殊用途指令被很经常地重复,因此,这些特殊用途指令不需要一大存储器。
在本发明的另一实施例中,在该外部处理器中有一控制处理器(CP)。该CP通过执行自主存储器接收的程序码来执CP功能。所以,该CP担负着请求将附加指令自主存储器传送至指令缓冲器的责任。该外部处理器最好耦合至该CP。该外部处理器最好接收来自CP的命令并仅执行存于该特殊用途存储器中的指令。
在本发明的各实施例中,包括在存储于主存储器中的程序码内的功能(或任务)(即“CP”功能)最好不是实时功能。因此,存储在主存储器中并待由外部装置内的一处理器执行的程序码被表示为一“CP功能程序码”。待由外部装置的处理器执行的实时功能最好不通过该CP功能程序码来执行,而通过本地存储的执行程序码(即“外部程序码”)来执行。如果在该功能未在特定的时间量内被执行的情况下,不利于外部设备的操作,在本发明的优选实施例中,该功能将不被包括在该CP功能程序码内。相反地,这些功能被包括在该外部程序码内,该外部程序码以这样一种方式被本地存储于外部设备内一相对小的本地外部处理器存储器中,即允许它们在一经请求时便毫不延迟地由外部处理器容易地进行存取。
本发明优选实施例的细节将在附图及以下的描述中给出,在了解本发明的细节后,熟悉本领域的技术人员显而易见地可作出多项附加的改进及变化。
图1为根据一方法构成的用于将一外部处理装置耦合至一主计算机的系统的方框图;图2为其内一调制解调器被耦合至一主计算机的系统的方框图。
图3为一被配置为一宿主调制解调器系统的调制解调器及主计算机的方框图。
图4为一根据本发明的其内一计算机被耦合至一外部设备的系统的方框图。
图5为本发明的另一实施例的方框图。
图6为本发明的一实施例的方框图,其中外部设备包括一离散控制处理器及DMA硬件。
不同的附图中类似的参考数字及标记表示相类似的元件。
在整个描述中,这些优选的实施例及例子应理解为示例性说明,而不是对本发明的限制。
本发明给出了一种用于在一主存储器内存储由一外部处理器执行的程序码的方法和装置。例如,在许多情况下,一计算机有一相对大的存储器,该存储器内存有由该主计算机内一主处理器执行的程序。并且,该主存储器内可以存有数据。图4为一系统的方框图,其中一主计算机400包括一主处理器(即一CPU)308、一主存储器306、一程序直接存储器存取(DMA)装置401、及一数据DMA装置403。在图4的实施例中,一外部设备402包括一数据缓冲器405、一命令缓冲器407、一外部处理器409、DMA硬件411、一指令多路复用器413、一外部程序存储器415及一外部数据存储器417。
该外部设备402可以是需要程序码以进行操作的任何装置。在图4所示的实施例中,该外部设备402通过一I/o通道408接收来自主计算机400的命令。这些命令在命令缓冲器407中被缓冲。这些自主处理器接收的命令最好为请求外部设备执行一功能的高级命令。例如,该外部设备可以是调制解调器、语音识别系统、紧致磁盘播放机、视频处理器、音频处理器、外围存储装置、或任何其它需要程序码的各种装置。因此,在外部设备为调制解调器的情况下,主计算机400可请求外部设备经一电话连接接收或发送一数据文件。可将执行该功能所需的信息存储在该外部数据存储器417中。根据需要,该信息由外部处理器409读取。
在本发明的一个实施例中,外部设备402具体为一类其中由外部处理器409执行的功能可被划分为实时功能及非实时功能的装置。实时功能为在确定该任务被需求后,在预定的且相对短的一段时间内应被执行的功能。例如,在调制解调器中,输入信号最好被实时(即,当输入信号被接收时)解调并解码。为了实时解调并解码该输入信号,必须相对迅速地执行多项算术运算。典型地,这些算术运算由称之为一数字信号处理器(DSP)的专门的外部处理器来执行。
除实时功能,例如解调及解码输入信号以外,还有许多必须被执行的其它功能。然而,这些功能是非实时的。也就是说,如果这些其它功能在一较低的优先级并在一延迟后被执行,将不影响该外部设备的操作。例如,主机与外部设备之间的通信功能可以不需要一经请求即被迅速执行。自主计算机接收的命令可在外部装置402响应之前保存一段时间。并且,例如用户接口/命令分析、自动拨号、及自动应答的功能被考虑为非实时的。在本发明的一实施例中,例如这些非实时程序由DSP来执行,因为DSP支持相关的功能。另外,DSP执行这些功能是因为这些程序指导更多实时信号处理任务的排序执行。
在本发明的实施例中,其中实时及非实时功能都必须被执行,非实时功能是指控制处理(“CP”)功能。本领域的熟练技术人员将可理解,虽然CP功能被考虑为非实时的,它们应在一相对短的时间内被执行以防止延迟对外部设备操作的打击。实时功能是指“外部程序”功能。根据本发明的一实施例,外部程序功能及CP功能都由外部处理器409执行。因此,外部设备耦合至的主处理器的具体类型与本发明的外部设备的内部功能无关。并且,由于主处理器通过I/o通道408与外部处理器直接通信,该外部设备对主计算机表现为一真实的外部装置。表现为真实的外部设备(与虚拟装置相对来说)是有利的,因为在主计算机中运行的一些操作系统(例如所熟知的“DOS”操作系统)不支持虚拟的装置(即,不能与虚拟装置进行通信)。
进而,为了减少外部设备402中所需的存储装置,只在外部设备402中存储“外部程序码”(即由外部处理器409执行以完成外部程序功能的码)。典型地需要比外部程序码更多存储器的CP功能程序码(即,由外部处理器409执行以完成CP功能的码)被存储在主存储器306中。
在图4所示的本发明的一实施例中,这些CP功能最好能包括所有的非实时功能。例如,在本发明的一实施例中,其中外部设备为一调制解调器,这些CP功能包括用户接口命令分析、自动拨号、及自动应答。在本发明的一实施例中,该CP程序通过一普通的主外围装置404(例如软盘驱动器)被装入主存储器306。许多主计算机(例如膝上型计算机)包括一外围装置,该外围装置可从一可拆除的媒体接收程序信息并将该信息传送给主存储器306。然而,本领域的普通技术人员将可理解根据本发明将CP程序装入主存储器306的任何装置都可使用,例如从主计算机的一串联或并联端口下载。
当CP程序已被存入主存储器306中时,该CP程序可由外部处理器409存取。在本发明的一实施例中,当初始地对外部处理器409通电时,外部处理器409内的一程序计数器421被初始化至初始地址,在此待由外部处理器409执行的一“引导程序”被存入外部程序存储器415。该“引导程序”是现有技术中众所周知的。然而,与现有技术的外部设备不同,根据本发明,该引导程序使外部处理器409请求经主计算机及外部设备间的DMA程序通道423自主存储器306传送第一批CP程序码。该地址是一预定地址,在此CP程序码驻留于主存储器306内。在本发明的另一个实施例中,经初始化后,主处理器写一“引导地址”至一输入锁存器,由外部处理器409读取。这样,引导程序被自带有入口点的宿主码解耦至另一宿主码,后者经一I/o通道自通电的主机被写至固定的外部处理器存储器-映象位置。通电后,外部处理器409请求在主机初始化位置的初始程序块。其后被请求块的地址是基于宿主程序的内部逻辑。
请求数据自一存储器被读取的普通的DMA操作是众所周知的。然而,根据本发明,正被请求来自主存储器306的信息是程序码而非数据。因此,本发明提供了用于传送程序码的创造性的设备。也就是说,由于外部处理器409将执行自主计算机被传送至DMA硬件411的程序码(例如,CP功能程序码),CP功能程序码的各部分在外部处理器409需要该码时必须存在。本发明的DMA硬件411包括一能提供总线所有权给外部设备(即,确保该外部设备具有优先使用DMA程序通道423的权利)的本质上普通的DMA总线主控器。本发明的创造性的DMA硬件411还包括一指令缓冲器425。该指令缓冲器425接收CP功能程序码并最好保留该码的各指令直至外部处理器409已读取该指令。该指令缓冲器425可以以允许指令被保留很长一段时间以许可外部处理器409执行这些指令的任何方式来实现。指令缓冲器425必须能保留一指令的精确时间量将依据于实现的细节,例如外部处理器409的速度、DMA程序通道423的速度、CP功能程序码执行的优先权、及在执行CP功能程序码中可被遇到的延迟量。在优选实施例中,指令缓冲器425通过一随机存取存储器(RAM)来实现。
在本发明的一实施例中,确保CP功能程序码的及时传送所需的规定被提供于该CP功能程序码本身内。例如,在本发明的一实施例中,初始码包括有使由外部处理器409生成一命令给DMA硬件411的指令。该命令请求第一批CP功能程序码自主存储器306被传送至指令缓冲器425。一旦该第一批CP功能程序码自主存储器306被传送,该CP功能程序码本身将提供指令经信号线410给外部处理器409,命令DMA硬件411请求来自主存储器306的下一批CP功能程序码。
在本发明的一实施例中,这些“取”指令被装于该批CP功能程序码内的关键位置以确保在外部处理器409需要下一批中的任何指令之前,及时地传送该批CP功能程序码以由外部处理器409读取。这需要建立CP功能程序码的程序员设计通过CP功能程序码的执行路径。在相对小的CP功能程序中,这可以是优选实施例。然而在较大的CP功能程序中,择一流程路径的数量可使其得繁重及低效地具有置于CP功能程序码本身内的指令。
在本发明的另一实施例中,以规则的定时间隔由一缓冲器内容检测装置(BCDD)429产生中断。该时间间隔非常短以确保外部处理器409不能执行在一DMA传送单元中所传送的所有码。另一方面,确定正被执行的具体指令及存在于指令缓冲器425中的附加指令的量。该时间间隔非常短以确保外部处理器409不能执行在下一中断产生之前留在指令缓冲器425中的所有指令。在本发明的一实施例中,BCDD429被完善得足以基于外部处理器409读取来自指令缓冲器425的一指令的次数对该时间间隔进行调整。也就是说,通过监视正由外部处理器409执行的指令的地址,中断定时器确定何时产生下一个中断。
在另一个可替换的实施例中,以与上述实施例相似的方式,初始的一批CP功能程序码自主存储器306被传送给DMA硬件411中的指令缓冲器425。不过,DMA硬件411内的BCDD429根据自从上一中断产生后已执行的指令的数量使在信号线433上对外部处理器409产生一中断。在本发明的一实施例中,BCDD429是一计数器,当一批指令被写至指令缓冲器425时,该计数器被递增。当各指令被执行时(由外部处理器409自指令缓冲器425读取),该BCDD被递减。这样,该BCDD始终监视在任何具体时刻的指令数或保留在缓冲器中的信息字节数。BCDD429在每次指令缓冲器425中的指令数减至低于一预定数量时中断外部处理器409。必须存在于指令缓冲器425中的指令的具体数将依据DMA程序通道423的速度及外部处理器409的速度。在本发明的优选实施例中,必须存在于指令缓冲器425中的指令数应该是非常大的以确保在下一批指令到达之前外部处理器409将不需要指令缓冲器425中的最后一个指令。
在本发明的再另一个实施例,指令缓冲器425被控制作为一指令高速缓存器。也就是说,最后使用的上批指令被保存在指令缓冲器425中直至要求当前不存在于指令缓冲器425中的一指令。在此时,DMA硬件请求进行包括该被请求指令的一批CP功能程序码的DMA传送。
在以上所述的各种情况中,一经接收到通过信号线433来自DMA硬件411至外部处理器409的中断,外部处理器409执行一中断程序,确定待被自主存储器306读取的下一批地址以将下一批CP功能程序码传送入指令缓冲器425。在本发明的一实施例中,从一保存被传送的最后批的最后字节的地址的DMA硬件411内的一寄存器412取得用于自主存储器306传送的起始地址。另一方面,从通过一“程序计数器”信号线427自程序计数器421耦合至DMA硬件411的一值(即,一地址)导出待被传送的下一批的起始地址。该程序计数器421的值被耦合至DMA硬件411以指出哪一个指令待被下次执行。
根据本发明的一实施例,作出由外部处理器409请求的各指令是一CP功能程序码指令还是一外部程序码指令的确定。该确定是根据由程序计数器21提供的指令地址值作出的。如果该地址是在第一预定范围内,则该被请求的指令是一CP功能程序码指令。如果该地址不在该第一预定范围内,则该指令是一待自外部程序存储器415读取的外部程序码指令。在本发明的一实施例中,可作出一第二项确定以确定是否该程序计数器值落入值的第二个范围内,以检验该计数器值是否为一有效地址。程序计数器信号线427也被耦合至外部程序存储器415。根据本发明的一实施例,由外部程序存储器415作出一类似的确定。如果该程序计数器值在该第二预定范围内,外部程序存储器415将提供指令给外部处理器409。
在本发明的一实施例中,指令多路复用器413选择或是DMA硬件411或是外部程序存储器415将被耦合至外部处理器409。在本发明的一实施例中,指令多路复用器413经程序计数器信号线427被耦合至程序计数器421。指令多路复用器413根据程序计数器421的值选择装置411、415中哪一个将提供下一个指令给外部处理器409。
在本发明的一实施例中,至少一些与CP功能有关的数据(即“CP功能”数据)被存储在主存储器306中。数据缓冲器405提供一缓冲器,用于经一DMA数据通道431自主缓冲器读取的CP功能数据。外部处理器409通过请求一待由数据DMA装置403执行的DMA数据传送操作来请求CP功能数据。该DMA数据传送操作基本上是一普通的DMA操作。也就是说,不需要用于数据传送的特殊规定,因为该数据传送不象指令传送那样是实时的。而且,外部装置不需要具有拥有用于DMA数据传送的总线的功能。因此,在本发明的优选实施例中,DMA数据传送请求最好不通过驻留于外部设备402内的DMA装置作出。
在大多数程序中,指令不是按序列的次序被执行的。例如,典型地发生分支及转移而致使被执行的该码的序列依赖数据值或外部情况。因此,很可能当外部处理器409需要时,指令可能不存在于指令缓冲425中,尽管努力预测哪个指令将在下一步被需要。根据本发明的一实施例,当一指令被需要但不存在于指令缓冲器425中时,指令缓冲器425返回一NOP(非操作码)给外部处理器409直至所需要的指令自主存储器306被传送。因此,外部处理器409将空闲直至产生一中断而致使外部处理器执行其它码,或被需要的指令在指令缓冲器425中变为可用。
图5是本发明另一实施例的方框图。在图5的实施例中,外部设备402包括一控制处理器501。图4中所示的DMA硬件411所执行的功能最好由图5的控制处理器501来完成。另一方面,离散DMA硬件也包括在外部设备402中。在图5所示的本发明的优选实施例中,控制处理器501担负控制DMA操作并执行自主计算机400检索的码的责任。一指令缓冲器425被包括在控制处理器511中。另一方面,不包括在控制处理器501中的离散指令缓冲器425被提供,而数据缓冲器405被包括在外部设备402中。在本发明的一实施例中,数据缓冲器405被包括在控制处理器501内。
根据图5中所示的本发明的实施例中,控制处理器501基本上以与上述相同的方式工作。也就是说,在初始化后,控制处理器501自外部设备402内一相对小的控制处理器程序存储器503读取一初始程序。该初始程序提供指令以致使控制处理器501执行一进入主存储器306的DMA操作。该DMA操作使来自存储于主存储器306中的CP功能程序码的一批码被传送入指令缓冲器425中。然后控制处理器开始执行来自指令缓冲器425的CP功能程序码。包括离散控制处理器501给外部处理器409卸载以允许外部处理器409执行实时功能而不需要与CP功能共享处理器资源。
图6为本发明的一实施例的方框图。其中外部设备602包括一离散控制处理器603及DMA硬件601。控制处理器603的工作与上述外部处理器409基本相同。不过,控制处理器603仅执行CP功能程序码指令。外部设备602包括一指令多路复用器413,其在控制处理器程序存储器503及来自DMA硬件601的输出之间进行选择。然而,在图6的实施例中,控制处理器603只接收来自控制处理器程序存储器503的初始指令。在本发明的一实施例中,控制处理器程序存储器503被包括在外部程序存储器415中。因此,提供一多路复用器414用于将程序计数器421的值耦合至外部程序存储器415。并且多路复用器414将来自外部程序存储器415的输出耦合至控制处理器603。在一实施例中,多路复用器将优先权给予外部处理器409,通过将优先权给予外部处理器409,外部程序存储器415可被共享而不会对外部处理器409的速度及外部处理器409对来自外部程序存储器415的指令进行存取的能力产生不利影响。另一方面,由于在初始化时,控制处理器603只访问控制处理程序存储器503,控制处理器603被给予优先权优先于外部处理器409。
已对本发明的多个实施例进行了描述,不过,可以理解在不超出本发明的精神及范围的前提下可作出各种修改。例如,本发明被描述为使用一现有技术中众所周知的DMA操作以将程序码从主存储器传送至外部设备。然而,任何用于从主存储器读取程序指令并将其传送至外部设备而不妨碍主处理器的装置都在本发明公开的范围内。并且,任何具体类型的根据以程序形式提供的指令进行工作的处理器、状态机器,或其它类型的可编程硬件可被用来实现主处理器、外部处理器、控制处理器、或其它包括在DMA硬件内的处理器。而且,在CP功能程序、外部程序码中可包括任何具体的功能。还有,可用任何编程语言实现CP功能程序码及外部程序码。因此,可以理解本发明并不限于具体说明的实施例,而由所附的权利要求限定。
权利要求
1.一种与具有一主存储器的主计算机一起使用的外部设备,其中,该主存储器用于存储由该主计算机使用的程序和数据,该外部设备包括(a)耦合至该主存储器用于请求一直接存储器存取的装置,用于启动一直接存储器存取操作以对存储在主存储器内的包括程序指令的信息进行存取;(b)耦合至直接存储器存取控制器的辅助计算机,用于发送及接收来自直接存储器存取控制器的信息,包括待由辅助计算机执行的程序指令。
2.根据权利要求1所述的外部设备,其中该辅助计算机被封装在一脱离主存储器的外壳内,该外壳被配置成与第一外壳的一接口端口相连接。
3.根据权利要求2所述的外部设备,其中该接口端口是一PCMCIA端口。
4.根据权利要求3所述的外部设备,其中该主计算机是一膝上型计算机内的微处理器,及该辅助计算机是一外围设备。
5.根据权利要求4所述的外部设备,其中该外围设备是一调制解调器。
6.根据权利要求1所述的外部设备,还包括一耦合至辅助计算机的特殊用途计算机,用于执行实时功能,其中(a)该主计算机是一通用微处理器;及(b)该辅助计算机是一用于执行非实时功能的控制处理器。
7.根据权利要求1所述的外部设备,还包括(a)耦合至辅计算机的一特殊功能程序存储器,用于存储特殊功能程序;及(b)耦合至辅助计算机、特殊功能程序存储器、及直接存取存储器装置的多路复用器,用于选择地将指令或是自直接存储器存取装置或是自本地特殊功能程序存储器耦合至辅助计算机。
8.根据权利要求7所述的外部设备,还包括一耦合至主存储器及耦合至直接存储器存取装置的指令缓冲器,用于缓冲自主存储器接收的指令,并使所接收的指令可为辅助计算机所采用。
9.根据权利要求1所述的外部设备,其中(a)该主计算机是一通用微处理器;及(b)该辅计算机是一数字信号处理器。
10.一种用于在第一及第二终端站之间进行通信的调制解调器,该第一终端站有一具有一主存储器的通用主计算机,该调制解调器包括(a)用于对存储在主存储器内的信息进行存取的一直接存储器存取控制器;(b)耦合至该直接存储器存取控制器的数字信号处理器,用于接收来自该直接存储器存取控制器的,由该直接存储器存取控制器从主存储器读取的待由辅助计算机执行的程序指令;其中这些程序指令控制数字信号处理器的操作以对在该第一及第二终端站之间被通信的信息进行调制和解调。
11.根据权利要求10所述的调制解调器,其中该数字信号处理器对主计算机表现为一外部设备。
12.根据权利要求10所述的外部设备,其中由数字信号处理器自直接存储器存取控制器接收的信息包括待由该数字信号处理器调制或解调的数据。
全文摘要
一种将一外部设备耦合至一主计算机的方法和装置,使待由外部设备执行的程序码可存储在主计算机存储器内而基本与主计算机无关。硬件及软件使一程序及地址总线的逻辑位移跨接处理器间接口。一外部设备最好对存储在主计算机存储器的程序码进行直接存取。待由外部设备内的外部处理器执行的程序码被自该主存储器传送至该外部设备内的指令缓冲器存储器。该外部处理器在一定时中断的基础上确定何时请求来自主存储器的附加指令。
文档编号G06F3/00GK1163428SQ9610907
公开日1997年10月29日 申请日期1996年8月9日 优先权日1996年8月9日
发明者史密斯H·韦斯利 申请人:太平洋通讯科学有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1