CN101855617A - 使即插即用硬件用于半自动软件迁移的机制 - Google Patents
使即插即用硬件用于半自动软件迁移的机制 Download PDFInfo
- Publication number
- CN101855617A CN101855617A CN200880115621A CN200880115621A CN101855617A CN 101855617 A CN101855617 A CN 101855617A CN 200880115621 A CN200880115621 A CN 200880115621A CN 200880115621 A CN200880115621 A CN 200880115621A CN 101855617 A CN101855617 A CN 101855617A
- Authority
- CN
- China
- Prior art keywords
- hardware
- nextport
- software
- processor
- new
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Executing Machine-Instructions (AREA)
Abstract
一种处理软件不兼容或硬件过时问题的方法和装置。该方法包括从硬件组件复制涉及架构和其他性能的信息,将现有硬件特定软件转化以适应新硬件组件的架构,以及将修改后的软件传递给新硬件。该方法和装置用于使得硬件特定软件在硬件组件(诸如计算机处理器)之间半自动迁移。软件迁移的过程依次提供从一个硬件组件到另一个硬件组件的功能的有效传递。这种新过程可以用于软件从一个处理器到另一个处理器的迁移。
Description
技术领域
本发明涉及计算机和其他电子系统,尤其涉及处理器和其他硬件装置。更具体地,本发明涉及克服处理器和硬件在用于计算机和其他电子系统所遇到的过时(obsolescence)问题的机制和系统。另外,本发明可应用于从一个微处理器向另一个微处理器的软件迁移(migration)。
背景技术
处理器或微处理器和构成计算机和其他电子系统的其他硬件常常随更新的和更高的配置或性能演化(evolve)。计算机硬件行业的普遍趋势为开发新一代更快的微处理器。而且,考虑到市场需求向新一代硬件的转移,旧的硬件逐渐停产。这些新一代的硬件很少向后兼容,与现有指令组架构(ISA)和其他硬件性能的功能问题比较普遍。这导致新旧组件之间的兼容性问题,因此,导致处理器和其他硬件装置在即插即用适应性上的障碍。另外,当要特意迁移到新微处理器时,整个软件码需要重写或修改以适应新处理器。
克服该问题的方法和系统在现有技术中有记载。
克服该问题的一种方法是,修改或重写整个软件或软件的几部分以适应新的方法。其可能涉及配置其他硬件和/或软件组件,以适应新的处理器或硬件组件。但是,由于该方法涉及在老软件和/或硬件上花费时间和资金,考虑到多数公司的富于进取的、以市场为导向的资源优化政策,他们不愿意实施该方法。
克服该问题的另一种方法是,通过现场可编程门阵列(FPGA)对过时处理器进行仿真。但是,该方案昂贵,因而在行业里几乎没有应用。
美国专利申请US2006/0282254A1描述了一种基于控制单元的用于微处理器组件过时的系统和方法。该方法包括提供第二工具系统控制单元,以执行与第一工具系统控制单元基本上相同的操作,其中,第二工具系统控制单元包括一可编程硬件装置,该可编程硬件装置适于对该微处理器的核心功能部分的操作进行仿真。但是,该方法为手动的,因而消弱了“即插即用”型硬件更换的简易性。
处理这一问题的另一方法是,在软件设计中实现硬件抽象层,以减少对于新的硬件组件修改软件的工作。专利申请WO01/061490A3中描述了一种实现硬件抽象层的方法,将对操作系统的处理器特定功能抽象。尤其是,其对操作系统可见的可配置处理器性能抽象,以在操作系统和其所运行的可配置处理器之间提供一致的、标准的界面。该方法对处理器的各种设置提供了操作系统的功能,这些设置为硬件抽象层所涵盖。但是,该方法的缺点在于,其在用于实现可配置的处理器时需要技术专长。除了昂贵之外,该方法涉及软件再工程(reengineering)和再实现(reimplementation)的额外步骤,这降低了操作的整体简易性。
现有技术的这些方法和系统均不能完满解决所述问题。
本发明人提出了克服所述硬件过时和诸如微处理器的装置/硬件组件的软件不兼容问题的机制和系统。
本发明提出了处理所述处理器和其他硬件过时问题的机构和系统,以及因而使得处理器或其他硬件组件在不同配置能够即插即用的机制。本发明还提出了将适于一个处理器或硬件装置的现有软件转化为到另一个处理器或硬件装置的装置和方法。
本发明为处理器和其他硬件装置/组件提供了长期的、自动的端对端方案。
发明内容
本发明涉及使软件在硬件组件之间迁移的方法和装置。本发明提供了使软件迁移过程自动化的装置。
在本发明的一个形式中,软件迁移的方法开始于将硬件诸如处理器连接到一转化装置,该转化装置为计算机系统或嵌入式装置并包含迁移工具。该转化装置随后提供将宣称用于一硬件组件或处理器的硬件特定软件修改为用于另一硬件组件或处理器。这导致从供体硬件组件或处理器的功能到受体硬件组件或处理器的功能的自动传递。
为了协助理解本发明,参考附图示出了本发明的一个实施例。
发明目的
本发明的一个目的是提供使得软件在不同硬件组件诸如处理器之间迁移的方法。本发明的另一个目的是提供使得软件半自动式迁移到新硬件组件或处理器的装置,以及使得不同硬件能“即插即用”的机制。
附图说明
图1示出了本方法可以执行的一种方式。(7)代表转化装置。新处理器(1)开始向转化系统(3)宣告自己的架构和特性。转化系统(3)可以是独立的装置或者是同一系统中的嵌入式装置。转化系统(3)转化软件组件以适应新处理器(1)。(2)代表老处理器,(4)代表系统(7)的存储器,(6)代表老的应用程序,(5)代表新的或修改后的应用程序。
具体实施方式
本发明提供了克服软件不兼容和硬件过时问题的机制和系统。本发明可以使得硬件组件诸如处理器即插即用,而无论硬件和/或软件的设置和性能。
根据本发明,该机制和系统包括一过程,其中处理器或其他硬件装置/组件向其他软件、处理器或硬件装置/组件宣告或与他们交换涉及架构和其他性能的信息。交换过程可以或者由第一处理器或其他硬件装置/组件引发,或者由第二处理器或其他硬件装置/组件引发。如何宣告架构和其他性能以及什么宣告为处理器或其他硬件组件的性能是灵活的。编排格式、编码和交换信息的方法可以是灵活的。
处理器或其他硬件装置/组件宣告的架构可以但不限于是寄存器的数量、寄存器的名称、每个寄存器的大小、地址总线/数据总线大小、处理器的针的设置、可以处理的存储器范围、处理器支持的存储器模型的类型、中断的数量以及处理器支持的中断类型。架构的效果可以是完全的,也可以部分的。处理器或其他硬件装置/组件可以宣告其软件的部分或全部作为其特性。
本发明还包括一装置,该装置可以插入计算机或嵌入式系统,随后将处理器或硬件装置/组件的软件组件转化以适配于其它处理器或硬件装置/组件。该转化装置可以为计算机或嵌入式装置。
说明书所说的插入可以通过布线、插接、套接或无线装置来实现而不限于此。
在本发明的一个实施例中,用户需要扫描硬件组件的源程序并标出硬件特定的源程序。用户还需指明标出的源程序的上下文。标记或指明软件程序的上下文可以在多种方式中选取,其中一种是使用标签。
本发明还包括一种将适于一处理器或硬件装置/组件的已有软件转化适于另一处理器或硬件装置/组件的新方法。
从一个硬件到另一个的有效软件迁移通过使用提供给转化装置的标记的软件实现。用于转化硬件特定软件的方法通过一迁移工具实现,该迁移工具包括一在转化装置上运行的转换器软件,该转换器软件从一处理器或硬件装置/组件接受输入然后修改已经存在于该系统的软件程序以使其能够在新的处理器上执行。所述的转换器软件可以在独立的集成电路、计算机或嵌入式系统上运行。
所述的转换器软件可以修改已有的源程序和/或通过一应用程序产生利用新处理器性能的新程序,该新程序会使用宣告的处理器信息和性能在新处理器上运行。迁移工具因而包括一用于将硬件特定软件从用于老的硬件改编为用于新的硬件的可执行软件程序。
在本发明的优选实施例中,软件迁移过程涉及如下一次手动行为:扫描老处理器和新处理器的源程序以及标记出处理器特定源程序。这种标记的信息可以手工提供给转化装置,作为利用处理器使用手册产生的处理器信息文件。C语言或任何其他语言的句法处理工具可以用于识别标记并指出问题类别,包括源程序的端口和寄存器。在本发明的优选实施例中,实际的迁移过程包括以下独立的阶段:对每一类问题的源程序的定义,与选定问题类相应的新处理器的目标程序的选择,以及更新目标程序以匹配新硬件。对于每一问题的每一类,有可以用于更新目标程序以匹配新硬件的限定的一组规则。更新目标程序包括尤其将问题和类型特定的程序从老硬件复制到新硬件。
处理器可以与存储器和转化系统相通信,而转化系统也可以与处理器和存储器相通信。
在该实施例中,软件迁移的过程涉及手工产生硬件特定软件文件或数据库以及指出上下文的阶段。因此,软件迁移的过程是半自动的。但是,该手工输入仅需一次,而所有后续修改转化的软件的事件都是完全自动化的。
同样的技术可以用于作为外设的任何硬件装置的即插即用。例如,新液晶显示装置的即插即用需要新硬件应该能够宣告其性能给要使用它的软件组件,所述性能例如是分辨率、尺寸、针配置等。
以下例子进一步说明了本发明。该例子仅仅用于说明性的目的,不构成对本发明的限定。
例1:
处理器特定源程序从Freescale公司的MC68332型微处理器迁移到MC68340型微处理器。这两个处理器连接到包含迁移工具的台式机转化系统,该迁移工具用于将前一处理器宣告的处理器信息复制到其存储器,然后在受到对某因素的请求或中断时将该信息传递到后一处理器。源程序转化过程在台式机上进行。
Claims (10)
1.一种使硬件特定软件从一个硬件组件迁移到另一个硬件组件的方法,该方法包括以下步骤:
将老硬件组件和新硬件组件连接到一包含迁移工具的转化装置;
硬件组件向其他硬件组件、软件组件和所述转化装置宣告自身的架构和性能;
标记和指明硬件特定软件的内容;
将带标签的硬件特定软件复制到一存储器;
转化已有硬件特定软件,以匹配新硬件的架构和性能;
将转化后的软件传送给新硬件。
2.根据权利要求1所述的方法,其特征在于,所述硬件包括一微处理器。
3.根据权利要求1所述的方法,其特征在于,所述迁移工具包括将硬件特定软件从一个硬件组件改编到另一硬件组件的软件程序,该软件程序进一步包括以下程序:
在包含所述老硬件的硬件特定软件的文件中,通过软件的标识来限定源程序用于一特定硬件;
在包含所述新硬件的硬件特定软件的文件中,通过软件的标识来选择目标程序用于限定的硬件;
更新目标程序以匹配限定的硬件的功能。
4.根据权利要求3所述的迁移工具,其特征在于,所述更新目标程序包括部分或全部从老硬件到新硬件复制硬件特定软件。
5.根据权利要求1所述的方法,其特征在于,硬件组件之间的连接通过布线、插接、套接或无线连接来实现。
6.根据权利要求1所述的方法,其特征在于,架构和性能的宣告可以是部分宣告或全部宣告。
7.根据权利要求1所述的方法,其特征在于,标记和指明硬件特定软件的上下文包括引入标签。
8.根据权利要求1所述的方法,其特征在于,转化是指改编在该系统上运行的硬件特定软件程序使其能够在新处理器运行。
9.根据权利要求1所述的方法,其特征在于,所述存储器为所述转化装置的系统存储器,所述转化装置可以是电脑或嵌入式系统。
10.一种使硬件特定软件从一个硬件组件转化到另一个硬件组件的装置,包括存储器、迁移工具、电源、处理器和输入-输出界面。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1814/MUM/2007 | 2007-09-19 | ||
IN1814MU2007 | 2007-09-19 | ||
PCT/IB2008/053816 WO2009037668A2 (en) | 2007-09-19 | 2008-09-19 | Mechanism to enable plug and play hardware components for semi-automatic software migration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101855617A true CN101855617A (zh) | 2010-10-06 |
Family
ID=40468542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880115621A Pending CN101855617A (zh) | 2007-09-19 | 2008-09-19 | 使即插即用硬件用于半自动软件迁移的机制 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100205599A1 (zh) |
EP (1) | EP2203814A4 (zh) |
JP (1) | JP2011512566A (zh) |
KR (1) | KR20100069695A (zh) |
CN (1) | CN101855617A (zh) |
WO (1) | WO2009037668A2 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US9189233B2 (en) | 2008-11-24 | 2015-11-17 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US8321656B2 (en) * | 2009-06-13 | 2012-11-27 | Phoenix Technologies Ltd. | Timer use in extensible firmware interface compliant systems |
US20110276491A1 (en) * | 2009-12-31 | 2011-11-10 | Douglas Elliott | Methods and systems for in-game advertising |
KR101401378B1 (ko) * | 2010-10-26 | 2014-05-30 | 한국전자통신연구원 | 가상 머신의 라이브 마이그레이션에서 가상 연결성 유지를 위한 호스트 시스템, 원격 장치 서버 및 이를 이용한 연결성 유지 방법 |
US9417855B2 (en) | 2011-09-30 | 2016-08-16 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
CN103729169B (zh) | 2012-10-10 | 2017-04-05 | 国际商业机器公司 | 用于确定待迁移文件范围的方法和装置 |
KR102083289B1 (ko) * | 2013-01-29 | 2020-03-02 | 삼성전자주식회사 | 마이크로서버 환경의 소프트웨어 이주 방법 및 이를 지원하는 장치 |
US9880842B2 (en) | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
WO2018094087A1 (en) * | 2016-11-17 | 2018-05-24 | The Mathworks, Inc. | Systems and methods for generating code for parallel processing units |
US11633673B2 (en) | 2018-05-17 | 2023-04-25 | Universal City Studios Llc | Modular amusement park systems and methods |
KR102084031B1 (ko) * | 2019-08-07 | 2020-05-29 | 주식회사 도시엔컴 | 복수 서버의 로컬 저장소를 통합 관리하는 방법 및 그 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819067A (en) * | 1996-02-23 | 1998-10-06 | Advanced Micro Devices, Inc. | Computer system configured to translate a computer program into a second computer program prior to executing the computer program |
US6711667B1 (en) * | 1996-06-28 | 2004-03-23 | Legerity, Inc. | Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions |
CN1734421A (zh) * | 2004-07-30 | 2006-02-15 | 国际商业机器公司 | 管理新软件系统的迁移和部署的方法和系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3698007A (en) * | 1970-11-30 | 1972-10-10 | Honeywell Inc | Central processor unit having simulative interpretation capability |
US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
JPS6133546A (ja) * | 1984-07-25 | 1986-02-17 | Nec Corp | 情報処理装置 |
US4870614A (en) * | 1984-08-02 | 1989-09-26 | Quatse Jesse T | Programmable controller ("PC") with co-processing architecture |
US5115500A (en) * | 1988-01-11 | 1992-05-19 | International Business Machines Corporation | Plural incompatible instruction format decode method and apparatus |
US5588118A (en) * | 1991-08-21 | 1996-12-24 | Zilog, Inc. | Single chip dual processor |
DE69228980T2 (de) * | 1991-12-06 | 1999-12-02 | National Semiconductor Corp., Santa Clara | Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul |
GB2289354B (en) * | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5619665A (en) * | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US5805895A (en) * | 1996-06-09 | 1998-09-08 | Motorola, Inc. | Method and apparatus for code translation optimization |
US6021484A (en) * | 1997-11-14 | 2000-02-01 | Samsung Electronics Co., Ltd. | Dual instruction set architecture |
US6961763B1 (en) * | 1999-08-17 | 2005-11-01 | Microsoft Corporation | Automation system for controlling and monitoring devices and sensors |
US7293159B2 (en) * | 2004-01-15 | 2007-11-06 | International Business Machines Corporation | Coupling GP processor with reserved instruction interface via coprocessor port with operation data flow to application specific ISA processor with translation pre-decoder |
EP1622009A1 (en) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM architecture and systems |
US7818724B2 (en) * | 2005-02-08 | 2010-10-19 | Sony Computer Entertainment Inc. | Methods and apparatus for instruction set emulation |
US20060282254A1 (en) * | 2005-06-10 | 2006-12-14 | John Ananny | System and method for dealing with component obsolescence in microprocessor-based control units |
US20060288343A1 (en) * | 2005-06-20 | 2006-12-21 | Kim Pallister | Methods and apparatus to enable remote-user-interface-capable managed runtime environments |
US20070005932A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Memory management in a multiprocessor system |
US7999951B2 (en) * | 2006-12-29 | 2011-08-16 | Sharp Laboratories Of America | Direct print handling of native and non-native data formats |
-
2008
- 2008-09-19 US US12/678,850 patent/US20100205599A1/en not_active Abandoned
- 2008-09-19 KR KR1020107008511A patent/KR20100069695A/ko not_active Application Discontinuation
- 2008-09-19 EP EP08807731A patent/EP2203814A4/en not_active Withdrawn
- 2008-09-19 WO PCT/IB2008/053816 patent/WO2009037668A2/en active Application Filing
- 2008-09-19 CN CN200880115621A patent/CN101855617A/zh active Pending
- 2008-09-19 JP JP2010525479A patent/JP2011512566A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819067A (en) * | 1996-02-23 | 1998-10-06 | Advanced Micro Devices, Inc. | Computer system configured to translate a computer program into a second computer program prior to executing the computer program |
US6711667B1 (en) * | 1996-06-28 | 2004-03-23 | Legerity, Inc. | Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions |
CN1734421A (zh) * | 2004-07-30 | 2006-02-15 | 国际商业机器公司 | 管理新软件系统的迁移和部署的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2009037668A2 (en) | 2009-03-26 |
WO2009037668A3 (en) | 2009-12-30 |
EP2203814A4 (en) | 2012-11-07 |
EP2203814A2 (en) | 2010-07-07 |
KR20100069695A (ko) | 2010-06-24 |
JP2011512566A (ja) | 2011-04-21 |
US20100205599A1 (en) | 2010-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101855617A (zh) | 使即插即用硬件用于半自动软件迁移的机制 | |
CN102087597B (zh) | 一种基于j2ee和构件集的可视化开发平台 | |
US20060230369A1 (en) | Interface configurable for use with target/initiator signals | |
CN100533416C (zh) | 控制处理环境的数据传输的方法和系统 | |
WO2020134633A1 (zh) | 一种应用程序的开发方法、装置及集成开发工具 | |
CN100383737C (zh) | 单片机在线加载升级方法及系统 | |
CN100442293C (zh) | 合并硬件设计语言的原始档案与查验资料档案的方法 | |
US9092239B2 (en) | Configuring user interfaces in electronic devices | |
CN103003808B (zh) | 用于访问PCI Express 兼容设备的资源的系统和方法 | |
CN102902544B (zh) | 一种电话支付终端软件平台的实现方法 | |
US7647583B2 (en) | Method and apparatus for emulating a hardware/software system using a computer | |
CN102999350A (zh) | 一种数字信号处理平台中fpga程序升级在线下载方法 | |
CN101231610A (zh) | Sata硬盘的监控装置及其监控方法 | |
CN100489777C (zh) | 智能平台管理接口韧体架构及其建立方法 | |
CN101334806A (zh) | 用于寄存器映射自动化的方法和设备 | |
CN103853535A (zh) | 修改中间件的方法和装置 | |
CN105224483A (zh) | 数据传输方法、电子设备及通用串行总线设备 | |
CN103676911A (zh) | 一种设备控制系统及控制方法 | |
CN102253845A (zh) | 服务器系统 | |
CN112559373B (zh) | 一种软件兼容性管理方法和系统 | |
US8825708B1 (en) | Program language binding generation for system interfaces | |
CN102306013A (zh) | 基于usb接口的便携式飞机1553b总线监测系统及控制方法 | |
KR100759816B1 (ko) | 임베디드 리눅스 커널 및 응용 프로그램의 통합 설정을위한 웹 기반의 개발환경 제공 시스템 및 방법 | |
CN103546527A (zh) | 一种可扩展的工业组态或仿真软件通信方法 | |
CN1420434A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101006 |