53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| .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
 |