.so init
.NH
INTRODUCTION
.NH 2
Why an EM backend for SPARC processors?
.PP
With the introduction of SPARC-based computers like the Sun-4, a
whole new range of fast computers became readily available to the general
public. The power of large mainframes had been captured into a small
desk-top computer at only a fraction of the cost.
.PP
In the older days, a new computer used to be very hard to integrate into
the existing environment, but due to standardization in the software world
incompatibility in hardware no longer means incompatibility in software.
Programs that are written for computer A can often be run on computer B
without major modifications. Unfortunately this is not true for all software.
.PP
There will always be programs that rely on the specific
hardware of a certain computer for many different reasons. They
can be categorized as:
.IP -
poorly written programs
.IP -
programs to directly control hardware (device drivers)
.IP -
code that requires efficiency (time-critical I/O drivers)
.IP -
programs to generate code to run on the hardware (compilers)
.LP
This project for instance, the design and implementation of an EM backend
for SPARC processors, comes in the last category.
.PP
We have designed and implemented an algorithm to convert EM programs to code
that will run directly on the SPARC hardware. Henceforth, both the algorithm
and the implementation will be referred to as the EM-to-SPARC backend,
or simply: the backend.
.NH 2
Why has nobody done this before?
.PP
Since EM was designed around 1981 and even SPARC has been around for some
years now, one may wonder why nobody has ever written an EM to SPARC backend
before. The reason is twofold. In the first place, there are some
non-trivial problems to be solved in the design phase, and secondly,
the SPARC-design combined with the lack of documentation, would surely
cost a lot of blood, sweat and tears. The absence of
clues to any of the design problems, combined with the \(em at first
glance \(em inhuman
SPARC instruction set did not make this a very attractive project.
.PP
On the other hand, these were exactly the reasons which made us take on
this particular project: it would require design skills, as well as some
hard work; a golden combination for a successful project.
.bp
