A variant supporting 8 cylinder CNG engines is also available. The module is capable of full authority digital engine control FADEC consisting of fuel, spark, and air delivery to the engine. Additional inputs and outputs are available to control other system functions, as defined by software. This unit provides connector pins with inputs, outputs, and communications interfaces that support a wide variety of applications.
SECM Datasheet. The PCM control platform fits a variety of applications, including powertrain control and EV supervisory applications. PCM Product Manual. Our new pin modules are designed for engine and powertrain ECM control. Based on the ST SPCM, the SECM70 control platform fits a variety of applications, including gasoline and natural gas engines for power generation, forklifts, lift trucks, and on-highway vehicles.
Once closed, select Continue to proceed to the connection steps. A software update is available for your device. Select 'Continue' to proceed to the update instructions. You can perform this update at a later time by selecting 'Software Update' from the Software and Diagnostics home page. There is no software update available for your device at this time.
If you are experiencing problems with your device, we encourage you to try the Motorola Troubleshooter. This guided tool will provide you with:. We are sorry, this device is no longer eligible for software updates due to its warranty status. Please note, there is a cost associated with repairs made to devices that are out of warranty.
If you think your device should be In Warranty, please select the 'Warranty Policy Disputes' option below. Your device's software is up to date. Our goal at Motorola is to provide you with the best support possible.
If you are experiencing any issues with your device, we have a few tools to help you resolve your issue. Please review the support options below and decide if you would like to proceed. If the troubleshooter is unable to resolve your issue, you also have the option to submit your device for repair online. If you would like, we can reinstall your device's current software version.
Performing this action may repair any issues faced with long term usage. If you would like to perform a reinstall, select Continue to proceed to the reinstall instructions.
Check the USB connection to your device and try again. Need Help? Show Me How. Some devices have specific connection instructions. Selecting your model manually may help. If your device is properly connected to the PC and still not detectable, it may not be supported. Please see the list of unsupported models here. Once you choose 'Update Now', this window will automatically close and a new window will open with the update instructions.
After the update, you may return to the support site by selecting 'Service My Product' in the left hand menu panel. You may also perform this update at a later time by selecting 'Cancel'.
All rights not expressly granted to you are reserved by Motorola. You acknowledge that no title to any intellectual property in the Software is transferred to you. You may transfer all your rights to the Software under this Agreement to another person by transferring, on a permanent basis, to such other person the personal computer on which the Software is installed, provided that you retain no copy of the Software and that the transferee agrees to all the terms of this Agreement. You agree not to use the Software in High Risk Activities.
Government acknowledges Motorola's representation that the Software and its documentation were developed at private expense and no part of them is in the public domain and that the Software is Restricted Computer Software as that term is defined in Clause Algonquin Rd. You agree that you will not export the Software without an export license issued by the U. Department of Commerce. You agree to comply with all regulatory sanctions or restrictions involving a party or an entity identified as Denied Parties or Specially Designated Nationals by the U.
Department of Treasury. The entire risk as to the quality and performance of the Software is with you. This Agreement will terminate, and the license granted to you by this Agreement will be revoked, immediately, without any notice from Motorola, if you fail to comply with any provision of this Agreement.
Upon termination, you must destroy the Software. This Agreement may not be modified or waived except in writing and signed by an officer of Motorola, Inc. If any provision is held invalid, all other provisions shall remain valid, unless such invalidity would frustrate the purpose of our Agreement.
The failure of either party to enforce any rights granted hereunder or to take action against the other party in the event of any breach hereunder shall not be deemed a waiver by that party as to subsequent enforcement of rights or subsequent action in the event of future breaches.
Notwithstanding the above, Motorola, Inc. We have verified that we need to install a few tools to your computer in order to communicate with your device. Please make sure your device is not currently connected to your computer with a USB cable while we proceed with installation. You will be prompted to connect your device in a later step. A check of your system determined that the Microsoft. NET Framework is not installed on your computer.
NET Framework to your computer. You are now ready to install Motorola Helper. What is Motorola Helper? Motorola Helper is a lightweight application that allows your browser to communicate with the your Motorola mobile device when it is connected to the computer.
Without this application installed on your computer you will not be able to perform any analysis of, or updates to, your Motorola mobile device. What are Motorola Drivers? Motorola Drivers is a set of files that allow your computer to communicate with your Motorola mobile device when it is connected to the computer. This is very similar to the printer drivers that are necessary for your computer to communicate with a printer that is connected to your computer.
Without the Motorola Drivers installed on your computer you will not be able to perform any analysis of, or updates to, your Motorola mobile device. What is Motorola Software Update? Motorola Software Update enables the ability to update your Motorola mobile device with the latest software version available when your mobile device is connected to your computer.
What is Motorola Diagnostics? Motorola Diagnostics allows you to perform analysis and testing of your Motorola mobile device when it is connected to your computer. Without this application installed on your computer you will not be able to perform any analysis or testing of your Motorola mobile device.
Please visit Adobe website to download and install the latest version of the player. You may have to close your browser and come back to this site once you have finished installation. If you do not wish to install this additional software, please uncheck the box on the page to remove these from the installation before selecting 'Download now'.
When you have finished installing the Adobe Flash Player, click 'Continue' below. You Selected: Value You have indicated a problem with your device battery. We have some instructions to test your battery performance before you send your device for repair. This will help you to evaluate your battery performance and can also avoid sending your device for repair.
Please follow the instructions here. We will do some advanced diagnostics on your phone to understand your problem better. Please follow the instructions in the status area. Thanks for visiting the Motorola Troubleshooter, the following web experience will guide you down a path of simple step by step issue identification and then provide you with a basic self service diagnostic guide that will hopefully help you resolve your issue or take you to the section of our software and diagnostics site that better suits your issue.
The Troubleshooter can assist you by connecting your device to the PC or by having you manually enter in your device information. Connecting your device enhances your troubleshooting experience. We're sorry that we were unable to help you resolve your issue.. Given that an operation could only have a total of 3 different registers in active use at any given time e. The mapping of the 7 target registers to the 32 source registers are constantly switched depending on the need dictated by the operation.
Using the same example, if all the 7 registers are occupied and 2 of them are active for A and B, one of the other 5 registers is flushed into memory, and C is loaded into that flushed register. If the data that was flushed is needed again, it can be brought back to the registers by flushing one of the other registers. The optimization stage thus determines the optimized flow of information based on the characteristics of the target processor.
Such information is passed onto the subsequent encoding stage The optimization stage tells the encoding stage which of the registers to map and which to map out, etc. The optimization stage also optimizes register mapping. The source instruction for the R processor would require that register A and register B must be loaded from memory, register A is added to register B, and the result is in register C. The operation may require the purging of one or more of the registers on the processor to accommodate the variables, and the storing into memory the result C.
The optimization stage recognizes from the instruction stream that the result of the addition is to be placed in register C, so the optimization stage outputs an instruction flow sequence which includes mapping the memory C to the register C, moving of A into register C and adding register B into register C, without fetching the existing value of C from memory because the existing value of C will be overridden eventually. This process is conducted with processor registers and the value of register C does not need to be stored into memory until it needs to be flushed.
It has saved the fetching of C from memory and the storing of C back out to memory until it is required, thereby reducing the overall memory load. Without optimization as the instruction code for the R processor, the instruction sequence includes fetching A and C, adding and placing the result in a temporary register, and then moving the value in the temporary register into register C. Many other optimization rules may be developed for other operational scenarios and specific target processors without departing from the scope and spirit of the present invention.
For example, optimization may include interleaving instructions for a target processor e. The optimization stage can optimize the flow of information by taking advantage of such delay to read other data before the previously read data is useable. The encoding stage 16 encodes and optimizes the operation codes specific for the target processor. Using the examples of R and 80X86, the instructions for R are always bit long or 4 bytes.
For the 80X86, the instructions are variable length, so the instructions might have a 1-byte instruction, a 3-byte instruction, 7-byte instruction and so on.
Hence, it is advantages to use the smallest number of instructions and the instructions that take the least number of clock cycles to execute.
Conceivably, one can have an instruction that is relatively long, say a 7-byte instruction, but is faster to execute such instruction than executing a number of instructions that are each 2-byte long. Based on the optimized flow of information determined by the optimization stage 14 , the encoding stage 16 determines the optimized operation codes to achieve results equivalent to the source instructions. In accordance with the present invention, the encoding stage provides several operation code options cases for achieving the same results.
The particular case that is optimal depends on the data flow and intended result determined by the earlier stages. Accordingly, the result of an addition operation is optimally achieved by a different physical operation, a subtraction operation in the example. Again, the present invention effectively interpolates the optimal operations to achieve the same results intended by the source instructions.
In a way, the encoding stage optimizes the target operation code in a context sensitive way. Similar and analogous logic may be applied to obtain other equivalent results to subtraction, division, multiplication, comparison, etc. For example, for multiplication by 2, the number is shifted bit-wise in an operation in accordance with the R platform.
To achieve a similar result of this shift variable operation, the encoding stage of the present invention may provide for several cases for shifting the number to be multiplied by 2 bit-wise to achieve the same result, depending which case is more efficient to obtain the equivalent result.
The process and system of the present invention has been described above in terms of functional modules in block diagram format. It is understood that unless otherwise stated to the contrary herein, one or more functions may be integrated in a single physical device or a software module in a software product, or a function may be implemented in separate physical devices or software modules, without departing from the scope and spirit of the present invention.
It is appreciated that detailed discussion of the actual implementation of each module is not necessary for an enabling understanding of the invention. The actual implementation is well within the routine skill of a programmer and system engineer, given the disclosure herein of the system attributes, functionality and inter-relationship of the various functional modules in the system.
A person skilled in the art, applying ordinary skill can practice the present invention without undue experimentation. While the invention has been described with respect to the described embodiments in accordance therewith, it will be apparent to those skilled in the art that various modifications and improvements may be made without departing from the scope and spirit of the invention.
Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiments, but only by the scope of the appended claims. A method of generating target instructions from a plurality of first instructions, the target instructions executable on a target processor, comprising: analyzing the plurality of first instructions en masse by an information processing system to produce information representing a flow of information to be handled by the target processor to achieve results on the target processor equivalent to the results intended to be achieved by the first instructions;.
A method as claimed in claim 5 , wherein the first instructions are not executable on the target processor. A method for executing target instructions generated according to a method as claimed in claim 5 , wherein the information representing the information flow is produced and the target instructions are generated after accessing the plurality of first instructions from a memory, the method further comprising executing the target instructions without requiring the target instructions to be first stored to the predetermined memory.
A method as claimed in claim 5 , wherein the plurality of first instructions are according to a first machine language, the plurality of first instructions being of a type executable by a first processor but not executable by the target processor, and the target instructions are according to a second machine language, the target instructions being of a type executable by the target processor.
A method as claimed in claim 8 , wherein the target instructions are generated in a manner to reduce a number of machine cycles required to execute the target instructions in relation to the number of machine cycles that would be required to execute instructions according to a literal translation of the plurality of first instructions into the second machine language. A method as claimed in claim 5 , wherein the target instructions specify a target number of transfers between a register of the target processor and a memory associated with the target processor, the target number being different from a number of transfers specified by the plurality of first instructions between a register of the first processor and a memory associated with the first processor.
A method as claimed in claim 10 , wherein the target number of transfers is reduced in relation to a number of transfers that would result from a literal translation of the plurality of first instructions from a first machine language into a second machine language.
A method as claimed in claim 10 , wherein the target number of transfers is further reduced by reducing a number of transfers of an operand between the register of the target processor and the memory associated with the target processor, the operand required for execution of each of a plurality of the target instructions.
A method as claimed in claim 5 , wherein one or more of the target instructions is executable to perform a second physical operation that is different from, but equivalent to a first physical operation, wherein one or more instructions of the plurality of first instructions are executable by the first processor to perform the first physical operation.
A method according to claim 5 , further comprising determining a purpose to be achieved by the plurality of first instructions en masse, wherein the step of generating the target instructions includes eliminating operations specified by the plurality of first instructions which are unnecessary to achieve the determined purpose.
A method according to claim 5 , further comprising eliminating operations specified by the plurality of first instructions which are unnecessary to support the flow of information to be handled by the target processor.
A method as claimed in claim 5 , wherein the step of generating the target instructions includes substituting target operations different from first operations specified by the plurality of first instructions to reduce the number of machine cycles required to perform the target operations by the target processor in relation to the number of machine cycles required to perform the first operations by the target processor. A method as claimed in claim 5 , wherein the step of analyzing the plurality of first instructions to produce information representing a flow of information includes determining a purpose to be achieved by the plurality of first instructions en masse through determining a sequence of operations specified by the plurality of first instructions, and removing ones of the specified operations from the sequence of operations which are unnecessary to support the determined purpose to provide a modified sequence, the information representing the flow of information including the modified sequence.
A method as claimed in claim 5 , wherein said step of analyzing includes omitting an operation encoded by a first one of the plurality of first instructions from the information representing the information flow when the operation is overridden by another operation encoded by a second one of the plurality of first instructions. A method as claimed in claim 5 , wherein the step of generating the target instructions includes mapping a usage of the target registers in accordance with the target instructions to a usage of the first registers in accordance with the first instructions based on the information representing the information flow, the mapping varying with time in accordance with the equivalent results to be achieved on the target processor.
A machine-readable medium having information recorded thereon for performing a method of generating target instructions from a plurality of first instructions, the target instructions executable on a target processor, the method comprising: analyzing the plurality of first instructions en masse by an information processing system to produce information representing a flow of information to be handled by the target processor to achieve results on the target processor equivalent to the results intended to be achieved by the first instructions;.
An information processing system operable to generate a plurality of target instructions from a plurality of first instructions, the target instructions being executable on a target processor, the information processing system being operable to analyze the plurality of first instructions en masse to produce information representing a flow of information to be handled by the target processor to achieve results on the target processor equivalent to the results intended to be achieved by the first instructions, and to generate the target instructions based on the information representing the information flow, in preference over particular operations specified by individual ones of the plurality of first instructions.
A system operable to generate target instructions executable by a target processor from a plurality of first instructions executable by a first processor, the system comprising: a first stage operable to analyze the plurality of first instructions en masse to produce information representing a first flow of information specified by the plurality of first instructions;.
USP true USB2 en. Method and system for transparent dynamic optimization in a multiprocessing environment. Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host.
USB1 en. Extended language specification designation method, program development method, program, and computer-readable storage medium. Method and apparatus for solving clock management problems in emulation involving both interpreted and translated instructions. Method for preventing malicious software from execution within a computer system. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code. Translation block invalidation prehints in emulation of a target system on a host system.
Application programming interfaces for data parallel computing on multiple processors. KRB1 en. Comprise to connect the ISA Bridge of the support called rewriteeing virtual function. Method for optimizing computer code to provide more efficient execution on computers having cache memories. Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses.
Compiling a source code vector instruction by generating a subgrid loop for iteratively processing array elements by plural processing elements. Method of using a target processor to execute programs of a source architecture that uses multiple address spaces. Compiling apparatus and method for promoting an optimization effect of a program. Method of generating code for programmable processors, code generator and application thereof.
0コメント