无线应用的应用处理器和存储器体系结构的制作方法

文档序号:7850123阅读:236来源:国知局
专利名称:无线应用的应用处理器和存储器体系结构的制作方法
技术领域
本发明涉及计算机系统中的存储器访问。特别地,本发明涉及一种访问存储器的方法和实现该方法的计算机系统。
背景技术
最近几年中,无线技术的应用特别是无线便携式电话已经非常普遍。便携式电话使用多种类型的射频基带和基站调制协议,如码分多址(CDMA)、全球移动通讯系统(GSM)、通用分组无线业务(GPRS)、个人数字蜂窝(PDC)等。
便携式电话通常具有一个提供语音通讯所需计算的基带芯片。该基带芯片通常包括中央处理单元(CPU),与非易失存储器(FLASH类型存储器)或易失性伪静态随机存取存储器(pSRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM类型存储器)等对接的存储器接口,液晶显示(LCD)控制器,键盘和音频设备或者其接口,以及与射频(RF)元件对接以建立到基站的链接的装置。
不久前便携式电话仅用于纯语音通讯,但随着互联网的发展,各种无线载体,如SKT、J-Phone、DoCoMo、Verizon、Vodaphone等,已尝试向便携式电话用户提供数据服务,以实现单用户的更高利润。
这种数据服务通常要求基带芯片具有更好的性能。某些情况下,为了减少对基带芯片的性能要求,也可以用应用芯片执行特定的应用。应用芯片和基带芯片通常需要一个存储器子系统。
便携式电话的存储器子系统是便携式电话成本最高的元件之一,因此基带芯片和应用处理器访问存储器子系统的方式对便携式电话的成本和性能具有显著影响。


