skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Unaligned instruction relocation

Abstract

In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unaligned ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.

Inventors:
; ; ;
Publication Date:
Research Org.:
International Business Machines Corporation, Armonk, NY (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1399904
Patent Number(s):
9,792,098
Application Number:
14/667,933
Assignee:
INTERNATIONAL BUSINESS MACHINES CORPORATION OSTI
DOE Contract Number:
B599858
Resource Type:
Patent
Resource Relation:
Patent File Date: 2015 Mar 25
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Citation Formats

Bertolli, Carlo, O'Brien, John K., Sallenave, Olivier H., and Sura, Zehra N.. Unaligned instruction relocation. United States: N. p., 2017. Web.
Bertolli, Carlo, O'Brien, John K., Sallenave, Olivier H., & Sura, Zehra N.. Unaligned instruction relocation. United States.
Bertolli, Carlo, O'Brien, John K., Sallenave, Olivier H., and Sura, Zehra N.. 2017. "Unaligned instruction relocation". United States. doi:. https://www.osti.gov/servlets/purl/1399904.
@article{osti_1399904,
title = {Unaligned instruction relocation},
author = {Bertolli, Carlo and O'Brien, John K. and Sallenave, Olivier H. and Sura, Zehra N.},
abstractNote = {In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unaligned ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = 2017,
month =
}

Patent:

Save / Share:
  • In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unalignedmore » ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.« less
  • Methods and systems for tuning a resonant modulator are disclosed. One method includes receiving a carrier signal modulated by the resonant modulator with a stream of data having an approximately equal number of high and low bits, determining an average power of the modulated carrier signal, comparing the average power to a predetermined threshold, and operating a tuning device coupled to the resonant modulator based on the comparison of the average power and the predetermined threshold. One system includes an input structure, a plurality of processing elements, and a digital control element. The input structure is configured to receive, frommore » the resonant modulator, a modulated carrier signal. The plurality of processing elements are configured to determine an average power of the modulated carrier signal. The digital control element is configured to operate a tuning device coupled to the resonant modulator based on the average power of the modulated carrier signal.« less
  • Mechanisms for generating and executing programs for a floating point (FP) only single instruction multiple data (SIMD) instruction set architecture (ISA) are provided. A computer program product comprising a computer recordable medium having a computer readable program recorded thereon is provided. The computer readable program, when executed on a computing device, causes the computing device to receive one or more instructions and execute the one or more instructions using logic in an execution unit of the computing device. The logic implements a floating point (FP) only single instruction multiple data (SIMD) instruction set architecture (ISA), based on data stored inmore » a vector register file of the computing device. The vector register file is configured to store both scalar and floating point values as vectors having a plurality of vector elements.« less
  • Mechanisms for implementing a floating point only single instruction multiple data instruction set architecture are provided. A processor is provided that comprises an issue unit, an execution unit coupled to the issue unit, and a vector register file coupled to the execution unit. The execution unit has logic that implements a floating point (FP) only single instruction multiple data (SIMD) instruction set architecture (ISA). The floating point vector registers of the vector register file store both scalar and floating point values as vectors having a plurality of vector elements. The processor may be part of a data processing system.
  • In a processor having multiple clusters which operate in parallel, the number of clusters in use can be varied dynamically. At the start of each program phase, the configuration option for an interval is run to determine the optimal configuration, which is used until the next phase change is detected. The optimum instruction interval is determined by starting with a minimum interval and doubling it until a low stability factor is reached.