CN100527087C - 多核计算机系统驱动程序的支持多执行绪指令执行的方法 - Google Patents
多核计算机系统驱动程序的支持多执行绪指令执行的方法 Download PDFInfo
- Publication number
- CN100527087C CN100527087C CN200610135943.0A CN200610135943A CN100527087C CN 100527087 C CN100527087 C CN 100527087C CN 200610135943 A CN200610135943 A CN 200610135943A CN 100527087 C CN100527087 C CN 100527087C
- Authority
- CN
- China
- Prior art keywords
- instruction
- driver
- many
- carried out
- computer systems
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000000872 buffer Substances 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 2
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 239000012557 regeneration buffer Substances 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 abstract description 6
- 230000003139 buffering effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明披露了一种用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,该方法包括:将异步指令和同步指令分开,将该异步指令暂存于一缓冲区,直接在一CPU驱动程序执行绪处理该同步指令,以一个或多个CPU工作执行绪从该缓冲区处理该异步指令,其中该多核心计算机系统的多个执行绪可以同时使用,并当该CPU工作执行绪处理该缓冲区之后,管理该缓冲区,其中该指令的执行对应用软件就如同单一执行绪一般。
Description
技术领域
本发明涉及计算机装置驱动装置,特别是涉及一种驱动程序支持的异步指令处理。
背景技术
一般的计算机图形系统包含一图形转接器,其提供一帧缓冲区及一图形加速硬件,以及一软件装置驱动程序,其提供该图形转接器及操作系统及/或运作于该操作系统的上的应用之间的界面。该图形转接器包含至少一图形处理单元(graphics processing unit,GPU),其为一计算机组件,用以将视觉信息的逻辑表现转换为可以作为一显示媒体的输入的讯号。该图形转接器用以加速复杂图形的显示,同时减轻操作系统在图形处理上的负担,以改善整体效能。
装置驱动程序,通常简称为驱动程序,为一计算机程序,其致能其它程序(通常是操作系统)以和一硬件装置互动。在窗口操作系统环境中,当一应用以装置独立图形要求(device-independent graphics request)来呼叫Win32功能时,该图形装置接口(GDI)诠释该这些指令并呼叫该显示驱动程序。继的,显示驱动程序将这些要求转换成视讯硬件的指令。
GDI呼叫装置驱动接口(device driver interface,DDI)以将数据传送到该驱动程序。当一应用提出GDI要求时,且GDI确认该驱动程序支持该相关功能,则GDI呼叫该功能。驱动程序必须提供该功能,并在该功能完成时回报GDI。
有越来越多的计算机系统采用多核心中央处理单元(CPU),其具有多执行绪(thread)可以同时处理多个指令。执行绪可以让一个程序将其自身分为两个或更多的同时运作的工作。多执行绪可以同时在许多计算机系统并行。这种多执行绪通常藉由时间分割来执行(单一处理器在不同执行绪之间切换)或是藉由多处理(multiprocessing)来执行(多个执行绪在不同的处理器执行)。上述的多核心CPU为后者的多执行绪执行方法,亦即多处理的一种主体。
但是,传统的图形驱动程序设计为在一计算机CPU上执行的单一执行绪上运作,其需要和一图形处理单元(GPU)同步。因此,传统的图形驱动程序并无法由可以同时处理多个工作的多核心CPU中得益。
此外,大部分的图形应用软件并不是以多执行绪写成。应用软件本身也无法从多核心CPU中得益。在许多状况中,应用软件运作的速度取决于CPU执行速度。
因此,需要一个多核心CPU计算机系统以不同图形应用的执行绪来运作图形驱动程序,以改善该计算机系统的图形表现。
发明内容
有鉴于此,本发明提供一种用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,该方法包括:将异步指令和同步指令分开,将该异步指令暂存于一缓冲区,直接在一CPU驱动程序执行绪处理该同步指令,以一个或多个CPU工作执行绪从该缓冲区处理该异步指令,其中该多核心计算机系统的多个执行绪可以同时使用,并当该CPU工作执行绪处理该缓冲区之后,管理该缓冲区,其中该指令的执行对应用软件就如同单一执行绪一般。
为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并结合附图详细说明如下。
附图说明
图1显示传统的同步指令处理的具有多核心CPU及一DDI的计算机系统的一部份的方块图。
图2显示依据本发明实施例的异步指令处理的具有多核心CPU及一DDI的计算机系统的一部份的方块图。
图3A显示依据本发明实施例多执行绪DDI执行步骤的流程图。
图3B显示依据本发明实施例暂存异步指令的详细步骤的流程图。
图3C显示依据本发明实施例的缓冲区管理的详细步骤的流程图。
附图符号说明
计算机系统~100;多核心CPU~110;
CPU执行绪~112和114;DDI~140;
图形处理单元~150和152;应用软件~120;
操作系统~130;计算机系统~200;
多核心CPU~210;CPU执行绪~212和214;
DDI~240;指令暂存区~260。
具体实施方式
本说明书提供的方法,是将计算机指令区分为同步指令和异步指令,并以多个CPU执行绪执行的,使得多个的指令可以同时被执行。
同步指令为必须在DDI回复之前完成的指令。另一方面,异步指令为无须在DDI回复之前完成的指令。
图1显示传统的同步指令处理的具有多核心CPU 110及一装置驱动接口(Device Driver Interface,DDI)140的计算机系统100的一部份的方块图。多核心CPU 110包含两个例示的CPU执行绪112和114。DDI 140将指令传送到CPU执行,并传送到图形处理单元(Graphics Processing Units,GPUs)150和152以将图形显示。虽然多核心CPU 110包含两个CPU执行绪112和114,但是应用软件120和DDI 140却被设计成仅在一个CPU执行绪上同步处理图形指令,亦即,在处理次一指令之前,DDI 140必须等CPU执行绪112完成一目前指令处理,或等GPU 150或152完成一目前指令提交。若GPU 150或152的提交速度高于CPU执行绪112的指令处理速度,则CPU110就成了计算机系统100中速度的瓶颈,或是一CPU束缚。
图2显示依据本发明实施例的异步指令处理的具有多核心CPU 210及一DDI 240的计算机系统200的一部份的方块图。多核心CPU 210包含两个例示的CPU执行绪212和214。执行绪212处理直接由DDI240的指令,其称之为驱动程序执行绪。另一执行绪214处理暂存的指令,称之为工作执行绪。
参见图2,在计算机系统200中加入一指令暂存区260。DDI 240可以将异步指令区分,并将之存放在指令暂存区260,并仅将同步指令传送到驱动程序执行绪212以立刻处理。上述暂存的指令可以由工作执行绪214处理,而和驱动程序执行绪212无关。藉此,CPU执行绪112和114两者都被使用,即使该应用程序本身系撰写为用于单一执行绪,也可以从多核心CPU 200受惠。
参见图2,工作执行绪214被指定用来处理暂存的指令。每当DDI 240将一异步指令存入指令暂存区260时,工作执行绪214就被启动,并开始处理该暂存的指令。当一些暂存的指令已被处理时,工作执行绪214释放指令暂存区中对应的部分。
DDI 240也可以标记某些需要以事件卷标追踪的指令。在指令执行之后,工作执行绪214会将该事件标签写回。
图3A显示依据本发明实施例多执行绪DDI执行主要步骤的流程图。步骤310为将异步指令和同步指令分开。指令的性质,亦即,同步或异步,依据指令本身来决定,例如,因为驱动程序必须在回复之前完成该工作,所以某些资源管理指令为同步,这些指令必须立刻执行。在窗口DirectX driver、CreateSurface、DestroySurface、CreateD3Dbuffer、DestroySurface、LockD3Dbuffer、以及UnlockD3Dbuffer即属于此类指令。
DDLock及DDUnlock功能需要CPU和GPU之间同步,因此其也无法成多执行绪。
另一方面,在D3DdrawPrimitives2功能的绘图指令(rendering commands)则为异步指令,其可以暂存并让工作执行绪212独立处理的。D3DdrawPrimitives2功能描绘原型(primitives)并回复更新的绘图状态。
查询产生(queries create)、查询消灭(queries destroy)、查询传送(queriessending)被视为异步指令,但其是连同事件标签暂存的,因此,当这些指令由工作执行绪完成时,这些事件标签会被写回。另一方面,查询读取(queriesread)被视为是同步指令,并由驱动程序执行绪立刻执行。
参见图3A,在步骤310将异步指令和同步指令分开之后,在步骤320将该异步指令暂存。在步骤330中,CPU驱动程序执行绪直接处理同步指令。步骤340中,CPU工作执行绪同时处理这些暂存的异步指令。因此,驱动程序执行绪和工作执行绪同时被使用。当暂存指令被执行完成时,CPU工作执行绪管理该暂存区(步骤350),而处理过的暂存区可以被释放,以供未来指令之用。
图3B显示依据本发明实施例暂存异步指令的详细步骤(图3A中的步骤320)的流程图。在步骤321,复制整个指令暂存区。接着,DDI扫描该复制的指令,以寻找能够由步骤323的DDI回复改变的指令使用的资源。在步骤325,将可以改变的上述资源复制到一驱动程序分配存储器(driverallocated memory)。特别是,DDI回复会影响到系统存储资源(包括顶点缓冲区(vertex buffer)和文本(texure))、及使用者存储缓冲区(由应用传下来的缓冲区),因此将其复制。在复制上述缓冲区后,DDI修改该对应的指令以指向该新的驱动程序分配存储器(步骤325)。
参见图3B,步骤327中,检查指令缓冲区,以确认在上述步骤321~325的指令前处理过程中,是否有任回错误发生,并确认指令状态。就执行状态(render state)及文本阶段状态(texture stage state,TSS),DDI确认并将该执行状态及文本阶段状态写回其对应的缓冲区作为DDI要求(DDI requires)。
图3C显示依据本发明实施例的缓冲区管理的详细步骤(图3A的步骤350)的流程图。当处理该暂存的指令时,CPU工作执行绪将复制的资源传送到一再生缓冲区,并将复制资源释放(步骤352)。驱动程序执行绪在必要的位置,会确认是否该复制资源已经由工作执行绪释放(步骤354),并当该资源被释放时,取回该存储器(步骤356)。
当所有的暂存指令都被处理时,CPU工作执行绪将该指令送到CPU以执行之,并回到睡眠模式。
需注意到,在D3DdrawPrimitives2 DDI,该CPU工作执行绪的运作和CPU驱动程序执行绪相同,除了工作执行绪忽略由驱动程序执行绪立刻执行的查询读取,并管理复制的顶点缓冲区。事实上,若有适当的存储器管理,本发明可以使指令的执行对应用软件而言如同单一执行绪一般。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下可做若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (12)
1.一种用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其包括:
将异步指令和同步指令分开;
将该异步指令暂存于一缓冲区;
以第一CPU执行绪从该缓冲区处理该异步指令,以一第二CPU驱动程序执行绪处理该同步指令。
2.如权利要求1所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其中该同步指令为下列中的至少之一:在窗口操作系统环境中的DDLock、DDUnlock、DDCreateSurface、DDDestroySurface、DDCreateSurfaceEx、CreateD3Dbuffer、DestroyD3Dbuffer、LockD3Dbuffer、UnlockD3Dbuffer、DDMapMemory及查询读取。
3.如权利要求1所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其中该异步指令为下列中的至少之一:在窗口操作系统环境中的D3DrawPrimitives2、查询产生、查询消灭、查询传送。
4.如权利要求1所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其中该暂存步骤进一步包含:
暂存查询产生、查询消灭、查询传送指令及其对应的事件标签。
5.如权利要求1所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其中该暂存步骤进一步包含确认错误及指令状态。
6.如权利要求5所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其中该确认步骤进一步包含:
确认执行状态及文本阶段状态;
将该执行状态及文本阶段状态写回一装置驱动接口定义的缓冲区;以及
若发现一错误,则返回一操作系统。
7.如权利要求1所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,还包含:当储存于该缓冲区中的该异步指令已由该第一CPU执行绪处理后,释放该缓冲区。
8.如权利要求1所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,
其中该暂存步骤还包含:将装置驱动接口(DDI)可能改变的资源复制到一驱动程序分配存储器,并修改对应于该复制的资源的指令以指向该驱动程序分配存储器。
9.如权利要求8所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其中该复制资源包含系统存储资源、使用者存储缓冲区,该使用者存储缓冲区包含被一绘图指令使用的数据。
10.如权利要求8所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,还包含:在该资源从该第一CPU执行绪释放之后,管理该复制的资源。
11.如权利要求10所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,其中该管理步骤还包含:
就该第一CPU执行绪:
将该复制资源转移到一再生缓冲区;及
释放该复制资源;以及
就该第二CPU驱动程序执行绪:
确认是否该复制资源由该第一CPU执行绪释放;及
若该资源由该第一CPU执行绪释放,取回该存储器。
12.如权利要求1所述的用于多核心计算机系统中驱动程序的支持多执行绪指令执行的方法,
其中该暂存步骤还包含:将预期装置驱动接口(DDI)可能改变的至少一顶点缓冲区复制到一驱动程序分配存储器,并修改对应于该复制的顶点缓冲区的的指令指针以指向该驱动程序分配存储器,并确认错误及指令状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72763505P | 2005-10-17 | 2005-10-17 | |
US60/727,635 | 2005-10-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101025695A CN101025695A (zh) | 2007-08-29 |
CN100527087C true CN100527087C (zh) | 2009-08-12 |
Family
ID=38744021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610135943.0A Active CN100527087C (zh) | 2005-10-17 | 2006-10-17 | 多核计算机系统驱动程序的支持多执行绪指令执行的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8146108B2 (zh) |
CN (1) | CN100527087C (zh) |
TW (1) | TWI348652B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8056093B1 (en) * | 2006-12-07 | 2011-11-08 | Nvidia Corporation | Asynchronous kernel processing for a graphics processing system |
US8276164B2 (en) | 2007-05-03 | 2012-09-25 | Apple Inc. | Data parallel computing on multiple processors |
US11836506B2 (en) | 2007-04-11 | 2023-12-05 | Apple Inc. | Parallel runtime execution on multiple processors |
US8286196B2 (en) | 2007-05-03 | 2012-10-09 | Apple Inc. | Parallel runtime execution on multiple processors |
US8341611B2 (en) * | 2007-04-11 | 2012-12-25 | Apple Inc. | Application interface on multiple processors |
EP3413198A1 (en) | 2007-04-11 | 2018-12-12 | Apple Inc. | Data parallel computing on multiple processors |
US8269780B2 (en) * | 2007-06-07 | 2012-09-18 | Apple Inc. | Batching graphics operations with time stamp tracking |
US8881163B2 (en) * | 2007-12-07 | 2014-11-04 | Microsoft Corporation | Kernel processor grouping |
US8286198B2 (en) | 2008-06-06 | 2012-10-09 | Apple Inc. | Application programming interfaces for data parallel computing on multiple processors |
US8225325B2 (en) | 2008-06-06 | 2012-07-17 | Apple Inc. | Multi-dimensional thread grouping for multiple processors |
CN104011705A (zh) * | 2011-12-01 | 2014-08-27 | 新加坡国立大学 | 多形异构性多核架构 |
US8935513B2 (en) * | 2012-02-08 | 2015-01-13 | International Business Machines Corporation | Processor performance improvement for instruction sequences that include barrier instructions |
KR102147357B1 (ko) | 2013-11-06 | 2020-08-24 | 삼성전자 주식회사 | 커맨드들을 관리하는 장치 및 방법 |
JP6263023B2 (ja) * | 2013-12-18 | 2018-01-17 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
US10542233B2 (en) * | 2014-10-22 | 2020-01-21 | Genetec Inc. | System to dispatch video decoding to dedicated hardware resources |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1044177A (zh) * | 1989-01-13 | 1990-07-25 | 国际商业机器公司 | 紧配合的多处理器指令同步 |
CN1147650A (zh) * | 1995-06-19 | 1997-04-16 | 株式会社东芝 | 多处理系统 |
JP2695773B2 (ja) * | 1986-09-25 | 1998-01-14 | 株式会社東芝 | マルチcpu制御方式 |
CN1237252A (zh) * | 1997-09-04 | 1999-12-01 | 布尔有限公司 | 用于在多处理器数据处理系统中分配存储器的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3338488B2 (ja) * | 1992-11-18 | 2002-10-28 | 富士通株式会社 | データ処理装置の検証方法及び装置 |
US6112019A (en) * | 1995-06-12 | 2000-08-29 | Georgia Tech Research Corp. | Distributed instruction queue |
US6018353A (en) * | 1995-08-04 | 2000-01-25 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator with an improved vertex buffer for more efficient vertex processing |
US7234144B2 (en) * | 2002-01-04 | 2007-06-19 | Microsoft Corporation | Methods and system for managing computational resources of a coprocessor in a computing system |
US7075541B2 (en) * | 2003-08-18 | 2006-07-11 | Nvidia Corporation | Adaptive load balancing in a multi-processor graphics processing system |
US8266232B2 (en) * | 2005-10-15 | 2012-09-11 | International Business Machines Corporation | Hardware processing of commands within virtual client computing environment |
-
2006
- 2006-10-16 TW TW095138040A patent/TWI348652B/zh active
- 2006-10-17 CN CN200610135943.0A patent/CN100527087C/zh active Active
- 2006-10-17 US US11/582,021 patent/US8146108B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2695773B2 (ja) * | 1986-09-25 | 1998-01-14 | 株式会社東芝 | マルチcpu制御方式 |
CN1044177A (zh) * | 1989-01-13 | 1990-07-25 | 国际商业机器公司 | 紧配合的多处理器指令同步 |
CN1147650A (zh) * | 1995-06-19 | 1997-04-16 | 株式会社东芝 | 多处理系统 |
CN1237252A (zh) * | 1997-09-04 | 1999-12-01 | 布尔有限公司 | 用于在多处理器数据处理系统中分配存储器的方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI348652B (en) | 2011-09-11 |
TW200709100A (en) | 2007-03-01 |
US8146108B2 (en) | 2012-03-27 |
US20070106999A1 (en) | 2007-05-10 |
CN101025695A (zh) | 2007-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100527087C (zh) | 多核计算机系统驱动程序的支持多执行绪指令执行的方法 | |
CN101290593B (zh) | 追踪转移逻辑分区的存储器状态的系统和方法 | |
US8004533B2 (en) | Graphics input command stream scheduling method and apparatus | |
CN1991768B (zh) | 与不同种类的资源通信的基于指令系统结构的内定序器 | |
TWI276959B (en) | Memory management system having a forward progress bit | |
CN102985910B (zh) | 对无用存储单元收集的系统和方法 | |
CN102981800A (zh) | 处理异构资源的地址转换和异常 | |
CN102057355A (zh) | 同步虚拟机和应用程序生存周期 | |
CN102289390A (zh) | 系统管理程序调度器 | |
CN1542607A (zh) | 同时多线程处理器及提高其性能的方法 | |
CN102629221B (zh) | 用于分布式共享存储的任务同步方法、装置及系统 | |
CN106030515B (zh) | 用于多处理器和多核平台的二进制翻译 | |
CN101395569A (zh) | 用于改变信息处理设备中的打印机驱动程序的方法 | |
CN1550994A (zh) | 局部化高速缓存块刷新指令 | |
CN101154202A (zh) | 管理多处理器计算机系统中的系统管理中断的系统和方法 | |
JP2004054916A (ja) | プロセッサ間のハードウェア支援通信を実行する方法 | |
CN110569122B (zh) | 多处理器系统、多核处理设备及其操作方法 | |
JP2002287957A (ja) | キャッシュのような構造を使用してcpu設計におけるオペランド・アクセス・ステージを高速化するための方法及び装置 | |
CN101196868A (zh) | 基于需求的处理资源分配 | |
CN104067266A (zh) | 带有对所有权的请求且没有数据的预取 | |
US7386647B2 (en) | System and method for processing an interrupt in a processor supporting multithread execution | |
JP4008752B2 (ja) | 記憶装置システムの制御方法、及び記憶装置システム | |
JP2000227872A (ja) | 複数メモリ要求の動的スロット割当および追跡 | |
US5812846A (en) | Method and apparatus for passing control from a first process to a second process | |
CN115981795B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |