FACTOID # 72: There are 22 countries where more than half the population is illiterate. Fifteen of them are in Africa.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Binary translation
Jump to: navigation, search

In computing, binary translation is the emulation of one instruction set by another through translation of code. Sequences of instructions are translated from the source to the target instruction set. Originally, the word computing was synonymous with counting and calculating, and a science that deals with the original sense of computing mathematical calculations. ... This article is about emulation in computer science. ... Jump to: navigation, search An instruction set, or instruction set architecture (ISA), describes the aspects of a computer architecture visible to a programmer, including the native datatypes, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O (if any). ... Jump to: navigation, search A system of codes directly understandable by a computers CPU is termed this CPUs native or machine language. ... Jump to: navigation, search An instruction is a form of communicated information that is both command and explanation for how an action, behavior, method, or task is to be begun, completed, conducted, or executed. ...


There is static binary translation, where an entire executable file is translated into an executable of the target architecture. This is very difficult to do correctly, since not all the code can be discovered by the translator. For example, some parts of the executable may be reachable only through indirect branches, whose value is only known at run-time. An executable or executable file, in computer science, is a file whose contents are meant to be interpreted as a program by a computer. ... An indirect branch (also known as a computed jump) is a type of program control instruction present in some machine language instruction sets. ...


Alternatively, dynamic translation looks at a short sequence of code, typically on the order of a single basic block, translates it and caches the resulting sequence. Code is only translated as it is discovered and when possible, branch instructions are made to point to translated code. In computing, a basic block is a straight-line piece of code without any jumps or jump targets in the middle; jump targets, if any, start a block, and jumps end a block. ...


Dynamic binary translation differs from simple emulation by eliminating the emulator's main read-decode-execute loop (a major performance bottleneck), paying for this by large overhead during translation time. This overhead is hopefully amortized as translated code sequences are executed multiple times.


More advanced dynamic translators employ dynamic recompilation: the translated code is instrumented to find out what portions are executed a large number of times, and these portions are optimized aggressively. This technique is reminiscent of a JIT compiler, and in fact such compilers (e.g. Sun's HotSpot technology) can be viewed as dynamic translators from a virtual instruction set (the bytecode) to a real one. In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. ... Jump to: navigation, search Compiler optimization techniques are optimization techniques that have been programmed into a compiler. ... See also Just in time for the business technique In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of interpreted programs. ... Jump to: navigation, search Sun Microsystems (Sun Microsystems, Inc. ... HotSpot is the primary Java Virtual Machine for desktops and servers produced by Sun Microsystems. ... Byte-code is a sort of intermediate code that is more abstract than machine code. ...

  • Apple Computer implemented a dynamic translating emulator for M68K code in their PowerPC line of Macintoshes, which achieved a very high level of reliability, performance and compatibility (see Mac 68K emulator). This allowed Apple to bring the machines to market with only a partially native operating system, and end users could adopt the new, faster architecture without risking their investment in software. Partly because the emulator was so successful, many parts of the operating system remained emulated. A full transition to PowerPC native O/S was not made until the release of Mac OS X (10.0) in 2001, and within this new O/S the "Classic" runtime environment still offers the emulation capability as of 10.3 (10/2003). Also, the Rosetta emulator included in Mac OS 10.4 x86 edition, which is used to ease the transition from the PPC to x86, is an example of dynamic translation.
  • DEC achieved similar success with its translation tools to help users migrate from the CISC VAX architecture to the DEC Alpha RISC architecture.
  • In January 2000, Transmeta Corporation announced a novel processor design named Crusoe. From the FAQ on their web site, The smart microprocessor consists of a hardware VLIW core as its engine and a software layer called Code Morphing™ software. The Code Morphing software acts as a shell ... morphing or translating x86 instructions to native Crusoe instructions. In addition, the Code Morphing software contains a dynamic compiler and code optimizer ... The result is increased performance at the least amount of power. ... [This] allows Transmeta to evolve the VLIW hardware and Code Morphing software separately without affecting the huge base of software applications. More info at arstechnica, geek.com.

Jump to: navigation, search Apple Computer, Inc. ... An emulator reproduces an arcade games playable atmosphere on a Windows computer. ... The Motorola 68000 is a CISC microprocessor, the first member of a successful family of microprocessors from Motorola, which were all mostly software compatible. ... Jump to: navigation, search PowerPC is a RISC microprocessor architecture created by the 1991 Apple-IBM-Motorola alliance, known as AIM. Originally intended for workstations, PowerPC CPUs have since become popular embedded and high-performance processors as well. ... Jump to: navigation, search Apple iMac G5 desktop computer with Apple Remote attached to the side, and Front Row on the display. ... The Mac 68K emulator was a software emulator built into all versions of the Mac OS for PowerPC. This emulator permitted the running of applications and system code that were originally written for the 680x0 based Macintosh models. ... Jump to: navigation, search In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... Jump to: navigation, search Mac OS X is an operating system designed and developed by Apple Computer for use on their current line of Macintosh computers. ... Rosetta is a lightweight dynamic translating emulator for Mac OS X developed by Apple to enable applications compiled specifically for the PowerPC family of processors to run on Apple systems based on Intel processors. ... Digital Equipment Corporation was a pioneering company in the American computer industry. ... A Complex Instruction Set Computer (CISC) is an instruction set architecture (ISA) in which each instruction can indicate several low-level operations, such as a load from memory, an arithmetic operation, and a memory store, all in a single instruction. ... Jump to: navigation, search VAX is a 32-bit computing architecture that supports an orthogonal instruction set (machine language) and virtual addressing (i. ... DEC Alpha AXP 21064 Microprocessor The DEC Alpha, also known as the Alpha AXP, is a 64-bit RISC microprocessor originally developed and fabricated by Digital Equipment Corp. ... Jump to: navigation, search Reduced Instruction Set Computer (RISC), is a microprocessor CPU design philosophy that favors a smaller and simpler set of instructions that all take about the same amount of time to execute. ... Transmeta (NASDAQ: TMTA) was founded in 1995 by Dave Ditzel as a US-based corporation that designed VLIW code morphing microprocessors. ... A very long instruction word or VLIW CPU architectures implement a form of instruction level parallelism. ... x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. ...

See also

In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ... Jump to: navigation, search In general terms, a virtual machine in computer science is software that creates an environment between the computer platform and the end user in which the end user can operate software. ... An emulator reproduces an arcade games playable atmosphere on a Windows computer. ...

External links

  • http://www.transitive.com
  • http://fabrice.bellard.free.fr/qemu/
  • http://www.itee.uq.edu.au/~csmweb/decompilation/bintrans.html (somewhat dated)
  • http://www.gtoal.com/sbt/ Static Binary Translation HOWTO

  Results from FactBites:
 
Binary (919 words)
Binary compound A binary compound is a elements.
Binary Golay code The binary Golay code is an subspace W of the space V= F together with the word consisting of all basi...
Binary symmetric channel In pulse and absence of a pulse, for instance), this assumption is often not valid in practical...
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.