CN108885553B - 模拟向后兼容的传统总线行为 - Google Patents
模拟向后兼容的传统总线行为 Download PDFInfo
- Publication number
- CN108885553B CN108885553B CN201780007664.2A CN201780007664A CN108885553B CN 108885553 B CN108885553 B CN 108885553B CN 201780007664 A CN201780007664 A CN 201780007664A CN 108885553 B CN108885553 B CN 108885553B
- Authority
- CN
- China
- Prior art keywords
- bus
- legacy
- new device
- bandwidth
- throttling
- 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 claims description 26
- 230000006399 behavior Effects 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 5
- 238000005094 computer simulation Methods 0.000 claims description 4
- 230000003362 replicative effect Effects 0.000 claims 1
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
- G06F11/167—Error detection by comparing the memory output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/3625—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
-
- 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/38—Information transfer, e.g. on bus
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
为了解决在新装置上运行传统应用时由于总线行为中的差异而产生的问题,新装置可以用在执行所传统应用时仿真传统装置的总线行为的方式来扼制总线性能。
Description
本申请要求2016年1月22日提交的之前共同转让的美国临时申请号62/284的权益,该临时申请的全部内容通过引用被并入本文。
背景技术
当新计算机体系结构被发售时,为体系结构的以前版本写的应用无瑕疵地在新体系结构上运行是合乎需要的。这个能力常常被称为“向后兼容”。实现向后兼容涉及在新主机体系结构上仿真目标传统装置,使得新体系结构可执行为传统装置写的程序的指令。计算机体系结构随着时间的过去而改变以利用在总线、时钟速度、处理器体系结构、高速缓存、标准等中的技术进步。当一个计算机体系结构由较新的体系结构代替时,较老的体系结构成为被称为传统体系结构的东西。在它的发展过程中,为传统体系结构写软件应用,例如网络协议、用户界面、音频处理、装置驱动器、图形处理、消息发送、字处理器、电子表格、数据库程序、游戏和其它应用。这样的传统软件对它的用户仍然有价值,即使它们升级到新体系结构。因此存在能够在新体系结构上运行传统软件的需要。
在新装置和传统装置的硬件部件的性能中的差异可引起在新装置上的同步中的误差,这可使传统应用在新装置体系结构上运行时损毁。在性能中的这样的差异可例如从在新装置和传统装置之间的总线体系结构中的差异产生。总线体系结构提供在不同装置部件之间的多条数据路径。传统装置和新装置可在对在装置部件之间的定时和数据传送速率的不同限制的情况下具有在装置部件之间的不同总线路径。例如,如果在新装置的两个部件之间的总线路径比在传统装置上的这些部件之间的对应总线路径快,则仍然由一个部件使用的数据可过早地被另一部件盖写。
发明内容
为了解决在新装置上运行传统应用时由于总线行为中的差异而产生的问题,新装置可以用在执行传统应用时仿真传统装置的总线行为的方式来扼制总线性能。
在新系统上的总线扼制可基于从传统总线的行为确定的所估计的带宽分配。可通过根据从传统总线行为估计的量限制为特定的总线事务分配的可用总线带宽的量来扼制总线流量。总线流量被扼制,使得新装置至少分配与由传统系统分配的一样多的带宽,但没有同步误差在传统应用的执行中产生那么多。扼制可被调节,同时在新装置上运行传统应用以确定多少额外的带宽分配引起执行的问题。
附图说明
通过结合附图考虑下面的详细描述可容易理解本公开的教导,其中:
图1是描绘根据本公开的方面的配置成解释新装置和传统装置之间的总线体系结构中的差异的装置的方框图。
图2是示出根据本公开的方面的在解释新装置和传统装置之间的总线体系结构中的差异时确定带宽分配的启发式方法的流程图。
具体实施方式
虽然下面的详细描述为了说明的目的而包含很多特定的细节,但是本领域中的普通技术人员将认识到,对下面的细节的很多变化和变更在所主张的发明的范围内。因此,下面所述的发明的示例性实施方案被阐述而没有对所主张的发明的一般性的任何损失且不对所主张的发明强加限制。
图1示出配置成在运行为传统装置写的应用时解释传统装置和新装置之间的总线体系结构中的差异的新装置的例子。在这个例子中,新装置可包括耦合到公共存储器106和I/O访问控制器108的多核心CPU和多核心GPU。每个CPU或GPU核心经由后侧总线(BSB1,BSB2)耦合到第2级高速缓存110和总线接口单元112。第2级高速缓存110由前侧总线(FSB)耦合到存储器106和I/O访问控制器108。额外的存储器(未示出)、外围装置114、视频116和数据存储装置118通过访问控制器由各种总线与CPU和GPU通过接口连接。CPU和GPU可包括用于数据和/或指令的临时存储的可配置寄存器105。图1中的装置的传统版本可具有不同的体系结构,例如对CPU和GPU存在单独的总线和对存储器和I/O访问存在单独的控制器的体系结构。
在图1所示的例子中,访问控制器108扼制总线性能以仿真传统总线行为并在例如通过执行存储在存储器106中的代码指令103来执行传统应用时维持同步。访问控制器108通过以仿真传统装置中的总线的行为的方式分配可用总线带宽来扼制各种总线BSB1、BSB2、FSB上的总线流量。该扼制由传统装置的总线性能数据通知。为了产生这个数据,传统装置可被测试,同时运行传统应用。在不同的条件下测量不同总线客户端的总线带宽分配。可能影响为特定的总线事务分配的带宽的因素包括访问总线的特定总线客户端(例如CPU 102或GPU 104)、通过总线传输的数据的源或目的地(例如存储器106)、数据是被读取还是写入、事务是具有高还是低优先级、被请求的带宽的量、哪些其它总线客户端正争夺总线带宽等。可在传统装置的测试连同总线带宽分配期间记录所有这些因素。
存在仿真传统总线行为的至少三种方法:表驱动方法、比驱动方法和启发式方法。所有三种方法都考虑传统装置在不同的情况下实际上分配到不同的客户端的带宽,并在相同或相似的情况下使用新装置复制那些分配。在测试阶段期间,在不同的情况下测量在特定客户端和特定资源之间(或在特定客户端之间)的老硬件上的带宽分配。所测量的带宽分配值被置于新硬件上的表或比或启发法内。
表驱动方法
在表驱动方法中,新装置使用存储在存储器106或可配置寄存器105中的查找表来在不同的总线流量条件下在节点之间分配带宽。作为简单的例子,假设有两个总线客户端A和B争夺30MB/s的可用总线带宽用于存储器事务。下面的表I示出了基于传统装置的测量性能(即,总线带宽分配)的客户端A和B之间的分配的带宽。
表I
在表I中,针对给定的所请求的带宽的已分配带宽被表示为A/B,其中A是被分配到客户端A的带宽,而B是被分配到客户端B的带宽。可通过在传统应用正常操作期间监控传统装置的总线带宽分配来确定在表I中的值。除所请求的带宽以外的多个因素可影响带宽分配,例如带宽是被请求用于读取还是写入操作、A和B的请求的相对优先级。该表可考虑这些因素。
比方法
比方法类似于表驱动方法,除了存储在存储器106或可配置寄存器105中的表将从比方面来规定带宽分配以外。例如,表II从最大可用总线带宽的百分比方面显示带宽请求和分配。
表II
虽然上面示出二维例子,但是表或比方法可扩展到三、四或更多维以适应三、四或更多不同的总线客户端。此外,如果有服务于不同组的客户端的多条不同的总线,该表或比可考虑此。
启发式方法
启发式方法使用传统总线行为的计算机模型201来确定带宽分配。图2示出例子。对于在客户端A和B之间的给定总线事务,启发法接收关于当前总线流量、所请求的带宽、请求带宽的客户端、流量的目的地等的输入。在图2中,输入是分别来自客户端A和客户端B的带宽请求202、204。启发法然后使用关于传统总线的行为的数据208在相同或相似的情况下对在客户端A和B之间的总线路径的行为、总线仲裁206等建模。传统总线行为数据可存储在本地存储器中用于由启发法快速访问。建模考虑带宽请求、当前总线条件和传统总线数据以确定客户端A和客户端B的所估计的总线带宽分配。总线控制器例如总线接口112可使用这些分配来扼制总线流量。
表、比和启发式方法与为什么相比更多地涉及传统总线带宽如何在给定情况下被分配。传统总线带宽仲裁可取决于数据是从客户端被读取还是写到客户端、事务是具有高还是低优先级、被请求的带宽的量等。如果传统总线带宽分配是充分可预测的,则它们可以用表、比或启发式方法来复制。
附件不必由存储器106和I/O控制器108实现。在可选的实现中,总线客户端A、B可以是自扼制的。特别地,每个总线客户端可包括附件109,其考虑总线流量以确定它是否针对比它可操纵的更多的带宽而请求传统系统,且将拒绝请求直到它确定足够的带宽是可用的为止。这些附件中的每个可访问存储在可配置寄存器111中的表、比或启发法。
虽然上面是本发明的优选实施方案的完整描述,但是可能使用各种可选形式、修改和等效形式。因此,应不参考上面的描述来确定但应替代地参考所附权利要求连同它们的等效形式的完全范围来确定本发明的范围。任何特征——不管是否是优选的——可与任何其它特征——不管是否是优选的——组合。在接下来的权利要求中,不定冠词“A”或“An”指跟随冠词的一个或多个项目的数量,除了另外明确地规定的情况以外。所附权利要求不应被解释为包括手段加功能限制,除非这样的限制使用短语“用于…的手段”在给定权利要求中被明确叙述。在没有明确地陈述“用于执行特定功能的手段”的权利要求中的任何元件不应被解释为如在35 USC§112(f)中规定的“手段”或“步骤”条款。
Claims (25)
1.一种解决在新装置上运行传统应用时由于总线行为中的差异而产生的问题的方法,所述方法包括:
在传统装置上运行所述传统应用时测试针对不同总线客户端的总线带宽分配;和
在所述新装置上运行所述传统应用时,通过复制所述不同总线客户端的所述总线带宽分配来扼制所述新装置上的总线性能。
2.如权利要求1所述的方法,其中扼制在所述新装置上的总线性能还基于从传统总线的行为确定的所估计的带宽分配。
3.如权利要求1所述的方法,其中扼制在所述新装置上的总线性能还包括根据从在所述传统装置上的传统总线的行为估计的量来限制为特定总线事务分配的可用总线带宽的量。
4.如权利要求1所述的方法,其中扼制在所述新装置上的总线性能还包括扼制在所述新装置上的总线流量,使得所述新装置至少分配与由传统系统分配的一样多的带宽,但没有同步误差在传统应用的执行中产生那么多。
5.如权利要求1所述的方法,其中扼制在所述新装置上的总线性能还包括调节所述总线性能,同时在所述新装置上运行传统应用以确定多少额外的带宽分配引起执行的问题。
6.如权利要求1所述的方法,其中所述新装置使用存储在存储器或可配置硬件寄存器中的查找表来在不同的总线流量条件下在请求带宽的所述新装置的节点之间分配带宽。
7.如权利要求1所述的方法,其中扼制在所述新装置上的总线性能还包括使用传统总线行为的计算机模型来确定带宽分配。
8.如权利要求1所述的方法,其中所述新装置使用存储在存储器或可配置硬件寄存器中的一个或多个比率来在不同的总线流量条件下在请求带宽的所述新装置的节点之间分配带宽。
9.一种系统,其包括:
一个或多个处理器;
存储器,其由一条或多条总线可操作地耦合到所述一个或多个处理器;
可执行指令,其存储在所述存储器中并可由所述处理器执行,所述可执行指令在被执行时使所述处理器实现解决在使用所述系统运行传统应用时由于总线行为中的差异而产生的问题的方法,所述方法包括:
在传统装置上运行所述传统应用时测试针对不同总线客户端的总线带宽分配;和
在新装置上运行所述传统应用时,通过复制所述不同总线客户端的所述总线带宽分配来扼制所述一条或多条总线上的总线性能。
10.如权利要求9所述的系统,其中扼制在所述一条或多条总线上的总线性能还基于从传统总线的行为确定的所估计的带宽分配。
11.如权利要求9所述的系统,其中扼制在所述一条或多条总线上的总线性能还包括根据从在所述传统装置上的传统总线的行为估计的量来限制为特定总线事务分配的可用总线带宽的量。
12.如权利要求9所述的系统,其中扼制在所述一条或多条总线上的总线性能还包括扼制在所述新装置上的总线流量,使得所述新装置至少分配与由传统系统分配的一样多的带宽,但没有同步误差在传统应用的执行中产生那么多。
13.如权利要求9所述的系统,其中扼制在所述一条或多条总线上的总线性能还包括调节所述总线性能,同时在所述新装置上运行传统应用以确定多少额外的带宽分配引起执行的问题。
14.如权利要求9所述的系统,其中扼制在所述一条或多条总线上的总线性能还包括使用存储在存储器或可配置硬件寄存器中的查找表来在不同的总线流量条件下在请求带宽的所述装置的节点之间分配带宽。
15.如权利要求9所述的系统,其中扼制在所述一条或多条总线上的总线性能还包括使用传统总线行为的计算机模型来确定带宽分配。
16.如权利要求9所述的系统,其中扼制在所述一条或多条总线上的总线性能还包括使用存储在存储器或可配置硬件寄存器中的一个或多个比率来在不同的总线流量条件下在请求带宽的所述装置的节点之间分配带宽。
17.如权利要求9所述的系统,其中所述一个或多个处理器包括一个或多个中央处理器单元。
18.一种非临时计算机可读介质,其中存储有可执行指令,所述可执行指令配置成使计算装置实现解决在新装置上运行传统应用时由于总线行为中的差异而产生的问题的方法,所述方法包括:
在传统装置上运行所述传统应用时测试针对不同总线客户端的总线带宽分配;和
在所述新装置上运行所述传统应用时,通过复制所述不同总线客户端的所述总线带宽分配来扼制所述新装置上的总线性能。
19.如权利要求18所述的非临时计算机可读介质,其中扼制在所述新装置上的总线性能还基于从传统总线的行为确定的所估计的带宽分配。
20.如权利要求18所述的非临时计算机可读介质,其中扼制在所述新装置上的总线性能还包括根据从在所述传统装置上的传统总线的行为估计的量来限制为特定总线事务分配的可用总线带宽的量。
21.如权利要求18所述的非临时计算机可读介质,其中扼制在所述新装置上的总线性能还包括扼制在所述新装置上的总线流量,使得所述新装置至少分配与由传统系统分配的一样多的带宽,但没有同步误差在传统应用的执行中产生那么多。
22.如权利要求18所述的非临时计算机可读介质,其中扼制在所述新装置上的总线性能还包括调节所述总线性能,同时在所述新装置上运行传统应用以确定多少额外的带宽分配引起执行的问题。
23.如权利要求18所述的非临时计算机可读介质,其中所述新装置使用存储在存储器或可配置硬件寄存器中的查找表来在不同的总线流量条件下在请求带宽的所述装置的节点之间分配带宽。
24.如权利要求18所述的非临时计算机可读介质,其中扼制在所述新装置上的总线性能还包括使用传统总线行为的计算机模型来确定带宽分配。
25.如权利要求18所述的非临时计算机可读介质,其中所述新装置使用存储在存储器或可配置硬件寄存器中的一个或多个比率来在不同的总线流量条件下在请求带宽的所述装置的节点之间分配带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211596064.3A CN116401184B (zh) | 2016-01-22 | 2017-01-20 | 模拟向后兼容的传统总线行为 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662286284P | 2016-01-22 | 2016-01-22 | |
US62/286,284 | 2016-01-22 | ||
PCT/US2017/014270 WO2017127634A1 (en) | 2016-01-22 | 2017-01-20 | Simulating legacy bus behavior for backwards compatibility |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211596064.3A Division CN116401184B (zh) | 2016-01-22 | 2017-01-20 | 模拟向后兼容的传统总线行为 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108885553A CN108885553A (zh) | 2018-11-23 |
CN108885553B true CN108885553B (zh) | 2022-12-27 |
Family
ID=59360526
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211596064.3A Active CN116401184B (zh) | 2016-01-22 | 2017-01-20 | 模拟向后兼容的传统总线行为 |
CN201780007664.2A Active CN108885553B (zh) | 2016-01-22 | 2017-01-20 | 模拟向后兼容的传统总线行为 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211596064.3A Active CN116401184B (zh) | 2016-01-22 | 2017-01-20 | 模拟向后兼容的传统总线行为 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10102094B2 (zh) |
EP (2) | EP4145297A1 (zh) |
JP (2) | JP6728370B2 (zh) |
KR (1) | KR102160414B1 (zh) |
CN (2) | CN116401184B (zh) |
WO (1) | WO2017127634A1 (zh) |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US62284A (en) | 1867-02-19 | photo-litho | ||
US5305452A (en) * | 1987-10-23 | 1994-04-19 | Chips And Technologies, Inc. | Bus controller with different microprocessor and bus clocks and emulation of different microprocessor command sequences |
US5937174A (en) * | 1996-06-28 | 1999-08-10 | Lsi Logic Corporation | Scalable hierarchial memory structure for high data bandwidth raid applications |
US5857085A (en) * | 1996-11-13 | 1999-01-05 | Cypress Semiconductor Corporation | Interface device for XT/AT system devices on high speed local bus |
US5875309A (en) * | 1997-04-18 | 1999-02-23 | 3Com Corporation | Arbitration system using linked table |
EP1226493B1 (en) * | 1999-11-05 | 2006-05-03 | Analog Devices, Inc. | Bus architecture and shared bus arbitration method for a communication processor |
US6639918B1 (en) * | 2000-01-18 | 2003-10-28 | Apple Computer, Inc. | Method and apparatus for border node behavior on a full-duplex bus |
JP2001344287A (ja) * | 2000-06-02 | 2001-12-14 | Nec Microsystems Ltd | アルゴリズム記述におけるバスの性能評価方法 |
DE10036278A1 (de) * | 2000-07-26 | 2002-02-07 | Bosch Gmbh Robert | Verfahren zur Überwachung eines Programmablaufs mittels einer Debug Logik |
US6912611B2 (en) * | 2001-04-30 | 2005-06-28 | Advanced Micro Devices, Inc. | Split transactional unidirectional bus architecture and method of operation |
US7046245B2 (en) | 2001-10-10 | 2006-05-16 | Sony Computer Entertainment America Inc. | System and method for environment mapping |
US7081893B2 (en) | 2001-10-10 | 2006-07-25 | Sony Computer Entertainment America Inc. | System and method for point pushing to render polygons in environments with changing levels of detail |
CA2429876A1 (en) * | 2003-05-27 | 2004-11-27 | Ibm Canada Limited - Ibm Canada Limitee | Testing computer applications |
US7114112B2 (en) * | 2003-06-18 | 2006-09-26 | International Business Machines Corporation | Method, system, and program for simulating Input/Output (I/O) requests to test a system |
US7155553B2 (en) * | 2003-08-14 | 2006-12-26 | Texas Instruments Incorporated | PCI express to PCI translation bridge |
WO2005036795A2 (en) * | 2003-10-10 | 2005-04-21 | Nokia Corporation | Communication bus having low latency |
US7558723B2 (en) * | 2003-12-12 | 2009-07-07 | Microsoft Corporation | Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices |
US7231475B1 (en) * | 2004-01-30 | 2007-06-12 | Cisco Technology, Inc. | Advanced bandwidth allocation in PCI bus architecture |
US20060168269A1 (en) * | 2004-12-30 | 2006-07-27 | Microsoft Corporation | Bus abstraction |
JP4397858B2 (ja) * | 2005-06-27 | 2010-01-13 | 株式会社ソニー・コンピュータエンタテインメント | エミュレート装置及びエミュレート方法 |
JP2007048019A (ja) * | 2005-08-10 | 2007-02-22 | Sony Computer Entertainment Inc | エミュレーション方法、エミュレータ、コンピュータ組込型デバイスおよびエミュレータ用プログラム |
US7395361B2 (en) * | 2005-08-19 | 2008-07-01 | Qualcomm Incorporated | Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth |
US7809547B2 (en) * | 2005-12-29 | 2010-10-05 | Guenthner Russell W | Host computer system emulating target system legacy software and providing for incorporating more powerful application program elements into the flow of the legacy software |
CN100488175C (zh) * | 2006-09-12 | 2009-05-13 | 华为技术有限公司 | 串行级联总线上行流控方法及节点设备 |
US8149242B2 (en) | 2006-11-10 | 2012-04-03 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module and graphics processing method |
US8473647B2 (en) * | 2007-09-17 | 2013-06-25 | Apple Inc. | Methods and apparatus for decreasing power consumption and bus activity |
US7804735B2 (en) * | 2008-02-29 | 2010-09-28 | Qualcomm Incorporated | Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals |
CN101676890B (zh) * | 2008-08-15 | 2012-05-16 | 北京北大众志微系统科技有限责任公司 | 一种动态调整带宽分配的总线仲裁方法及仲裁器 |
JP5415779B2 (ja) * | 2009-02-19 | 2014-02-12 | 株式会社ソニー・コンピュータエンタテインメント | 互換アダプタ装置および互換処理方法 |
JP2011034495A (ja) * | 2009-08-05 | 2011-02-17 | Panasonic Corp | メモリアクセス装置、及び映像処理システム |
CN101788947B (zh) * | 2010-02-09 | 2012-10-17 | 华为技术有限公司 | 系统总线的监测方法、系统总线监测器及片上系统 |
CN102318289B (zh) * | 2011-07-29 | 2014-12-10 | 华为技术有限公司 | 带宽调整方法、总线控制器及信号转换器 |
SG11201404726TA (en) * | 2012-02-21 | 2014-09-26 | Applied Materials Inc | Enhanced re-hosting capability for legacy hardware and software |
JP2013196667A (ja) * | 2012-03-23 | 2013-09-30 | Ricoh Co Ltd | 画像処理装置 |
CN103455458A (zh) * | 2012-05-28 | 2013-12-18 | 鸿富锦精密工业(深圳)有限公司 | 多gpu环境下pci_e总线带宽调整方法及系统 |
US9858235B2 (en) * | 2012-11-15 | 2018-01-02 | Advanced Micro Devices, Inc. | Emulated legacy bus operation over a bit-serial bus |
US10176621B2 (en) | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
US10096079B2 (en) | 2013-06-10 | 2018-10-09 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
US10102603B2 (en) | 2013-06-10 | 2018-10-16 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
US10134102B2 (en) | 2013-06-10 | 2018-11-20 | Sony Interactive Entertainment Inc. | Graphics processing hardware for using compute shaders as front end for vertex shaders |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US9652882B2 (en) | 2014-04-05 | 2017-05-16 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
EP3129958B1 (en) | 2014-04-05 | 2021-06-02 | Sony Interactive Entertainment LLC | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
US9836816B2 (en) | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
US9760113B2 (en) | 2015-02-20 | 2017-09-12 | Sony Interactive Entertainment America Llc | Backward compatibility through use of spoof clock and fine grain frequency control |
US11403099B2 (en) | 2015-07-27 | 2022-08-02 | Sony Interactive Entertainment LLC | Backward compatibility by restriction of hardware resources |
US10235219B2 (en) | 2015-07-27 | 2019-03-19 | Sony Interactive Entertainment America Llc | Backward compatibility by algorithm matching, disabling features, or throttling performance |
-
2017
- 2017-01-20 US US15/411,338 patent/US10102094B2/en active Active
- 2017-01-20 KR KR1020187024048A patent/KR102160414B1/ko active IP Right Grant
- 2017-01-20 CN CN202211596064.3A patent/CN116401184B/zh active Active
- 2017-01-20 EP EP22196932.2A patent/EP4145297A1/en active Pending
- 2017-01-20 WO PCT/US2017/014270 patent/WO2017127634A1/en active Application Filing
- 2017-01-20 CN CN201780007664.2A patent/CN108885553B/zh active Active
- 2017-01-20 JP JP2018538550A patent/JP6728370B2/ja active Active
- 2017-01-20 EP EP17741984.3A patent/EP3405866A4/en not_active Ceased
-
2020
- 2020-07-01 JP JP2020114122A patent/JP6987185B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019505046A (ja) | 2019-02-21 |
JP2020170541A (ja) | 2020-10-15 |
CN116401184B (zh) | 2024-07-16 |
EP3405866A4 (en) | 2019-08-07 |
CN116401184A (zh) | 2023-07-07 |
EP3405866A1 (en) | 2018-11-28 |
KR102160414B1 (ko) | 2020-09-28 |
JP6728370B2 (ja) | 2020-07-22 |
US20170212820A1 (en) | 2017-07-27 |
JP6987185B2 (ja) | 2021-12-22 |
EP4145297A1 (en) | 2023-03-08 |
KR20180104077A (ko) | 2018-09-19 |
CN108885553A (zh) | 2018-11-23 |
US10102094B2 (en) | 2018-10-16 |
WO2017127634A1 (en) | 2017-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3796179A1 (en) | System, apparatus and method for processing remote direct memory access operations with a device-attached memory | |
Bittner et al. | Direct GPU/FPGA communication via PCI express | |
US7484016B2 (en) | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine | |
JP5170782B2 (ja) | ヘテロジニアス処理ユニットのための集中デバイス仮想化レイヤ | |
CN109977037B (zh) | 一种dma数据传输方法及系统 | |
US8930568B1 (en) | Method and apparatus for enabling access to storage | |
EP1934762B1 (en) | Apparatus and method for handling dma requests in a virtual memory environment | |
US9418181B2 (en) | Simulated input/output devices | |
US10761822B1 (en) | Synchronization of computation engines with non-blocking instructions | |
US8793628B1 (en) | Method and apparatus of maintaining coherency in the memory subsystem of an electronic system modeled in dual abstractions | |
US20130212336A1 (en) | Method and Apparatus for Memory Write Performance Optimization in Architectures with Out-of-Order Read/Request-for-Ownership Response | |
KR20220141677A (ko) | PCIe 디바이스 및 그 동작 방법 | |
JP2010152892A (ja) | ハードウェアデバイスをヘテロジニアス処理ユニット間でバインドし移行するためのチップセットサポート | |
KR102315102B1 (ko) | 가상 머신을 부팅하기 위한 방법, 장치, 기기 및 매체 | |
CN108885553B (zh) | 模拟向后兼容的传统总线行为 | |
Gouk et al. | Enabling realistic logical device interface and driver for nvm express enabled full system simulations | |
US11119787B1 (en) | Non-intrusive hardware profiling | |
US8813075B2 (en) | Virtual computer system and method of installing virtual computer system | |
CN117389685B (zh) | 虚拟机热迁移标脏方法及其装置、后端设备、芯片 | |
CN115297169B (zh) | 数据处理方法、装置、电子设备及介质 | |
EP4134827B1 (en) | Hardware interconnect with memory coherence | |
US11620083B2 (en) | Method for implementing predictable latency mode feature in SSD, and non-volatile memory (NVM) based storage device | |
CN118672725A (zh) | 存储控制器以及操作包括存储控制器的电子系统的方法 | |
CN114138451A (zh) | 集群部署方法、装置、磁盘分配方法、电子设备和介质 | |
CN114003514A (zh) | 用于处理复制命令的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |