1 / 10

A Reversible MC68HC11 Simulator and Its Empirical Computational Complexity Charles Vermette

This project aims to simulate a real irreversible machine on a reversible architecture to record time and space complexity. It will aid research into reversible computing and provide empirical data for theoretical behavior.

Télécharger la présentation

A Reversible MC68HC11 Simulator and Its Empirical Computational Complexity Charles Vermette

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Reversible MC68HC11 Simulator and Its Empirical Computational Complexity Charles Vermette CIS 4914 Senior Project August 7, 2001

  2. Problem • Hard data is needed to prove theoretical behavior of simulation algorithms on a real architecture. • Solution • Simulate a real irreversible machine on a real reversible architecture and record time/space complexity. • Motivation • Why? • Work will aid in research into reversible computing. • Why me? • Interested in subject matter. • Some previous experience.

  3. Literature Sources • C. H. Bennett. Logical reversibility of computation. IBM J. Research and Development, 17(6):525-532, 1973. • C.H. Bennett. Time/space trade-offs for reversible computation. SIAM J. Computing, 18(4):766-776, 1989. • M. P. Frank. Reversibility for Efficient Computing. (unpublished manuscript), 1999. • R. Y. Levine and A. T. Sherman. A note on Bennett’s time-space tradeoff for reversible computation. SIAM J. Computation, 19(4):673-677, 1990. • M. Li, J. Tromp, P. Vitány.Reversible Simulation of Irreversible Computation. Physica D, 120:168-176, 1998. • Motorola, Inc. M68HC11 E Series Programming Reference Guide. (product information pamphlet), 2000.

  4. Work Completed • Test program written and compiled. • integer Floyd-Warshall algorithm. • using gcc hc11 port http://home.worldnet.fr/~stcarrez/m68hc11_port.html • Op code counting program written. • outputs op codes used in program dump, total number of op codes and total unique op codes. • Binary to R language translator written. • converts a binary dump of a program segment to an R language array declaration statement • Simulation step code written. • All op codes detected have had simulation routines written. • note: only 45/64 ops in current version due to accidental deletion

  5. Simulator Architecture

  6. Garbage Information Layout 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ccr | garbage | pc info pc info [7..0]: 7 - branch taken flag 6 - jump taken flag 5 - page x flag 2..0 - instruction length

  7. C to HC11 Compilation Statistics Source file: apsp.c Length: 13 loc, 273 bytes Text Segment Dump: apsp.b Length: 897 bytes Output from opcount: Page 1 5 6 8 e 20 26 27 2d 2f 30 32 33 35 36 37 38 39 3c 3e 4a 4c 4f 5a 5f 6f 7e 80 83 8c 8e 8f a6 bd c3 cc ce d3 dc dd de df e3 ec ed ee ff Page 2 8 30 38 3c 8f a7 ce de df e3 ec ed Page 3 83 a3 ee ef Page 4 ee ef Total opcodes in file: 471 Distinct opcodes in file: 64

  8. Program Embedding • Use objcopy utility to produce binary dump of text segment • Run bin2ra to convert the dump into an R language array • Insert the output of bin2ra into the simulator source file • Binary becomes R code • $12$FF$05 (defarray [name] • 18 255 5 • )

  9. Conclusions • Bugs in R compiler were exposed and corrected • Utility of R as a general purpose language was supported • New R language constructs were discussed • Work was begun to test behavior of Bennett89

  10. Future Work • Recover lost op code routines. • Test op code routines. • Code simulation segment routine. • Get complexity measurements.

More Related