Pristine Ack-5.5
[Ack-5.5.git] / doc / sparc / 1
1 .In
2 .NH
3 INTRODUCTION
4 .NH 2
5 Why an EM backend for SPARC processors?
6 .PP
7 With the introduction of SPARC-based computers like the Sun-4, a
8 whole new range of fast computers became readily available to the general
9 public. The power of large mainframes had been captured into a small
10 desk-top computer at only a fraction of the cost.
11 .PP
12 In the older days, a new computer used to be very hard to integrate into
13 the existing environment, but due to standardization in the software world
14 incompatibility in hardware no longer means incompatibility in software.
15 Programs that are written for computer A can often be run on computer B
16 without major modifications. Unfortunately this is not true for all software.
17 .PP
18 There will always be programs that rely on the specific
19 hardware of a certain computer for many different reasons. They
20 can be categorized as:
21 .IP -
22 poorly written programs
23 .IP -
24 programs to directly control hardware (device drivers)
25 .IP -
26 code that requires efficiency (time-critical I/O drivers)
27 .IP -
28 programs to generate code to run on the hardware (compilers)
29 .LP
30 This project for instance, the design and implementation of an EM backend
31 for SPARC processors, comes in the last category.
32 .PP
33 We have designed and implemented an algorithm to convert EM programs to code
34 that will run directly on the SPARC hardware. Henceforth, both the algorithm
35 and the implementation will be referred to as the EM-to-SPARC backend,
36 or simply: the backend.
37 .NH 2
38 Why has nobody done this before?
39 .PP
40 Since EM was designed around 1981 and even SPARC has been around for some
41 years now, one may wonder why nobody has ever written an EM to SPARC backend
42 before. The reason is twofold. In the first place, there are some
43 non-trivial problems to be solved in the design phase, and secondly,
44 the SPARC-design combined with the lack of documentation, would surely
45 cost a lot of blood, sweat and tears. The absence of
46 clues to any of the design problems, combined with the \(em at first
47 glance \(em inhuman
48 SPARC instruction set did not make this a very attractive project.
49 .PP
50 On the other hand, these were exactly the reasons which made us take on
51 this particular project: it would require design skills, as well as some
52 hard work; a golden combination for a successful project.
53 .bp