CN1318981C - 用于构成具有协处理器的无线终端的高速缓存存储器的装置和方法 - Google Patents
用于构成具有协处理器的无线终端的高速缓存存储器的装置和方法 Download PDFInfo
- Publication number
- CN1318981C CN1318981C CNB200410057741XA CN200410057741A CN1318981C CN 1318981 C CN1318981 C CN 1318981C CN B200410057741X A CNB200410057741X A CN B200410057741XA CN 200410057741 A CN200410057741 A CN 200410057741A CN 1318981 C CN1318981 C CN 1318981C
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- area
- memory
- coprocessor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种通过处理器和协处理器对连接各存储器的总线的存取进行控制的终端装置和方法。该装置和方法包含:第一闪存,连接到第二数据总线并具有存储主处理器操作程序的第一区域和存储协处理器操作程序的第二区域;第二闪存,连接到第二数据总线并具有存储主处理器的要求非易失性的数据的第一区域和存储协处理器的要求非易失性的数据的第二区域;随机存取存储器,连接到第二数据总线并具有第一区域和第二区域;高速缓存存储器,连接在第一数据总线和第二数据总线之间,用于高速缓存随机存取存储器和各闪存的数据和代码;以及高速缓存控制器,连接到第一数据总线,用于确定在高速缓存存储器中是否发生高速缓存命中或高速缓存不中。
Description
技术领域
本发明涉及用于构成具有协处理器的无线终端的高速缓存存储器的装置和方法。特别地,本发明涉及通过使用协处理器以具有高速缓存功能从而能够减少无线终端中的附加存储器设备的数量的装置和方法。
背景技术
在具有主处理器和协处理器的系统中,主处理器控制该系统的常规操作,而协处理器在主处理器的控制下控制特殊的功能。这样的结构目前用在无线终端中,用于执行复杂的功能。例如,在处理图像信号的无线终端中,该无线终端的主处理器控制通信和该无线终端的常规操作,并且其协处理器在主处理器的控制下处理用于执行特殊功能的信号。如上所述的具有协处理器的无线终端可以包括具有照相机的无线终端、个人数字助理(PDA)、或提供视频点播(VOD)功能的无线终端。
如上所述的具有主处理器和协处理器的系统可以具有图1所示的结构。在下文中,所给出的说明都假定所述系统是无线终端,并且所述协处理器是专门用于处理图像信号的多媒体协处理器。
参见图1,主处理器100控制所述无线终端的通信和通常的操作。第一闪存110存储引导和加载程序、主操作程序和主处理器100的闪存文件系统。第二闪存120是非易失性存储器(NVM),用于存储数据,例如要求长期存储的内容数据、字体数据、位图数据或电话本数据。随机存取存储器(下文中,称作RAM)130可以用作主处理器100的工作存储器。附加的外围设备140代表在主处理器100的控制下操作的设备。因此,附加的外围设备140可以包含键区、显示单元、无线通信单元、通信单元,等等。
协处理器200在主处理器100的控制下专门处理特殊功能。这里,假定协处理器200处理多媒体数据。第一闪存210存储引导和加载程序、主操作程序和协处理器的200的闪存文件系统。第二闪存220依照协处理器200的功能存储要求非易失性的数据(如内容数据)。RAM230可以用作协处理器200的工作存储器。当协处理器200是专门执行图像处理的处理器,显示单元240显示在协处理器控制下处理的图像信号。这里,当所述无线终端中只有一个显示单元240时,显示单元240可以成为由主处理器100和协处理器200存取的外围设备。附加的外围设备250表示在协处理器200控制下操作的外围设备。这里,当所述无线终端是可携式摄像机,附加外围设备可以包含多媒体卡(MMC)I/F模块、照相机等。另外,存储在第二闪存220中的内容数据可以成为处理图像数据。而且,当所述无线终端是PDA终端,附加外围设备250可以包含除通信功能之外的所有应用。
如上所述,协处理器表示系统中能够执行要求高速度的功能或应用程序的处理器,如图像用户界面(GUI)、多媒体编解码器等。另外,主处理器表示控制系统的常规操作的处理器。例如,对无线终端的情形,主处理器100可以成为调制解调器芯片,如移动站调制解调器(MSM)。存储在第一闪存110和210中的每个引导模块表示软件模块,其初始化相应的处理器操作并实际切换到主软件例程中。另外,所述加载模块表示软件模块,当在引导之后,仅初始化和操作一些必要的软件模块,除此还有其他剩余主软件代码部分时,其用于将所述剩余主软件代码部分移动到可由控制器控制的存储器区域。所述引导加载模块表示软件模块,其中引导模块与加载模块结合。闪存文件系统表示软件模块,可使数据无错误地存储到闪存中或无错误地从闪存中读出。
在图1中,第一闪存110和210可以成为非或型闪存,并且第二闪存120和220可以成为非与型闪存。这里,非或型闪存具有稳定的结构,但价格昂贵。另外,非或型闪存存储引导和加载程序以及闪存文件系统。非与型闪存比非或型闪存价格低廉并可具有高容量,但在存储器中坏扇区发生的可能性较高。另外,非与型闪存主要存储相应设备的内容数据。如果非与型闪存存储引导和加载程序以及闪存文件系统,当在存储程序的区域发生坏扇区时,就不能执行系统的操作。因此,非或型闪存通常用作存储程序的存储器,而非与型闪存通常用作存储不能擦除的数据(例如,内容数据、字体数据、位图数据、电话本数据和图像数据)的存储器。
如上所述,主处理器100和协处理器200每个都具有存储器,其中每一个又包含非或型闪存和非与型闪存以及RAM。因此,由于主处理器100和协处理器200都必须分别具有这样的各个存储器,硬件需要的包装空间增加了,产品的成本也增加了。这样,如图1所示,主处理器100和协处理器200的每一个都具有独立包含第一闪存、第二闪存和RAM的结构。由于主处理器100和协处理器200都必须分别包含许多存储器,要获得终端的小型化、低功耗和低成本,就存在许多问题。
这样,当主处理器100和协处理器200共享第一闪存、第二闪存和RAM,并且主处理器100和协处理器200分别独立地存取所述各存储器,存储器的数量可以减少一半。
发明内容
因此提出本发明以解决现有技术中的上述问题,并且本发明的一个目的是提供一种装置和方法,在具有主处理器和协处理器的无线终端中使每个处理器共享各存储器。
本发明的另一个目的是提供一种装置和方法,其中无线终端中的主处理器和协处理器共享各存储器,并且所述主处理器和协处理器对各存储器的存取可通过高速缓存存储器来控制。
本发明的另一个目的是提供一种装置和方法,其中高速缓存控制器控制具有主处理器和协处理器的无线终端中的高速缓存存储器,因此控制对各存储器的存取,以便所述主处理器和所述协处理器可以共享各存储器。
本发明的另一个目的是提供一种装置和方法,其中高速缓存控制器在无线终端中控制连接到主处理器的第一高速缓存存储器和连接到协处理器的第二高速缓存存储器,以便所述主处理器和所述协处理器可以共享各存储器。
为了实现上述的目的,根据本发明的一个方面,提供一种包括主处理器和协处理器的终端装置,所述主处理器连接到第一数据总线用以控制无线终端的通信功能,并且所述协处理器连接在所述第一数据总线和第二数据总线之间用以在在所述主处理器的控制下执行无线终端的多媒体功能,所述终端装置包含:第一闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的操作程序的第一区域和用于存储所述协处理器的操作程序的第二区域;第二闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的要求非易失性的数据的第一区域,以及用于存储所述协处理器的要求非易失性的数据的第二区域;随机存取存储器,连接到所述第二数据总线,并具有第一区域和第二区域,所述第一区域临时存储所述主处理器的操作期间出现的数据并可使在随机存取存储器区域中执行的代码部分加载到所述第一区域中,以及,所述第二区域临时存储所述协处理器的操作期间出现的数据并可使在所述随机存取存储器区域中执行的代码部分加载到所述第二区域中;高速缓存存储器,连接在所述第一数据总线和所述第二数据总线之间,用于高速缓存所述存随机存取存储器和所述闪存的所述各第一区域的所述数据和代码;以及高速缓存控制器,连接到所述第一数据总线,用于确定在所述高速缓存中是否发生高速缓存命中或不中,当在所述高速缓存存储器中发生所述高速缓存命中,控制所述主处理器存取所高速缓存的数据或代码,并且,当在所述高速缓存存储器中发生所述高速缓存不中,存取所述各存储器以便将所述数据或代码存储到所述高速缓存存储器中并同时控制所述主处理器去存取。
为了实现上述的目的,根据本发明的一个方面,提供一种包含主处理器和协处理器的终端装置,所述主处理器连接到第一数据总线用以控制无线终端的通信功能,并且所述协处理器连接在所述第一数据总线和第二数据总线之间用以在在所述主处理器的控制下执行无线终端的多媒体功能,所述终端装置包含:第一闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的操作程序的第一区域和用于存储所述协处理器的操作程序的第二区域;第二闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的要求非易失性的数据的第一区域,以及用于存储所述协处理器的要求非易失性的数据的第二区域;随机存取存储器,连接到所述第二数据总线,并具有第一区域和第二区域,所述第一区域临时存储所述主处理器的操作期间出现的数据并可使在随机存取存储器区域中执行的代码部分加载到所述第一区域中,以及,所述第二区域临时存储所述协处理器的操作期间出现的数据并可使在所述随机存取存储器区域中执行的代码部分加载到所述第二区域中;第一高速缓存存储器,连接在所述第一数据总线和所述第二数据总线之间,用于高速缓存所述闪存和所述存随机存取存储器的所述各第一区域的所述数据和代码;第二高速缓存存储器,连接到所述第二数据总线,用于高速缓存所述闪存和所述存随机存取存储器的所述各第二区域的所述数据和代码;以及高速缓存控制器,连接到所述第一数据总线,用于确定在所述第一高速缓存或所述第二高速缓存中是否发生高速缓存命中或不中,当在所述第一高速缓存存储器中发生所述高速缓存命中,控制所述主处理器存取所高速缓存的数据或代码,当在所述第一高速缓存存储器中发生所述高速缓存不中并在所述第二高速缓存中发生所述高速缓存命中,控制所述协处理器存取所高速缓存的数据或代码,当发生所述高速缓存不中,存取所述各存储器以控制将所述数据和代码存储到所述高速缓存存储器中,并且,当在所述第一和所述第二高速缓存存储器中发生所述高速缓存不中,存取所述各存储器以便控制将所述数据或代码存储到所述第一或所述第二高速缓存存储器中。
附图说明
下面结合附图的详细说明将使本发明的上述和其他目的、特征和优点更加明了。附图包括:
图1是示出传统的具有协处理器的无线终端构造的框图;
图2是示出根据本发明的第一实施例的具有协处理器的无线终端的构造的框图;以及
图3是示出根据本发明的第二实施例的具有协处理器的无线终端的构造的框图。
在全部附图中,应该注意相同和相似的要素用相同的参考标号来标记。
具体实施方式
现在参考附图说明本发明的示例性实施例。在下面的本发明的说明中,为了简明,略去了有关的公知的功能和配置。
在下文中,所给说明基于这样的假定:具有主处理器和协处理器的系统是无线终端(便携终端),并且所述协处理器是用于处理多媒体数据的处理器。但是,本发明的实施例除了可应用在所述无线终端,也可以应用在其他的系统,并且所述协处理器除了可以用作处理多媒体信息的处理器,也可以用作处理其他功能的处理器。
图2是示出根据本发明的第一实施例的具有协处理器的无线终端的构造的框图。
参见图2,主处理器300连接到第一数据总线DB1,并控制所述无线终端的通信和常规操作。协处理器310和用于在所述无线终端中执行通信功能的外围设备390连接到第一数据总线DB1。这里,主处理器300可以是移动站调制解调器(MSM)。协处理器310连接在第一数据总线DB1和第二数据总线DB2之间,并且在主处理器300的控制下专门处理特殊功能。这里,所说的特殊功能可以是多媒体数据处理功能,并且所述多媒体数据可以是由照相机拍照的图像数据、从电视机中接收的图像数据、MP3音频数据等。
高速缓存存储器330连接在第一数据总线DB1和第二数据总线DB2之间,并高速缓存存储在各个存储器中的主处理器300的数据和代码。高速缓存控制器320经由DB2连接到第一数据总线DB1,并检查在高速缓存存储器330中是否发生命中/不中。另外,当在高速缓存存储器330中发生所述高速缓存命中,高速缓存控制器320控制在高速缓存存储器中高速缓存的数据和代码的传送和接收。相对的,当在高速缓存存储器330中发生所述高速缓存不中,高速缓存控制器320在各存储器中的适当位置读取数据或代码,在高速缓存存储器中存储所读取的数据或代码,并将该存储告知给主处理器300。另外,在从每个存储器读以及向每个存储器写的高速缓存存取中,高速缓存控制器320执行总线调解功能,以防止当协处理器310同时存取到所述各存储器的总线时可能发生的总线冲突。
所述各存储器可以包括第一闪存410、第二闪存420和随机存取存储器(RAM)430。
第一闪存410连接到第二数据总线DB2,是用于存储代码或字体数据的存储器,可由主处理器300和协处理器310操作。这样,第一闪存410可以是具有第一区域和第二区域的存储器,所述第一区域用于存储主处理器300的引导和加载程序以及主操作程序,所述第二区域用于存储协处理器310的引导和加载程序以及主处理程序。第一闪存410可以由单个存储器构成,并且是在按上述划分的存储器区域中存储主处理器300和协处理器310的程序的存储器。
第二闪存420连接到第二数据总线DB2,是用于存储在主处理器300和协处理器310操作期间要求存储的内容或数据的存储器。另外,第二闪存420是具有第一区域和第二区域的存储器,所述第一区域用于存储主处理器的要求非易失性的数据,如内容数据、字体数据、位图数据或电话本数据,所述第二区域用于存储相应于协处理器310功能的要求非易失性的数据,如内容数据。另外,第二闪存可由单个存储器构成,并且是在按上述划分的存储器区域中存储主处理器300和协处理器310的非易失性数据的存储器。
RAM 430连接到第二数据总线并可以用作主处理器和协处理器的工作存储器。另外,RAM 430是具有第一区域和第二区域的存储器。这里,所述第一区域被用作临时存储主处理器300操作期间所产生数据的存储区,并且,必须在RAM区域中执行的代码部分要加载到第一区域中。另外,所述第二区域被用作临时存储协处理器300的操作期间产生的数据存储区,并且,必须在RAM区域中执行的代码部分要加载到第二区域中。
附加外围设备390表示在主处理器控制下操作的设备,并可以包括键区、显示单元、无线图像单元、通信单元,等等。
当协处理器310是专门执行图像处理的处理器,显示单元440显示在协处理器310的控制下处理的图像信号。这里,仅当在所述无线终端中存在一个显示单元440时,显示单元440可以成为由主处理器300和协处理器310存取的外围设备。附加外围设备450表示在协处理器310控制下操作的设备。这里,当无线终端是可携摄像机,附加外围设备450可以包括多媒体卡(MMC)I/F模块、照相机,等等。另外,当所述无线终端是个人数字助理(PAD)终端,附加外围设备450可以包括除通信功能外的所有应用。
参见图2,构造协处理器310、高速缓存控制器320和高速缓存存储器330,以便部署在主处理器300的存储器映射表上。即,构造协处理器,以便按照与主处理器操作存储器410到430的相同方式来操作。换言之,主处理器300操作协处理器310,就如同操作部署在存储器映射表上的寄存器模块。主处理器300通过该寄存器发送用于控制协处理器310的各种命令和相应于该命令的各种数据,并接收对该命令和数据传输的响应。通过地址和控制信号选择每个模块,并在选择了所述模块的状态下传送或输入在数据总线中加载的有效数据。
同时,构造高速缓存存储器330,用以高速缓存数据和代码。高速缓存控制器320确定在高速缓存存储器330中是否发生高速缓存命中/不中。这里,当在高速缓存存储器330中发生所述高速缓存命中,高速缓存控制器320控制传送或接收存储在高速缓存存储器330中的数据或代码。相对的,当在高速缓存存储器330中发生所述高速缓存不中,高速缓存控制器320在各存储器410、420和430中的适当位置读取数据或代码,在高速缓存存储器中存储所读取的数据或代码,并控制主处理器300读取所存储的数据或代码,以及写入所存储的数据或代码。另外,对于从每个存储器410到430读出以及向每个存储器410倒30写入的高速缓存存取,高速缓存控制器320执行总线调解功能,用于防止当协处理器310同时存取到各存储器410倒430的总线时可能发生的总线冲突。
下文中,将说明根据本发明的第一实施例的具有上述构造的无线终端的操作。首先,主处理器300可以执行存取操作,例如关于存储器410到430中每一个的第一区域的读操作或写操作。这里,当主处理器300在所述存储器映射表中存取RAM 430的第一区域、第一闪存410的第一区域和第二闪存420的第一区域时,对主处理器300和协处理器310之间的系统总线状态进行观察的高速缓存控制器检查是否发生高速缓存命中或高速缓存不中。这里,当发生高速缓存命中,高速缓存控制器320允许主处理器300读取存储在高速缓存存储器330中的信息,或将信息存储到高速缓存存储器330中。相对的,当发生高速缓存不中,为了防止在协处理器310和高速缓存存储器330之间的总线中发生冲突,高速缓存控制器320停止协处理器310的存储器存取操作。在协处理器310的总线控制按照这种方式中断的状态下,高速缓存控制器320存取存储器410到430。即,高速缓存控制器320读取存储器410到430的数据或代码,以便将所读取的数据或代码存储到高速缓存存储器330,并且主处理器300读取存储在高速缓存存储器330中的数据或代码。这里,当主处理器300不存取高速缓存存储器330,高速缓存控制器320允许协处理器310存取高速缓存存储器330。
图3是示出根据本发明第二实施例的具有协处理器的无线终端构造的框图。
参见图3,主处理器300连接到第一数据总线DB1,并控制所述无线终端的通信和通常的操作。用于执行所述无线终端中的通信功能的协处理器和外围设备390连接到第一数据总线DB1。这里,主处理器300可以是MSM。协处理器310连接在第一数据总线DB1和第二数据总线DB2之间,并在主处理器300的控制下专门执行特殊的功能。这里,所说的特殊功能可以是多媒体数据处理功能,并且所述多媒体数据可以是照相机拍照的图像数据、从电视机中接收的图像数据、MP3音频数据,等等。
在图3中,第二闪存410,第二闪存420和RAM 430并行地连接到第二数据总线,分别具有与图2中所述各存储器相同的构造和操作。
第一高速缓存存储器330连接在第一数据总线DB1和第二数据总线DB2之间,并高速缓存在各存储器410到430的第一区域中存储的数据和代码。第二高速缓存存储器340连接在协处理器310和第二数据总线DB2之间,并高速缓存在各存储器410到430的第二区域中存储的数据和代码。
高速缓存控制器320连接在第一数据总线DB1和协处理器310之间,并检查在第一高速缓存存储器330或第二高速缓存存储器340中是否发生高速缓存命中/不中。另外,当所述高速缓存命中发生,高速缓存控制器320控制已经高速缓存在第一高速缓存存储器330或第二高速缓存存储器340中的数据或代码在主处理器300和协处理器310上的传送和接收。相对的,当发生所述高速缓存不中,高速缓存控制器320在各存储器410到430的适当位置读取数据或代码,将所读取的数据或代码存储到第一高速缓存存储器330或第二高速缓存存储器340中,并将该存储告知主处理器300或协处理器310。另外,对于从每个存储器410到430读出以及向每个存储器410到430写入的高速缓存存取,高速缓存控制器320执行总线调解功能,用于防止当主处理器300和协处理器310同时存取到各存储器410倒430的总线时可能发生的总线冲突。
参见图3,当与图2的系统比较,图3的系统还包括第二高速缓存存储器340。这样,图3的系统具有改变的高速缓存控制器320的高速缓存控制方法。即,当协处理器310存取各存储器410到430的第一区域,第二高速缓存存储器340降低了各存储器410到430的存取频率。另外,第二高速缓存存储器340还用于防止当协处理器310试图通过高速缓存控制器320存取各存储器410到430时可能发生的总线冲突。也就是,在具有图2所示结构的系统中,高速缓存控制器320控制协处理器310不去存取各存储器410到430。但是,在具有图3结构的系统中,高速缓存控制器320控制第二高速缓存存储器340以得到同样的结果。
在下文中,将说明根据本发明第二实施例的具有图3所示结构的无线终端的操作。首先,当主处理器300执行关于各存储器410到430的第一区域的数据和代码的存取操作(即读操作和写操作)时,即当主处理器300存取部署在存储器映射表上的存储器410到430中每个的第一区域时,监视主处理器300和协处理器310之间系统总线状态的高速缓存控制器320检查在第一高速缓存存储器330中是否发生高速缓存命中或高速缓存不中。这里,当在第一高速缓存存储器330中发生高速缓存命中,高速缓存控制器320允许主处理器300读或写高速缓存存储器330的数据和代码。相对的,当在第一高速缓存存储器330中发生高速缓存不中,高速缓存控制器320采取行动防止在协处理器310和各存储器410到430之间的总线发生冲突,并控制协处理器310存取各存储器410到430。
当协处理器310存取第二高速缓存存储器340时,防止所述总线冲突的行动根据在第二高速缓存存储器340中是否发生高速缓存不中而改变。当在第二高速缓存存储器340中发生高速缓存命中,由于协处理器310不存取各存储器410到430,所以不发生总线冲突。这样,高速缓存控制器320观察协处理器310和第二高速缓存存储器340之间的总线,并且,当在第二高速缓存存储器340中发生高速缓存命中时,允许协处理器310存取第二高速缓存存储器340。相对的,当在第二高速缓存存储器340中发生高速缓存不中,为防止总线冲突,高速缓存控制器320控制协处理器310和第二高速缓存存储器340不去存取各存储器410到430,并控制主处理器300或第一高速缓存存储器330存取各存储器410到430。这里,当主处理器300或第一高速缓存存储器330结束或停止关于各存储器410到430的存取,高速缓存控制器允许协处理器310和第二高速缓存存储器340存取各存储器410到430。
如上所述,在根据本发明的具有协处理器的无线终端中,主处理器和协处理器的每个都不包含RAM、非或型闪存和非与型闪存存储器,并共享RAM、非或型闪存和非与型闪存存储器,这样,可以获得小型化、低功耗和低成本的终端。
尽管参考特定的实施例示出并说明了本发明,本领域的普通技术人员应该理解,在不脱离本发明的权利要求书所定义的精神和范围内,可以做各种形式和细节上的改变。
Claims (13)
1.一种包括主处理器和协处理器的终端装置,所述主处理器连接到第一数据总线用以控制无线终端的通信功能,并且所述协处理器连接在所述第一数据总线和第二数据总线之间用以在所述主处理器的控制下执行无线终端的多媒体功能,所述终端装置包含:
第一闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的操作程序的第一区域和用于存储所述协处理器的操作程序的第二区域;
第二闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的要求非易失性的数据的第一区域,以及用于存储所述协处理器的要求非易失性的数据的第二区域;
随机存取存储器,连接到所述第二数据总线,并具有第一区域和第二区域,所述第一区域临时存储所述主处理器的操作期间出现的数据并可使在随机存取存储器区域中执行的代码部分加载到所述第一区域中,以及,所述第二区域临时存储所述协处理器的操作期间出现的数据并可使在所述随机存取存储器区域中执行的代码部分加载到所述第二区域中;
高速缓存存储器,连接在所述第一数据总线和所述第二数据总线之间,用于高速缓存所述随机存取存储器和所述闪存的所述各第一区域的所述数据和代码;以及
高速缓存控制器,连接到所述第一数据总线,用于确定在所述高速缓存中是否发生高速缓存命中或不中,当在所述高速缓存存储器中发生所述高速缓存命中,控制所述主处理器存取所高速缓存的数据或代码,并且,当在所述高速缓存存储器中发生所述高速缓存不中,存取所述各存储器以便读取存储在存储器中的数据和代码并将所述数据或代码存储到所述高速缓存存储器中,并同时控制所述主处理器去存取。
2.如权利要求1所述的终端装置,其中,当在所述高速缓存存储器中发生所述高速缓存不中,所述高速缓存控制器阻止所述协处理器存取所述各存储器,由此调解总线。
3.如权利要求2所述的终端装置,其中,当所述主处理器没有存取所述各存储器,所述高速缓存控制器控制所述协处理器去存取所述各存储器。
4.一种包括主处理器和协处理器的终端装置,所述主处理器连接到第一数据总线用以控制无线终端的通信功能,并且所述协处理器连接在所述第一数据总线和第二数据总线之间用以在在所述主处理器的控制下执行无线终端的多媒体功能,所述终端装置包含:
第一闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的操作程序的第一区域和用于存储所述协处理器的操作程序的第二区域;
第二闪存,连接到所述第二数据总线,并具有用于存储所述主处理器的要求非易失性的数据的第一区域,以及用于存储所述协处理器的要求非易失性的数据的第二区域;
随机存取存储器,连接到所述第二数据总线,并具有第一区域和第二区域,所述第一区域临时存储所述主处理器的操作期间出现的数据并可使在随机存取存储器区域中执行的代码部分加载到所述第一区域中,以及,所述第二区域临时存储所述协处理器的操作期间出现的数据并可使在所述随机存取存储器区域中执行的代码部分加载到所述第二区域中;
第一高速缓存存储器,连接在所述第一数据总线和所述第二数据总线之间,用于高速缓存所述闪存和所述存随机存取存储器的所述各第一区域的所述数据和代码;
第二高速缓存存储器,连接到所述第二数据总线,用于高速缓存所述闪存和所述存随机存取存储器的所述各第二区域的所述数据和代码;以及
高速缓存控制器,连接到所述第一数据总线,用于确定在所述第一高速缓存或所述第二高速缓存中是否发生高速缓存命中或不中,当在所述第一高速缓存存储器中发生所述高速缓存命中,控制所述主处理器存取所高速缓存的数据或代码,当在所述第一高速缓存存储器中发生所述高速缓存不中并在所述第二高速缓存中发生所述高速缓存命中,控制所述协处理器存取所高速缓存的数据或代码,当发生所述高速缓存不中,存取所述各存储器以控制将所述数据和代码存储到所述高速缓存存储器中,并且,当在所述第一和所述第二高速缓存存储器中发生所述高速缓存不中,存取所述各存储器以便控制将所述数据或代码存储到所述第一或所述第二高速缓存存储器中。
5.如权利要求4所述的终端装置,其中,当在所述第一和所述第二高速缓存存储器中发生所述高速缓存不中,所述高速缓存控制器在所述第一高速缓存存储器中存储所述各存储器的所述各第一区域的所述数据或代码,同时阻止所述协处理器存取所述各存储器以防止总线冲突,并且,当没有数据或代码要存储到所述第一高速缓存存储器中,所述高速缓存控制器在所述第二高速缓存存储器中存储所述各存储器的所述各第二区域的所述数据或代码。
6.一种存储器控制方法,用于通过主处理器和协处理器控制对连接包含终端装置的第一闪存、第二闪存、高速缓存存储器和随机存取存储器(RAM)的各存储器的各数据总线的存取,包括步骤:
确定在所述高速缓存存储器中是否发生高速缓存命中或高速缓存不中;
当在所述高速缓存存储器中发生所述高速缓存命中,控制所述主处理器存取所高速缓存的数据或代码;
当在所述高速缓存存储器中发生所述高速缓存不中,存取所述各存储器以便在所述高速缓存存储器中存储所述数据或代码,并同时控制所述主处理器去存取;以及
在所述高速缓存存储器中发生所述高速缓存不中的状态下,当所述主处理器不存取所述各存储器,控制所述协处理器去存取所述各存储器。
7.如权利要求6所述的方法,还包括:
将所述主处理器连接到第一数据总线,以控制所述无线终端的通信功能;以及
在所述第一数据总线和第二数据总线之间连接所述协处理器,用于在所述主处理器的控制下执行所述无线终端的多媒体功能。
8.如权利要求7所述的方法,还包括:
将第一闪存连接到所述第二数据总线;以及
在所述第一闪存中提供用于存储主处理器的操作程序的第一区域,以及在所述第一闪存中提供用于存储协处理器的操作程序的第二区域。
9.如权利要求7所述的方法,还包括:
将第二闪存连接到所述第二数据总线;以及
在所述第二闪存中提供用于存储主处理器的要求非易失性的数据的第一区域,以及在所述第二闪存中提供用于存储协处理器的要求非易失性的数据的第二区域。
10.如权利要求6所述的方法,还包括:
将所述随机存取存储器连接到所述第一数据总线,以及
形成所述随机存取存储器的第一区域和第二区域。
11.如权利要求10所述的方法,其中,所述随机存取存储器的所述第一区域临时存储所述主处理器的操作期间产生的数据,并可使在所述随机存取存储器区域中执行的代码部分加载到所述随机存取存储器的所述第一区域中。
12.如权利要求10所述的方法,其中,所述随机存取存储器的所述第二区域临时存储所述协处理器的操作期间产生的数据,并可使在所述随机存取存储器区域中执行的代码部分加载到所述随机存取存储器的所述第二区域中。
13.如权利要求10所述的方法,其中,所述高速缓存存储器连接在第一数据总线和第二数据总线之间,以高速缓存所述随机存取存储器和所述闪存存储器的所述各第一区域的所述数据和代码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030056666A KR100703357B1 (ko) | 2003-08-16 | 2003-08-16 | 보조제어부를 구비하는 휴대용 단말기의 캐시메모리구현장치 및 방법 |
KR56666/2003 | 2003-08-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1607509A CN1607509A (zh) | 2005-04-20 |
CN1318981C true CN1318981C (zh) | 2007-05-30 |
Family
ID=34132212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410057741XA Expired - Fee Related CN1318981C (zh) | 2003-08-16 | 2004-08-16 | 用于构成具有协处理器的无线终端的高速缓存存储器的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7484047B2 (zh) |
KR (1) | KR100703357B1 (zh) |
CN (1) | CN1318981C (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167971B2 (en) * | 2004-06-30 | 2007-01-23 | International Business Machines Corporation | System and method for adaptive run-time reconfiguration for a reconfigurable instruction set co-processor architecture |
KR100749469B1 (ko) * | 2005-09-15 | 2007-08-14 | 엠텍비젼 주식회사 | 복수의 메모리를 포함한 멀티미디어 플랫폼을 구비한 장치및 비휘발성 메모리 공유 방법 |
US7983711B2 (en) * | 2006-08-24 | 2011-07-19 | Kyocera Corporation | Software architecture for dual mode phone and method of use |
US8209527B2 (en) * | 2006-10-26 | 2012-06-26 | Samsung Electronics Co., Ltd. | Memory system and memory management method including the same |
KR100803005B1 (ko) * | 2006-10-26 | 2008-02-14 | 삼성전자주식회사 | 메모리 인터페이싱 방법과 장치 |
CN102804136B (zh) * | 2009-06-23 | 2015-03-11 | 精工爱普生株式会社 | 副处理器、集成电路装置及电子设备 |
KR101691997B1 (ko) * | 2010-07-22 | 2017-01-02 | 삼성전자 주식회사 | 영상처리장치 및 그 제어방법 |
US20120036301A1 (en) * | 2010-08-03 | 2012-02-09 | Caspole Eric R | Processor support for filling memory regions |
KR20120035716A (ko) * | 2010-10-06 | 2012-04-16 | 주식회사 유니듀 | 부팅 장치 및 그 방법 |
US8949511B2 (en) * | 2011-09-30 | 2015-02-03 | Hitachi, Ltd. | Nonvolatile semiconductor storage system |
US20130227238A1 (en) * | 2012-02-28 | 2013-08-29 | Thomas VIJVERBERG | Device and method for a time and space partitioned based operating system on a multi-core processor |
CN106886495B (zh) * | 2015-12-15 | 2019-10-18 | 北京兆易创新科技股份有限公司 | 一种嵌入式系统及其控制方法 |
KR101886176B1 (ko) * | 2016-10-25 | 2018-08-08 | 시큐리티플랫폼 주식회사 | 소유자만 기록 가능한 부트영역을 포함하는 저장장치 |
US11281589B2 (en) * | 2018-08-30 | 2022-03-22 | Micron Technology, Inc. | Asynchronous forward caching memory systems and methods |
CN111338984B (zh) * | 2020-02-25 | 2022-05-17 | 大唐半导体科技有限公司 | 一种Cache RAM与Retention RAM数据高速交换架构及其方法 |
US20210406170A1 (en) * | 2020-06-24 | 2021-12-30 | MemRay Corporation | Flash-Based Coprocessor |
CN111897747A (zh) * | 2020-07-24 | 2020-11-06 | 宁波中控微电子有限公司 | 一种片上协处理器的Cache动态分配方法及片上系统 |
CN113986001A (zh) * | 2021-10-29 | 2022-01-28 | 深圳市航顺芯片技术研发有限公司 | 芯片及控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175735A (zh) * | 1996-07-03 | 1998-03-11 | 英特尔公司 | 用于处理器类型和总线协议变化的通用结构的计算机系统 |
CN1176434A (zh) * | 1996-07-03 | 1998-03-18 | 英特尔公司 | 供通用计算机结构使用的处理器子系统 |
US5850230A (en) * | 1992-01-30 | 1998-12-15 | A/N Inc. | External memory system having programmable graphics processor for use in a video game system or the like |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4959860A (en) * | 1989-02-07 | 1990-09-25 | Compaq Computer Corporation | Power-on password functions for computer system |
US5430859A (en) * | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5832534A (en) * | 1994-01-04 | 1998-11-03 | Intel Corporation | Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories |
JPH08339326A (ja) * | 1995-06-09 | 1996-12-24 | Hitachi Ltd | マルチプロセッサ装置 |
JP3598589B2 (ja) * | 1995-06-28 | 2004-12-08 | 株式会社日立製作所 | プロセッサ |
US5822251A (en) * | 1997-08-25 | 1998-10-13 | Bit Microsystems, Inc. | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers |
US6360303B1 (en) * | 1997-09-30 | 2002-03-19 | Compaq Computer Corporation | Partitioning memory shared by multiple processors of a distributed processing system |
US5893163A (en) * | 1997-12-17 | 1999-04-06 | International Business Machines Corporation | Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system |
US6397295B1 (en) * | 1999-01-04 | 2002-05-28 | Emc Corporation | Cache mechanism for shared resources in a multibus data processing system |
JP4082913B2 (ja) * | 2002-02-07 | 2008-04-30 | 株式会社ルネサステクノロジ | メモリシステム |
TW533488B (en) * | 2002-05-22 | 2003-05-21 | Nanya Technology Corp | Manufacturing method of flash memory floating gate |
KR100849296B1 (ko) * | 2003-06-13 | 2008-07-29 | 삼성전자주식회사 | 주제어부와 보조제어부를 구비하는 시스템에서의보조제어부의 초기화 장치 및 방법 |
-
2003
- 2003-08-16 KR KR1020030056666A patent/KR100703357B1/ko not_active IP Right Cessation
-
2004
- 2004-08-13 US US10/917,491 patent/US7484047B2/en not_active Expired - Fee Related
- 2004-08-16 CN CNB200410057741XA patent/CN1318981C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5850230A (en) * | 1992-01-30 | 1998-12-15 | A/N Inc. | External memory system having programmable graphics processor for use in a video game system or the like |
CN1175735A (zh) * | 1996-07-03 | 1998-03-11 | 英特尔公司 | 用于处理器类型和总线协议变化的通用结构的计算机系统 |
CN1176434A (zh) * | 1996-07-03 | 1998-03-18 | 英特尔公司 | 供通用计算机结构使用的处理器子系统 |
Also Published As
Publication number | Publication date |
---|---|
KR100703357B1 (ko) | 2007-04-03 |
US20050038962A1 (en) | 2005-02-17 |
US7484047B2 (en) | 2009-01-27 |
KR20050018255A (ko) | 2005-02-23 |
CN1607509A (zh) | 2005-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1318981C (zh) | 用于构成具有协处理器的无线终端的高速缓存存储器的装置和方法 | |
US8984237B2 (en) | Memory system and memory management method including the same | |
EP0755540B1 (en) | Efficient addressing of large memories | |
US7730268B2 (en) | Multiprocessor system having an input/output (I/O) bridge circuit for transferring data between volatile and non-volatile memory | |
CN100593217C (zh) | 闪速存储器控制装置、存储器管理方法、及存储器芯片 | |
KR100758301B1 (ko) | 메모리 카드 및 그것의 데이터 저장 방법 | |
EP1849081B1 (en) | Methods and apparatus for dynamically managing banked memory | |
US8209527B2 (en) | Memory system and memory management method including the same | |
US20050144396A1 (en) | Coalescing disk write back requests | |
US10318418B2 (en) | Data storage in a mobile device with embedded mass storage device | |
JP4210024B2 (ja) | 記憶装置を動作する方法および記憶装置 | |
US6735643B2 (en) | Electronic card with dynamic memory allocation management | |
RU2484520C2 (ru) | Адаптивная организация кэша для однокристальных мультипроцессоров | |
JP2918531B1 (ja) | キャッシュメモリ制御装置 | |
EP1408508A1 (en) | Storage device | |
US8145852B2 (en) | Device having shared memory and method for providing access status information by shared memory | |
US7681009B2 (en) | Dynamically updateable and moveable memory zones | |
KR100736902B1 (ko) | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 | |
US20020085404A1 (en) | Smart random access memory | |
KR100548378B1 (ko) | 듀얼프로세서가 내장된 이동통신단말기의 sim데이터처리장치 및 방법 | |
US20050204099A1 (en) | Method and apparatus to write back data | |
GB2381098A (en) | Dual memory arrangement allowing re-writing of a boot program | |
US7761644B1 (en) | Memory sharing arrangement for an integrated multiprocessor system | |
CN1882922A (zh) | 用于操作双区同时读写闪存的系统和方法 | |
JP2002229864A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070530 |