1993-03-31 13:22:17 +00:00
|
|
|
.In
|
1991-09-27 16:19:24 +00:00
|
|
|
.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
|