用于清除信号量保留的方法及设备的制作方法

文档序号:6569992阅读:221来源:国知局
专利名称:用于清除信号量保留的方法及设备的制作方法
技术领域
本发明涉及具有共享存储器的处理系统,且更特定来说涉及用于清除信号量保留 的方法及设备。
背景技术
仅需敲击几下键盘即可执行复杂处理任务的计算机使电子工业发生了革命性改 变。这些复杂任务涉及使用总线以迅速及有效的方式彼此通信的惊人数目的复杂组件。 总线是计算机中的组件之间的通道或路径。传统上,驻留在计算机中的许多总线均己实施为共享总线。共享总线可为任何数 目的组件提供经由共用路径或通道来通信的装置。近几年间,共享总线技术已在很大 程度上被点-对-点交换连接法所替代。点-对-点交换连接法可在总线上正在彼此通信的 两个组件之间提供直接连接。可使用多个直接链接来允许几个组件同时通信。可使用 总线仲裁器来管理经由所述总线的通信。实施总线架构的计算机可包含连接到存储器的若干处理组件。所述存储器可由系 统设计者或在操作期间动态地划分为多个区域。每一处理组件均可具有其自身的专用 存储器区域。另一方面,"共享存储器区域"是可通过多次处理来存取的存储器区域。 可使用信号量来管理对所述共享存储器区域的存取。"信号量"是驻留在共享存储器 位置中指示共享资源的可存取性的硬件或软件旗标。需要存取共享存储器区域的处理 组件可读取所述信号量来确定所述共享存储器区域的可存取性。如果所述信号量指示 共享存储器区域可用,则所述处理组件可设定所述信号量以指示共享存储器区域是锁定的,并继续存取存储器。当处理组件读取信号量时,存储器为处理组件创建对共享存储器区域的"保留"。 一旦处理组件设定信号量来锁定共享存储器区域,即清除所述保留。然而,如果处理 器在尚未设定信号量之前即被中断,则必须清除所述保留。需要一种用于清除信号量 保留的有效装置。发明内容本发明揭示一种清除信号量保留以排他性地存取共享存储器的方法。所述方法包 含向与共享存储器相关联的信号量存储器区域传输写入请求;及响应于所述写入请 求禁止对信号量存储器区域的内容的更新。本发明揭示一种处理系统。所述处理系统包含多个处理组件;存储器,其包括 可由所述处理组件共享的共享存储器区域及指示共享存储器部分的排他性写入存取可 用性的信号量存储器区域;及控制器,其维持信号量保留状态,其中响应于对来自所 述处理组件中的一者的信号量存储器区域的写入请求清除所述控制器的保留状态且不 将数据写入到信号量存储器区域。本发明揭示另一种处理系统。所述处理系统包含多个处理组件;存储器,其包 括可由所述多个处理组件共享的共享存储器区域及指示共享存储器部分的排他性写入 可用性的信号量存储器区域;及控制器,其维持信号量保留状态,其中所述处理组件 中的每一者均经配置以向信号量存储器区域传输清除信号量保留状态且不写入到信号 量存储器区域的写入请求。此揭示的技术提供的优点在于信号量保留可被清除而不占用额外的存储器且避 免了存储器存取步骤。根据以下的详细说明,本发明的额外优点对所属技术领域的技 术人员将变得显而易见,在以下说明中仅以图解说明预期用于执行本发明的最佳模式 的方式而只显示及描述了本发明的优选实施例。应认识到,本发明能够具有其它及不 同的实施例,且能够对其几个细节做出各种明显方面的修改且不背离本发明。因此, 应将各附图及本说明本质上视为说明性而非限定性。


