[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What exactly WAS Apple Pascal?
et472@FreeNet.Carleton.CA (Michael Black) wrote:
>>
>It's been a long time, but I thought there was a computer or two that
>directly interpreted p-code. Instead of 6502 (or any CPU) op-codes, the CPU
>would interpret p-code directly. I thought there was at least one very
>fancy computer built in Europe that did this, and if I'm remembering, it
>used common logic to build it up. But I also thought there was a bit-sliced
>computer that interperted p-code directly too.
>
Western Digital made a cpu that was a real stack machine with the p-code
instruction set. Not a commecrcial succes, but an important part of the UCSD
Pascal history since it meant that the p-code machine was frozen because it was
not only an interpreter but also hardware.
The language designers of the 70ties and 80ties (e.g. Niklaus Wirth, Per Brinch
Hansen) really believed cpu's to become stack machines, close to what compilers
like the Pascal compilers of these days deliver. It did not happen.
Machines like Lilith and its successors at the ETH Zurich are perhaps what you
remember: also build to support the language where the operating system was
written in: Modula and Oberon.
UCSD Pascal and therefore Apple Pascal made it possible to do things in very
limited hardware enviroments, especially the limited amount of memory and slow
mass storage devices like floppies. P-code takes up little space in memory, much
less than native code. The speed penalty was severe alas with the cpu's of the
old days. The 6502 especially makes it difficult to work efficient as a 16 bit
stack machine. The same applies to current implementations of P-code: the Java
bytecode is also very compact so it is quickly transported over networks. The
slowness due to interpretation is acceptable thanks to the enormous amount of
cpu power available but still impacts java apps.
UCSD and Apple Pascal as an operating system are sub optimal, the Filer and the
on disk structure is quite primitive. Again because of the rigid standardization
in UCSD and the limits of the hardware.
UCSD Pascal played an important and influencal role!
Hans, http://www.hansotten.com