JP2015191657A - 一方のアーキテクチャのコードモジュールが他方のアーキテクチャのライブラリモジュールを用いることを可能にするインターアーキテクチャ互換性モジュール - Google Patents
一方のアーキテクチャのコードモジュールが他方のアーキテクチャのライブラリモジュールを用いることを可能にするインターアーキテクチャ互換性モジュール Download PDFInfo
- Publication number
- JP2015191657A JP2015191657A JP2015005697A JP2015005697A JP2015191657A JP 2015191657 A JP2015191657 A JP 2015191657A JP 2015005697 A JP2015005697 A JP 2015005697A JP 2015005697 A JP2015005697 A JP 2015005697A JP 2015191657 A JP2015191657 A JP 2015191657A
- Authority
- JP
- Japan
- Prior art keywords
- module
- bit
- architecture
- code
- library
- 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
- 238000000034 method Methods 0.000 claims abstract description 128
- 238000012546 transfer Methods 0.000 claims abstract description 75
- 230000008859 change Effects 0.000 claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 100
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 41
- 230000006870 function Effects 0.000 description 23
- 238000007667 floating Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000011232 storage material Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013519 translation Methods 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/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
-
- 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/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (25)
- インターアーキテクチャ互換性装置であって、
第1のアーキテクチャコードモジュールから、第1のアーキテクチャライブラリモジュールを対象とした第1の呼び出し手順オペレーションを受け取る制御フロー移転受け取りモジュールであって、前記第1の呼び出し手順オペレーションは第1の複数の入力パラメータを含む、制御フロー移転受け取りモジュールと、
前記制御フロー移転受け取りモジュールに接続されたアプリケーションバイナリインタフェース(ABI)変更モジュールであって、前記ABI変更モジュールは、前記第1の複数の入力パラメータを含む前記第1の呼び出し手順オペレーションを、第2の複数の入力パラメータを含み、第2のアーキテクチャライブラリモジュールと互換性がある対応する第2の呼び出し手順オペレーションへ変換すべく、複数のABI変更を行う、前記ABI変更モジュールと、
前記ABI変更モジュールに接続され、前記第2の呼び出し手順オペレーションを前記第2のアーキテクチャライブラリモジュールへ提供する制御フロー移転出力モジュールと
を備える装置。 - 前記ABI変更モジュールは、
スタックから前記第1の複数の入力パラメータの第1のパラメータを受信し、
前記第1のパラメータに対応する、前記第2の複数の入力パラメータの第2のパラメータを、前記第2のアーキテクチャライブラリモジュールによって前記第2のパラメータのために用いられることが予期されるレジスタに格納する
請求項1に記載の装置。 - 前記制御フロー移転受け取りモジュール、前記ABI変更モジュール、及び前記制御フロー移転出力モジュールは、前記第1のアーキテクチャライブラリモジュールに対応する第1のラッパーモジュールの一部である
請求項1または2に記載の装置。 - 異なる第1のアーキテクチャライブラリモジュールに各々が対応する複数のラッパーモジュールをさらに備え、
前記複数のラッパーモジュールの各々は、制御フロー移転受け取りモジュール、ABI変更モジュール、及び制御フロー移転出力モジュールを有する
請求項3に記載の装置。 - 前記第1のラッパーモジュールは前記第1のアーキテクチャライブラリモジュールと同じ名前を有し、
前記複数のラッパーモジュールの各々は対応する前記異なる第1のアーキテクチャライブラリモジュールと同じ名前を有する
請求項4に記載の装置。 - 第1のアーキテクチャコードと実行される第2のアーキテクチャコードとから選択されるコードのタイプを決定するプロセッサモード変更モジュールをさらに備え、
前記プロセッサモード変更モジュールは、実行されるコードの前記決定されたタイプと互換性のあるプロセッサのコードタイプ実行モードを変更する
請求項1から5のいずれか1項に記載の装置。 - 前記プロセッサモード変更モジュールは、全ての第1のアーキテクチャコードを有する第1のセグメントと全ての第2のアーキテクチャコードを有する第2のセグメントとの間の複数のインターセグメント制御フロー移転に基づいて実行されるコードの前記タイプを決定する
請求項6に記載の装置。 - 前記制御フロー移転受け取りモジュールは、32ビットコードモジュールから、32ビットライブラリモジュールを対象とする前記第1の呼び出し手順オペレーションを受け取り、
前記ABI変更モジュールは、前記第1の呼び出し手順オペレーションを、64ビットライブラリモジュールと互換性のある対応する前記第2の呼び出し手順オペレーションへ変換し、
前記制御フロー移転出力モジュールは、前記第2の呼び出し手順オペレーションを、前記64ビットライブラリモジュールへ提供する
請求項1から7のいずれか1項に記載の装置。 - 前記第1のアーキテクチャコードモジュールによって使用可能な複数のアーキテクチャ整数レジスタの最大ビット幅は、第2のアーキテクチャコードモジュールによって使用可能な複数のアーキテクチャ整数レジスタの最大ビット幅と異なり、
前記第2のアーキテクチャライブラリモジュールは、数学ライブラリモジュールと標準Cライブラリモジュールとから選択される
請求項1から8のいずれか1項に記載の装置。 - インターアーキテクチャ互換方法であって、
第1のアーキテクチャコードモジュールから、第1のアーキテクチャライブラリモジュールを対象とする第1の呼び出し手順オペレーションを受け取る段階であって、前記第1の呼び出し手順オペレーションは第1の複数の入力パラメータを含む、受け取る段階と、
第2の複数の入力パラメータを含む対応する第2の呼び出し手順オペレーションを、第2のアーキテクチャライブラリモジュールへ提供する段階と
を備える方法。 - 受け取る段階は、32ビットコードモジュールから、32ビットライブラリモジュールを対象とする前記第1の呼び出し手順オペレーションを受け取る段階を有し、
提供する段階は、前記第2の呼び出し手順オペレーションを、64ビットライブラリモジュールへ提供する段階を有する
請求項10に記載の方法。 - 前記第1の複数の入力パラメータの第1のパラメータを、スタックから受け取る段階と、
前記第2の複数の入力パラメータの第2のパラメータを、前記第2のアーキテクチャライブラリモジュールが前記第2のパラメータを受け取るために使用したレジスタに格納する段階と
をさらに備え、
前記第2のパラメータは前記第1のパラメータに対応する
請求項10または11に記載の方法。 - 受け取る段階は、前記第1のアーキテクチャライブラリモジュールと同じ名前を有するラッパーモジュールを用いて前記第1の呼び出し手順オペレーションを受け取る段階を有する
請求項10から12のいずれか1項に記載の方法。 - 前記第1のアーキテクチャライブラリモジュール及び前記第2のアーキテクチャライブラリモジュールの両方の前に動的リンカーによって検索されるように、前記ラッパーモジュールを構成する段階をさらに備える
請求項13に記載の方法。 - 前記第1のアーキテクチャライブラリモジュールを有さない電子デバイスにおいて実行される
請求項10から14のいずれか1項に記載の方法。 - 32ビットコードモジュールと64ビットライブラリモジュールを格納するメモリと、
前記メモリに接続された64ビットプロセッサと、
32ビットライブラリモジュールに対する前記32ビットコードモジュールからの呼び出し手順オペレーションをインターセプトし、対応する呼び出し手順オペレーションを前記64ビットライブラリモジュールへ提供するインターアーキテクチャ互換性モジュールと
を備えるコンピュータシステム。 - 前記インターアーキテクチャ互換性モジュールは、前記32ビットライブラリモジュールに対する前記呼び出し手順オペレーションを前記64ビットライブラリモジュールに対する前記対応する呼び出し手順オペレーションへ変換するべく、複数のアプリケーションバイナリインタフェース(ABI)変更を行う
請求項16に記載のコンピュータシステム。 - 前記32ビットコードモジュール及び前記64ビットライブラリモジュールは、前記メモリの複数の異なるセグメントに格納され、前記32ビットコードモジュールを格納するセグメントはフラットアドレス指定を利用する
請求項16または17に記載のコンピュータシステム。 - 前記インターアーキテクチャ互換性モジュールは、前記32ビットコードモジュールからの前記呼び出し手順オペレーションをインターセプトする前記32ビットライブラリモジュールと同じ名前を有するラッパーモジュールを含む
請求項16から18のいずれか1項に記載のコンピュータシステム。 - 前記コンピュータシステムは、前記32ビットライブラリモジュールを有さない
請求項16から19のいずれか1項に記載のコンピュータシステム。 - 複数の命令を備えたプログラムであって、マシンによって実行された場合、前記複数の命令は、前記マシンに、
第1のアーキテクチャコードモジュールから、第1のアーキテクチャライブラリモジュールを対象とする第1の呼び出し手順オペレーションを受け取る段階であって、前記第1の呼び出し手順オペレーションは第1の複数の入力パラメータを有する、受け取る段階と、
前記第1の複数の入力パラメータを有する前記第1の呼び出し手順オペレーションを、第2の複数の入力パラメータを有する対応する第2の呼び出し手順オペレーションへ変換すべく、複数のアプリケーションバイナリインタフェース(ABI)変更を行う段階と、
前記第2の呼び出し手順オペレーションを第2のアーキテクチャライブラリモジュールへ提供する段階と
を有するオペレーションを実行させるプログラム。 - 前記複数の命令は、前記マシンによって実行された場合、前記マシンに、
32ビットコードモジュールから、32ビットライブラリモジュールを対象とする前記第1の呼び出し手順オペレーションを受け取る段階と、
前記第2の呼び出し手順オペレーションを64ビットライブラリモジュールへ提供する段階と
を有するオペレーションを実行させる
請求項21に記載のプログラム。 - 請求項10から15のいずれか1項に記載の方法を実行する手段を備える装置。
- 複数の命令を備えるプログラムであって、前記複数の命令は、マシンによって実行された場合、前記マシンに請求項10から15のいずれか1項に記載の方法を実行させるように作動するプログラム。
- 第1のアーキテクチャコードモジュールから、第1のアーキテクチャライブラリモジュールを対象とする第1の呼び出し手順オペレーションを受け取る手段と、
第2の複数の入力パラメータを有する対応する第2の呼び出し手順オペレーションを、第2のアーキテクチャライブラリモジュールへ提供する手段と
を備え、
前記第1の呼び出し手順オペレーションは、第1の複数の入力パラメータを有する
インターアーキテクチャ互換性装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/229,795 US10120663B2 (en) | 2014-03-28 | 2014-03-28 | Inter-architecture compatability module to allow code module of one architecture to use library module of another architecture |
US14/229,795 | 2014-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015191657A true JP2015191657A (ja) | 2015-11-02 |
JP6124463B2 JP6124463B2 (ja) | 2017-05-10 |
Family
ID=52630760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015005697A Expired - Fee Related JP6124463B2 (ja) | 2014-03-28 | 2015-01-15 | 一方のアーキテクチャのコードモジュールが他方のアーキテクチャのライブラリモジュールを用いることを可能にするインターアーキテクチャ互換性モジュール |
Country Status (7)
Country | Link |
---|---|
US (1) | US10120663B2 (ja) |
JP (1) | JP6124463B2 (ja) |
KR (1) | KR101817397B1 (ja) |
CN (1) | CN104951296B (ja) |
DE (1) | DE102015002582A1 (ja) |
GB (1) | GB2524616B (ja) |
TW (1) | TWI567646B (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2012373895B2 (en) * | 2012-03-22 | 2016-01-21 | Intel Corporation | Nested emulation and dynamic linking environment |
US9958932B2 (en) | 2014-11-20 | 2018-05-01 | Apple Inc. | Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture |
US9477490B2 (en) * | 2015-01-05 | 2016-10-25 | Dell Software Inc. | Milestone based dynamic multiple watchdog timeouts and early failure detection |
US9778945B2 (en) * | 2015-02-10 | 2017-10-03 | Red Hat Israel, Ltd. | Providing mode-dependent virtual machine function code |
US11403099B2 (en) * | 2015-07-27 | 2022-08-02 | Sony Interactive Entertainment LLC | Backward compatibility by restriction of hardware resources |
US9928115B2 (en) | 2015-09-03 | 2018-03-27 | Apple Inc. | Hardware migration between dissimilar cores |
WO2017052555A1 (en) * | 2015-09-24 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Process and thread launch features |
US10452409B2 (en) * | 2015-10-23 | 2019-10-22 | Oracle International Corporation | Universal adapter for native calling |
US9753776B2 (en) * | 2015-12-01 | 2017-09-05 | International Business Machines Corporation | Simultaneous multithreading resource sharing |
US10284592B1 (en) | 2015-12-17 | 2019-05-07 | Architecture Technology Corporation | Application randomization mechanism |
US10412114B1 (en) | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Application randomization mechanism |
US10007498B2 (en) | 2015-12-17 | 2018-06-26 | Architecture Technology Corporation | Application randomization mechanism |
US10200401B1 (en) * | 2015-12-17 | 2019-02-05 | Architecture Technology Corporation | Evaluating results of multiple virtual machines that use application randomization mechanism |
US10412116B1 (en) | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Mechanism for concealing application and operation system identity |
US10853118B2 (en) * | 2015-12-21 | 2020-12-01 | Intel Corporation | Apparatus and method for pattern-driven page table shadowing for graphics virtualization |
US10261921B2 (en) * | 2016-02-19 | 2019-04-16 | Rajnarine Brigmohan | Universal secure platform virtualization system and method thereof |
US10303488B2 (en) * | 2016-03-30 | 2019-05-28 | Sony Interactive Entertainment Inc. | Real-time adjustment of application-specific operating parameters for backwards compatibility |
US10853040B2 (en) | 2017-03-31 | 2020-12-01 | Microsoft Technology Licensing, Llc | Address space splitting for legacy application compatibility |
CN107423084B (zh) * | 2017-04-24 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 程序修改方法及装置 |
US10554685B1 (en) | 2017-05-25 | 2020-02-04 | Architecture Technology Corporation | Self-healing architecture for resilient computing services |
US11275587B2 (en) * | 2018-05-02 | 2022-03-15 | Micron Technology, Inc. | Static identifications in object-based memory access |
US10761855B2 (en) | 2018-05-02 | 2020-09-01 | Micron Technology, Inc. | Securing conditional speculative instruction execution |
US10977101B2 (en) | 2018-12-12 | 2021-04-13 | International Business Machines Corporation | Interoperability between programs associated with different addressing modes |
US11249760B2 (en) | 2019-04-10 | 2022-02-15 | International Business Machines Corporation | Parameter management between programs |
EP3748440B1 (en) * | 2019-06-03 | 2023-11-08 | ABB Schweiz AG | Workflow of an apparatus |
CN112083934A (zh) * | 2019-06-13 | 2020-12-15 | 青岛海信移动通信技术股份有限公司 | 一种终端和处理方法 |
CN111026452B (zh) * | 2019-11-20 | 2023-10-20 | 北京明朝万达科技股份有限公司 | 一种远程32位进程注入64位进程的方法及系统 |
CN111142969A (zh) * | 2019-12-27 | 2020-05-12 | 贵阳动视云科技有限公司 | 64位程序调用32位程序模块的方法、装置、介质及设备 |
US11294695B2 (en) * | 2020-05-28 | 2022-04-05 | International Business Machines Corporation | Termination of programs associated with different addressing modes |
CN113760338B (zh) * | 2020-06-05 | 2023-07-18 | 北京字跳网络技术有限公司 | 切换应用程序二进制接口abi的方法、装置及电子设备 |
US11231918B1 (en) | 2020-08-31 | 2022-01-25 | Microsoft Technologly Licensing, LLC | Native emulation compatible application binary interface for supporting emulation of foreign code |
US11403100B2 (en) * | 2020-08-31 | 2022-08-02 | Microsoft Technology Licensing, Llc | Dual architecture function pointers having consistent reference addresses |
CN112486570B (zh) * | 2020-11-06 | 2023-06-02 | 麒麟软件有限公司 | 一种不同类型CPU的Glibc兼容方法 |
EP4053722B1 (en) * | 2021-03-01 | 2023-11-29 | Irdeto B.V. | Secured computer code and systems, methods, and storage media for creating the secured computer code from original computer code |
US12014198B2 (en) | 2021-03-25 | 2024-06-18 | International Business Machines Corporation | Running smaller memory-address width program code in a larger memory-address width address space |
CN113076263A (zh) * | 2021-05-06 | 2021-07-06 | 北京字节跳动网络技术有限公司 | 一种进程运行的方法、装置、计算机设备及存储介质 |
US11947993B2 (en) | 2021-06-22 | 2024-04-02 | International Business Machines Corporation | Cooperative input/output of address modes for interoperating programs |
US11556356B1 (en) | 2021-09-23 | 2023-01-17 | International Business Machines Corporation | Dynamic link objects across different addressing modes |
CN114510267B (zh) * | 2022-04-20 | 2023-03-21 | 麒麟软件有限公司 | 基于Linux系统的程序ABI接口兼容性计算方法 |
US12028224B1 (en) | 2023-02-17 | 2024-07-02 | International Business Machines Corporation | Converting an architecture document to infrastructure as code |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04309135A (ja) * | 1991-02-01 | 1992-10-30 | Texas Instr Inc <Ti> | 異なるモードで動作する2個のプログラム・セグメント間でコンピューターがコントロールを転送することを可能にする方法及び装置 |
US20060184919A1 (en) * | 2005-02-17 | 2006-08-17 | Miaobo Chen | Methods and apparatus to support mixed-mode execution within a single instruction set architecture process of a virtual machine |
US7406681B1 (en) * | 2000-10-12 | 2008-07-29 | Sun Microsystems, Inc. | Automatic conversion of source code from 32-bit to 64-bit |
US20090144046A1 (en) * | 2007-09-28 | 2009-06-04 | Rothman Michael A | Method to encapsulate an option rom for operation in multiple firmware and platform architectures |
US20120227061A1 (en) * | 2011-03-03 | 2012-09-06 | Microsoft Corporation | Application compatibility with library operating systems |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473777A (en) * | 1993-07-19 | 1995-12-05 | Moeller; Christopher P. | Wrapper for enabling an object otented application to maintain virtual memory using procedural function calls |
US5379432A (en) * | 1993-07-19 | 1995-01-03 | Taligent, Inc. | Object-oriented interface for a procedural operating system |
US6438621B1 (en) | 1994-11-14 | 2002-08-20 | Microsoft Corporation | In-memory modification of computer programs |
US5870587A (en) | 1996-03-20 | 1999-02-09 | International Business Machines Corporation | Information-handling system, method, and article of manufacture including a mechanism for providing an improved application binary interface |
US5845107A (en) | 1996-07-03 | 1998-12-01 | Intel Corporation | Signaling protocol conversion between a processor and a high-performance system bus |
US8121828B2 (en) * | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
JP3762867B2 (ja) * | 1999-01-29 | 2006-04-05 | 富士通株式会社 | コンパイラ装置、コンパイル方法、およびそのためのプログラムを格納した記憶媒体 |
US6715063B1 (en) | 2000-01-14 | 2004-03-30 | Advanced Micro Devices, Inc. | Call gate expansion for 64 bit addressing |
US6662361B1 (en) | 2000-01-14 | 2003-12-09 | International Business Machines Corporation | Method, system, program, and data structures for transforming an instruction in a first bit architecture to an instruction in a second bit architecture |
US6725366B1 (en) * | 2000-09-07 | 2004-04-20 | International Business Machines, Corporation | System and method for 32 bit code branching to 64 bit targets |
GB0026363D0 (en) * | 2000-10-27 | 2000-12-13 | Sgs Thomson Microelectronics | Bi-endian libraries |
US7406682B2 (en) * | 2001-03-26 | 2008-07-29 | Emc Corporation | Translator-compiler for converting legacy management software |
AT411044B (de) | 2001-10-16 | 2003-09-25 | Burg Design Gmbh | Dekorelement |
US7020729B2 (en) | 2002-05-16 | 2006-03-28 | Intel Corporation | Protocol independent data transmission interface |
US7124445B2 (en) * | 2002-06-21 | 2006-10-17 | Pace Anti-Piracy, Inc. | Protecting software from unauthorized use by converting source code modules to byte codes |
US7353502B2 (en) * | 2002-07-03 | 2008-04-01 | The Mathworks, Inc. | System and method for creation of software components |
US8423976B2 (en) | 2003-03-13 | 2013-04-16 | Northrop Grumman Corporation | Extreme pipeline and optimized reordering technology |
GB0316531D0 (en) | 2003-07-15 | 2003-08-20 | Transitive Ltd | Method and apparatus for performing native binding |
US7519951B2 (en) * | 2003-09-30 | 2009-04-14 | International Business Machines Corporation | Multi-attribute dynamic link library packaging |
US20050221813A1 (en) | 2004-04-05 | 2005-10-06 | Jarno Rajahalme | System and method for initiating auxiliary communication interfaces via a primary communication interface |
US7966624B2 (en) * | 2007-08-22 | 2011-06-21 | Intel Corporation | Using message passing interface (MPI) profiling interface for emulating different MPI implementations |
US8832679B2 (en) * | 2007-08-28 | 2014-09-09 | Red Hat, Inc. | Registration process for determining compatibility with 32-bit or 64-bit software |
US7831813B2 (en) | 2007-12-17 | 2010-11-09 | Globalfoundries Inc. | Uses of known good code for implementing processor architectural modifications |
JP4352086B2 (ja) * | 2007-12-21 | 2009-10-28 | 株式会社東芝 | 情報処理装置およびオペレーティングシステム判別方法 |
US20100077378A1 (en) * | 2008-09-25 | 2010-03-25 | International Business Machines Corporation | Virtualised Application Libraries |
US9189620B2 (en) * | 2009-06-30 | 2015-11-17 | Intel Corporation | Protecting a software component using a transition point wrapper |
US8561183B2 (en) * | 2009-07-31 | 2013-10-15 | Google Inc. | Native code module security for arm instruction set architectures |
US8832676B2 (en) * | 2009-09-30 | 2014-09-09 | Zynga Inc. | Apparatuses, methods and systems for a social networking application updater |
WO2011041871A1 (en) * | 2009-10-08 | 2011-04-14 | Irdeto Canada Corporation | A system and method for aggressive self-modification in dynamic function call systems |
US9075688B2 (en) * | 2010-02-09 | 2015-07-07 | Accenture Global Services Limited | Enhanced upgrade path |
KR101211673B1 (ko) | 2010-12-08 | 2012-12-12 | 한국과학기술연구원 | 사용자 단말에서 다른 시스템 환경을 갖는 외부 단말의 프로그램을 실행하기 위한 바이너리 호환 시스템 및 그 방법 |
US20120222024A1 (en) * | 2011-02-24 | 2012-08-30 | Kushal Das | Mechanism for Managing Support Criteria-Based Application Binary Interface/Application Programming Interface Differences |
CN103092599A (zh) | 2011-11-05 | 2013-05-08 | 京瓷办公信息系统株式会社 | 软件开发套件 |
CN104137055B (zh) * | 2011-12-29 | 2018-06-05 | 英特尔公司 | 点积处理器、方法、系统和指令 |
US9513977B2 (en) * | 2012-01-10 | 2016-12-06 | Intel Corporation | ISA bridging with callback |
US9063759B2 (en) * | 2012-03-28 | 2015-06-23 | International Business Machines Corporation | Optimizing subroutine calls based on architecture level of called subroutine |
RU2012127581A (ru) * | 2012-07-02 | 2014-01-10 | ЭлЭсАй Корпорейшн | Генератор исходного кода для разработки и тестирования программного обеспечения для многопроцессорных сред |
JP5976930B2 (ja) | 2012-08-08 | 2016-08-24 | インテル コーポレイション | バーチャルファンクションを無効にするコールのためのサポートを含むisaブリッジング |
US20140282371A1 (en) * | 2013-03-14 | 2014-09-18 | Media Direct, Inc. | Systems and methods for creating or updating an application using a pre-existing application |
WO2014172710A1 (en) | 2013-04-19 | 2014-10-23 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for binary compatibility |
US9424420B2 (en) * | 2013-08-02 | 2016-08-23 | Red Hat, Inc. | Restricting application binary interfaces |
-
2014
- 2014-03-28 US US14/229,795 patent/US10120663B2/en not_active Expired - Fee Related
-
2015
- 2015-01-15 JP JP2015005697A patent/JP6124463B2/ja not_active Expired - Fee Related
- 2015-01-19 GB GB1500818.8A patent/GB2524616B/en active Active
- 2015-02-13 TW TW104105063A patent/TWI567646B/zh not_active IP Right Cessation
- 2015-02-26 KR KR1020150027602A patent/KR101817397B1/ko active IP Right Grant
- 2015-02-27 DE DE102015002582.1A patent/DE102015002582A1/de active Pending
- 2015-02-28 CN CN201510091576.8A patent/CN104951296B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04309135A (ja) * | 1991-02-01 | 1992-10-30 | Texas Instr Inc <Ti> | 異なるモードで動作する2個のプログラム・セグメント間でコンピューターがコントロールを転送することを可能にする方法及び装置 |
US5604885A (en) * | 1991-02-01 | 1997-02-18 | Texas Instruments Incorporated | Apparatus and method enabling a computer to transfer control between two program segments that call one another but operate in different modes |
US7406681B1 (en) * | 2000-10-12 | 2008-07-29 | Sun Microsystems, Inc. | Automatic conversion of source code from 32-bit to 64-bit |
US20060184919A1 (en) * | 2005-02-17 | 2006-08-17 | Miaobo Chen | Methods and apparatus to support mixed-mode execution within a single instruction set architecture process of a virtual machine |
US20090144046A1 (en) * | 2007-09-28 | 2009-06-04 | Rothman Michael A | Method to encapsulate an option rom for operation in multiple firmware and platform architectures |
US20120227061A1 (en) * | 2011-03-03 | 2012-09-06 | Microsoft Corporation | Application compatibility with library operating systems |
JP2014510343A (ja) * | 2011-03-03 | 2014-04-24 | マイクロソフト コーポレーション | ライブラリーオペレーティングシステムによるアプリケーションの互換性 |
Non-Patent Citations (1)
Title |
---|
佐藤 直樹: "x64 Windowsのしくみと64ビットアプリケーション開発のポイント", C MAGAZINE, vol. 第17巻, 第9号, JPN6016006825, 1 September 2005 (2005-09-01), JP, pages 18 - 37, ISSN: 0003262862 * |
Also Published As
Publication number | Publication date |
---|---|
US20150277867A1 (en) | 2015-10-01 |
KR20150112778A (ko) | 2015-10-07 |
GB2524616B (en) | 2018-05-09 |
JP6124463B2 (ja) | 2017-05-10 |
TW201545058A (zh) | 2015-12-01 |
TWI567646B (zh) | 2017-01-21 |
KR101817397B1 (ko) | 2018-01-11 |
CN104951296B (zh) | 2019-02-15 |
CN104951296A (zh) | 2015-09-30 |
GB201500818D0 (en) | 2015-03-04 |
US10120663B2 (en) | 2018-11-06 |
GB2524616A (en) | 2015-09-30 |
DE102015002582A1 (de) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6124463B2 (ja) | 一方のアーキテクチャのコードモジュールが他方のアーキテクチャのライブラリモジュールを用いることを可能にするインターアーキテクチャ互換性モジュール | |
US11656899B2 (en) | Virtualization of process address space identifiers for scalable virtualization of input/output devices | |
EP3274816B1 (en) | User-level fork and join processors, methods, systems, and instructions | |
US10153012B2 (en) | Multiple register memory access instructions, processors, methods, and systems | |
US20150007196A1 (en) | Processors having heterogeneous cores with different instructions and/or architecural features that are presented to software as homogeneous virtual cores | |
JP5985526B2 (ja) | システムコールのためのロバスト且つ高性能な命令 | |
CN110659129A (zh) | 用于数据表示之间的一致、加速的转换的装置和方法 | |
EP3709159B1 (en) | Processing vectorized guest physical address translation instructions | |
US10761979B2 (en) | Bit check processors, methods, systems, and instructions to check a bit with an indicated check bit value | |
US11269782B2 (en) | Address space identifier management in complex input/output virtualization environments | |
TW201734766A (zh) | 使用處理器指令前綴的二進制轉譯支援 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160223 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160523 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161025 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6124463 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |