High-level emulation
Encyclopedia
High-level emulation is an approach for construction of emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

s, especially for video game console
Video game console
A video game console is an interactive entertainment computer or customized computer system that produces a video display signal which can be used with a display device to display a video game...

s, which attempts to simulate the response of the system rather than accurately recreating its internal design.

Instead of trying to accurately create or recreate the hardware gate by gate, in HLE a software platform is created on which the emulated code can be run in a host computer having different hardware and a different instruction set. The effort focuses on recreating the appropriate functionality provided by the system emulated. Thus, the emphasis is shifted from the most efficient method of processing data to getting the same (or comparable) results as if the native platform was used. By contrast, the traditional way of emulating is termed Low-level emulation, or LLE which is used to develop new computer hardware and execute legacy binary code.

The term HLE originates from UltraHLE
UltraHLE
UltraHLE was an emulator for the Nintendo 64. It was hailed as a massive step forward in emulation technology at its 1999 release. Emulating the N64 made it the first of the N64 emulators to run commercial titles at a playable frame rate on the hardware of the time.-The HLE technique:Earlier...

, the first emulator for the Nintendo 64
Nintendo 64
The , often referred to as N64, was Nintendo′s third home video game console for the international market. Named for its 64-bit CPU, it was released in June 1996 in Japan, September 1996 in North America, March 1997 in Europe and Australia, September 1997 in France and December 1997 in Brazil...

 console that ran commercial games. Initial discussion about HLE occurred to give context for the reasons behind some video games not functioning properly with the emulator. The earliest (1962) high-level emulator was called a functional simulator for executing military flight programs written in symbolic assembly language
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

 code, without generating binary code.

Criteria for High-Level Emulation

In order for HLE approach to work, the platform in question must meet certain criteria. Namely, there must exist a higher abstraction level than the raw binary machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...

 to be executed, realised directly in the hardware
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...

, or by the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

. In any case, it must exist outside of the software intended to run on the emulated platform, and have certain amount of standardisation and semantics
Semantics
Semantics is the study of meaning. It focuses on the relation between signifiers, such as words, phrases, signs and symbols, and what they stand for, their denotata....

 for HLE to succeed.

Comparison to traditional models

Compared to LLE, HLE has a very different set of design decisions and trade-offs. First, as the complexity of modern (fifth generation and above) video consoles rapidly increases, so does their computational power, and also the distance to the commodity PCs, which are the most common host systems for the emulators. Thus, the requirements on the quality of the emulated services increases, together with the difficulty of doing so. Hardware chips
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...

 in consoles are usually extremely specialised towards specific functionality needed by games written for them, often in directions which are completely different than those taken by the hardware in an average PC machine. For example, 3D graphics might be realised by an extremely fast integer
Integer
The integers are formed by the natural numbers together with the negatives of the non-zero natural numbers .They are known as Positive and Negative Integers respectively...

 processor
Arithmetic logic unit
In computing, an arithmetic logic unit is a digital circuit that performs arithmetic and logical operations.The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers...

, coupled with the assumption of main system memory
Ram
-Animals:*Ram, an uncastrated male sheep*Ram cichlid, a species of freshwater fish endemic to Colombia and Venezuela-Military:*Battering ram*Ramming, a military tactic in which one vehicle runs into another...

 being the same as graphics memory, taking away the separate step of loading textures.

Emulating such an architecture programmatically on a PC, characterised by the emphasis put on floating-point
FPU
FPU may stand for:* Federation of Progressive Unions, a trade union center in Mauritius* Federation of Trade Unions of Ukraine* Fishermen's Protective Union, a left populist political party and later service organization in the former Dominion of Newfoundland from 1908 to the 1960s* Floating-point...

 operations, and specialised graphics hardware with memory separate from the system memory would be extremely difficult, especially taking into account the scarcity of documentation typical for specialised, proprietary hardware. Even if such emulator could be created, it would be much too slow for use. Instead, with HLE approach, the emulator would be rather written to take the data to be processed, along with the operations list, and implement it using the means available on the host systems, ie. floating-point maths and GPU. The result is not only a much better match with the host platform, but often also significantly better results, as floating-point computation yields higher quality graphics suitable for high resolution displays available for PCs.

Advantages and disadvantages of HLE

Among the advantages of HLE technique, chiefly are the ability to utilise the existing host facilities much better and easier, the ability to optimise the results as the code and hardware improves, and much less or no work at all needed to achieve the desired end result, if an appropriate function is already provided by the host, as would be common in 3D graphics functionality. The progress of implementations is also much more independent of the detailed hardware documentation, instead relying only on the listing of possible functions available to the programmer, which is already provided by a software development kit
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

 available for each platform.

The disadvantages include much higher reliance on standardisation among target applications, and the presence of sufficiently high-level mechanisms in the emulated platforms. If there is no such mechanism, or applications fail to utilise it in one of the already supported ways, they will not work correctly, even if other, superficially similar applications function with no problems. Thus a significant amount of tweaks might be required to get all of the desired titles to run satisfactorily.

As a side-effect, HLE removes the common source of legality issues, by not requiring the users to provide it with the bootstrap software used by the original platform to create an environment for applications to run in. Because the emulator itself provides such environment, it no longer needs system ROM images, bootstrap cartridge images or other software obtained from a physical copy of the emulated system, a process which usually resulted in an unclear status in the light of copyright law.

Future outlook

As the console systems progress into more and more complexity, the importance of HLE approach increases. Modern (6th and 7th generation) video consoles are already far too complex and powerful to facilitate their emulation using the traditional approach. Additionally, some systems (notably Xbox
Xbox
The Xbox is a sixth-generation video game console manufactured by Microsoft. It was released on November 15, 2001 in North America, February 22, 2002 in Japan, and March 14, 2002 in Australia and Europe and is the predecessor to the Xbox 360. It was Microsoft's first foray into the gaming console...

) are themselves little more than a standardised PC machine, making it wasteful to try and recreate the hardware using PC as the host machine. Thus, HLE increasingly becomes the only sensible approach.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK