CN104375963A - 基于缓存一致性的控制系统和方法 - Google Patents
基于缓存一致性的控制系统和方法 Download PDFInfo
- Publication number
- CN104375963A CN104375963A CN201410709312.XA CN201410709312A CN104375963A CN 104375963 A CN104375963 A CN 104375963A CN 201410709312 A CN201410709312 A CN 201410709312A CN 104375963 A CN104375963 A CN 104375963A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- electronic installation
- buffer consistency
- operating system
- processing unit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
-
- 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
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- 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
- G06F12/0815—Cache consistency protocols
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种基于缓存一致性的控制系统和方法,涉及装置间的控制的技术,所述基于缓存一致性的控制方法包括:当一第一电子装置通过一缓存一致性接口耦接至一第二电子装置时,通过所述第一电子装置发送一连结请求至所述第二电子装置;根据所述连结请求,通过所述缓存一致性接口,建立所述第一电子装置和所述第二电子装置的连结;以及所述连结建立后,通过所述第二电子装置的一第二处理单元操作所述第一电子装置的一第一操作系统。
Description
技术领域
本发明涉及装置间的控制的技术,特别涉及一种通过缓存一致性(CacheCoherency,CC)方法进行装置间的控制的技术。
背景技术
近年来,由于通讯技术的快速发展,各式各样的通讯装置,例如:移动电话、智能型手机(smart phone)、个人数字助理(PDA)、平板计算机(Tablet PC)等电子商品不断的在市场上被推出,且这些电子商品的功能也越来越多元化。此外,由于这些装置的便利,也使得这些装置成为人们的生活必需品之一。
当用户在操作多个装置时,想要利用一装置协助另一装置进行数据的处理,往往需要先透过数据的转移将数据转移到上述装置,通过上述装置的软件和硬件处理完后再将数据转移回另一装置。用户并无法直接就通过上述装置的硬件直接协助另一装置的软件进行数据的处理。因而造成使用者使用的不方便。
发明内容
有鉴于上述先前技术的问题,本发明提供了通过缓存一致性的技术,来进行装置间的控制的系统和方法。
根据本发明的一实施例提供了一种基于缓存一致性的控制方法。此控制方法包括:当一第一电子装置通过一缓存一致性接口耦接至一第二电子装置时,通过所述第一电子装置发送一连结请求至所述第二电子装置;根据所述连结请求,通过所述缓存一致性接口,建立所述第一电子装置和所述第二电子装置的连结;以及所述连结建立后,通过所述第二电子装置的一第二处理单元操作所述第一电子装置的一第一操作系统。
根据本发明的一实施例提供了一种基于缓存一致性的控制系统。此控制系统包括:一第一电子装置,用于发送一连结请求,以建立一连结;一缓存一致性接口,用于根据所述连结请求,建立所述连结;以及一第二电子装置,包括一第二处理单元,其中,当所述第一电子装置通过所述缓存一致性接口耦接至所述第二电子装置时,所述第一电子装置发送所述连结请求,以及当所述连结建立后,所述第二处理单元操作所述第一电子装置的一第一操作系统。
关于本发明其他附加的特征与优点,此领域的熟习技术人士,在不脱离本发明的精神和范围内,当可根据本案实施方法中所揭露的执行联系程序的用户装置、系统、以及方法,做些许的更动与润饰而得到。
附图说明
图1为根据本发明的实施例所述的基于缓存一致性的控制系统100的方块图;
图2A为根据本发明的一实施例所述的一第一对称多处理器模式的示意图;
图2B为根据本发明的一实施例所述的一第二对称多处理器模式的示意图;
图2C为根据本发明的一实施例所述的一缓存一致性非均匀存储器存取模式的示意图;
图3为根据本发明一实施例所述的基于缓存一致性的控制方法的流程图300;
图4为根据本发明另一实施例所述的基于缓存一致性的控制方法的流程图400;
图5A~5B为根据本发明一实施例所述的缓存一致性接口具体运作的流程图500。
附图标记:
100:控制系统;
110:第一电子装置;
111:第一处理单元;
112:第一高速缓存单元;
113:第一存储器单元;
120:缓存一致性接口;
121:顺序队列;
130:第二电子装置;
131:第二处理单元;
132:第二高速缓存单元;
133:第二存储器单元。
具体实施方式
本章节所叙述的是实施本发明的最佳方式,目的在于说明本发明的精神而非用以限定本发明的保护范围,本发明的保护范围当视申请专利范围所界定者为准。
图1为根据本发明的一实施例所述的基于缓存一致性的控制系统100的方块图。如图1所示,控制系统100中包括一第一电子装置110、一缓存一致性接口120以及一第二电子装置130。第一电子装置110中包括一第一处理单元111、一第一高速缓存单元112以及一第一存储器单元113。第二电子装置130中包括一第二处理单元131、一第二高速缓存单元132以及一第二存储器单元133。图1中的方块图,仅是为了方便说明本发明的实施例,但本发明并不以此为限。
根据本发明的一实施例,第一电子装置110可用于连结至一运算装置,例如便携计算机或桌面计算机;或一自足式装置(self-contained device),例如个人数字助理(Personal Digital Assistant,PDA)。第一电子装置110又可称为一系统、一用户单元、一用户台、一行动台、远程台、存取点、远程终端、存取终端、用户终端、用户代理、或用户装置等。第一电子装置110可以为一用户台、一无线装置、手机、一个人通讯服务(Personal Communication Service,PCS)电话、一无线式(cordless)电话、一对话起始协议(Session Initiation Protocol,SIP)电话、一无线区域回路(wireless local loop,WLL)站、一个人数字助理、一具有无线连结能力的手持装置、或可连结一无线调制解调器的处理装置。
根据本发明的实施例,第二电子装置130可以为一主端装置(host device)、或一具有较高处理效能的电子装置,例如:便携计算机、桌面计算机或平板计算机。
根据本发明的实施例,缓存一致性接口120可以为一支持缓存一致性(CC)的接口。缓存一致性是表示保留在高速缓存中的共享资源,可保持数据一致性的机制。特别注意的是,传统上,缓存一致性(CC)通常是应用在一电子装置的多核心处理器(Multi-core processor)中,通过缓存一致性(CC)的机制,可维持每一核心处理器在高速缓存中的共享资源的一致性。因此,有别于传统上的应用,在本发明的实施例中是将缓存一致性(CC)应用在不同装置间的数据处理上,并非仅限于单一装置的多核心处理器的应用上。根据本发明一实施例,缓存一致性接口120可通过一有线传输方式或一无线传输方式来建立第一电子装置110和第二电子装置130间的连结。根据本发明一实施例,缓存一致性接口120的传输协议为分层协议,其中其物理层(physical layer)的传输协议为一有线传输协议或一无线传输协议。根据本发明一实施例,缓存一致性接口120对于第一电子装置110和第二电子装置130来讲,均为外部总线接口,其电气接口会引出装置外部。
根据本发明的一实施例,第一处理单元111和第二处理单元131可以为一通用处理器(general-purpose processor,GPP)、一微处理机控制单元(Micro ControlUnit,MCU)或其它处理装置、或一多核心的处理器。根据本发明的一实施例,第一高速缓存单元112和第二高速缓存单元132属于一最后一级高速缓存(LastLevel Cache,LLC),或一监听滤波器(snoop filter),或一芯片组(Chipset)。根据本发明的一实施例,第一存储器单元113和第二存储器单元133可以为一挥发性存储器(volatile memory)(例如:随机存取存储器(Random Access Memory,RAM))实现的系统存储器。在其它实施例中,第一存储器单元113和第二存储器单元133也可以为一非挥发性存储器(non-volatile memory)(例如:闪存(flashmemory)、只读存储器(Read Only Memory,ROM)),或上述装置的组合。
根据本发明的一实施例,当用户需要将第一电子装置110(例如:一手持装置)和第二电子装置130(例如:一笔电)建立一连结时,将第一电子装置110通过缓存一致性接口120耦接至第二电子装置130,此时第一电子装置110(例如,第一处理单元111)会发送一连结请求至第二电子装置130。特别说明的是,在本发明实施例中所述的连结,是指第一电子装置110和第二电子装置130基于一缓存一致性(CC)的机制所建立的连结,在上述连结建立后,可以直接使用第二电子装置130的硬件组件来操作第一电子装置110。具体而言,在一实施例中,上述连结建立后,第二电子装置130的第二处理单元131可直接操作第一电子装置110的第一操作系统,且第二电子装置130和第一电子装置110均无需重新启动(re-boot)。因此,在本发明所述的连结,并非指一般的远程操作(远程操作仍是由第一电子装置110来处理数据),或是指装置间的联机。如此一来,用户可依靠第二电子装置130(例如:一笔电)的具备较强运算能力的第二处理单元131来协助第一电子装置110的第一操作系统的运行。在其它实施例中,除了第二处理单元131,第二电子装置130的其它硬件,包括第一存储器单元113(例如为系统存储器)、键盘、鼠标及显示设备等外围设备均可以参与操作第一电子装置110的第一操作系统。在使用者体验效果上,当用户将第一电子装置110(例如:一手持装置)通过缓存一致性接口120耦接至第二电子装置130(例如:一笔电)时,甚至即刻可在笔电的显示设备上显示手持装置正在运行的操作系统画面,并利用笔电的高效能的处理单元等硬件组件来操作手持装置的操作系统,以提高速度,同时笔电和手持装置并无需重新启动(re-boot),完善使用者体验。
根据本发明的一实施例,若缓存一致性接口120是通过一有线传输方式来传输,第一电子装置110就需要先插入第二电子装置130中,再经由缓存一致性接口120发送连结请求给第二电子装置130,以建立和第二电子装置130的连结。根据本发明的另一实施例,若缓存一致性接口120是通过一无线传输方式来传输,第一电子装置110就可直接经由无线传输方式,经由缓存一致性接口120将连结请求发送给第二电子装置130,以建立和第二电子装置130的连结。举例来说,当第一电子装置110接近第二电子装置130,透过无线传输的方式,即可透过缓存一致性接口120建立双方的连结。总之,当第一电子装置110通过缓存一致性接口120耦接(有线或无线)至第二电子装置130时,通过第一电子装置110发送连结请求至第二电子装置130。
当第二电子装置130接收到第一电子装置110的连结请求时,第二电子装置130会进行一确认的动作,例如:发送一确认讯息(ACK)至第一电子装置110。当第二电子装置130确认第一电子装置110的连结请求后,通过缓存一致性接口120,建立第一电子装置110和第二电子装置130的连结。具体而言,第一电子装置110和第二电子装置130就会进入一同步模式(sync mode)。在同步模式中,第一电子装置110的第一高速缓存单元112会经由缓存一致性接口120将其第一操作系统(OS)的内容传送给第二电子装置130的第二高速缓存单元132。第二电子装置130的第二处理单元131在读取第二高速缓存单元132上的关于第一操作系统(OS)的内容后,第二处理单元131就可独立操作或与第一电子装置110的第一处理单元111协同操作第一电子装置110的第一操作系统(OS),以协助第一电子装置110进行数据的处理。也就是说,用户就可在第二电子装置130上,通过第二电子装置130的硬件执行和操作第一电子装置110的所有功能。在某些实施例(后面图2A会详述)中,在上述同步模式中,第一电子装置110除了将其第一高速缓存单元112的内容传递给第二电子装置130,还将其第一存储器单元113中与正在运行的第一操作系统相关的内容通过缓存一致性接口120同步至第二电子装置130,在这种实施例中,第二处理单元131仅需存取自身的第二高速缓存单元132及第二存储器单元133即可接续操作第一操作系统,第一存储器单元113也可进入休眠状态;在另一些实施例中(后面图2B和图2C会详述),在上述同步模式中,第一电子装置110不将其第一存储器单元113的内容同步,在这种实施例中,第二处理单元131须经由缓存一致性接口120存取第一电子装置110的第一存储器单元113。
此外,由于在第二电子装置130进入同步模式前,第二电子装置130也可能正在运行自身的操作系统。因此,在进入同步模式后,第二电子装置130会先将自己目前运行的第二操作系统的状态信息储存到第二存储器单元133中。因此,当第二电子装置130在断开和第一电子装置110的连结后,第二电子装置130恢复所储存的第二操作系统的状态信息,就可以继续进行第二电子装置130的第二操作系统原先所在进行的操作。
根据本发明的一实施例,完成第二操作系统的状态信息的储存后,第二电子装置130的硬件组件会进行一重置(re-initiate)的操作,以使得第一电子装置110的第一操作系统可以得知第二电子装置130的硬件组件(例如:第二处理单元131、第二存储器单元132、硬盘、网络卡,或一外接硬件组件,例如:鼠标、键盘)的相关信息。在第一电子装置110的第一操作系统对第二电子装置130的硬件组件逐个进行一枚举(enumeration)操作以获取第二电子装置130的硬件组件的相关信息。在得知第二电子装置130的硬件组件的相关信息后,上述第一操作系统便得以运行于第二电子装置130的硬件组件中。根据本发明的一实施例,可经由第二电子装置130的一特定的驱动组件/程序(driver)重置(re-initiate)上述硬件组件以实现上述枚举操作。根据本发明的另一实施例,可经由第二处理单元131向其它硬件组件发送重置的指令,以实现上述枚举操作。
第二电子装置130进行完硬件组件重置的操作后,第二电子装置130就可开始通过第二处理单元131(和其他硬件组件)操作第一电子装置110的第一操作系统(OS),以协助第一电子装置110进行数据的处理。根据本发明的一实施例,当第一电子装置110和第二电子装置130的连结建立后,第一电子装置110的第一处理单元111可与第二处理单元131共同工作(co-work),也就是共同处理第一电子装置110的数据。根据本发明的另一实施例,当第一电子装置110和第二电子装置130的连结建立后,第一电子装置110的第一处理单元111(和其他硬件组件)则会进入休眠(sleep)状态,完全交由第二处理单元131处理第一电子装置110的数据。
当用户想要断开第一电子装置110和第二电子装置130的连结时,第二电子装置130会先发送一断开连结请求至第一电子装置110。根据本发明的一实施例,若此时第一电子装置110是在一休眠状态,第二电子装置130会先将第一电子装置110唤醒。第一电子装置110接收并确认第二电子装置130发送的断开连结请求后,第一电子装置130会经由缓存一致性接口120同步(sync)第一操作系统更新的内容,以使得第一高速缓存单元112(甚至以及第一存储器单元113)中与第一操作系统相关的数据会和经由第二电子装置130协助处理过后的数据一致。数据同步后,第一电子装置110的第一处理单元111会先对硬件组件进行一重置的操作,以使得第一电子装置110可以恢复成一正常操作模式,也就是由第一电子装置110接续操作第一操作系统。
断开连结后,第二电子装置130的第二处理单元131也会恢复储存在第二存储器单元133的第二操作系统的状态信息。接着,第二电子装置130会进行一重置的操作,以使得第二电子装置130可重新进行连结前第二电子装置130的第二操作系统原先所在进行的操作。
根据本发明的一实施例,当第一电子装置110和第二电子装置130的连结建立后,第二电子装置130的第二处理单元131与第一电子装置110的第一处理单元111(如果第一处理单元111不休眠的话)可在一对称多处理器模式(SMP)或一非均匀存储器存取(ccNUMA)模式上,协同操作第一电子装置110的第一操作系统。图2A为根据本发明的一实施例所述的一第一对称多处理器模式的示意图。如图2A所示,在第一对称多处理器模式中,第二电子装置130的第二处理单元131和第二存储器单元133均参与操作第一操作系统,而第一电子装置110的第一存储器单元113不参与操作,可进入休眠状态。即,在上述第一对称多处理器模式下,第一存储器单元113中在连结前与第一操作系统相关的内容在连结建立时均被同步至第二电子装置130,因此在操作过程中,第二处理单元131和第一处理单元111仅需存取第二存储器单元133即可接续操作第一操作系统,缓存一致性接口120维持第一高速缓存单元112和第二高速缓存单元132的数据的一致性,如果第一高速缓存单元112/第二高速缓存单元132不命中(miss)或者写满,则进一步存取第二存储器单元133。缓存一致性接口120具体如何运作,参考后面图5的描述。
图2B为根据本发明的一实施例所述的一第二对称多处理器模式的示意图。如图2B所示,在第二对称多处理器模式中,第二电子装置130的第二处理单元131参与操作第一操作系统,但第二存储器单元133不参与。即,在上述第二对称多处理器模式下,第二处理单元131和第一处理单元111仅存取第一存储器单元113即可接续操作第一操作系统。在此种实施方式中,在建立连结时,无需将第一存储器单元113中关于第一操作系统的内容同步至第二电子装置130;在运行过程中,缓存一致性接口120维持第一高速缓存单元112和第二高速缓存单元132的数据的一致性,如果第一高速缓存单元112/第二高速缓存单元132不命中(miss)或者写满,则进一步存取第一存储器单元113。
图2C为根据本发明的一实施例所述的一缓存一致性非均匀存储器存取模式的示意图。如图2C所示,在缓存一致性非均匀存储器存取模式中,第二电子装置130的第二处理单元131和第二存储器单元133均参与操作第一操作系统,第一电子装置110的第一存储器单元113也不休眠。即,在上述缓存一致性非均匀存储器存取模式下,在建立连结时,也无需将第一存储器单元113中关于第一操作系统的内容同步至第二电子装置130;在操作过程中,缓存一致性接口120维持第一高速缓存单元112和第二高速缓存单元132的数据的一致性,如果第一高速缓存单元112/第二高速缓存单元132不命中(miss)或者写满,则进一步存取第一存储器单元113或第二存储器单元133。
图3为根据本发明一实施例所述的基于缓存一致性的控制方法的流程图300,此传输方法适用于控制系统100。如图3所示,在步骤S310,当第一电子装置110通过缓存一致性接口120耦接至第二电子装置130时,通过第一电子装置110发送一连结请求至第二电子装置130。在步骤S320,通过第二电子装置130确认第一电子装置110所发送的连结请求。在步骤S330,进入一同步模式。在步骤S340,通过第二电子装置130预先储存自身的一第二操作系统的状态信息。在步骤S350,通过第二电子装置130经由缓存一致性接口120,同步(sync)第一电子装置110中与第一操作系统(OS)相关的内容,在一实施例中(例如图2B及图2C的实施例),仅将第一高速缓存单元112中与第一操作系统(OS)相关的内容同步至第二电子装置130;在其它实施例中(例如图2A的实施例),将第一存储器单元113中与第一操作系统(OS)相关的内容也同步至第二电子装置130。在步骤S360,通过第一操作系统对第二电子装置130的硬件组件逐一进行一枚举(enumeration)操作,使得上述第一操作系统得以运行于第二电子装置130。在步骤370,通过第二电子装置130的第二处理单元操作第一电子装置110的第一操作系统(OS),以协助第一电子装置110进行数据的处理。根据本发明的一实施例,上述连结建立后,第一电子装置110可与第二电子装置130共同操作上述第一操作系统,也可进入一休眠状态。值得注意的是,上述步骤S320~S360为通过缓存一致性接口120建立第一电子装置110和第二电子装置130的连结的具体步骤。
图4为根据本发明另一实施例所述的基于缓存一致性的控制方法的流程图400,此传输方法适用于控制系统100。如图4所示,在步骤S410,当要断开连结时,通过第二电子装置130发送一断开连结请求至第一电子装置110。在步骤S420,判断是否唤醒第一电子装置110。若需要唤醒第一电子装置110,进行步骤S430。在步骤S430,唤醒第一电子装置110。若不需要唤醒第一电子装置110,直接进行步骤S440。在步骤S440,通过第一电子装置110确认第二电子装置130所发送的断开连结请求。在步骤S450,通过第一电子装置110经由缓存一致性接口120,同步(sync)第一操作系统更新的内容。在步骤S460,通过第一电子装置110进行一重置(re-initiate)的操作,以使得第一电子装置110可重新独立运行第一操作系统。在步骤S470,通过第二电子装置130恢复预先存储的第二操作系统的状态信息。在步骤S480,通过第二电子装置130进行一重置的操作,以使得第二电子装置130可恢复运行第二操作系统。
图5A~5B为根据本发明一实施例所述的缓存一致性接口具体运作的流程图500,此传输方法适用于控制系统100。如图5A~5B所示,在步骤S510,通过第二处理单元131发送一存储器存取请求至缓存一致性接口120。在步骤S520,通过缓存一致性接口120记录并排序上述存储器存取请求。在一实施例中,如图1所示,缓存一致性接口120还包括一顺序队列(Order Queue)121,上述顺序队列121记录第二处理单元131以及第一处理单元111(如果第一处理单元111未休眠)的存储器存取请求;并按照这些存储器存取请求被要求完成的先后顺序来排序它们,例如,第一操作系统的应用程序代码中规定了这些存储器存取请求被要求完成的先后顺序;并将排序结果返回至第二处理单元131。在一实施例中,如果同时第一电子装置110发送另一存储器存取请求至缓存一致性接口120(如果第一处理单元111与第二处理单元131共同工作,则上述另一存储器存取请求可能由第一处理单元111发出;如果第一处理单元111休眠,则第一电子装置110的第一存储器单元113或其它外围装置,例如网络模块等,也可能发出上述另一存储器存取请求。),本发明的缓存一致性接口120排序这些存储器存取请求,使得它们按照被程序代码要求完成的先后顺序完成,并将排序结果通知第一电子装置110和第二电子装置130。
接着,执行步骤S530,判断上述存储器存取请求的地址是属于第一电子装置110或第二电子装置130。通过本发明,第二处理单元131看到的存储器地址范围和第一处理单元111一样,本发明可以通过定义第二处理单元131能看到的存储器地址范围,使得第二处理单元131仅访问第一存储器单元113的地址范围,或者第一存储器单元113和第二存储器单元133两者的地址范围皆能访问。步骤S530可通过第二高速缓存单元132完成,在一实施例中,第一高速缓存单元112和第二高速缓存单元132位于一最后一级高速缓存(Last Level Cache,LLC),或一监听滤波器(snoop filter),或一芯片组(Chipset)中。在另一实施例中,步骤S530可通过缓存一致性接口120完成。
如果上述存储器存取请求的地址是属于第一电子装置110,则执行步骤S540:通过缓存一致性接口120将上述存储器存取请求发送至上述第一电子装置110的第一高速缓存单元112。之后执行步骤S550:判断第一高速缓存单元112是否命中(hit)。如果不命中(miss),即上述第一高速缓存单元112不包括上述存储器存取请求所要求的数据,则执行步骤S560:将上述存储器存取请求发送至第一电子装置110的第一存储器单元113。之后执行步骤S590:在第一存储器单元113中存取相应的存储器地址。如果步骤S550的判断结果为命中(hit),则直接执行步骤S590:在第一高速缓存单元112中存取相应的存储器地址。
如果上述存储器存取请求的地址是属于第二电子装置130,则执行步骤S570:判断第二高速缓存单元132是否命中(hit)。如果不命中(miss),即上述第二高速缓存单元132不包括上述存储器存取请求所要求的数据,则执行步骤S580:将上述存储器存取请求发送至第二电子装置130的第二存储器单元133。之后执行步骤S590:在第二存储器单元133中存取相应的存储器地址。如果步骤S570的判断结果为命中(hit),则直接执行步骤S590:在第二高速缓存单元132中存取相应的存储器地址。
在某些实施例中,执行步骤S590之后继续执行步骤S5100:通过缓存一致性接口120维持第一高速缓存单元112和第二高速缓存单元132的数据的一致性。
值得注意的是,在图2A的实施例中,第二处理单元131能访问的存储器地址范围限于第二电子装置130(即在步骤S530的判断的结果一直为上述存储器存取请求的地址是属于第二电子装置130的);在图2B和图2C的实施例中,第二处理单元131能访问的存储器地址范围可能位于第一电子装置110或第二电子装置130,须通过缓存一致性接口120将上述存储器存取请求发送至相应的存储器。
通过本发明所提出的基于缓存一致性的控制方法,当用户同时使用多个装置时,用户即可直接在效能较高的电子装置来处理效能较低的电子装置的数据和使用效能较低的电子装置的功能,使得在数据处理上更有效率且快速,且达到更加良好的用户体验。
本发明的说明书所揭露的方法和算法的步骤,可直接透过执行一处理器直接应用在硬件以及软件模块或两者的结合上。一软件模块(包括执行指令和相关数据)和其它数据可储存在数据存储器中,像是随机存取存储器(RAM)、闪存(flash memory)、只读存储器(ROM)、可抹除可规化只读存储器(EPROM)、电子可抹除可规划只读存储器(EEPROM)、缓存器、硬盘、可携式应碟、光盘只读存储器(CD-ROM)、DVD或在此领域习的技术中任何其它计算机可读取的储存媒体格式。一储存媒体可耦接至一机器装置,举例来说,像是计算机/处理器(为了说明的方便,在本说明书以处理器来表示),上述处理器处理单元可透过来读取信息(像是程序代码),以及写入信息至储存媒体。一储存媒体可整合一处理器。一特殊应用集成电路(ASIC)包括处理器和储存媒体。一用户设备则包括一特殊应用集成电路。换句话说,处理器和储存媒体以不直接连接用户设备的方式,包含于用户设备中。此外,在一些实施例中,任何适合计算机程序的产品包括可读取的储存媒体,其中可读取的储存媒体包括和一或多个所揭露实施例相关的程序代码。在一些实施例中,计算机程序的产品可包括封装材料。
本说明书中所提到的“一实施例”或“实施例”,表示与实施例有关的所述特定的特征、结构、或特性是包含根据本发明的至少一实施例中,但并不表示它们存在于每一个实施例中。因此,在本说明书中不同地方出现的“在一实施例中”或“在实施例中”词组并不必然表示本发明的相同实施例。
以上段落使用多种层面描述。显然的,本文的教示可以多种方式实现,而在范例中揭露的任何特定架构或功能仅为一代表性的状况。根据本文的教示,任何熟知此技艺的人士应理解在本文揭露的各层面可独立实作或两种以上的层面可以合并实作。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (18)
1.一种基于缓存一致性的控制方法,其特征在于,包括:
当一第一电子装置通过一缓存一致性接口耦接至一第二电子装置时,通过所述第一电子装置发送一连结请求至所述第二电子装置;
根据所述连结请求,通过所述缓存一致性接口,建立所述第一电子装置和所述第二电子装置的连结;以及
所述连结建立后,通过所述第二电子装置的一第二处理单元操作所述第一电子装置的一第一操作系统。
2.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,还包括:
当通过所述第二电子装置的所述第二处理单元操作所述第一电子装置的所述第一操作系统时,通过所述缓存一致性接口维持所述第一电子装置和所述第二电子装置间的数据的一致性。
3.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,还包括:
在通过所述第二电子装置的所述第二处理单元操作所述第一电子装置的所述第一操作系统前,通过所述第一操作系统对所述第二电子装置的复数硬件组件逐个进行一枚举操作,使得所述第一操作系统得以运行于所述第二电子装置。
4.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,所述枚举操作还包括:
通过所述第二电子装置的一特定驱动程序重置所述第二电子装置的复数硬件组件。
5.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,还包括:
在通过所述第二电子装置的所述第二处理单元操作所述第一电子装置的所述第一操作系统前,通过所述第二电子装置预先储存自身的一第二操作系统的状态信息。
6.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,所述连结建立后,所述第一电子装置的一第一处理单元与所述第二电子装置的所述第二处理单元共同操作所述第一操作系统,或进入一休眠状态。
7.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,还包括:
当要断开所述连结时,通过所述第二电子装置发送一断开连结请求至所述第一电子装置;
通过所述缓存一致性接口将所述第一电子装置和所述第二电子装置间的数据进行同步;以及
断开所述连结后,所述第一电子装置恢复一正常操作模式,以及所述第二电子装置恢复自身的一第二操作系统的一状态信息。
8.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,还包括:
所述连结建立后,通过所述第二电子装置的所述第二处理单元与所述第一电子装置的一第一处理单元在一对称多处理器模式或一非均匀存储器存取模式上,运行所述第一电子装置的所述第一操作系统。
9.根据权利要求1所述的基于缓存一致性的控制方法,其特征在于,所述缓存一致性接口通过一有线传输方式或一无线传输方式来建立所述连结。
10.一种基于缓存一致性的控制系统,其特征在于,包括:
一第一电子装置,用于发送一连结请求,以建立一连结;
一缓存一致性接口,用于根据所述连结请求,建立所述连结;以及
一第二电子装置,包括一第二处理单元,
其中,当所述第一电子装置通过所述缓存一致性接口耦接至所述第二电子装置时,所述第一电子装置发送所述连结请求,以及当所述连结建立后,所述第二处理单元操作所述第一电子装置的一第一操作系统。
11.根据权利要求10所述的基于缓存一致性的控制系统,其特征在于,当所述第二电子装置的所述第二处理单元操作所述第一电子装置的所述第一操作系统时,通过所述缓存一致性接口,维持所述第一电子装置和所述第二电子装置的数据的一致性。
12.根据权利要求10所述的基于缓存一致性的控制系统,其特征在于,其中所述第二电子装置的所述第二处理单元在操作所述第一电子装置的所述第一操作系统前,通过所述第一操作系统对所述第二电子装置的复数硬件组件逐个进行一枚举操作,使得所述第一操作系统得以运行于所述第二电子装置。
13.根据权利要求12所述的基于缓存一致性的控制系统,其特征在于,所述第二处理单元通过所述第二电子装置的一特定驱动程序重置所述第二电子装置的复数硬件组件。
14.根据权利要求10所述的基于缓存一致性的控制系统,其特征在于,所述第二电子装置的所述第二处理单元在操作所述第一电子装置的所述第一操作系统前,预先储存自身的一第二操作系统的状态信息。
15.根据权利要求10所述的基于缓存一致性的控制系统,其特征在于,所述连结建立后,所述第一电子装置的一第一处理单元与所述第二电子装置的所述第二处理单元共同操作所述第一操作系统,或进入休眠状态。
16.根据权利要求10所述的基于缓存一致性的控制系统,其特征在于,当要断开所述连结时,所述第二电子装置发送一断开连结请求至所述第一电子装置,且所述缓存一致性接口将所述第一电子装置和所述第二电子装置间的数据进行同步,以及当断开所述连结后,所述第一电子装置恢复一正常操作模式,以及所述第二电子装置恢复自身的一第二操作系统的一状态信息。
17.根据权利要求10所述的基于缓存一致性的控制系统,其特征在于,所述连结建立后,所述第二电子装置的所述第二处理单元与所述第一电子装置的一第一处理单元是在一对称多处理器模式或一非均匀存储器存取模式上,运行所述第一电子装置的所述第一操作系统。
18.根据权利要求10所述的基于缓存一致性的控制系统,其特征在于,所述缓存一致性接口通过一有线传输方式或一无线传输方式来建立所述连结。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410728001.8A CN104407995B (zh) | 2014-11-28 | 2014-11-28 | 基于缓存一致性的控制系统和方法 |
CN201410709312.XA CN104375963B (zh) | 2014-11-28 | 2014-11-28 | 基于缓存一致性的控制系统和方法 |
TW103142298A TWI521348B (zh) | 2014-11-28 | 2014-12-05 | 基於快取一致性之控制方法 |
TW103142546A TWI637616B (zh) | 2014-11-28 | 2014-12-05 | 基於快取一致性之控制方法 |
US14/740,526 US10044829B2 (en) | 2014-11-28 | 2015-06-16 | Control system and method for cache coherency |
EP15192930.4A EP3040869A1 (en) | 2014-11-28 | 2015-11-04 | Control system and method for cache coherency |
JP2015224492A JP6092352B2 (ja) | 2014-11-28 | 2015-11-17 | キャッシュコヒーレンシの制御システムと制御方法 |
KR1020150164515A KR101781271B1 (ko) | 2014-11-28 | 2015-11-24 | 캐시 일관성을 위한 제어 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709312.XA CN104375963B (zh) | 2014-11-28 | 2014-11-28 | 基于缓存一致性的控制系统和方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410728001.8A Division CN104407995B (zh) | 2014-11-28 | 2014-11-28 | 基于缓存一致性的控制系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104375963A true CN104375963A (zh) | 2015-02-25 |
CN104375963B CN104375963B (zh) | 2019-03-15 |
Family
ID=52554890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410709312.XA Active CN104375963B (zh) | 2014-11-28 | 2014-11-28 | 基于缓存一致性的控制系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10044829B2 (zh) |
EP (1) | EP3040869A1 (zh) |
JP (1) | JP6092352B2 (zh) |
KR (1) | KR101781271B1 (zh) |
CN (1) | CN104375963B (zh) |
TW (2) | TWI521348B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990063A (zh) * | 2019-11-28 | 2020-04-10 | 中国科学院计算技术研究所 | 一种用于基因相似性分析的加速装置、方法和计算机设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6189267B2 (ja) * | 2014-08-20 | 2017-08-30 | 株式会社東芝 | 情報処理装置、方法およびプログラム |
DE112017005398T5 (de) | 2016-10-26 | 2019-07-04 | Simpleway Technologies Ltd. | System und verfahren zur einrichtungsinteroperabilität und synchronisation |
WO2023200425A1 (en) * | 2022-04-11 | 2023-10-19 | Hewlett-Packard Development Company, L.P. | Direct point-to-point computing device bridges |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192142A1 (en) * | 2009-01-25 | 2010-07-29 | Jun Sun | System and Methods for Migrating Independently Executing Program into and Out of an Operating System |
CN102804103A (zh) * | 2010-03-01 | 2012-11-28 | Arm有限公司 | 用于在源和目标处理电路间转移工作量的数据处理装置和方法 |
EP2570821A1 (de) * | 2011-09-19 | 2013-03-20 | Rheinmetall Soldier Electronics GmbH | Vorrichtung und Verfahren zur Identifizierung und Kommunikation |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279087B1 (en) * | 1997-12-22 | 2001-08-21 | Compaq Computer Corporation | System and method for maintaining coherency and improving performance in a bus bridge supporting write posting operations |
US7143408B2 (en) * | 2001-08-27 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Software installation for hardware devices |
US7149857B2 (en) * | 2002-05-14 | 2006-12-12 | Micron Technology, Inc. | Out of order DRAM sequencer |
US6938139B2 (en) | 2002-06-21 | 2005-08-30 | Jp Morgan Chase Bank | Method and system for data element change across multiple instances of data base cache |
US6950913B2 (en) | 2002-11-08 | 2005-09-27 | Newisys, Inc. | Methods and apparatus for multiple cluster locking |
US7568073B2 (en) * | 2006-11-06 | 2009-07-28 | International Business Machines Corporation | Mechanisms and methods of cache coherence in network-based multiprocessor systems with ring-based snoop response collection |
US8762999B2 (en) * | 2007-09-27 | 2014-06-24 | Oracle America, Inc. | Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement |
JP2009157802A (ja) * | 2007-12-27 | 2009-07-16 | Kyocera Corp | 携帯端末および情報処理装置 |
JP5116496B2 (ja) * | 2008-01-30 | 2013-01-09 | 京セラ株式会社 | 情報処理装置および携帯端末 |
US9015446B2 (en) * | 2008-12-10 | 2015-04-21 | Nvidia Corporation | Chipset support for non-uniform memory access among heterogeneous processing units |
WO2011032593A1 (en) * | 2009-09-17 | 2011-03-24 | Nokia Corporation | Multi-channel cache memory |
US8719455B2 (en) * | 2010-06-28 | 2014-05-06 | International Business Machines Corporation | DMA-based acceleration of command push buffer between host and target devices |
EP2570920A1 (en) | 2011-09-16 | 2013-03-20 | France Télécom | System and method for cross-platform application execution and display |
JP5742651B2 (ja) * | 2011-10-15 | 2015-07-01 | コニカミノルタ株式会社 | 画像処理装置、連携方法および連携プログラム |
US20130117511A1 (en) * | 2011-11-08 | 2013-05-09 | Arm Limited | Data processing apparatus and method |
US8578129B2 (en) * | 2011-12-14 | 2013-11-05 | Advanced Micro Devices, Inc. | Infrastructure support for accelerated processing device memory paging without operating system integration |
US9110830B2 (en) | 2012-01-18 | 2015-08-18 | Qualcomm Incorporated | Determining cache hit/miss of aliased addresses in virtually-tagged cache(s), and related systems and methods |
US9923840B2 (en) * | 2012-08-20 | 2018-03-20 | Donald Kevin Cameron | Improving performance and security of multi-processor systems by moving thread execution between processors based on data location |
CN103544269B (zh) * | 2013-10-17 | 2017-02-01 | 华为技术有限公司 | 目录的存储方法、查询方法及节点控制器 |
-
2014
- 2014-11-28 CN CN201410709312.XA patent/CN104375963B/zh active Active
- 2014-12-05 TW TW103142298A patent/TWI521348B/zh active
- 2014-12-05 TW TW103142546A patent/TWI637616B/zh active
-
2015
- 2015-06-16 US US14/740,526 patent/US10044829B2/en active Active
- 2015-11-04 EP EP15192930.4A patent/EP3040869A1/en not_active Ceased
- 2015-11-17 JP JP2015224492A patent/JP6092352B2/ja active Active
- 2015-11-24 KR KR1020150164515A patent/KR101781271B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192142A1 (en) * | 2009-01-25 | 2010-07-29 | Jun Sun | System and Methods for Migrating Independently Executing Program into and Out of an Operating System |
CN102804103A (zh) * | 2010-03-01 | 2012-11-28 | Arm有限公司 | 用于在源和目标处理电路间转移工作量的数据处理装置和方法 |
EP2570821A1 (de) * | 2011-09-19 | 2013-03-20 | Rheinmetall Soldier Electronics GmbH | Vorrichtung und Verfahren zur Identifizierung und Kommunikation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990063A (zh) * | 2019-11-28 | 2020-04-10 | 中国科学院计算技术研究所 | 一种用于基因相似性分析的加速装置、方法和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3040869A1 (en) | 2016-07-06 |
TWI637616B (zh) | 2018-10-01 |
TW201620284A (zh) | 2016-06-01 |
KR20160064982A (ko) | 2016-06-08 |
CN104375963B (zh) | 2019-03-15 |
JP2016103273A (ja) | 2016-06-02 |
US20160156734A1 (en) | 2016-06-02 |
US10044829B2 (en) | 2018-08-07 |
TW201619833A (zh) | 2016-06-01 |
TWI521348B (zh) | 2016-02-11 |
JP6092352B2 (ja) | 2017-03-08 |
KR101781271B1 (ko) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659200B2 (en) | Companion application for activity cooperation | |
TWI506531B (zh) | 編製跨裝置的記憶體資源之技術 | |
Want et al. | System challenges for ubiquitous & pervasive computing | |
EP2879095B1 (en) | Method, apparatus and terminal device for image processing | |
US10193987B2 (en) | Activity continuation between electronic devices | |
TWI512676B (zh) | 用於顯示子系統之混和顯示圖框緩衝器 | |
US20120151420A1 (en) | Devices, Systems, and Methods for Conveying Gesture Commands | |
CN103106109A (zh) | 移动装置以及于其上运行两种平台系统或应用程序的方法 | |
CN104375963A (zh) | 基于缓存一致性的控制系统和方法 | |
CN104407995A (zh) | 基于缓存一致性的控制系统和方法 | |
JP2015522896A (ja) | コンピューティングシステムのストレージデバイスのための効率的な動作経路を促進する機構 | |
US20140334364A1 (en) | Remote wake-up system and method | |
CN105900176A (zh) | 用于基于存储器访问模式解决dram页面冲突的系统和方法 | |
WO2014209401A1 (en) | Techniques to aggregate compute, memory and input/output resources across devices | |
US20120144084A1 (en) | Data management device and method thereof | |
US8195861B2 (en) | Hub apparatus with OTG function | |
CN104765704A (zh) | 一种移动通讯装置及电子设备 | |
CN108965368A (zh) | 具有网络功能的数据管理电路及基于网络的数据管理方法 | |
CN113407318A (zh) | 操作系统切换方法及装置、计算机可读介质和电子设备 | |
CN205050019U (zh) | 带摄像头的云计算桌面终端 | |
US20160328009A1 (en) | Computing device and method for displaying sleeping interface and waking-up interface | |
Vaish et al. | Low effort crowdsourcing: Leveraging peripheral attention for crowd work | |
CN114489510A (zh) | 数据读取方法及装置 | |
CN205050209U (zh) | 具有图形加速功能的云计算桌面终端 | |
CN202494955U (zh) | 一种反射型显示终端及具有该显示终端的同步显示系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |