Deliverable 1

 
 
Summary & Initial Schedule for Semester 1 Current Date: Week 3 

Project Title: An Animated Java Assembler for the Motorola 68k Processor

The original concept for this project was to create a graphical, animated simulation of the internal operations of a specific microprocessor. The user would enter code to be 'executed', showing the fetch/execute cycle, and therefore most of the bus interactions with the fundamental blocks inside the computer. A further feature of the specification was that the programming language 'Java' should be used, partly for its graphical effects, but also for its cross-platform nature.

Following discussion with my supervisors and some preliminary research the following issues must be addressed: -

Who will use the Package?
Target groups will include educational applications; first/second year electronics students meeting microprocessor technology for the first time, fourth year students (such as myself) wishing to brush up, or refresh their knowledge of microprocessors, and generally anyone who requires a crash course in microprocessors. It could be used by anyone who is writing code for the hardware in order to see their code executing, and possibly fault find.

Which microprocessor?

Options :

This decision has to be made in regard to the above question; the processor chosen for the system must be suited to the users requirements. For the educational purposes noted above the 68k microprocessor is the obvious choice as this processor has all the features of classic microprocessor technology, and it also is the teaching tool currently used in the first/second year courses.

Interpret or assemble instructions?
While it may be conceptually easy to interpret instructions in practice it will be necessary to assemble the user input into a form of machine code which can be interpreted by the program, rather than the actual processor.

Other Aspects

Number Of Functions
Given the foreseeable complexities of the program it may be necessary to limit the useable instruction set to a sub set of those actually available. If the program allows the use of several of the main data movement, data manipulation and branch instructions this should enable the user to understand the basic operations available.
Visual Effect
Just how much detail of the processors cycle does the user need to see? Is it sufficient to show the final outcome of an executed instruction, or show the other extreme where the user can see the individual timing diagrams showing lines changing logic levels. Research in the form of a non-functional user demonstration and a specially prepared user questionnaire will determine the optimum level of visual effect to use.

Modularity/Expandability
As the size and scope of the possibilities for this project are extensive it is easy to see that the allotted time will not allow all the features which could be integrated into the program to be completed. Therefore is it important that when this year's development is completed that the program has been written using techniques which allow another programmer to easily add further functionality. It is also important that related documentation is clear and concise allowing an external party to quickly understand all the development work which has been undertaken.

Plan of Action

At this early stage it is difficult to estimate target timescales to aim for, especially as the specific goal has not yet been decided on. Outlined below is a chart showing a projection of timescales for completion of certain blocks of the project this semester.

An outline of proposed actions is as shown below:
 

Item Completion Date 
  •  Preliminary research 
  •  Java 
  •  M68000 Architecture 
  •  Program processing 
Already completed (Week 3) 
 
  • Gather information on M68k instruction set; i.e. timings etc. 
  • Start planning/implementing GUI (non-functional) 
  • Research on questionnaire preparation 
Week 5 
 
  • Complete Literature Review 
  • Approach users with questionnaire and GUI demo 
  • Begin results analysis 
Week 7 
 
  • Finish questionnaire results analysis 
  • Draw conclusions from results and write exact specification for final program 
Week 9 
 
  • Complete Preliminary Report
Week 12