diff doc/utils.rst @ 381:6df89163e114

Fix section and ldr pseudo instruction
author Windel Bouwman
date Sat, 26 Apr 2014 17:41:56 +0200
parents 8d07a4254f04
children
line wrap: on
line diff
--- a/doc/utils.rst	Fri Apr 18 13:08:45 2014 +0200
+++ b/doc/utils.rst	Sat Apr 26 17:41:56 2014 +0200
@@ -29,3 +29,43 @@
 
 .. automodule:: pyburg
 
+
+Machine descriptions
+--------------------
+
+There are some attempts made already to describe machines in a Domain
+Specific Language (DSL). Examples of these are:
+- Tablegen (llvm)
+- cgen (gnu)
+- LISA (Aachen)
+- nML (Berlin)
+- SLED (Specifying representations of machine instructions (norman ramsey and Mary F. Fernandez))
+
+
+The goal of a machine description file is to describe a file and generate
+tools like assemblers, disassemblers, linkers, debuggers and simulators.
+
+Advantage of using this approach is that porting these tools is a semi automated
+process. Rewriting all of these tools from scratch is tedious and errorprone.
+
+Concepts to use in this language:
+- Single stream of instructions
+- State stored in memory
+- Pipelining
+- Instruction semantics
+
+Each instruction has the following properties:
+- Bit representation
+- Assembly language representation
+- Semantic action
+
+Optionally a description in terms of compiler code generation can be attached
+to this. But perhaps this clutters the description too much and we need to put
+it elsewhere.
+
+
+The description language can help to expand these descriptions by expanding
+the permutations.
+
+
+