本文以实例的方式而非以限定的方式在附图的各图式中图解说明本发明,且在附 图中相同的参考编号指代相同的元件,且在附图中图1是图解说明处理系统的实例的功能性方块图。 图2是所述处理系统的元件的更详细的局部方块图。 图3是图解说明处理系统的操作的流程图。
具体实施方式
图1是图解说明处理系统的实例的功能性方块图。所述处理系统可以是计算机或 驻留在计算机中,且能够处理、检索及存储信息。所述处理系统可以是独立的系统或 嵌入在装置中,例如有线或无线电话、个人数字助理(PDA)、膝上型、桌上型计 算机(PC)、传呼机、调制解调器、游戏控制台、数码相机、视频会议设备、广播设 备或任何其它需要数据处理能力的合适装置。存储器100通过存储器控制器104及系 统总线互连及总线仲裁器106耦合到一个或一个以上处理组件102a及102b。每一处 理组件均可以是任何类型的总线掌控组件,其中包含(举例来说)微处理器、数字 信号处理器(DSP)、桥接器、可编程逻辑、离散门或晶体管逻辑、或任何其它信息 处理组件。虽然为简化说明仅显示两个处理组件,但可采用大量处理组件。存储器可由系统设计者或在操作期间动态地划分为多个区域。存储器区域可专用于每一处理组件,而存储器的其它区域可由多个处理组件共享以供存取。术语"存储 器区域"是指任何存储器装置、存储器装置的任何部分、存储器映射区域等等。共享 的共用存储器资源可以是任何类型的总线从属组件,其中包含(举例来说)寄存器、 存储器、桥接器或任何其它能够检索及存储信息的组件。为了以有效的方式管理存储器存取,通常将总线仲裁器耦合到总线。例如,寻求对共享存储器区域的存取的处理组件102a可通过总线向总线仲裁器广播读取或写入 请求。然后,总线仲裁器可向请求处理组件102a授予对共享存储器区域的存取以执行 所述读取或写入操作。如果来自一个或一个以上处理组件的多个读取及/或写入请求在 总线仲裁器争辩,则总线仲裁器可确定将要执行所述读取及/或写入操作的顺序并根据 总线仲裁方案动态地配置总线互连。所述总线仲裁方案可视特定的应用及总体设计限 制条件而变化。对存储器的存取可基于优先权标准与公平分配考虑之间的平衡。处理器可通过在地址总线上设置地址来广播读取请求。可以类似的方式做出写入 请求,其中额外的数据设置在数据总线上。所述地址总线及数据总线可以是单独的总 线或单个分时总线。可采用边带信令将适当的控制信号提供给存储器控制器104。或 者,可在单独的总线上或单个分时总线上将所述控制信号与所述地址及数据多路复用。 所述控制信号还可包含(举例来说)读取/写入选通脉冲、排他性或非排他性操作、 有效负载大小信号及(在写入操作的情形下)写入字节启用。可使用"写入字节启用" 来指示将使用总线上的哪些字节通道来广播用于写入操作的数据。举例来说,32位数 据总线上的2字节有效负载广播可使用4个字节通道中的2个字节通道。可使用所述 写入字节启用来向存储器控制器指示将使用数据总线上2个字节通道中的哪一个来广 播所述有效负载。处理应用通常要求在未经中断的一序列操作期间对写入到共享存储器区域的排 他性存取。处理系统必须向要求这一排他性存取的处理器提供适当的存储器存取管理。 图2是存储器100及存储器控制器104的更详细方块图。通过"信号量"操作来管控 共享存储器的排他性可存取性。将存储器100划分为多个区域。存储器区域110及112 分别专用于处理器102a及102b。存储器区域114是由多个处理器共享的存储器区域。 如果此区域适于适定的系统使用,则可进一步将其划分为多个部分,其中每一部分均 由多个处理器系统的特定处理器共享。区域116专用于信号量存储装置。存储器控制器104包含排他性状态机监视器119及120。监视器119是与处理器 102a相关联的排他性监视器,其用于监视及控制所述处理器对共享存储器114的排他 性存取操作。监视器120是与102b相关联的排他性监视器。如先前在本发明的发明背景部分中所解释,信号量是驻留在信号量存储器区域 116中且指示共享存储器资源114的可存取性或不可存取性的旗标。寻求对共享存储 器区域的排他性存取的处理组件可经由相关联的存储器控制器监视器读取信号量存储 器区域,以确定共享存储器区域或存储器区域部分的可存取性。如果所述信号量指示 共享存储器区域可供用于存取,则所述存储器控制器可在信号量区域中设定旗标来指200680046989. 3说明书第4/6页示共享存储器区域是"锁定的",并继续存取所述存储器以由相关联的处理器写入到 共享存储器区域114中。在信号量的锁定状态期间,没有其它处理组件能够存取共享 存储器。 一旦完成处理操作,所述旗标即由处理器控制器移除且所述信号量返回到指 示可存取性的未锁定状态。通常调用信号量保留方案来管理对共享存储器的排他性存取。作为获得对共享存 储器的排他性写入存取的先决条件,必须在请求处理器的相关联存储器控制器监视器 中为所述请求处理器建立保留。所述控制器在信号量读取操作发生时设定保留状态。 举例来说,指令代码序列可需要由处理器102a进行排他性存取以写入到共享存储器区 域114中的位置。为执行处理器所要求的写入排他性请求,必须首先读取信号量来确 定区域114是否可由102a存取。信号量读取操作起始控制器来为监视器119中的处理 器102a设定保留状态。在没有锁定共享存储器区域的情况下,处理器102a可立即获得存取或等到随后 在代码序列中获得存取。处理器102b也可在没有锁定信号量的情况下在监视器120 中建立保留状态。如果两个处理器同时具有保留状态,则使得其请求将赢得对存储器 控制器的仲裁的第一处理器将获得对共享存储器区域的排他性存取。一旦存取区域114,信号量旗标即被设定且处理器102a获得排他性存取。响应于 写入排他性命令,监视器119激活控制器以清除监视器119中所存储的保留状态,以 及对监视器120中可能已存储的相同地址的任何保留。当拥有锁定的处理器写入指示 信号量不再是锁定的信号量位置时,释放所述信号量的锁定状态。在建立保留之后,处理器102a对代码序列的处理可异常中止,或所述代码序列 可能会在共享存储器区域的写入操作发生之前已被取代。如果共享存储器尚未由所述 处理器中的任一者存取,则保留将未被清除。由于存储器控制器监视器不能区分保留 与先前的代码序列还是与随后的代码序列相关联,协议要求在可获得新保留来用于后 续排他性写入存取之前清除废弃的保留。因此,如果一保留不会发生排他性写入操作, 则必须采取措施清除所述保留。在处理系统的至少一个实施例中,可通过向信号量存储器区域116广播写入请求 而同时禁止处理器写入到信号量存储器区域116来清除信号量保留。这可通过多种方 式来实现。举例来说,可使用写入字节启用以在由处理器做出的写入到信号量存储器 区域116的请求期间停用数据总线上的所有字节通道。因此,处理器的保留已清除, 但信号量存储器区域116尚未更新,且由此保持未锁定来由另一处理器使用。信号量清除操作图解说明于流程3中。在步骤S20处,处理器102a起始对 代码序列的处理。在步骤S22处确定处理器是否需要对共享存储器地址的排他性写入 操作。如果不需要,则继续进行处理直到完成所述代码序列处理。如果在步骤S22中 确定需要排他性写入,则处理器在步骤S24处向信号量地址发布读取命令。此命令在 与处理器102a相关联的存储器控制器监视器119中设定保留。在步骤S26处,读取信号量地址并确定对共享存储器区域的排他性存取是否可用。如果不能,则在步骤S28处清除保留且处理流程返回到步骤S20来继续处理代码串。 如果信号量不指示锁定状态,则在步骤S28处确定与保留相关联的代码序列是否已异 常中止。如果所述代码序列仍将被处理,则处理器102a发布排他性写入命令。存储器 控制器104在认识到在监视器119中所设定的处理器102a的保留状态时,在步骤S30 处向处理器提供对共享存储器区域114的存取。所述存储器控制器将锁定旗标写入到 信号量存储器并清除任何现有的信号量保留。处理器102a通过对共享存储器区域的排 他性存取来继续执行代码序列。在步骤S32处,处理器已完成其操作序列并放弃排他 性存取。存储器控制器104清除信号量旗标来指示共享存储器可供存取。在步骤S20 处可处理新的代码序列。如果在步骤S28处确定代码序列已异常中止,则必须从存储器控制器中清除保留。 在步骤S34处,处理器发布排他性写入命令。处理器设定写入字节启用来启用数据总 线上的所有字节通道。响应于所述写入命令,存储器控制器清除监视器119中的保留 状态,且由于不存在启用的字节通道而不写入到信号量存储器区域。可在步骤S20处 处理新的代码序列。结合本文所揭示实施例描述的各种说明性逻辑块、模块、电路、元件及/或组件均 可由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵 列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件、或其经设计 以执行本文所述功能的任何组合来实施或执行。通用处理器可以是微处理器,或者, 所述处理器也可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可实 施为计算组件的组合,例如DSP与微处理器的组合、多个微处理器的组合、 一个或一 个以上微处理器与DSP核心的联合、或任何其它这种配置。结合本文所揭示实施例描述的方法或算法可直接包含在硬件、由处理器执行的软 件模块或这两者的组合中。软件模块可驻留在RAM存储器、闪存存储器、ROM存 储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可装卸磁盘、CD-ROM 或所属技术领域中已知的任何其它形式的存储媒体中。可将存储媒体耦合到处理器以 使所述处理器可从所述存储媒体读取信息及将信息写入到所述存储媒体。另一选择为, 所述存储媒体可与所述处理器成一体。提供上文对所揭示实施例的说明以使所属技术领域的技术人员能够做出或使用 本发明。所属技术领域的技术人员将很容易得知对这些实施例的各种修改,且本文所 界定的一般原理也可适用于其它实施例而不背离本发明的精神或范围。因此,并不打 算将本发明限定为本文所示实施例,而是将赋予其与权利要求书相一致的全部范围, 其中除非明确指明,否则,以单数形式提及一元件并不是表示"一个且仅一个",而 是指"一个或一个以上"。所属技术领域的技术人员已知或以后将得知的此整个揭示 内容所述各实施例的元件的所有结构及功能等效物均明确地以引用方式并入本文中并 将涵盖于权利要求书内。此外,无论是否已在权利要求书中明确引用此揭示内容,本 文所揭示的内容均不打算奉献给公众。权利要求书要素均不依据35 U.S.C. § 112第六段的规定加以解释,除非使用短语"用于…的装置"明确描述所述要素,或在方法权 利要求中使用短语"用于…的步骤"来描述所述要素。
权利要求
1、一种清除信号量保留以排他性地存取共享存储器的方法,所述方法包括传输对与所述共享存储器相关联的信号量存储器区域的写入请求;及响应于所述写入请求禁止对所述信号量存储器区域的内容的更新。
2、 如权利要求1所述的方法,其中通过传输具有所述写入请求的控制信号来禁 止对所述信号量存储器区域的内容的更新。
3、 如权利要求2所述的方法,其中所述控制信号包括写入字节启用。
4、 如权利要求3所述的方法,其中提供数据总线以经由多个字节通道传输数据, 且其中通过设定所述写入字节启用以停用所述数据总线上的所有字节通道来禁止对所 述信号量存储器区域的内容的更新。
5、 如权利要求1所述的方法,其进一步包括响应于所述写入请求将控制器的保留状态从保留状态变为非保留状态。
6、 如权利要求5所述的方法,其中所述保留状态与来自多个处理组件的一特定 处理组件相关联,且从所述特定处理组件传输所述写入请求。
7、 如权利要求6所述的方法,其中所述控制器包括多个处理组件中的每一者的 保留状态,且所述写入请求仅影响曾传输所述写入请求的所述处理组件的所述控制器 的所述保留状态的变化。
8、 一种处理系统,其包括多个处理组件;存储器,其包括可由所述处理组件共享的共享存储器区域及指示所述共享存储器部分的排他性写入存取可用性的信号量存储器区域;及控制器,其维持信号量保留状态,其中响应于来自所述处理组件中的一者的对所述信号量存储器区域的写入请求清除所述控制器的保留状态,但不将数据写入到所述 信号量存储器区域。
9、 如权利要求8所述的处理系统,其中所述处理组件中的所述一者通过向所述 控制器传输具有写入请求的控制信号来防止在对所述信号量存储器区域的所述写入请求期间将数据写入到所述信号量存储器区域。
10、 如权利要求9所述的处理系统,其中所述控制信号包括写入字节启用。
11、 如权利要求10所述的处理系统,其进一步包括位于所述处理器与所述控制 器之间的数据总线,所述数据总线具有多个字节通道,且其中所述处理组件中的所述 一者通过设定所述写入字节启用以停用所述数据总线上的所有字节通道来防止在对所 述信号量存储器区域的写入请求期间将数据写入到所述信号量存储器区域。
12、 如权利要求8所述的处理系统,其中所述控制器含有多个处理组件中的每一 者的保留状态,且所述写入请求仅影响曾传输所述写入请求的所述处理组件的所述控制器的所述保留状态的变化。
13、 一种处理系统,其包括 多个处理组件;存储器,其包括可由所述多个处理组件共享的共享存储器区域及指示所述共享存 储器区域的排他性写入存取可用性的信号量存储器区域;及 控制器,其维持信号量保留状态;其中所述处理组件中的每一者均经配置以传输对所述信号量存储器区域的清除 信号量保留状态但不写入到所述信号量存储器区域的写入请求。
14、 如权利要求13所述的处理系统,其中所述处理组件中的每一者均经配置以 通过向所述控制器传输具有写入请求的控制信号来防止在对所述信号量存储器区域的 所述写入请求期间将数据写入到所述信号量存储器区域。
15、 如权利要求14所述的处理系统,其中所述控制信号包括写入字节启用。
16、 如权利要求15所述的处理系统,其进一步包括位于所述处理器与所述控制 器之间的数据总线,所述数据总线具有多个字节通道,且其中所述处理组件中的每一 者均进一步经配置以通过设定所述写入字节启用以停用所述数据总线上的所有字节通 道来防止在对所述信号量存储器区域的写入请求期间将数据写入到所述信号量存储器 区域。
17、 如权利要求14所述的处理系统,其中所述控制器含有所述处理组件中的每 一者的保留状态,且所述写入请求仅影响曾传输所述写入请求的所述处理组件的所述 控制器的所述保留状态的变化。
全文摘要
信号量(116)操作管理对由多个处理元件共享的存储器(114)的排他性存取。由存储器控制器监视用于由处理元件(102a)、(102b)进行的排他性存取的信号量保留状态。为清除废弃的保留状态,传输命令信号以进行对存储器的写入操作且同时禁止对所述存储器的内容的更新。响应于接收到所述命令信号将控制器(104)处的保留状态从保留状态变为非保留状态。
文档编号G06F9/46GK101331454SQ200680046989
公开日2008年12月24日 申请日期2006年10月20日 优先权日2005年10月20日
发明者托马斯·安德鲁·萨托里乌斯, 托马斯·菲利普·施派尔, 詹姆斯·诺里斯·迪芬德尔费尔, 贾亚·普拉喀什·苏布拉马尼亚姆·贾纳桑 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1