There's a REALLY cool chapter in the first edition, Chapter 12 ("Compiler Derivation") about using continuation-passing style to incrementally convert an interpreter to a (bytecode) compiler. I had never seen that approach before, and it completely blew my mind. Steele's _RABBIT_ (http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AITR...), Krantz's _ORBIT_ (http://repository.readscheme.org/ftp/papers/orbit-thesis.pdf), and Appel's _Compiling with Continuations_ develop the approach further.
It was cut from later editions, for some reason. Too advanced? Too tangential to the rest of the book? Too bad.
Other potential prerequisites to SICP, all of which use Scheme: The Little Schemer (http://www.ccs.neu.edu/home/matthias/BTLS/; a quick read, but a bit overly cute), EoPL (http://www.cs.indiana.edu/eip/eopl.html; a great book in its own right; I recommend the _first_ edition), PLAI (http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/).