diff options
author | Andrew Cagney <cagney@redhat.com> | 1998-11-23 11:37:56 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 1998-11-23 11:37:56 +0000 |
commit | 554eb429e4555ceaa7892a8ab93c7a41045a6824 (patch) | |
tree | f7e2058223e05d00b7014e590fdf09517514a259 /sim/mips/README.Cygnus | |
parent | 57791952b6dd3a846918b2e10870b7e0cc9dbe93 (diff) | |
download | gdb-554eb429e4555ceaa7892a8ab93c7a41045a6824.zip gdb-554eb429e4555ceaa7892a8ab93c7a41045a6824.tar.gz gdb-554eb429e4555ceaa7892a8ab93c7a41045a6824.tar.bz2 |
gencode.c: Kill, Kill, Kill....
Remove last remenats of old gencode simulator.
Diffstat (limited to 'sim/mips/README.Cygnus')
-rw-r--r-- | sim/mips/README.Cygnus | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/sim/mips/README.Cygnus b/sim/mips/README.Cygnus deleted file mode 100644 index 8b59e88..0000000 --- a/sim/mips/README.Cygnus +++ /dev/null @@ -1,74 +0,0 @@ -This directory contains two very different simulators: - - o gencode (old) - - Gencode.c outputs a single monolithic file that is - #included by interp.c - - o igen (new) - - The *.igen files are used as inputs to ../igen/igen. - A number of separate, fairly modula files, are created. - -The new simulator has a number of advantages: - - o builtin support for multi-simming (single simulator - image supporting a number of different instruction - set architectures). - - o Easier maintenance. The input files are not confused - by an intermixing with the generator code. - -gencode continues to exist so that old architectures can be emulated. -*.igen should be used when adding new architectures or adding -instructions to an existing ISA. - -Known bugs? - -In mips.igen, the semantics for many of the instructions were created -using code generated by gencode. Those semantic segments could be -greatly simplified. - - ----- - -Old README.Cygnus ... - -> README.Cygnus -------------------------------------------------------------------------------- - -The following are the main reasons for constructing the simulator as a -generator: - -1) Avoid large fixed decode source file, with lots of #ifs controlling - the compilation. i.e. keep the source cleaner, smaller and easier - to parse. - -2) Allow optimum code to be created, without run-time checks on - instruction types. Ensure that the simulator engine only includes - code for the architecture being targetted. e.g. This avoids - run-time checks on ISA conformance, aswell as increasing - throughput. - -3) Allow updates to the instruction sets to be added quickly. Having a - table means that the information is together, and is easier to - manipulate. Having the table generate the engine, rather than the - run-time parse the table gives higher performance at simulation - time. - -4) Keep all the similar simulation code together. i.e. have a single - place where, for example, the addition code is held. This ensures that - updates to the simulation are not spread over a large flat source - file maintained by the developer. - -------------------------------------------------------------------------------- - -To keep the simulator simple (and to avoid the slight chance of -mis-matched files) the manifests describing an engine, and the -simulator engine itself, are held in the same source file. - -This means that the engine must be included twice, with the first pass -controlled by the SIM_MANIFESTS definition. - -------------------------------------------------------------------------------- -> EOF README.Cygnus |