3 ms·
I am well aware of the architecture of the MIT CADR, LMI Lambda and TI Explorer, Symbolics lispms less so but they are not the subject of this thread. I have wr
by rjsw 9y ago
I am well aware of the architecture of the MIT CADR, LMI Lambda and TI Explorer, Symbolics lispms less so but they are not the subject of this thread. I have written CADR microcode recently.
None of the features you list are constrained by the architecture of the hardware, they are just conventions of the software VM running on it. Would you suggest that the X86 is a tagged CPU architecture just because SBCL or a JVM use tags ?
>Page 5: 1 GC bit, 1 User bit, 2 cdr code bits, 5 bits data type, 23 bit pointer.
This is not true for the software that matches this version of the manual. System 99 used 25 bit pointers, there wasn't a GC or user bit. The change from the earlier word format was possible because this was not fixed in hardware.
The CADR microinstruction set is load/store with regular opcode fields, it is very much like an early RISC.
- lispm 9y agoIf the X86 would provide SBCL with such instructions and data, it would be a tagged architecture, but it doesn't. The SBCL compiler outputs conventional X86 instructions. The Lisp Machine compiler OTOH generates instructions for a mostly stack machine, which runs on the CPU in microcode.
- rjsw 9y agoThe Lisp compiler described by this manual can output microcode directly. Please don't assume that all Lisp Machines were the same as Symbolics ones.
- lispm 9y agoPlease don't assume that the Lisp compiler on some Symbolics could not output micro code. It could, IIRC. But it was not what a Lisp developer normally would do, he/she would use the compiler in such a way that it outputs the usual machine code, not micro code.
- rjsw 9y agoComputer Architecture is not defined by what a Lisp developer normally would do. What hardware features of the CADR do you feel provide support for GC and tagged words ? I have built the CADR microcode from the same source to use both 24 and 25 bit pointers, it is just software.
- kazinator 9y agoWhether microcode is hardware or software is blurred. Remember, when microcode was introduced in the 1960's, it was used for implementing the same thing in software that other versions of the same computer family did in hardware. With microcode, a vendor could offer different machines at different price/performance points. A sequential circuit can implement an algorithm; microcode can implement an algorithm.
- rjsw 9y agoThe CADR is an example of a computer that implements a virtual machine in software, what makes it special ?
- lispm 9y agoComputer architecture on the user level is defined by the data format and instruction set the CPU offers. How it is implemented is another level. I don't know how some Intel i7 is implemented, but it probably has writable microcode and some very different architecture inside. That Intel hides the microcode and the CADR didn't is just another detail.
- rjsw 9y agoYou still haven't identified what hardware features you think can be emulated in software on a CADR but couldn't be emulated in software on a 68020.
- deleted 9y ago[deleted]