CN101419495B - 降低计算机系统中i/o功率的方法和装置,以及计算机系统 - Google Patents
降低计算机系统中i/o功率的方法和装置,以及计算机系统 Download PDFInfo
- Publication number
- CN101419495B CN101419495B CN2007101668392A CN200710166839A CN101419495B CN 101419495 B CN101419495 B CN 101419495B CN 2007101668392 A CN2007101668392 A CN 2007101668392A CN 200710166839 A CN200710166839 A CN 200710166839A CN 101419495 B CN101419495 B CN 101419495B
- Authority
- CN
- China
- Prior art keywords
- bus
- coding
- data
- computer system
- circuit
- 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
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/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
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了降低计算机系统中I/O功率的方法,降低计算机系统中I/O功率的装置,以及计算机系统。根据本发明的一个方面,提供了一种降低计算机系统中I/O功率的方法,包括以下步骤:缓存要发送到总线上的各路数据;对缓存的各路数据按照编码规则进行n位至n+m位编码,其中n和m均是大于等于1的整数,所述编码规则用于降低码型的切换频率;以及将编码的各路数据发送到所述总线上。
Description
技术领域
本发明涉及计算机技术,更具体地说,涉及降低计算机系统中I/O功率的技术。
背景技术
在计算机设计领域,人们不断追求的目标是降低芯片级到系统级的功率。随着功耗的增加,为系统供电和进行冷却的成本以更高的速率增加。
计算机系统的功率包括核心功率和I/O(输入/输出)功率。目前,具有许多降低计算机系统功率的方法,例如:
芯片级:设计或选择低功率芯片组;
系统级:通过DVFS(Dynamic Voltage and Frequency Scaling,动态电压和频率调节)动态降低系统的工作电压和工作频率;
编译级:选择低功率指令;
OS(操作系统)级:进行任务调度,在系统闲置时关闭一些功能单元;
网络级:NIC(Network Interface Card,网卡)在不工作时切换到待机或休眠模式。
具体的例子包括Intel的按需配电(Demand Based switching,DBS)功率管理系统,其具有一个核心功率调整逻辑,它能够根据CPU的工作负荷调整核心的电压,Intel DBS的具体细节参见Intel white paper:Addressing Power and Thermal Challenges in the Datacenter,www.intel.com/products/services/intelsolutionservices/success/techdocs/wp/thermal.pdf。但是,Intel的DBS功率管理系统着眼于处理器本身而没有有效地降低I/O功耗。
例如,在Mahesh Mamidipaka,Dan Hirschberg,Nikil Dutt的文章“Low Power Address Encoding using Self-Organizing Lists”,Proceedingsof the 2001 international symposium on Low power electronics and designISLPED′01中报道,对于已经为低功耗优化过的系统,I/O功率与系统总功率的比例在10-80%之间,通常为50%。
因此,需要在降低计算机系统核心功率的同时降低计算机系统的I/O功率。
在M.Madhu,V.Srinivasa和V.Kamakoti的文章“Dynamic CodingTechnique For Low-Power Data Bus”,Proceeding of the IEEE ComputerSociety Annual Symposium on VLSI,2003中公开了一种降低计算机系统的I/O功率的方法,其特征是根据前次数据和当前数据的特征分布,计算最小汉明(hamming)距离的码型用于传输。由此可见,该方法需要采用动态编码方案对数据进行编码,并需要实时监视和比较前次数据和当前数据,因此开销大,效率低。
因此,需要一种能够有效地降低计算机系统中的I/O功率的方法。
发明内容
为了解决上述现有技术中存在的问题,本发明提供了降低计算机系统中I/O功率的方法,降低计算机系统中I/O功率的装置,以及计算机系统。
根据本发明的一个方面,提供了一种降低计算机系统中I/O功率的方法,包括以下步骤:缓存要发送到总线上的各路数据;对缓存的各路数据按照编码规则进行n位至n+m位编码,其中n和m均是大于等于1的整数,所述编码规则用于降低码型的切换频率;以及将编码的各路数据发送到所述总线上。
根据本发明的另一个方面,提供了一种降低计算机系统中I/O功率的装置,包括:原始数据缓存器,用于缓存要发送到总线上的各路数据;编码器,对缓存的各路数据按照编码规则进行n位至n+m位编码,其中n和m均是大于等于1的整数,所述编码规则用于降低码型的切换频率;以及编码数据缓存器,用于缓存编码的各路数据,以将其发送到所述总线上。
根据本发明的另一个方面,提供了一种计算机系统,包括:CPU;I/O设备;用于在CPU和I/O设备之间传输数据的总线;以及上述降低计算机系统中I/O功率的装置。
附图说明
相信通过以下结合附图对本发明具体实施方式的说明,能够使人们更好地了解本发明上述的特点、优点和目的,其中:
图1示出了根据本发明的一个实施例的降低计算机系统中I/O功率的方法的流程图;
图2示出了根据本发明的实施例的8位数据和10位数据的切换次数的对比图;
图3示出了根据本发明的实施例的对数据进行n位至n+m位编码的一个实例;
图4示出了根据本发明的实施例的对数据进行n位至n+m位编码的另一个实例;
图5示出了根据本发明的一个实施例的降低计算机系统中I/O功率的装置的方框图;
图6示出了根据本发明的实施例的降低计算机系统中I/O功率的装置的硬件结构示意图;以及
图7示出了根据本发明的一个实施例的计算机系统的方框图。
具体实施方式
为了便于对后面实施例的理解,首先简要介绍一下影响计算机系统中I/O功率的几个因素。众所周知,I/O功率可以由如下的公式(1)所限定:
PI/O=CL·NSW·VDD 2·f (1)
其中,CL是等效电容,NSW是切换动作(switching action)与系统时钟的比率,即切换频率,VDD是工作电压,f是工作频率。也就是说,I/O功率正比于工作电压VDD的平方,并正比于切换频率NSW。本发明将致力于通过降低切换频率来降低I/O功率,具体地说,由于系统时钟通常保持不变,本发明将通过降低切换动作来降低I/O功率。
图1示出了根据本发明的一个实施例的降低计算机系统中I/O功率的方法的流程图。在描述图1的方法实施例之前,首先参考图2和表1说明通过对要发送到总线上的数据进行临时编码来降低切换频率从而降低I/O功率的原理。
图2示出了根据本发明的实施例的8位数据和10位数据的切换动作的次数,即切换次数的对比图。如图2所示,对于一个8位数据10101010,其切换次数为7次,而对于与该8位数据对应的10位数据1111101110,其切换次数为3次。因此,如果将该8位数据编码为该10位数据,则可以将最大切换次数从7次降低到3次,从而可以减低切换频率,进而降低I/O功率。下面的表1详细示出了8位空间与10位空间对照的码表及切换次数。
表1
8位码字 | 切换次数 | 10位码字 | 切换次数 |
00000000 | 0 | 0000000000 | 0 |
11111111 | 0 | 1111111111 | 0 |
00000001 | 1 | 0000000001 | 1 |
00000011 | 1 | 0000000011 | 1 |
00000111 | 1 | 0000000111 | 1 |
00001111 | 1 | 0000001111 | 1 |
00011111 | 1 | 0000011111 | 1 |
00111111 | 1 | 0000111111 | 1 |
01111111 | 1 | 0001111111 | 1 |
10000000 | 1 | 0011111111 | 1 |
11000000 | 1 | 0111111111 | 1 |
11100000 | 1 | 1000000000 | 1 |
11110000 | 1 | 1100000000 | 1 |
11111000 | 1 | 1110000000 | 1 |
11111100 | 1 | 1111000000 | 1 |
11111110 | 1 | 1111100000 | 1 |
00000010 | 2 | 1111110000 | 1 |
00000100 | 2 | 1111111000 | 1 |
00000110 | 2 | 1111111100 | 1 |
00001000 | 2 | 1111111110 | 1 |
00001100 | 2 | 0000000010 | 2 |
00001110 | 2 | 0000000100 | 2 |
00010000 | 2 | 0000000110 | 2 |
00011000 | 2 | 0000001000 | 2 |
00011100 | 2 | 0000001100 | 2 |
00011110 | 2 | 0000001110 | 2 |
00100000 | 2 | 0000010000 | 2 |
00110000 | 2 | 0000011000 | 2 |
00111000 | 2 | 0000011100 | 2 |
00111100 | 2 | 0000011110 | 2 |
00111110 | 2 | 0000100000 | 2 |
01000000 | 2 | 0000110000 | 2 |
01100000 | 2 | 0000111000 | 2 |
01110000 | 2 | 0000111100 | 2 |
01111000 | 2 | 0000111110 | 2 |
01111100 | 2 | 0001000000 | 2 |
01111110 | 2 | 0001100000 | 2 |
10000001 | 2 | 0001110000 | 2 |
10000011 | 2 | 0001111000 | 2 |
10000111 | 2 | 0001111100 | 2 |
10001111 | 2 | 0001111110 | 2 |
10011111 | 2 | 0010000000 | 2 |
10111111 | 2 | 0011000000 | 2 |
11000001 | 2 | 0011100000 | 2 |
11000011 | 2 | 0011110000 | 2 |
11000111 | 2 | 0011111000 | 2 |
11001111 | 2 | 0011111100 | 2 |
11011111 | 2 | 0011111110 | 2 |
11100001 | 2 | 0100000000 | 2 |
11100011 | 2 | 0110000000 | 2 |
11100111 | 2 | 0111000000 | 2 |
11101111 | 2 | 0111100000 | 2 |
11110001 | 2 | 0111110000 | 2 |
11110011 | 2 | 0111111000 | 2 |
11110111 | 2 | 0111111100 | 2 |
11111001 | 2 | 0111111110 | 2 |
11111011 | 2 | 1000000001 | 2 |
11111101 | 2 | 1000000011 | 2 |
00000101 | 3 | 1000000111 | 2 |
00001001 | 3 | 1000001111 | 2 |
00001011 | 3 | 1000011111 | 2 |
00001101 | 3 | 1000111111 | 2 |
00010001 | 3 | 1001111111 | 2 |
00010011 | 3 | 1011111111 | 2 |
00010111 | 3 | 1100000001 | 2 |
00011001 | 3 | 1100000011 | 2 |
00011011 | 3 | 1100000111 | 2 |
00011101 | 3 | 1100001111 | 2 |
00100001 | 3 | 1100011111 | 2 |
00100011 | 3 | 1100111111 | 2 |
00100111 | 3 | 1101111111 | 2 |
00101111 | 3 | 1110000001 | 2 |
00110001 | 3 | 1110000011 | 2 |
00110011 | 3 | 1110000111 | 2 |
00110111 | 3 | 1110001111 | 2 |
00111001 | 3 | 1110011111 | 2 |
00111011 | 3 | 1110111111 | 2 |
00111101 | 3 | 1111000001 | 2 |
01000001 | 3 | 1111000011 | 2 |
01000011 | 3 | 1111000111 | 2 |
01000111 | 3 | 1111001111 | 2 |
01001111 | 3 | 1111011111 | 2 |
01011111 | 3 | 1111100001 | 2 |
01100001 | 3 | 1111100011 | 2 |
01100011 | 3 | 1111100111 | 2 |
01100111 | 3 | 1111101111 | 2 |
01101111 | 3 | 1111110001 | 2 |
01110001 | 3 | 1111110011 | 2 |
01110011 | 3 | 1111110111 | 2 |
01110111 | 3 | 1111111001 | 2 |
01111001 | 3 | 1111111011 | 2 |
01111011 | 3 | 1111111101 | 2 |
01111101 | 3 | 0000000101 | 3 |
10000010 | 3 | 0000001001 | 3 |
10000100 | 3 | 0000001011 | 3 |
10000110 | 3 | 0000001101 | 3 |
10001000 | 3 | 0000010001 | 3 |
10001100 | 3 | 0000010011 | 3 |
10001110 | 3 | 0000010111 | 3 |
10010000 | 3 | 0000011001 | 3 |
10011000 | 3 | 0000011011 | 3 |
10011100 | 3 | 0000011101 | 3 |
10011110 | 3 | 0000100001 | 3 |
10100000 | 3 | 0000100011 | 3 |
10110000 | 3 | 0000100111 | 3 |
10111000 | 3 | 0000101111 | 3 |
10111100 | 3 | 0000110001 | 3 |
10111110 | 3 | 0000110011 | 3 |
11000010 | 3 | 0000110111 | 3 |
11000100 | 3 | 0000111001 | 3 |
11000110 | 3 | 0000111011 | 3 |
11001000 | 3 | 0000111101 | 3 |
11001100 | 3 | 0001000001 | 3 |
11001110 | 3 | 0001000011 | 3 |
11010000 | 3 | 0001000111 | 3 |
11011000 | 3 | 0001001111 | 3 |
11011100 | 3 | 0001011111 | 3 |
11011110 | 3 | 0001100001 | 3 |
11100010 | 3 | 0001100011 | 3 |
11100100 | 3 | 0001100111 | 3 |
11100110 | 3 | 0001101111 | 3 |
11101000 | 3 | 0001110001 | 3 |
11101100 | 3 | 0001110011 | 3 |
11101110 | 3 | 0001110111 | 3 |
11110010 | 3 | 0001111001 | 3 |
11110100 | 3 | 0001111011 | 3 |
11110110 | 3 | 0001111101 | 3 |
11111010 | 3 | 0010000001 | 3 |
00001010 | 4 | 0010000011 | 3 |
00010010 | 4 | 0010000111 | 3 |
00010100 | 4 | 0010001111 | 3 |
00010110 | 4 | 0010011111 | 3 |
00011010 | 4 | 0010111111 | 3 |
00100010 | 4 | 0011000001 | 3 |
00100100 | 4 | 0011000011 | 3 |
00100110 | 4 | 0011000111 | 3 |
00101000 | 4 | 0011001111 | 3 |
00101100 | 4 | 0011011111 | 3 |
00101110 | 4 | 0011100001 | 3 |
00110010 | 4 | 0011100011 | 3 |
00110100 | 4 | 0011100111 | 3 |
00110110 | 4 | 0011101111 | 3 |
00111010 | 4 | 0011110001 | 3 |
01000010 | 4 | 0011110011 | 3 |
01000100 | 4 | 0011110111 | 3 |
01000110 | 4 | 0011111001 | 3 |
01001000 | 4 | 0011111011 | 3 |
01001100 | 4 | 0011111101 | 3 |
01001110 | 4 | 0100000001 | 3 |
01010000 | 4 | 0100000011 | 3 |
01011000 | 4 | 0100000111 | 3 |
01011100 | 4 | 0100001111 | 3 |
01011110 | 4 | 0100011111 | 3 |
01100010 | 4 | 0100111111 | 3 |
01100100 | 4 | 0101111111 | 3 |
01100110 | 4 | 0110000001 | 3 |
01101000 | 4 | 0110000011 | 3 |
01101100 | 4 | 0110000111 | 3 |
01101110 | 4 | 0110001111 | 3 |
01110010 | 4 | 0110011111 | 3 |
01110100 | 4 | 0110111111 | 3 |
01110110 | 4 | 0111000001 | 3 |
01111010 | 4 | 0111000011 | 3 |
10000101 | 4 | 0111000111 | 3 |
10001001 | 4 | 0111001111 | 3 |
10001011 | 4 | 0111011111 | 3 |
10001101 | 4 | 0111100001 | 3 |
10010001 | 4 | 0111100011 | 3 |
10010011 | 4 | 0111100111 | 3 |
10010111 | 4 | 0111101111 | 3 |
10011001 | 4 | 0111110001 | 3 |
10011011 | 4 | 0111110011 | 3 |
10011101 | 4 | 0111110111 | 3 |
10100001 | 4 | 0111111001 | 3 |
10100011 | 4 | 0111111011 | 3 |
10100111 | 4 | 0111111101 | 3 |
10101111 | 4 | 1000000010 | 3 |
10110001 | 4 | 1000000100 | 3 |
10110011 | 4 | 1000000110 | 3 |
10110111 | 4 | 1000001000 | 3 |
10111001 | 4 | 1000001100 | 3 |
10111011 | 4 | 1000001110 | 3 |
10111101 | 4 | 1000010000 | 3 |
11000101 | 4 | 1000011000 | 3 |
11001001 | 4 | 1000011100 | 3 |
11001011 | 4 | 1000011110 | 3 |
11001101 | 4 | 1000100000 | 3 |
11010001 | 4 | 1000110000 | 3 |
11010011 | 4 | 1000111000 | 3 |
11010111 | 4 | 1000111100 | 3 |
11011001 | 4 | 1000111110 | 3 |
11011011 | 4 | 1001000000 | 3 |
11011101 | 4 | 1001100000 | 3 |
11100101 | 4 | 1001110000 | 3 |
11101001 | 4 | 1001111000 | 3 |
11101011 | 4 | 1001111100 | 3 |
11101101 | 4 | 1001111110 | 3 |
11110101 | 4 | 1010000000 | 3 |
00010101 | 5 | 1011000000 | 3 |
00100101 | 5 | 1011100000 | 3 |
00101001 | 5 | 1011110000 | 3 |
00101011 | 5 | 1011111000 | 3 |
00101101 | 5 | 1011111100 | 3 |
00110101 | 5 | 1011111110 | 3 |
01000101 | 5 | 1100000010 | 3 |
01001001 | 5 | 1100000100 | 3 |
01001011 | 5 | 1100000110 | 3 |
01001101 | 5 | 1100001000 | 3 |
01010001 | 5 | 1100001100 | 3 |
01010011 | 5 | 1100001110 | 3 |
01010111 | 5 | 1100010000 | 3 |
01011001 | 5 | 1100011000 | 3 |
01011011 | 5 | 1100011100 | 3 |
01011101 | 5 | 1100011110 | 3 |
01100101 | 5 | 1100100000 | 3 |
01101001 | 5 | 1100110000 | 3 |
01101011 | 5 | 1100111000 | 3 |
01101101 | 5 | 1100111100 | 3 |
01110101 | 5 | 1100111110 | 3 |
10001010 | 5 | 1101000000 | 3 |
10010010 | 5 | 1101100000 | 3 |
10010100 | 5 | 1101110000 | 3 |
10010110 | 5 | 1101111000 | 3 |
10011010 | 5 | 1101111100 | 3 |
10100010 | 5 | 1101111110 | 3 |
10100100 | 5 | 1110000010 | 3 |
10100110 | 5 | 1110000100 | 3 |
10101000 | 5 | 1110000110 | 3 |
10101100 | 5 | 1110001000 | 3 |
10101110 | 5 | 1110001100 | 3 |
10110010 | 5 | 1110001110 | 3 |
10110100 | 5 | 1110010000 | 3 |
10110110 | 5 | 1110011000 | 3 |
10111010 | 5 | 1110011100 | 3 |
11001010 | 5 | 1110011110 | 3 |
11010010 | 5 | 1110100000 | 3 |
11010100 | 5 | 1110110000 | 3 |
11010110 | 5 | 1110111000 | 3 |
11011010 | 5 | 1110111100 | 3 |
11101010 | 5 | 1110111110 | 3 |
00101010 | 6 | 1111000010 | 3 |
01001010 | 6 | 1111000100 | 3 |
01010010 | 6 | 1111000110 | 3 |
01010100 | 6 | 1111001000 | 3 |
01010110 | 6 | 1111001100 | 3 |
01011010 | 6 | 1111001110 | 3 |
01101010 | 6 | 1111010000 | 3 |
10010101 | 6 | 1111011000 | 3 |
10100101 | 6 | 1111011100 | 3 |
10101001 | 6 | 1111011110 | 3 |
10101011 | 6 | 1111100010 | 3 |
10101101 | 6 | 1111100100 | 3 |
10110101 | 6 | 1111100110 | 3 |
11010101 | 6 | 1111101000 | 3 |
01010101 | 7 | 1111101100 | 3 |
10101010 | 7 | 1111101110 | 3 |
总切换次数 | 896 | 654 |
下面详细描述表1的码表的生成规则和流程。
(1)将需要转换的码空间(8位)所有的码字按照切换次数的高低排列;
(2)将目标码空间(10位)所有的码字按照切换次数的高低排列;
(3)在两个顺序排列的码表之间做一一映射,映射的原则是:
(3.1)高切换的对应高切换的码,低切换的对应低切换的码;
(3.2)8位空间转换到10位空间后,切换率不能提高,也就是说,8位的总切换次数(比如表1中的896次)必须大于等于映射后的10位总切换次数(比如表1中的654次);
(3.3)相同切换次数的码,可以存在任意的对应关系,例如1个切换6次的8位码(比如11010101),可以对应变换成一个任意的切换3次的10位码。
从表1中可以计算得出,8位空间的总切换次数为896,然而896这个数值只是用来统计平均意义上的功耗性能增益,当输入的数据集具有其它特征的时候,这个数值可能会变高也可能会变低。10位空间的总切换次数为654,这个数值是10位空间的最优值,因为切换次数小于等于2的都被包括在这个码表中了,切换次数等于3的10位码中的一部分被包括在表1中,另外还有一些没有被包括在表1中(也就是没有被使用),但是不可能将654这个总切换次数继续减小。因此,如果将8位数据编码为10位数据,可以将总的切换次数从896降低到654,从而可以将I/O功率降低27%。另外,由于本发明的实现需要一定开销,如果扣去开销,I/O功率可以降低约20%。
此外,本领域的普通技术人员应该理解,以上虽然以8位空间至10位空间的转换为例说明了本发明的编码规则,但是表1中的编码规则并不构成8位空间到10位空间的唯一编码规则,而仅仅是优选实施例之一,在保证将总切换此处降低位654次的条件下,还可以选择其它的编码规则,比如使用其它的切换次数等于3的编码与8位空间中的编码进行对应。此外,也可以利用上述编码规则进行任何n位至n+m位的编码,其中n和m均是大于等于1的整数,从而通过降低切换频率来降低计算机系统的I/O功率。
下面就结合附图对本发明的各个优选实施例进行详细的说明。
降低计算机系统中I/O功率的方法
图1示出了根据本发明的一个实施例的降低计算机系统中I/O功率的方法的流程图。如图1所示,首先,可选地,在步骤101,监视计算机系统中总线上的工作负荷。具体地,可以利用总线监视器或本领域的技术人员公知的任何模块或技术,监视总线上的工作负荷,例如,通过计算机的操作系统不断读取寄存器中数据排队情况,从而获得有关总线工作情况的信息,来监视总线上的工作负荷。此外,也可以当需要在CUP和I/O设备之间传输数据时,即时获得总线上的工作负荷,本发明对此没有任何限制,只要能够在需要的时候获取总线上的工作负荷情况即可。可以理解,这里所述的I/O设备包括但不限于:显示设备、如只读存储器和随机存取存储器等的系统存储器、硬盘、光驱、如鼠标和键盘等的输入设备、如路由器等的网络设备、以及其他公知的或未来开发的设备,本发明对I/O设备没有任何限制,只要是通过总线与CPU进行输入/输出的设备都可以作为这里的I/O设备。应该理解,上述对总线上的工作负荷进行监视的步骤只是本实施例的可选步骤,其目的是更好地平衡总线输入/输出数据的效率与I/O功率之间的关系,本实施例也可以不对总线进行监视,而直接进行下面的步骤。
接着,在步骤102,缓存要发送到所述总线上的各路数据。在本实施例中,可以使用计算机系统中的任何存储器来缓存要发送到总线上的各路数据,例如使用移位寄存器来进行缓存,本发明对此没有任何限制。
接着,在步骤103,对步骤102中缓存的各路数据根据n位至n+m位的编码规则进行编码,其中n和m均是大于等于1的整数。这里的编码规则即是上述参考图2和表1描述的编码规则,利用该编码规则可以降低码型的切换频率。
下面将参考图3和图4并以n=8,m=2为例对本实施例的编码过程进行详细描述。
图3示出了根据本发明的实施例的对数据进行8位至10位编码的一个实例。如图3所示,当总线不忙时,将待发送到总线上的四路数据按每路8位的形式缓存在原始数据缓存器中,然后利用四路数据共享的编码器将各路8位数据分别编码为10位数据,并将编码后的10位数据缓存在编码数据缓存器中。具体地,该共享的编码器可以利用预先存储的如图3所示的码表,将各路8位数据编码为与其对应的10位数据。应该理解,虽然这里示例性示出了四路数据,但是本发明并不限于此,本发明可以根据具体应用进行改变。
图4示出了根据本发明的实施例的对数据进行8位至10位编码的另一个实例。在该实例中,各路数据具有自己的编码器,编码过程与上述参考图3的实例相同,在此不再赘述。应该理解,虽然这里示例性示出了每路数据具有单独的编码器,但是本发明并不限于此,本发明可以根据实际需要为任意路数据提供任意个编码器,只要能够将各路的8位数据编码为10位数据即可。
此外,应该理解,虽然这里根据8位至10位编码描述了本发明的编码规则,但是本发明并不限于此,本发明可以将任意的n位数据编码为n+m位数据,只要能够根据上述编码规则降低切换频率即可。
在本实施例中,可选地,可以在步骤103中对缓存的各路数据进行编码的步骤设定一个阈值,该阈值可以是在步骤101中所监视到的工作负荷,例如,可以将该阈值设定为0.6,即将总线上的工作负荷大于等于60%的情况设定为总线繁忙,将总线上的工作负荷小于60%的情况设定为不忙。可以理解,0.6这个阈值只是一个示例,可以根据实际情况将总线忙与不忙的阈值设定为0-1之间的任何值,本发明对阈值的设定没有任何限制。
也就是说,当监视到总线上的工作负荷低于上述阈值,例如0.6时,即当总线不忙时,在步骤103中对已缓存的、要发送到总线上的各路数据进行上述n位至n+m位编码,本发明对此没有任何限制。
此外,在本实施例中,可以将总线上的工作负荷设定为若干个区间,例如80-100%、60-80%、40-60%、20-40%、0-20%,并分别为不同的工作负荷水平,选择不同的编码规则。例如如果在步骤101中监视到总线上的工作负荷在80-100%之间,则选择8位至10位的编码规则;如果在步骤101中监视到总线上的工作负荷在60-80%之间,则选择8位至12位的编码规则;如果在步骤101中监视到总线上的工作负荷在40-60%之间,则选择8位至14位的编码规则;如果在步骤101中监视到总线上的工作负荷在20-40%之间,则选择8位至16位的编码规则;如果在步骤101中监视到总线上的工作负荷在0-20%之间,则选择8位至18位的编码规则。应该理解,上述工作负荷区间和相应的编码规则只是示例性的,本发明可以根据实际需要设定任意的工作负荷区间和相应的编码规则。
最后,在步骤104,将编码的各路数据进行缓存,并将缓存的数据发送到总线上,并由总线将编码的数据传送给CPU或I/O设备。在本实施例中,可以使用计算机系统中的任何存储器来缓存要发送到总线上的各路数据,例如使用移位寄存器来进行缓存,本发明对此没有任何限制。
此外,本实施例的方法还可以在步骤103进行上述编码之前,当在步骤101中所监视到总线上的工作负荷低于一阈值时,将上述编码规则通知给CPU侧I/O控制器和/或I/O设备侧I/O控制器。CPU侧I/O控制器和/或I/O设备侧I/O控制器根据接收到的编码规则,控制相应的编码器进行步骤103中的编码。
此外,在将来自总线的编码的n+m位数据发送给CPU或I/O设备之前,本实施例的方法还包括根据上述编码规则,将编码的n+m位数据解码为n位数据,解码的过程与上述编码的过程相反,即首先将来自总线的编码的各路n+m位数据缓存,然后根据上述编码规则将缓存的n+m位数据解码为n位数据,然后将解码的各路n位数据缓存,最后将缓存的n位数据发送给CPU或I/O设备。
此外,在本实施例中,上述编/解码可以通过硬件,例如集成电路等实现。具体地,可以将编/解码器直接集成在计算机系统中,或者也可以将编/解码器集成在计算机系统的I/O控制器中。此外,也可以通过软件实现,所谓的软件实现,就是CPU在输出数据的时候,经由软件程序将输出的数据进行编/解码后输出。本发明对此没有任何限制,只要能够在n位数据和n+m位数据之间进行编/解码即可。
再次强调,在本实施例中,虽然在步骤103进行编码之前在步骤101对总线上的工作负荷进行监视,但是步骤101的监视过程是可选的,其目的是为了平衡数据输入/输出效率与I/O功率之间的关系,也可以不对总线进行监视,而直接缓存要发送到总线上的各路数据,然后进行编码。
通过使用本实施例的降低计算机系统中I/O功率的方法,可以根据计算机系统的总线上的工作负荷水平,有效地降低I/O功率,从而极大地节约了能源。本发明的发明人在仿真系统中实现了一个8位-10位编/解码系统。具体地,发明人完成了一个编/解码器的硬件设计,然后,在仿真软件中,模拟随机输入数据,计算编/解码器的功耗和未编码状态下数据输出造成的IO功耗(均为仿真过程),所添加的编/解码电路造成的功耗约占IO输出功耗的5%左右,具体的数值和仿真软件,系统输入输出,编/解码器设计等都有关系。因此,相比于通过上述编码获得的27%的I/O功率降低,最终可以获得大于20%的净增益。
降低计算机系统中I/O功率的装置
在同一发明构思下,图5示出了根据本发明的另一个实施例的降低计算机系统中I/O功率的装置的方框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图5所示,本实施例的降低计算机系统中I/O功率的装置600包括总线监视器601,用于监视计算机系统中总线上的工作负荷。具体地,总线监视器601可以利用本领域的技术人员公知的任何模块或技术,监视总线上的工作负荷,例如,通过计算机的操作系统不断读取寄存器中数据排队情况,从而获得有关总线工作情况的信息,来监视总线上的工作负荷。此外,总线监视器601也可以当需要在CUP 705和I/O设备800之间传输数据时,即时获得监视总线上的工作负荷,本发明对此没有任何限制,只要能够在需要的时候获取总线上的工作负荷情况即可。顺便提及,上述对总线上的工作负荷进行监视的总线监视器601只是本实施例的装置600可选部件,其目的是更好地平衡总线输入/输出数据的效率与I/O功率之间的关系,本实施例也可以不对总线进行监视,即装置600不包括总线监视器601。
在本实施例中,I/O设备800包括但不限于:显示设备、如只读存储器和随机存取存储器等的系统存储器、硬盘、光驱、如鼠标和键盘等的输入设备、如路由器等的网络设备、以及其他公知的或未来开发的设备,本发明对I/O设备没有任何限制,只要是通过总线与CPU 701进行输入/输出的设备都可以作为这里的I/O设备800。
本实施例的降低计算机系统中I/O功率的装置600还包括原始数据缓存器610和/或630,其对要发送到总线上的各路数据进行缓存。在本实施例中,原始数据缓存器610和/或630可以是计算机系统中的任何存储器,例如移位寄存器,本发明对此没有任何限制。
此外,本实施例的降低计算机系统中I/O功率的装置600通过将n位至n+m位的编码规则通知给CPU侧编/解码器615和/或I/O设备侧编/解码器635,来进行n位至n+m位编码,其中n和m均是大于等于1的整数。此外,也可以将n位至n+m位的编码规则通知给CPU侧I/O控制器605和/或I/O设备侧I/O控制器625。CPU侧I/O控制器605和/或I/O设备侧I/O控制器625,在接收到上述编码规则后,控制相应的编/解码器615和/或635对已缓存在原始数据缓存器610和/或630中的数据进行n位至n+m位编码。这里描述的编码规则即是上述参考图2和表1描述的编码规则,利用该编码规则可以降低码型的切换频率。
在本实施例中,可选地,可以为编/解码器615和/或635是否对缓存的各路数据进行编码设定一个阈值,该阈值可以是总线监视器601监视到总线上的工作负荷,例如,可以将值设定为0.6,即将总线上的工作负荷大于等于60%的情况设定为总线繁忙,将总线上的工作负荷小于60%的情况设定为不忙。可以理解,0.6这个阈值只是一个示例,可以根据实际情况将总线忙与不忙的阈值设定为0-1(即大于等于0,并且小于等于1)之间的任何值,本发明对阈值的设定没有任何限制。
本实施例的编/解码器615和/或635的编码过程与上述实施例中参考图3和图4描述的编码过程类似,在此省略其说明。
在编/解码器615和/或635进行编码后,将编码的各路数据缓存在编码数据缓存器620和/或640中。然后,将缓存在编码数据缓存器620和/或640中的数据发送到总线上,并由总线将编码的数据传送给CPU 701或I/O设备800。
在将来自总线的编码的n+m位数据发送给CPU 701或I/O设备800之前,本实施例的编/解码器615和/或635根据上述编码规则,将编码的n+m位数据解码为n位数据,解码的过程与上述实施例中参考图3和图4描述的编码过程相反,即首先利用编码数据缓存器620和/或640将来自总线的编码的各路n+m位数据缓存,然后根据上述编码规则将缓存的n+m位数据解码为n位数据,然后将解码的各路n位数据缓存在原始数据缓存器610和/或630中,最后将缓存的n位数据发送给CPU 701或I/O设备800。
可选地,在本实施例中,可以将总线上的工作负荷设定为若干个区间,例如80-100%、60-80%、40-60%、20-40%、0-20%,并分别为不同的工作负荷水平,选择不同的编码规则。例如如果总线监视器601监视到总线上的工作负荷在80-100%之间,则选择8位至10位的编码规则;如果总线监视器601监视到总线上的工作负荷在60-80%之间,则选择8位至12位的编码规则;如果总线监视器601监视到总线上的工作负荷在40-60%之间,则选择8位至14位的编码规则;如果总线监视器601监视到总线上的工作负荷在20-40%之间,则选择8位至16位的编码规则;如果总线监视器601监视到总线上的工作负荷在0-20%之间,则选择8位至18位的编码规则。应该理解,上述工作负荷区间和相应的编码规则只是示例性的,本发明可以根据实际需要设定任意的工作负荷区间和相应的编码规则。
此外,在本实施例中,上述编/解码器615和/或635可以通过硬件,例如集成电路等实现。具体地,可以将编/解码器615和/或635直接集成在计算机系统中,或者也可以将编/解码器615和/或635集成在计算机系统的I/O控制器中。此外,也可以通过软件实现,所谓的软件实现,就是CPU在输出数据的时候,经由软件程序将输出的数据进行编/解码后输出。本发明对此没有任何限制,只要能够在n位数据和n+m位数据之间进行编/解码即可。
应该理解,在本实施例中,虽然在编/解码器615和/或635进行编码之前利用总线监视器601对总线上的工作负荷进行监视,但是总线监视器601是可选的,其目的是为了平衡数据输入/输出效率与I/O功率之间的关系,也可以直接缓存要发送到总线上的各路数据,然后进行编码。
下面参考图6更加详细地描述本实施例的降低计算机系统中I/O功率的装置600的硬件结构与实现过程。
如图6所示,实际的硬件电路主要包括四个模块:移位寄存器阵列A,8位-10位编码器,移位寄存器阵列B以及控制逻辑。这里以图3和4所示的4路数据为例,则移位寄存器阵列A为8×4的移位寄存器矩阵,移位寄存器阵列B为10×4的移位寄存器矩阵,每个移位寄存器可以向右或者向下移位数据,由控制逻辑和移位计数器来控制具体的操作。
首先,从CPU传来的数据(8位)在移位寄存器阵列A的横向移位计数器的控制下向右位移,当横向移位计数器计满8个数据时,数据在纵向移位计数器的控制下向下移出,则输出的数据就是待编码数据。然后,8位-10位编码器将接收到的待编码数据转换成10位的码输出至移位寄存器阵列B,在纵向移位计数器的控制下依次往下方移动,当纵向移位计数器计满4个数据时,在横向移位计数器的控制下,依次向右移出,移出的数据输送至管脚发送到总线。
用于解码的硬件结构与上述编码的硬件结构类似,只是先利用10×4的移位寄存器矩阵缓存待解码的10位数据,然后将待解码的数据解码为8位数据,然后将解码后的数据移位缓存在8×4的移位寄存器矩阵中输出。
应该理解,图6所示的硬件结构只是本实施例的降低计算机系统中I/O功率的装置600的一个实例,本发明并不限于此,可以通过任何现有或将来开发的硬件结构的组合来实现本实施例的降低计算机系统中I/O功率的装置600,只要能够通过装置600对缓存的各路数据进行n位至n+m位编/解码,从而有效地降低切换频率,进而降低I/O功率即可。
通过使用本实施例的降低计算机系统中I/O功率的装置600,可以根据计算机系统的总线上的工作负荷水平,有效地降低I/O功率,从而极大地节约了能源。例如,本发明的发明人通过仿真系统实现8位-10位编/解码系统计算,所添加的编/解码电路造成的功耗约占IO输出功耗的5%左右,相比于通过上述编码获得的27%的I/O功率降低,最终可以获得大于20%的净增益。
计算机系统
在同一发明构思下,图7示出了根据本发明的另一个实施例的计算机系统的方框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图7所示,本实施例的计算机系统700包括:中央处理器(CPU)701;I/O控制器708;系统总线710,用于在CPU 701和I/O设备之间传输数据;以及通过I/O控制器708和系统总线710与CPU 701相连接的I/O设备,I/O设备包括但不限于:通过显示适配器709连接的显示设备721、系统存储器702、通过硬盘控制器711连接的硬盘716、通过光盘控制器712连接的光驱717、通过串行/并行端口713连接的鼠标718和键盘719等输入设备、通过网络接口714连接的路由器720等网络设备、以及公知的或未来开发的其他设备715。其中,I/O控制器708包括上述降低计算机系统中I/O功率的装置600,用于在所述系统总线710的工作负荷低于一阈值时降低所述计算机系统700的I/O功率。其中,系统存储器702包括只读存储器(ROM)703和随机存取存储器(RAM)705。只读存储器703中包含计算机的基本输入输出系统(BIOS)704。随机存取存储器705中包含已加载的操作系统706和应用程序708。
通过使用本实施例的计算机系统700,可以根据计算机系统700的总线上的工作负荷水平,有效地降低I/O功率,从而极大地节约了能源。例如,本发明的发明人通过仿真系统实现8位-10位编/解码系统计算,所添加的编/解码电路造成的功耗约占IO输出功耗的5%左右,相比于通过上述编码获得的27%的I/O功率降低,最终可以获得大于20%的净增益。
以上虽然通过一些示例性的实施例对本发明的降低计算机系统中I/O功率的方法,降低计算机系统中I/O功率的装置,以及计算机系统进行了详细的描述,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附权利要求为准。
Claims (24)
1.一种降低计算机系统中I/O功率的方法,包括以下步骤:
缓存要发送到总线上的各路数据;
对缓存的各路数据按照编码规则进行n位至n+m位编码,其中n和m均是大于等于1的整数,所述编码规则用于降低码型的切换频率;以及
将编码的各路数据发送到所述总线上。
2.根据权利要求1所述的方法,还包括在进行所述编码之前,监视所述计算机系统中总线上的工作负荷,并且在监视到所述总线上的工作负荷低于一阈值时,对缓存的各路数据进行所述编码。
3.根据权利要求1所述的方法,还包括在接收到来自所述总线的编码的n+m位数据后,根据所述编码规则,将所述编码的n+m位数据解码为n位数据。
4.根据权利要求3所述的方法,其中,所述编/解码通过硬件实现。
5.根据权利要求3所述的方法,其中,所述编/解码通过软件实现。
6.根据权利要求2所述的方法,其中,所述监视总线上的工作负荷的步骤包括当需要在CUP和I/O设备之间传输数据时即时获取所述总线上的工作负荷。
7.根据权利要求2所述的方法,还包括根据所监视到的总线上的工作负荷水平,选择相应的编码规则。
8.根据权利要求3所述的方法,其中,所述各路数据的编/解码通过各自的编/解码器进行。
9.根据权利要求3所述的方法,其中,所述各路数据的编/解码通过共享的编/解码器进行。
10.根据权利要求1-9中任意一项所述的方法,其中,所述编码规则包括n位空间与n+m位空间对照的码表,在所述码表中n位空间的所有码字与n+m位空间的码字一一对应。
11.根据权利要求10所述的方法,其中,所述n位空间的所有码字的每一个的切换次数大于等于与其对应的n+m位空间的码字的切换次数。
12.一种降低计算机系统中I/O功率的装置,包括:
原始数据缓存器,用于缓存要发送到总线上的各路数据;
编码器,对缓存的各路数据按照编码规则进行n位至n+m位编码,其中n和m均是大于等于1的整数,所述编码规则用于降低码型的切换频率;以及
编码数据缓存器,用于缓存编码的各路数据,以将其发送到所述总线上。
13.根据权利要求12所述的装置,还包括:
总线监视器,用于监视所述计算机系统中总线上的工作负荷,并且在监视到所述总线上的工作负荷低于一阈值时,所述编码器对缓存的各路数据进行所述编码。
14.根据权利要求12所述的装置,还包括解码器,用于在接收到来自所述总线的编码的n+m位数据后,根据所述编码规则,将所述编码的n+m位数据解码为n位数据。
15.根据权利要求14所述的装置,其中,所述编/解码器通过硬件实现。
16.根据权利要求14所述的装置,其中,所述编/解码器通过软件实现。
17.根据权利要求13所述的装置,其中,所述总线监视器当需要在CUP和I/O设备之间传输数据时即时获取所述总线上的工作负荷。
18.根据权利要求13所述的装置,其中,所述总线监视器根据所监视到的总线上的工作负荷水平,选择相应的编码规则。
19.根据权利要求14所述的装置,其中,所述各路数据的编/解码通过各自的编/解码器进行。
20.根据权利要求14所述的装置,其中,所述各路数据的编/解码通过共享的编/解码器进行。
21.根据权利要求12-20中任意一项所述的装置,其中,所述编码规则包括n位空间与n+m位空间对照的码表,在所述码表中n位空间的所有码字与n+m位空间的码字一一对应。
22.根据权利要求21所述的装置,其中,所述n位空间的所有码字的每一个的切换次数大于等于与其对应的n+m位空间的码字的切换次数。
23.根据权利要求12所述的装置,其中,所述原始数据缓存器和所述编码数据缓存器通过移位寄存器和移位计数器实现。
24.一种计算机系统,包括:
CPU;
I/O设备;
总线,用于在所述CPU和所述I/O设备之间传输数据;以及
根据权利要求12-23中任意一项所述的降低计算机系统中I/O功率的装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101668392A CN101419495B (zh) | 2007-10-22 | 2007-10-22 | 降低计算机系统中i/o功率的方法和装置,以及计算机系统 |
US12/738,908 US9286259B2 (en) | 2007-10-22 | 2008-10-10 | Method and apparatus for lowering I/O power of a computer system and computer system |
EP08850030.1A EP2220562B1 (en) | 2007-10-22 | 2008-10-10 | Method and apparatus for lowering i/o power of a computer system and computer system |
JP2010529216A JP5255061B2 (ja) | 2007-10-22 | 2008-10-10 | コンピュータ・システムのi/o電力を低減するための方法及び装置、並びにコンピュータ・システム |
PCT/CN2008/072635 WO2009062435A1 (en) | 2007-10-22 | 2008-10-10 | Method and apparatus for lowering i/o power of a computer system and computer system |
KR1020107007197A KR101139233B1 (ko) | 2007-10-22 | 2008-10-10 | 컴퓨터 시스템의 i/o 전력을 줄이기 위한 방법 및 장치, 그리고 컴퓨터 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101668392A CN101419495B (zh) | 2007-10-22 | 2007-10-22 | 降低计算机系统中i/o功率的方法和装置,以及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101419495A CN101419495A (zh) | 2009-04-29 |
CN101419495B true CN101419495B (zh) | 2012-05-30 |
Family
ID=40630306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101668392A Active CN101419495B (zh) | 2007-10-22 | 2007-10-22 | 降低计算机系统中i/o功率的方法和装置,以及计算机系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9286259B2 (zh) |
EP (1) | EP2220562B1 (zh) |
JP (1) | JP5255061B2 (zh) |
KR (1) | KR101139233B1 (zh) |
CN (1) | CN101419495B (zh) |
WO (1) | WO2009062435A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045445A2 (en) * | 2008-10-15 | 2010-04-22 | Marvell World Trade Ltd. | Architecture for data storage systems |
WO2013058729A1 (en) * | 2011-10-17 | 2013-04-25 | Intel Corporation | Host controlled io power management |
US8938634B2 (en) * | 2012-01-25 | 2015-01-20 | Empire Technology Development Llc | User generated data center power savings |
US10289183B2 (en) * | 2014-08-22 | 2019-05-14 | Intel Corporation | Methods and apparatus to manage jobs that can and cannot be suspended when there is a change in power allocation to a distributed computer system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5402123A (en) * | 1992-05-30 | 1995-03-28 | Samsung Electronics Co., Ltd. | Variable length coding/decoding method of image data and apparatus thereof |
CN2609301Y (zh) * | 2003-04-22 | 2004-03-31 | 海信集团有限公司 | 显示器图像信号Gamma校正的8位/10位转换电路 |
US7259699B1 (en) * | 2005-11-23 | 2007-08-21 | Altera Corporation | Circuitry for providing configurable running disparity enforcement in 8B/10B encoding and error detection |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844826A (en) * | 1996-10-18 | 1998-12-01 | Samsung Electronics Co., Ltd. | Leading zero count circuit |
JP3552204B2 (ja) | 1999-09-13 | 2004-08-11 | 株式会社東芝 | データ伝送装置及び伝送システム |
JP4181317B2 (ja) | 2000-10-26 | 2008-11-12 | 松下電器産業株式会社 | 集積回路の電力管理システム |
JP3646644B2 (ja) | 2000-10-31 | 2005-05-11 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP2002202947A (ja) | 2000-12-28 | 2002-07-19 | Ricoh Co Ltd | 画像処理装置、その制御方法およびプログラムを記憶した記憶媒体 |
DE10145722A1 (de) * | 2001-09-17 | 2003-04-24 | Infineon Technologies Ag | Konzept zur sicheren Datenkommunikation zwischen elektronischen Bausteinen |
JP2005025805A (ja) | 2003-06-30 | 2005-01-27 | Renesas Technology Corp | 半導体記憶装置 |
GB0419871D0 (en) | 2004-09-08 | 2004-10-13 | Koninkl Philips Electronics Nv | Fault tolerant bus |
JP2007052714A (ja) | 2005-08-19 | 2007-03-01 | Fuji Xerox Co Ltd | 情報処理システム |
CN100536334C (zh) * | 2005-09-27 | 2009-09-02 | 中芯国际集成电路制造(上海)有限公司 | 用于输入/输出驱动器的加电控制的系统与方法 |
JP4902662B2 (ja) | 2005-11-22 | 2012-03-21 | インテル コーポレイション | シリアル・リンクの信号遷移特性ベースのコード化 |
JP2007257415A (ja) | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | マルチプロセッサシステム |
US8024639B2 (en) * | 2006-06-23 | 2011-09-20 | Schweitzer Engineering Laboratories, Inc. | Software and methods to detect and correct data structure |
-
2007
- 2007-10-22 CN CN2007101668392A patent/CN101419495B/zh active Active
-
2008
- 2008-10-10 KR KR1020107007197A patent/KR101139233B1/ko not_active IP Right Cessation
- 2008-10-10 US US12/738,908 patent/US9286259B2/en active Active
- 2008-10-10 JP JP2010529216A patent/JP5255061B2/ja active Active
- 2008-10-10 WO PCT/CN2008/072635 patent/WO2009062435A1/en active Application Filing
- 2008-10-10 EP EP08850030.1A patent/EP2220562B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5402123A (en) * | 1992-05-30 | 1995-03-28 | Samsung Electronics Co., Ltd. | Variable length coding/decoding method of image data and apparatus thereof |
CN2609301Y (zh) * | 2003-04-22 | 2004-03-31 | 海信集团有限公司 | 显示器图像信号Gamma校正的8位/10位转换电路 |
US7259699B1 (en) * | 2005-11-23 | 2007-08-21 | Altera Corporation | Circuitry for providing configurable running disparity enforcement in 8B/10B encoding and error detection |
Also Published As
Publication number | Publication date |
---|---|
KR20100058621A (ko) | 2010-06-03 |
CN101419495A (zh) | 2009-04-29 |
US20100211707A1 (en) | 2010-08-19 |
EP2220562A1 (en) | 2010-08-25 |
KR101139233B1 (ko) | 2012-04-20 |
US9286259B2 (en) | 2016-03-15 |
EP2220562A4 (en) | 2015-01-07 |
EP2220562B1 (en) | 2016-01-13 |
JP5255061B2 (ja) | 2013-08-07 |
JP2011501277A (ja) | 2011-01-06 |
WO2009062435A1 (en) | 2009-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100570534C (zh) | 多处理器的电源管理 | |
CN101419495B (zh) | 降低计算机系统中i/o功率的方法和装置,以及计算机系统 | |
CN104169832B (zh) | 提供处理器的能源高效的超频操作 | |
CN101454741B (zh) | 分布式系统中动态调节资源用电的方法和装置 | |
CN101436098A (zh) | 降低多核对称多处理系统的功耗的方法及装置 | |
DE112013005287B4 (de) | Prozessor mit heterogenen physischen Kernen und in einem Prozessor mit heterogenen physischen Kernen implementiertes Verfahren | |
CN107239346A (zh) | 一种整机柜计算资源池节点及计算资源池化架构 | |
JP2007287150A (ja) | 電力管理システム及び方法 | |
DE112012000749T5 (de) | Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors | |
CN1987793A (zh) | 用于动态激活处理器的方法和系统 | |
DE112006001290T5 (de) | Dynamisches Busparken | |
US20130268779A1 (en) | Systems and methods for dynamic power management in a blade server | |
US11281280B2 (en) | Reducing chiplet wakeup latency | |
CN104798034A (zh) | 在多处理器系统中执行频率协调 | |
CN113438687A (zh) | 一种基站唤醒方法、装置及设备 | |
CN104820618A (zh) | 一种任务调度方法、任务调度装置及多核系统 | |
CN108874544A (zh) | 一种gpu服务器io资源分配的方法及系统 | |
CN103019365A (zh) | 计算机、遥控系统、计算机控制方法以及遥控方法 | |
CN100562864C (zh) | 一种嵌入式异构多核体系片上通信的实现方法 | |
CN102036277A (zh) | 信道板自检的方法、装置及信道板 | |
CN116991221A (zh) | 功耗调整方法及装置 | |
CN105095143A (zh) | 一种服务器节点和整机柜服务器 | |
Herzog et al. | Bridging the gap: Energy-efficient execution of software workloads on heterogeneous hardware components | |
CN109871112B (zh) | 一种Openpower系统性能功耗比优化显示系统 | |
CN113946537A (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 |