CN101546275B - 一种获取多处理器硬件信号量的方法 - Google Patents
一种获取多处理器硬件信号量的方法 Download PDFInfo
- Publication number
- CN101546275B CN101546275B CN2008101027951A CN200810102795A CN101546275B CN 101546275 B CN101546275 B CN 101546275B CN 2008101027951 A CN2008101027951 A CN 2008101027951A CN 200810102795 A CN200810102795 A CN 200810102795A CN 101546275 B CN101546275 B CN 101546275B
- Authority
- CN
- China
- Prior art keywords
- processor
- hardware semaphore
- semaphore
- hardware
- module
- 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
Abstract
本发明公开了一种获取多处理器硬件信号量的方法,该方法包括:处理器对硬件信号量模块进行读操作,发送包含有不同的特定地址的读请求到硬件信号量模块来请求硬件信号量,该不同的特定地址代表不同的命令;硬件信号量模块根据接收的特定地址确定要进行处理的硬件信号量单元,该硬件信号量单元根据该特定地址解析需要进行的动作,修改内部状态,确定返回给处理器的值,并将该值返回给处理器;以及处理器根据接收到的值进行后续的处理;其中,硬件信号量模块由多个对应着一段内存地址空间的具有相同功能的硬件信号量单元构成。该方法相对其他方法简单易用,复杂度低,并且可以方便的整合到系统设计过程中。
Description
技术领域
本发明涉及多处理器系统领域,具体涉及一种获取多处理器硬件信号量的方法。
背景技术
多处理器系统,包括片上多处理器系统,不同的处理器可以并发访问系统的共享资源。硬件和软件一种关键的相互作用表现在对同步操作的支持上。同步操作包含互斥、点对点事件和全局事件。不同的多处理器系统都提供了相应的硬件原语来支持这些同步操作。硬件支持有速度和效率的优越性,而软件实现则在灵活性和对不同情况的适应性方面有优越性。
当某个结果取决于如何调度两个或多个进程时,相关代码就是不正确的,我们说存在一种竞争条件。例如,当多个进程试图获取同一个共享资源,并对其进行相应的操作时,就可能会引起竞争。由竞争条件而引入临界区的概念。通常意义上,临界区是一段代码,在其他的处理器能够进入临界区前,进入临界区的处理器必须全部执行完相应的程序段代码。
在操作系统中,比如linux操作系统中,就利用了自旋锁和信号量两种类型的处理器锁操作来确保在一个时刻只有一个进程进入临界区。
自旋锁(spin lock)是用来在多处理器环境中工作的一种特殊的锁。如果处理器控制路径发现自旋锁“开着”,就获取锁并继续自己的执行。相反,如果处理器控制路径发现锁由运行在另一个CPU上的处理器控制路径“锁着”,就在周围“旋转”,反复执行一条紧凑的循环指令,直到锁被释放。自旋锁的循环指令表示“忙等”。即使等待的处理器控制路径没有其它指令可以运行,它也在CPU上保持运行。
广泛使用的另一种机制是信号量(semaphore),它在单处理器系统和多处理器系统上都有效。信号量仅仅是一个与具体资源相关的计数器。所有处理器在试图访问这个资源之前,都要检查这个信号量。可以把信号量看成一个对象,其组成如下:
一个整形变量;
一个等待进程的链接;
两个原子方法:down()和up()。
down()方法对信号量的值减1,如果这个新值小于0,该方法就把正在运行的进程加入到这个信号量链表,然后阻塞该进程。up()方法对信号量的值加1,如果这个新值大于或等于0,则激活这个信号量链表中的一个或多个进程。
包含临界区的软件代码中,同步方法所需的自旋锁和信号量都依赖原子操作。假定运行过程中的两个CPU试图通过执行非原子操作来同时“读-修改-写”同一存储器单元。首先,两个CPU都试图读同一单元,但是存储器仲裁器只允许其中的一个访问而让另一个延迟。然后当第一个读操作完成后,延迟的CPU从相同的存储器单元读到同一个旧值。然后两个CPU都试图向该存储器单元写入新值,总线存储器访问再一次被存储器仲裁器串行化,最终,两个写操作都成功。但是全局的结果是不对的,因为两个CPU写入同一新值。
避免由于“读-修改-写”引起的竞争的最容易的方法,就是确保这样的操作在芯片级是原子的。任何一个这样的操作都必须以单个指令执行,中间不能中断,且避免其他的CPU访问同一存储器单元。这些很小的原子操作可以建立在其他更灵活机制的基础上以创建临界区。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种获取多处理器硬件信号量的方法,以解决多个处理器竞争共享存储资源的问题。
(二)技术方案
为达到上述目的,本发明提供的技术方案是这样的:
一种获取多处理器硬件信号量的方法,该方法包括:
处理器对硬件信号量模块进行读操作,发送包含有不同的特定地址的读请求到硬件信号量模块来请求硬件信号量,该不同的特定地址代表不同的命令;
硬件信号量模块根据接收的特定地址确定要进行处理的硬件信号量单元,该硬件信号量单元根据该特定地址解析需要进行的动作,修改内部状态,确定返回给处理器的值,并将该值返回给处理器;以及
处理器根据接收到的值进行后续的处理;
其中,硬件信号量模块由多个对应着一段内存地址空间的具有相同功能的硬件信号量单元构成。
上述方案中,所述硬件信号量模块根据接收的特定地址所代表的命令,将该命令解析为中断模式、阻塞模式和低功耗模式这3种硬件信号量的请求类别,然后根据当前共享资源的有效数量决定返回相应值给处理器,该过程具体包括:
所述硬件信号量模块判断当前处理器申请硬件信号量的请求类别,决定当申请硬件信号量失败时通过返回信息表示申请硬件信号量没有成功,当其他处理器释放后,设置该处理器获得共享资源,并由硬件信号量单元向该处理器发送中断;或者
所述硬件信号量模块判断当前处理器申请硬件信号量的请求类别,决定当前时刻申请硬件信号量失败后进入等待状态,直到其他处理器释放共享资源后由该处理器获得该硬件信号量,并向该处理器返回读操作的结果;或者
所述硬件信号量模块判断当前处理器申请硬件信号量的请求类别,决定当前时刻申请硬件信号量失败后进入低功耗状态,直到其他处理器释放共享资源后由该处理器获得该硬件信号量,控制该处理器跳出低功耗状态,并向该处理器返回读操作结果。
上述方案中,所述硬件信号量模块返回给处理器的值中包含有当前有效资源数量以及其他处理器在该硬件信号量单元中的当前状态信息。
上述方案中,所述处理器采用读存储空间方式取代“读-修改-写”的原子操作方法,实现对硬件信号量模块的申请。
上述方案中,所述处理器向硬件信号量模块申请硬件信号量并成功时,硬件信号量中的有效资源计数器减一,并在硬件信号量单元中设置相应标志位,表示该处理器占用了该共享资源;
所述处理器请求实现硬件信号量的释放时,硬件信号量的有效资源计数器加一,该计数器的当前值表示处理器释放该共享资源后的有效资源数量,并在硬件信号量单元中清除该处理器占用该共享资源的标志位。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、利用本发明,可以实现信号量功能,而不需要处理器存在支持读-修改-写或类似的原子操作。本发明通过的硬件信号量方法相对其他方法简单易用,复杂度大大降低,同时方便和软件方法相组合,实现灵活的系统资源互斥、同步和调度约束。
2、利用本发明,能够高效的实现多处理器的互斥和调度约束,简化多处理器的编程工作,同时和处理器核的功耗控制相结合,可实现系统的低功耗设计。该方法相对其他方法简单易用,复杂度低,并且可以方便的整合到系统设计过程中。
附图说明
图1是典型的具有硬件信号量模块的多处理器示意图;
图2是典型的包含硬件信号量模块的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提出的这种用于实现临界区所需的信号量的硬件电路中,硬件信号量模块中的每一个信号量单元对应多处理器系统的一个或者多个共享资源。每一个信号量单元都可以被多个或者所有的处理器访问。
处理器对信号量模块进行读操作时,信号量模块解析读操作对应的地址,由信号量模块完成特定信号量等效于“读-修改-写”原子操作的过程,同时根据信号量当前状态对信号量单元的内部状态进行修改操作,并把值返回给处理器。处理器可以通过分析该值得到针对信号量单元的操作结果,包括信号量单元的当前状态和本次原子操作成功与否等信息。
当处理器申请信号量失败时,该信号量模块的后续操作可以有多种选择:
1.立刻返回特定值(该值表示处理器申请信号量失败),并在该信号量单元中记录该事件。当其他处理器释放该信号量时,修改信号量状态为该处理器占有,并发送中断信号给该处理器。
2.不向处理器返回值,使该处理器一直处于读操作未完成状态。等其他处理器释放该信号量后,修改信号量状态,表示该处理器占有共享资源,并返回特定值(该值表示申请信号量成功)。
3.置处理器为低功耗模式(信号量模块只需向该处理器低功耗控制模块发送请求信号),直到其他处理器释放该信号量后,修改信号量状态为该处理器占有共享资源,同时信号量模块向该处理器低功耗控制模块发送撤销低功耗模式的请求。当请求得到应答后,信号量模块向处理器返回特定值(该值表示申请信号量成功)。
图1描述了一个典型的具有硬件信号量模块的多处理器系统的示意图。多个处理器(P0-PN)101通过一定的互联方式102和硬件信号量模块103互联,同时系统还包括多个处理器可以访问的共享资源(R0-RX)105,同时存在一个功耗控制模块106。
硬件信号量模块103由多个功能相同的硬件信号量单元(S0-SM)104组成。每个信号量单元104有一个计数器记录了与该信号量单元相关联的所有资源数量,还有一个状态寄存器记录每一个处理器101在该信号量单元104中的状态。
每一个信号量单元104可以与一个共享资源105或者与一组相关联的资源105相对应,该对应关系不需要实际的硬件上存在信号量单元104与共享资源105的关联,只需软件上存在这种对应关系即可。并且信号量单元104可以与任意的共享资源105对应。
每一个信号量单元104对于处理器来说就是存储空间中的一段地址空间。处理器通过读该地址空间的地址完成对于信号量的特定操作。
功耗控制模块106可以作为处理器的已有功能分布式的存在于每个处理器中,也可以集中式的作为一个功能模块存在。并且可以不是每一个处理器都具有功耗控制功能,假如某个处理器不存在该功能,只需把该低功耗命令解释成阻塞状态207即可。
根据本发明,对于给定的信号量单元104,例如S0,在一个处理器,例如P0对该信号量单元进行读操作时,获得信号量的流程图如图2所示。
P0读信号量单元104中的某个地址ADDRi,信号量单元104返回数据DATAi。DATAi由多个比特组成,包含了申请信号量的结果信息。其中的若干比特表示了有效资源数,若其值大于0表示申请成功,如果等于0则表示申请失败;其他比特可以包含附加信息:哪些处理器申请了信号量,哪些处理器处于等待申请信号量状态等,利用这些信息,处理器可以进行对资源利用状态的分析。
根据本发明,处理器每一次成功申请信号量单元104,信号量单元104的计数器值都会减1,并向处理器返回一个大于0的数(图2-203),表示申请成功。处理器并不需要特地执行原子操作,只需要读操作就可以完成获得信号量的过程,也就不需要处理器提供相应的原子操作指令,同时避免了在异构的多处理器中需要针对不同的处理器提供不同的软件来实现相同的信号量功能。同时,本发明提供了共享资源冲突时信号量模块的多种处理方法。
处理器可以在读操作时指向该信号量单元的特定地址(图2-208),表示该处理器在当前时刻不能获得信号量时,要求信号量单元内部置标示位来表示该处理器正在申请信号量,同时向处理器返回数据,该数据包含申请信号量失败信息。当有其他处理器释放了该信号量时,信号量单元发送一个中断请求信号到该处理器,并修改信号量状态,表示该处理器占有共享资源。如此,该处理器不需要再次申请信号量。
处理器可以在读操作时指向该信号量单元的特定地址(图2-206),表示该处理器在当前时刻不能获得信号量时,要求信号量单元内部置标示位来表示该处理器正在申请信号量,同时不向处理器返回数据,即读操作为未完成,处理器处于阻塞状态207,直至有其他处理器释放该信号量后,信号量单元设置该处理器获得信号量,并发送一个代表操作成功的数据到该处理器,该返回结果和203进行的操作一致。
处理器可以在读操作时指向该信号量单元的特定地址(图2-204),表示该处理器在当前时刻不能获得信号量时,要求信号量单元内部置标示位来表示该处理器正在申请信号量,同时向该处理器的低功耗控制模块发送请求信号,置该处理器为低功耗状态205,直至有其他处理器释放了该信号量时209,信号量单元首先向该处理器的功耗控制模块请求退出低功耗模式,并设置该处理器获得信号量,当处理器退出低功耗模式后,信号量单元发送一个代表操作成功的数据到该处理器,该返回结果和203进行的操作一致。
当多个处理器对某个信号量单元进行申请,可以使用不同的等待应答模式,包括中断模式、阻塞模式和低功耗模式。当某个处理器对信号量单元进行释放操作后,如果有多个处理器处于等待该信号量单元的过程中,信号量单元可以根据初始化时设置的各个处理器的优先级,具有最高优先级的处理器得到应答,而其他处理器继续处于保持原状态,等待下一次仲裁。
硬件信号量模块的实现如上文所述,同时结合处理器运行的软件,处理器可以初始化各个信号量单元中的计数器,表示初始状态下该信号量对应的可用资源总数,同时可以设置该信号量单元中,各个处理器存在并发申请时候的优先级。
如上文所述,由于处理器不需要特殊的原子操作指令,因此可以由不支持原子操作的处理器来实现片上多处理器系统。同时处理器与硬件信号量模块的接口只需具有简单握手功能的读操作。
本发明对处理器从信号量模块读取的数据不是限定性的,读取的数据中可以包含申请成功或失败、当前信号量单元有效资源数量,以及各个处理器在该信号量单元的申请中所处的状态,如获得信号量、等待、未申请等。
上文中,已经描述了多处理器系统通过不需要原子操作的读操作实现硬件信号量,并利用它来辅助软件,最终可以实现多处理器系统同步、调度约束和共享资源互斥。尽管本发明是参照特定实施例来描述的,但很明显,本领域熟练人员,在不偏移权利要求书所限定的发明范围和精神的情况下,还可以对这些实施例作各种修改和变更。因此,说明书和附图是描述性的,而不是限定性的。
Claims (5)
1.一种获取多处理器硬件信号量的方法,其特征在于,该方法包括:
处理器对硬件信号量模块进行读操作,发送包含有不同的特定地址的读请求到硬件信号量模块来请求硬件信号量,该不同的特定地址代表不同的命令;
硬件信号量模块根据接收的特定地址确定要进行处理的硬件信号量单元,该硬件信号量单元根据该特定地址解析需要进行的动作,修改内部状态,确定返回给处理器的值,并将该值返回给处理器;以及
处理器根据接收到的值进行后续的处理;
其中,硬件信号量模块由多个对应着一段内存地址空间的具有相同功能的硬件信号量单元构成。
2.根据权利要求1所述的获取多处理器硬件信号量的方法,其特征在于,所述硬件信号量模块根据接收的特定地址所代表的命令,将该命令解析为中断模式、阻塞模式和低功耗模式这3种硬件信号量的请求类别,然后根据当前共享资源的有效数量决定返回相应值给处理器,该过程具体包括:
所述硬件信号量模块判断当前处理器申请硬件信号量的请求类别,决定当申请硬件信号量失败时通过返回信息表示申请硬件信号量没有成功,当其他处理器释放后,设置该处理器获得共享资源,并由硬件信号量单元向该处理器发送中断;或者
所述硬件信号量模块判断当前处理器申请硬件信号量的请求类别,决定当前时刻申请硬件信号量失败后进入等待状态,直到其他处理器释放共享资源后由该处理器获得该硬件信号量,并向该处理器返回读操作的结果;或者
所述硬件信号量模块判断当前处理器申请硬件信号量的请求类别,决定当前时刻申请硬件信号量失败后进入低功耗状态,直到其他处理器释放共享资源后由该处理器获得该硬件信号量,控制该处理器跳出低功耗状态,并向该处理器返回读操作结果。
3.根据权利要求1所述的获取多处理器硬件信号量的方法,其特征在于,所述硬件信号量模块返回给处理器的值中包含有当前有效资源数量以及其他处理器在该硬件信号量单元中的当前状态信息。
4.根据权利要求1所述的获取多处理器硬件信号量的方法,其特征在于,所述处理器采用读存储空间方式取代“读-修改-写”的原子操作方法,实现对硬件信号量模块的申请。
5.根据权利要求2所述的获取多处理器硬件信号量的方法,其特征在于,
所述处理器向硬件信号量模块申请硬件信号量并成功时,硬件信号量中的有效资源计数器减一,并在硬件信号量单元中设置相应标志位,表示该处理器占用了该共享资源;
所述处理器请求实现硬件信号量的释放时,硬件信号量的有效资源计数器加一,该计数器的当前值表示处理器释放该共享资源后的有效资源数量,并在硬件信号量单元中清除该处理器占用该共享资源的标志位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101027951A CN101546275B (zh) | 2008-03-26 | 2008-03-26 | 一种获取多处理器硬件信号量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101027951A CN101546275B (zh) | 2008-03-26 | 2008-03-26 | 一种获取多处理器硬件信号量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101546275A CN101546275A (zh) | 2009-09-30 |
CN101546275B true CN101546275B (zh) | 2012-08-22 |
Family
ID=41193423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101027951A Expired - Fee Related CN101546275B (zh) | 2008-03-26 | 2008-03-26 | 一种获取多处理器硬件信号量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101546275B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782352B2 (en) * | 2011-09-29 | 2014-07-15 | Oracle International Corporation | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment |
KR102239280B1 (ko) | 2014-04-30 | 2021-04-13 | 오라클 인터내셔날 코포레이션 | 트랜잭셔널 미들웨어 머신 환경에서 적응적 셀프-튜닝 락킹 메커니즘을 지원하는 시스템 및 방법 |
US9632569B2 (en) * | 2014-08-05 | 2017-04-25 | Qualcomm Incorporated | Directed event signaling for multiprocessor systems |
CN106293825A (zh) * | 2016-08-05 | 2017-01-04 | 武汉虹信通信技术有限责任公司 | 一种基于硬件信号量的多核启动同步方法 |
JP2019067289A (ja) * | 2017-10-04 | 2019-04-25 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN112415307B (zh) * | 2020-11-03 | 2023-01-17 | 北京机电工程研究所 | 一种用于并行测试的ats仪器资源控制方法 |
US11768714B2 (en) | 2021-06-22 | 2023-09-26 | Microsoft Technology Licensing, Llc | On-chip hardware semaphore array supporting multiple conditionals |
CN114327920B (zh) * | 2022-03-16 | 2022-06-21 | 长沙金维信息技术有限公司 | 用于多处理器系统的硬件资源共享方法 |
CN115509986A (zh) * | 2022-09-28 | 2022-12-23 | 美的集团(上海)有限公司 | 核间通信方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024987A1 (en) * | 1991-07-08 | 2004-02-05 | Seiko Epson Corporation | Microprocessor architecture capable of supporting multiple heterogeneous processors |
CN1585923A (zh) * | 2001-11-13 | 2005-02-23 | 皇家飞利浦电子股份有限公司 | P和v信号操作 |
CN1703676A (zh) * | 2002-01-12 | 2005-11-30 | 英特尔公司 | 基于进程事件的信号量系统 |
CN1859461A (zh) * | 2005-11-09 | 2006-11-08 | 华为技术有限公司 | 一种基于共享的参数表实时刷新方法和系统 |
CN1991767A (zh) * | 2005-12-27 | 2007-07-04 | 三菱电机株式会社 | 信号量管理方法和信号量管理程序 |
-
2008
- 2008-03-26 CN CN2008101027951A patent/CN101546275B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024987A1 (en) * | 1991-07-08 | 2004-02-05 | Seiko Epson Corporation | Microprocessor architecture capable of supporting multiple heterogeneous processors |
CN1585923A (zh) * | 2001-11-13 | 2005-02-23 | 皇家飞利浦电子股份有限公司 | P和v信号操作 |
CN1703676A (zh) * | 2002-01-12 | 2005-11-30 | 英特尔公司 | 基于进程事件的信号量系统 |
CN1859461A (zh) * | 2005-11-09 | 2006-11-08 | 华为技术有限公司 | 一种基于共享的参数表实时刷新方法和系统 |
CN1991767A (zh) * | 2005-12-27 | 2007-07-04 | 三菱电机株式会社 | 信号量管理方法和信号量管理程序 |
Also Published As
Publication number | Publication date |
---|---|
CN101546275A (zh) | 2009-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101546275B (zh) | 一种获取多处理器硬件信号量的方法 | |
US20230251882A1 (en) | Parallel hardware hypervisor for virtualizing application-specific supercomputers | |
US5043873A (en) | Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems | |
US5185868A (en) | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy | |
US7500067B2 (en) | System and method for allocating memory to input-output devices in a multiprocessor computer system | |
US9052957B2 (en) | Method and system for conducting intensive multitask and multiflow calculation in real-time | |
US20160357555A1 (en) | Method of Transferring Data between External Devices and an Array Processor | |
KR101775569B1 (ko) | 가상 재시도 큐 | |
CN114756502A (zh) | 片上原子事务引擎 | |
CN101840390B (zh) | 适用于多处理器系统的硬件同步电路结构及其实现方法 | |
US7383336B2 (en) | Distributed shared resource management | |
CN101013415A (zh) | 用于多处理器阵列的线程感知分布式软件系统 | |
US20140310466A1 (en) | Multi-processor bus and cache interconnection system | |
CN116244229B (zh) | 硬件控制器的访问方法、装置、存储介质和电子设备 | |
GB2352144A (en) | Data transfer between memory nodes | |
US8972667B2 (en) | Exchanging data between memory controllers | |
US20150026431A1 (en) | Method of Processing Data with an Array of Data Processors According to Application ID | |
CN114791854A (zh) | 用户态虚拟机任务的调度方法、装置、设备及存储介质 | |
US11163605B1 (en) | Heterogeneous execution pipeline across different processor architectures and FPGA fabric | |
Pereira et al. | Co-designed FreeRTOS deployed on FPGA | |
JPH09146904A (ja) | アドレス空間共有システム | |
US6708259B1 (en) | Programmable wake up of memory transfer controllers in a memory transfer engine | |
Tudruj et al. | Fine-grain numerical computations in dynamic smp clusters with communication on the fly | |
RU2263951C2 (ru) | Способ обработки цифровых данных в запоминающем устройстве и запоминающее устройство для осуществления способа | |
JPH011049A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180711 Address after: 100036 No. 1, No. 10, building 1, No. 32 Fuxing Road, Haidian District, Beijing 013 Patentee after: Beijing Zhongke galactic core technology Co., Ltd. Address before: No. 3, North Tu Cheng West Road, Chaoyang District, Beijing Patentee before: Institute of Microelectronics, Chinese Academy of Sciences |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120822 Termination date: 20200326 |