スモールトークのシステム構成

スモールトークは仮想機会(VM)の上に動くプログラミング言語です。他の言語と違ってスモールトークのプログラムはVMの環境と密着しています。
I am interested in considering the architecture of the SmallTalk virtual machine, development environment, and language. Some open questions include:
1. Why is Object Memory separate from the interpreter?
2. Why was there an object table in Apple SmallTalk and why was it done away with in later VMs?
3. Why can a program written in SmallTalk not run on any VM without changing the format?
4. Does the SmallTalk VM maintain a stack and heap?
5. How does SmallTalk's interpreter maintain a mapping from SmallTalk source to the target architecture's binary code for debugging purposes?
6. Is all code of the Squeak VM implemented in C?