图1a是基带处理器及其存储器子系统的图示;图1b是基带处理器、其存储器子系统、连接到基带处理器的具有自己的存储器子系统的应用处理器的图示;图2a显示了在基带处理器和应用处理器间共享的存储器子系统的图示,其中基带处理器以直通方式(pass-through mode)通过应用处理器访问存储器子系统;图2b是可替代的在基带处理器和应用处理器间共享的存储器子系统的图示,其中存储总线被分开,基带处理器以直通方式通过应用处理器访问存储器子系统;图3显示了存储器子系统的两条完全总线的图示,其中基带在一条存储总线上访问存储器,同时应用处理器在另一条总线上访问另一个存储器,并且当应用处理器不运行或处于待机模式时,基带处理器可通过其中任何一条总线访问所有的存储器。
图4a、4b、4c、4d是各种存储器访问类型的时序图;图5是用于基带处理器直通和应用处理器访问存储器的各种多路复用器的示例图;图6显示了为增强基带处理器性能而采用应用处理器中的L1或L2高速缓存的示例图;图7是通过应用处理器更新或刷新LCD设备的有效机制的示例图。
具体实施例方式
在下面的说明书中,基于说明目的,为充分了解本发明列举了很多具体细节。然而,本领域技术人员应该明白,即使没有这些具体细节也可以实施本发明。在其他实施例中,为避免模糊本发明,用框图来表示结构和设备。
本说明书中提及的“一个实施例”是指与该实施例相关描述的一个特定的特征、结构或特性已包括在本发明的至少一个实施例中。短语“在一个实施例中”在说明书很多地方的出现不一定是指同一实施例,也不一定是互相排除其他实施例的单独的或可替换的实施例。而且,所描述的各种特征可能在一些实施例中被展示了而在其他实施例中没有。类似地,所描述的各种要求可能是一些实施例的要求而不是其他实施例的要求。
可提供给便携式电话的数据服务包括基于位置的服务、全球或基于地理位置的实时或延时新闻、显示图片的约会服务、体育赛事视频流,二维(2D)和三维(3D)游戏、使用或不使用内嵌在便携式电话中的照相机的对动态图象专家组(MPEG4)或联合图片专家组(JPEG)的支持或多媒体消息等。其中各个数据服务均由应用产生,这要求基带芯片具有更高的性能。当可以将应用功能结合到基带芯片时,将基带调制功能和至少部分应用分离到两个独立的芯片也是可能的。第二个芯片也将包括到便携式电话的存储器子系统的接口。
本发明提供了一种在空间和成本受限的便携式电话环境中在基带设备和应用处理器间共享存储器的机制。本发明提供了一种将应用处理器与基带处理器结合配置的机制,以便便携式电话或其他这种系统,如个人数字助理(PDA)、双向寻呼机、掌上电脑、笔记本电脑等所需要的存储器由基带和应用处理器共享,从而减少电源消耗和降低成本。特别地,共享存储器的机制和访问存储器子系统所需的判决是这样的没有WAIT或READY信号的基带具有对存储器子系统的立即访问权,应用处理器如果正在访问存储器则提前中止或中断访问并稍后再试。
图1a是一个基带芯片或处理器101如何连接到存储器子系统102的各个存储器的现有拓扑的一个例子。典型地,基带处理器基带总线包括地址线(AB)、控制线(CB)、片选(CSB)以及数据总线(DB)。在典型的便携式电话中,有各种类型的存储器,即如NOR闪存和/或NAND闪存和/或镜像位(mirror-bit)闪存或ROM等的非易失性存储器,以及如SRAM(如基于6晶体管的存储器)或pSRAM(伪静态RAM或其等效物)或基于SDRAM(同步DRAM)的存储器等的易失存储器。其中一些存储器可以支持突发模式运行。存储器102交叠显示表示他们具有连接在存储器和基带处理器101间的相同的地址总线(AB)、数据总线(DB)和控制线(CB)以及他们可以具有连接自基带处理器的独立片选(CSB)。也可以将易失和非易失存储器与基带芯片集成在同一硅片上。典型地,启动代码和其他驻留软件驻留在诸如NOR闪存或ROM等的非易失存储器中,运行时数据和/或下载的程序从易失存储器中运行。下载的程序还可以存储在诸如闪存的非易失存储器中。
典型便携式电话中基带处理器和存储器间的数据总线(DB)是16位宽但也可以是32位或更多位。典型地,控制信号包括有诸如OE(输出使能)、WE(写入使能)和BE(字节使能)。还有多个CSB(片选)用于与基带处理器对接的各个存储设备,以及还有寻址同一基带总线上其他设备的片选,这些设备诸如未在图中示出的LCD、音频设备或其他数字照相设备等。
一些基带处理器也支持WAIT信号,当另一个设备声明该信号时,其会导致基带处理器等待基带总线上的当前读写操作或访问周期。也可选用READY信号,其中READY信号的声明向基带处理器指示基带总线(DB)上要被读取的数据就绪或基带总线上的数据已经被写入或现在可以被写入。也可以用跟READY信号相同的方式使用WAIT信号,以及用跟WAIT信号相同的方式使用READY信号。
在典型的便携式电话中,基带101控制基带总线,基带启动总线上的处理。处理类型或访问类型包括正常读写或突发读写。在一个实施例中,突发访问类型的处理可以有一个从基带101到存储器的时钟。为使其他设备启动基带总线上的处理,可以提供一种其他设备按序请求控制(即多主控功能)基带总线的机制。虽然采用请求和授权类型信号协议的这种控制请求机制不是本发明的关键,本领域技术人员可以明白各种判决方案以及基带处理器与需要控制基带总线的其他设备间的相互连接。
在使用应用处理器的便携式电话中,应用处理器也需要访问各种(易失性和/或非易失性)存储器。如果基带没有基带总线上的多主控功能并且没有WAIT或READY信号,要共享基带处理器所用的存储器是不切实际的。
图1b是一个应用处理器103与基带总线对接且基带维护对总线的控制的示例系统。应用处理器是总线上的从设备,基带处理器是主设备。应用处理器103典型具有一个通讯缓冲器,用于在基带处理器和位于应用处理器中的处理器间通信。在多主控系统中,通讯缓冲器和信号量装置也可以被集成到基带处理器中。在一个实施例中,通讯缓冲器是内嵌在应用处理器中的双端口存储器或以双端口存储器实现的单口存储器。存储器的数量根据应用而不同。在另一个实施例中,基带和应用处理器103问的通讯可以这样实现在硬件上用应用处理器中的寄存器或RAM作为所述一个或多个信号量装置,同时加上预定的协议,数据可以驻留在与应用处理器对接的存储器104中。利用应用处理器中的通讯缓冲器,信号量驻留在通信缓冲器的预定位置或作为应用处理器中的独立的寄存器或存储器,或者驻留在存储器子系统104中。这使得基带可以与应用处理器103同时运行。图1b中的系统需要为存储器子系统104和应用处理器103提供空间。此外,因为存储器子系统102不能被共享,存储器子系统104会有额外成本和电源消耗。也可以机械地将应用处理器103和存储器子系统104堆叠到一个封装包105中。如果不是生产中的测试,堆叠封装包105的外部引脚或针脚处不必出现应用处理器103和存储器子系统104间的总线和接口。只有基带总线接口必须在堆叠封装包105的引脚或针脚处出现。至少部分系统总线,如103和104间的总线可以做在该封装包的硅中介层或基板上。
应用处理器103、201、203和301内部具有执行程序的必要机制。而且,应用处理器103、201、203和301也可以实现上述的各种通讯缓冲器。执行程序需要的机制包括到基带处理器的接口、包含用于指令和数据的联合高速缓存或一体式高速缓存的一个或多个CPU和/或数字信号处理器(DSPs)。各个处理器还包括用于提高各个处理器数据写入性能的一个或多个写入缓冲器,一个与存储器子系统对接的存储器控制器,一个用于内部总线方案以及内部总线和各种设备访问存储器子系统判决的状态机,以及用于存储器控制器的状态机等。此外,应用处理器103、201、203和301能加速Java字节代码的执行或其他平台无关的中间语言如.NET的执行。在一个实施例中,应用处理器具有一个诸如Java或.NET的基于栈的虚拟机的硬件加速器。
在一个实施例中,Java字节代码加速器与其中一个CPU集成在一起,而且当运行时,两者共享指令和/或数据高速缓存或一体式高速缓存。在另一个实施例中,Java字节代码加速器以独立的加速器形式实现。该独立的加速器还包括指令和/或数据高速缓存或一体式高速缓存。在一个实施例中,不是所有的Java字节代码都由加速器执行。不由加速器执行的Java字节代码由应用处理器中的CPU或由基带处理器以软件形式执行。为请求基带处理器以软件形式执行某些Java代码字节,必须提供以下数据哪些Java字节代码以软件形式执行,以软件形式执行的Java字节代码在存储器或Java程序计数器(Java PC)中的位置,以及传给基带处理器的其他参数,如对字节代码‘new’或‘newarray’,至少需要提供Java PC和对象引用。为实现它,应用处理器有一个类似于下文描述的双向通讯缓冲器,或者采用下文描述的相同通讯方法。还需要一个信号和/或寄存器中的一个状态位指示加速器正在请求基带或应用处理器的CPU执行Java字节代码。该信号被查询或被用作中断。而且,应用处理器还有其他的外围设备或加速器,如MPEG4、数码相机、LCD控制器、动态存储器访问(MDA)引擎、视频定标器、2D/3D图像加速器、图像和/或视频的片上帧缓冲器、IIC/S接口、可扩展标记语言(XML)加速器、诸如同步数据链路控制(SDLC)/高级数据链路控制(HDLC)的通讯端口等。
应用处理器也可以称为应用加速器芯片。应用处理器具有配置存储器控制器和其他外围设备功能的各种内部寄存器。而且,对于图1b所示的实施例,具有一个上述的在基带和应用处理器间通讯的通讯缓冲器。这个通讯缓冲器在其大小和需要多少通讯信号来建立与基带处理器的通讯方面可以被配置。通讯缓冲器的配置在复位后缺省为已知数值,并可以由基带处理器编程为其他数值。
为了在基带处理器和应用处理器间建立全双工通讯,两个处理器均必须管理这些信号量。在基带处理器和应用处理器间建立通讯的一个例子采用了下述协议。启动(或硬件或软件启动复位)后,通讯缓冲器被清除(或假定被清除),信号量被清除或指示通讯缓冲器中没有有效数据。通讯缓冲器被分成两段,第一段用于基带处理器写入,第二段用于基带处理器读取。应用处理器读取第一段并写入第二段。此外,两个处理器都有自己的信号量寄存器(可替代地,信号量可以在存储器或通讯缓冲器的已知位置),基带处理器和应用处理器可以在信号量寄存器中读和/或写各自的用于控制或通讯的信号量。
接收消息的处理器只能清除写消息的处理器所写的信号量。也可以不清除信号量,而在信号量寄存器中存储确认标记消息。在离开复位状态或启动后,各处理器将一条查询消息写进各自的允许自己写入的通讯缓冲器段,查询另一个处理器的存在状态并写入一条消息到各自的信号量寄存器,以指示有效的消息已写到各自的通讯缓冲器。一个或两个处理器可启动这样的查询。
两个处理器在读取消息后可以清除或写入一条指示消息已被读取的确认消息到由另一个处理器写入的信号量寄存器中。可被写入信号量寄存器的消息的其他例子包括就绪、错误或重试消息等。只有在信号量被接收消息的处理器清除之后,发送消息的处理器才能再次写入通讯缓冲器或发送另一条消息来响应查询。应用处理器至少需要一个CS(片选),以使得基带可以选择写入或从应用处理器103中读取。图1b的示范实施例要求应用处理器有额外的存储器。而且,应用处理器103不共享基带处理器的存储器子系统102。
图2a例示了插入到基带处理器及其存储器子系统102间的应用处理器201。基带处理器要访问存储器子系统,必须通过应用处理器。在这个体系中,基带没有WAIT或READY信号输入,应用处理器201必须根据基带处理器的需要,提供基带访问存储器子系统102的机制。应用处理器有多种方法允许基带处理器访问存储器子系统。一种方法是通过上述的通讯缓冲器。另一种方法是按照下面将更详细的描述那样绕过通讯缓冲器而直接通过应用处理器。在一个实施例中,允许上述的其中一种或两种方法。
图4a和图4b表示基带处理器典型的读取和写入周期。虽然他们显示不同步,本领域技术人员会明白,当存在时钟时,其他周期可能包括突发并且同步。在本例中,tRC(读取访问周期时间)和tWR(写入访问周期时间)分别表示完成读写存储器访问周期所占用的时间。如果应用处理器正在访问存储器或正在进行其处理或访问时,基带处理器开始访问存储器子系统,在一个实施例中,应用处理器能够完成当前处理然后允许基带处理器直通访问存储器子系统102。这要求基带处理器的访问周期长于当基带处理器不必等待应用处理器201完成其周期时所需要的访问周期时间。在另一个实施例中,应用处理器201会立即中断当前访问以便允许基带处理器直通通过。在这个实施例中,应用处理器201保持一个中断当前访问的指示,立即允许基带处理器直通访问存储器子系统102。图4c显示了应用处理器中的存储控制器启动的存储器读取周期(CSM、AM、DM、UB/LB、OEM、WEM),该周期在时间tABORT时由于基带处理器写入存储器子系统(由CSB变为低电平指示)而被中断。由应用启动的存储器访问被显示为通过地址AM而中断,其有效时间比完全访问时间短(<tRC)。
图4d表示应用处理器写入存储器并被要求读取存储器的基带处理器中断从而使得应用处理器中的存储器控制器通过地址AM中断其写入周期,该周期小于完全周期(<tWR)。虽然没有示出所有的组合,本领域技术人员可以明白,包括基带中断和访问存储器子系统中CSM(到存储器的片选)有效的不同存储器的所有组合也会比完全周期短。
基带访问存储器的直通可以通过设置一组地址、数据和控制的多路复用器(如图5所示)而实现,这组多路复用器可根据一个或多个CSB(来自基带的访问存储器子系统102的片选)的有效来切换选择基带总线的地址、数据和控制。当应用处理器201访问存储器时,多路复用器设置为选择由应用处理器201中的存储器控制器产生的地址、数据和控制线。一个或多个CSB的有效可由定时的双稳态多谐振荡器和/或S/R(set/reset)双稳态多谐振荡器进行同步以产生基带正在直通通过的指示,从而产生一个应用处理器的访问被提前中止的指示。一旦同步器指示基带不再访问存储器,应用处理器的存储器访问就可以被重试。
在一个实施例中,检测基带处理器访问的同步器使用应用处理器内时钟的上升和下降沿。这使得对基带访问的检测更快。同一时钟也用于应用处理器的存储器控制器。可替代地,可以使用被锁相环(PLL)升频或被时钟分频电路降频的时钟。应注意截断易失存储器设备的访问会导致基于动态RAM技术如伪静态RAM的存储器的存储核心数据丢失。基于六晶体管(6T)的SRAM当写入SRAM且写入周期被中止时也有这个问题。在6T SRAM中,如果当行和/或列解码器未完成解码地址时写入周期被中断,数据可能会丢失或被写入存储器的未知位置。
为避免在未知的位置丢失或损坏数据,在一个实施例中,在存储器中的解码器确定位置后或完全访问时间达到后,应用处理器103、201、203、301会使到存储器子系统的WE信号有效。在该解码器确定地址时间后,数据可能被损坏的位置已经知道,就是出现的存储器写入的地址。上述的应用处理器中的存储器控制器能产生包括突发和同步周期在内的必要的存储周期类型。在一个实施例中,应用处理器103、201、203、或301会保存被损坏的位置的地址和数据,一旦基带处理器结束访问就重写数据到该地址。虽然由于6晶体管(6T)SRAM的结构该技术可以使用它,但伪静态SRAM(pSRAM)由于提前中止的周期而有在多个位置丢失数据的问题,所述周期具有如图4c和图4d所示类型,并分别小于tRC(<tRC)或小于tWR(<tWR)。这是由于pSRAM具有每一位由一个晶体管和一个电容器构成的内部结构所以有类似DRAM的结构。
就像DRAM一样,pSRAM也需要有内部产生的周期刷新。典型地,pSRAM的内部运行比说明的或宣称的访问速度要快。在典型的pSRAM中,有一个采用定时器产生刷新请求的机制,其中一行数据将被读取和重新存储。还有一个行地址计数器可以增量或减量以指示刷新哪一行。对于每个刷新请求,每行数据都以这种方式刷新直到所有的行被刷新。这种刷新机制持续运行以便pSRAM中的所有行都定期被刷新。如果刷新机制停止,pSRAM在一定时间后会丢失数据。可能一个刷新周期刚开始外部设备就想访问pSRAM。pSRAM典型地完成刷新周期然后允许外部设备访问。外部设备将经历更长的访问时间(大约两倍长的时间),因为它必须先允许刷新周期结束。因为刷新请求对于pSRAM内部是异步产生的,什么时候发生刷新周期是不可预测的,因此指定的pSRAM的访问时间包括刷新周期时间。当内部刷新请求与外部访问相重时,有一个逻辑来判决和管理访问及刷新。
典型地,pSRAM和SDRAM经历地址解码、内部行访问和预充电周期,因为访问通常使被访问的特定行的核心的数据放电,预充电周期补充数据。这种pSRAM的一个要求是在整个存储器访问周期至少地址必须是稳定的。如果在整个周期地址不稳定,可能会丢失一整行或部分行数据。这是因为一旦一行的访问开始,如果在DRAM单元的预充电周期之前行地址改变,就会马上进行对另一行的新的访问,这样前一行的数据就会丢失。在一个实施例中,pSRAM在开始对新的地址访问前等待预充电周期完成。在一个实施例中,要求pSRAM对地址和片选都具有这个特性。
如果在基带处理器开始直通访问且一个刷新请求到来时应用处理器正在访问pSRAM,pSRAM必须应付要求访问pSRAM的三个设备,这会导致数据损坏。如果三个访问中的每一个都同时发生并允许一个接一个地完成,对于其中一个设备来说访问时间将超过两倍长于内部访问时间,这会导致性能的显著下降。
为克服这个问题,在一个实施例中,提出了如图4c和图4d中REF#所示的机制,它禁止pSRAM的内部刷新请求并产生一个指示何时刷新的外部刷新请求信号。禁止pSRAM的内部刷新可以通过使另一个信号有效而实现。在一个实施例中,当应用处理器通过刷新计数器和判决逻辑而不访问pSRAM时,外部刷新信号由应用处理器产生。当刷新请求由应用处理器产生时,pSRAM的行地址计数器可被pSRAM用来指示刷新哪行。可替代地,行地址计数器可以来自应用处理器。
在一个实施例中,当应用处理器正在访问存储器子系统且基带处理器在应用处理器完成访问前开始访问存储器子系统时,应用处理器使到基带处理器的WAIT信号有效,或使到基带处理器的READY信号无效,这取决于基带处理器支持哪种类型的信号。这些信号会延迟基带处理器,同时应用处理器完成其访问。在READY信号被有效的情况下,基带处理器对其完成的读写操作可以期望有效的数据。在这种情况下,应用处理器在完成其访问后会保持WAIT信号有效或READY信号无效。然后应用处理器使多路复用器向存储器子系统提供基带地址、数据(在基带写入访问情况下,否则数据被读取)和控制线,从而代表基带处理器启动一个其时间足够完成对存储器子系统的完全访问的访问。此后,应用处理器会使到基带处理器的WAIT信号无效或READY信号有效。这样,当WAIT信号被无效或READY信号被有效时,基带处理器就得到有效数据。
应用处理器103、201、203和301包括当应用处理器正在访问存储器子系统时检测要求访问的基带处理器的逻辑。应用处理器还包括代表基带至少部分管理存储器访问的状态机。
在一个实施例中,存储器子系统除了有其他类型的存储器外,还具有带多个内接组(internal bank)的SDRAM。如果基带处理器表现为异步类型定时,SDRAM存储器希望与一个时钟同步定时,应用处理器检测基带访问和对应用处理器时钟的同步,访问SDRAM以完成到SDRAM的读取、写入、突发读取或突发写入。基带和应用处理器的时钟可以是互相同步或异步的。
在一个实施例中,为防止SDRAM中的数据以与上述的pSRAM类似的方式丢失,当应用处理器正访问存储器子系统时基带处理器启动了一个对存储器子系统的访问(从而要求直通),而应用处理器还没有结束时,应用处理器103、201、203和301会访问SDRAM的一个或多个协定的或分配给它的组(bank),但不是SDRAM中的所有组。此外,基带处理器只访问应用处理器没有访问的组。只有在应用处理器运行时才能观察到这种运行模式,否则基带可随时访问所有的组。在这种运行方式下,当基带要求直通时,应用处理器103、201、203和301中的SDRAM控制器在基带要求直通时可以为应用处理器空出至少一个SDRAM组,在直通期间和/或之后只简单地打开和/或关闭基带控制器要求的组。
在另一个实施例中,应用处理器203有一个分离的总线可以用于如图2b所示的存储器分为两组的存储器子系统。组206有地址(AM2)、数据(DM)、片选(CSM2)和控制(CM2),组205有自己的地址(AM1)、片选(CSM1)和控制(CM1)而与组206共享数据总线(DM)。允许基带处理器根据需要访问组206,只有当应用处理器203处于待机模式或不访问存储器时才允许基带处理器访问组205。相反地,应用处理器可以根据需要访问组205的存储器以及组206中的非易失性存储器,因为非易失性存储器没有由于提前中止周期而丢失数据的问题。如果6T SRAM用于易失性存储则不需要该限制,在这种情况下应用处理器或基带处理器都可以随时访问两个组。此外因为基带处理器可随时访问组206的存储器,地址和除到组205的OE外的控制在基带处理器访问组206期间保持稳定不改变。同时因为共享数据总线,对组205和206来说至少OE控制线需要独立控制,以便同时从存储器组205和/或206和/或从应用处理器203驱动数据总线时没有冲突。
为避免数据总线上的任何冲突,应用处理器203使到组205存储器的OE无效。在一个实施例中,当基带处理器访问组206时,应用处理器203会在它的存储器控制器状态机中产生一个内部延迟或等待。到组205存储器的地址(AM1)在这个时候和此后完成访问时保持有效和稳定。可以用与地址(AM1)相同的方式处理到组205的CSM1和/或WE、BLE、BHE。
在另一个实施例中,应用处理器会锁定到组205的地址(AM1)并且在使到组205存储器的OE无效的同时将其保持锁定,从而避免数据总线冲突。一旦基带处理器结束访问,应用处理器203存储器控制器状态机从开始或中途通过存储器控制器状态机重新开始存储器访问。为实现此目的,上面提到的同步器用于检测基带处理器的访问,由此任何从基带处理器到组206的片选将被同步以产生一个直通的指示。如果应用处理器正在从存储器中读取数据且基带处理器试图写数据到存储器,就会有短时间的总线冲突,直到由于直通的原因应用处理器开始驱动到存储器的数据总线而使得存储器输出被禁止。当应用处理器正从存储器中读取数据同时基带处理器试图以直通方式从另一个存储器读取或写入数据时,就会发生冲突。在一个实施例中,应用处理器103、201、203和301在基带刚开始访问时的短时间内不会驱动到存储器的数据总线,从而避免总线冲突。此外,虽然基带处理器可能使其OE有效,到所有存储器的OE信号会在类似的短时间内被无效。这段短时间是可编程的且在复位后有一个缺省值。应该注意组205和206的存储器可以包括易失性和/或非易失性存储器的任何混合。
在另一个实施例中,如图3所示,应用处理器301有两个完全的和独立的总线到两组存储器302和303。两组存储器有独立的地址、数据、片选和控制线。例如,基带处理器可以随时访问组303,应用处理器301可随时访问组302。应用处理器301也可以在首先确定没有从基带处理器到组303的访问的情况下访问组303中的非易失性存储器。到非易失性存储器的访问可以被提前中止然后重新开始。如果来自基带处理器的存储器访问是和应用处理器及其存储器控制器中的时钟同步的,就没有必要采用同步器检测直通。只需要检测CSB信号的有效来确定何时允许直通。
对于应用处理器103、201和203,防止总线冲突的机制可以被集成到应用处理器301中。应用处理器501中描述的多路复用器用于直通。多路复用器502、503、504、505和506可以有单独的直通操作选择信号,这样他们可以被独立或通过一个公共选择进行控制。当基带处理器对存储器子系统执行读取访问时,多路复用器505、506用于使从存储器读取到基带处理器的数据通过,否则多路复用器505、506用于读取内部数据到应用处理器501。在一个实施例中,至少一个如图5所示的多路复用器也在应用处理器103、201、203和301中。在一个实施例中,应用处理器103、201、203和/或301以及至少部分或全部存储器子系统在堆叠封装包中,其中应用处理器和存储器底座堆叠在一个封装包中。在堆叠封装包的另一个实施例中,一些底座被并排放在一个或多个堆叠层。在另一个实施例中,其中的一个堆叠层是一个硅插入层,以便于到安装在插入层的底座或到堆叠层的其他底座或封装包的基底的信号、总线和/或电源的布线。这种封装将提供便携式电话或其他设备的节省空间的应用。
因为基带处理器的功能是提供与基站的语音和/或数据通讯,对基带的性能要求不是很高。因为这个原因,市场上有很多基带处理器没有缓存。对于没有高速缓存和WAIT或READY信号的基带处理器,图6表示了一个将用于基带的高速缓存与高速缓存控制器结合进上面提到的应用处理器中从而使得基带处理器有较高性能的实施例。应用处理器中的高速缓存作为没有高速缓存的基带处理器的一级高速缓存。在另一个实施例中,具有高速缓存的基带处理器也与具有集成高速缓存的应用处理器对接以便应用处理器的高速缓存作为二级高速缓存工作。这些高速缓存可以是指令和/或数据高速缓存或一体式高速缓存。
图7表示应用处理器701,它类似于上面描述的任何一个应用处理器。此外,应用处理器701包括到LCD或其他显示设备703的接口。在一个实施例中,存储图像的帧缓冲器包含在存储器子系统702中。在一个实施例中,在收到基带处理器的命令后,应用处理器701通过把帧缓冲器从存储器子系统复制到显示设备来加载或更新显示设备中的图像。存储器子系统的数据总线也连接到显示设备数据总线,应用处理器701到显示设备的地址和/或控制信号被有效以将图像加载入显示设备。当到显示设备的地址和/或控制信号有效时,应用处理器701执行从存储器子系统的读取访问操作,从而当图像数据从帧缓冲器被读取时直接加载到显示设备。这提供了一条将图像数据加载到显示设备的消耗更少电能的有效途径,从而延长了便携式电话的电池寿命。
在另一个实施例中,帧缓冲器被结合到应用处理器701中,数据从701直接送到显示设备。对于这些实施例来说,都必须有一个显示设备X方向的单元数和显示设备Y方向的单元数以及帧缓冲器在存储器的什么位置的指示。
此外应用处理器701能够从基带处理器接收更新图像的命令,并能在显示设备上加载图像。应用处理器产生从存储器内部读取帧缓冲器所需要的至少部分地址。在一个实施例中,维护X和Y方向的计数器以产生存储器地址。在另一个实施例中,有一个应用存储器701正在将图像数据加载到显示设备的指示和/或图像加载已经完成的指示。在另一个实施例中,如果显示设备正被加载图像时基带处理器试图访问存储器子系统,WAIT信号会被有效或READY信号会被无效直到图像被加载。图像加载可以中途被停止以允许基带处理器直通。
虽然参照应用处理器103、201、203、301、501、601和701展示了各发明,本领域技术人员明白这里公开的所有发明适用于所有的应用处理器。
虽然本发明是参照具体的示范实施例进行描述的,很显然可以对这些实施例进行各种修改和变化而不偏离权力要求书中所述的本发明更宽的发明精神。因此,应将说明书和附图看作是具有示例意义而不是限制意义。
权利要求
1.一种访问存储器的方法,该方法包括将第一处理器对存储器子系统的存储器处理发送到介于第一处理器和存储器子系统之间的通讯路径上的中间第二处理器;以及控制何时允许存储器处理通过第二处理器到达存储器子系统。
2.如权力要求1所述的方法,其中控制包括延迟存储器处理的通过。
3.如权力要求2所述的方法,其中延迟存储器事务的通过包括由第二处理器使到第一处理器的WAIT信号有效或READY信号无效。
4.如权力要求2所述的方法,其中延迟的时间足以允许由第二处理器启动的存储器子系统的当前存储器周期完成。
5.如权力要求1所述的方法,其中控制步骤包括中断由第二处理器启动的存储器子系统的当前存储器周期。
6.如权力要求5所述的方法,其中只有在当前存储器周期可被安全中断而不丢失数据的情况下中断才被执行。
7.如权力要求6所述的方法,其中仅当存储器子系统包含有在存储器访问被提前中止时可以维护数据完整性的存储设备的情况下中断才被执行。
8.如权力要求7所述的方法,其中控制包括将来自第一处理器的地址、数据和控制信号通过第二处理器中的多路复用装置传送到存储器子系统,所述多路复用装置用于在来自第一处理器的片选信号有效时选择地址、数据和控制信号。
9.如权力要求8所述的方法,其中如果来自第二处理器的片选信号有效,所述多路复用装置选择由第二处理器的存储器控制器产生的地址、数据和控制信号。
10.如权力要求8所述的方法,还包括对来自第一处理器的一个或多个片选信号的有效进行同步,以指示存储器处理何时被传送到存储器子系统。
11.如权力要求10所述的方法,还包括保存与被中断的当前存储器周期相关的信息。
12.如权力要求11所述的方法,其中在传送的存储器处理完成后继续被中断的当前存储器周期。
13.如权力要求1所述的方法,其中第二处理器执行与平台无关的中间语言指令。
14.如权力要求1所述的方法,还包括禁止存储器子系统的存储设备内部产生的异步刷新请求;以及产生外部刷新请求信号以向存储设备指示何时执行刷新。
15.如权力要求14所述的方法,其中外部刷新请求信号在第二处理器不访问存储器时由第二处理器产生。
16.如权力要求1所述的方法,其中第一处理器是移动通讯设备的基带处理器。
17.如权力要求1所述的方法,其中第二处理器是移动通讯设备的应用处理器。
18.一个系统,包括第一处理器;存储器子系统;第一处理器和存储器子系统间的允许第一处理器访问存储器子系统的通讯路径;以及介于第一处理器和存储器子系统之间并确定通讯路径上一个中间点的第二处理器,第二处理器包括控制第一和第二处理器访问存储器子系统的存储器控制器。
19.如权力要求18所述的系统,其中所述的通讯路径包括在第一和第二处理器之间的第一总线和在第二处理器和存储器子系统之间的第二总线。
20.如权力要求18所述的系统,其中第二总线包括将第二处理器分别连接到存储器子系统中的第一和第二组存储设备的单独的地址和控制线。
21.如权力要求20所述的系统,其中第一组存储设备可由第一处理器根据需要访问;第二组存储设备只有当不被第二处理器访问时才可以被第一处理器访问。
22.如权力要求21所述的系统,其中第一组存储元件中的非易失性存储设备只有当不被第一处理器访问时才可以被第二处理器访问。
23.如权力要求18所述的系统,其中第二总线包括两个单独的总线,各个总线分别将第二处理器连接到存储器子系统中的第一和第二组存储设备。
24.如权力要求18所述的系统,其中第二处理器包括检测第一处理器何时产生到存储器子系统的存储器周期信号的检测机制。
25.如权力要求24所述的系统,其中第二处理器包括直通机制以允许检测到的来自第一处理器的存储器周期信号通过第二处理器。
26.如权力要求25所述的系统,其中如果第二处理器没有访问存储器子系统,直通机制允许检测到的存储周期信号立即直通通过到达存储器子系统。
27.如权力要求26所述的系统,其中直通机制延迟检测到的存储周期信号直通通过到达存储器子系统,直到第二处理器对存储器子系统的当前存储器访问可被中断而不丢失数据。
全文摘要
在一个实施例中,本发明提供了一种访问存储器的方法。该方法包括将第一处理器对存储器子系统的存储器处理发送到介于第一处理器和存储器子系统之间的通讯路径上的中间第二处理器;以及控制何时允许存储器处理通过第二处理器到达存储器子系统。
文档编号H04M1/725GK1592894SQ03801549
公开日2005年3月9日 申请日期2003年6月11日 优先权日2002年6月27日
发明者M·K·帕特尔 申请人:纳佐米通讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1