3 ms·
And Pascal p-code! Not the first, I’ve heard, but I believe it’s close to being the first.
by runlaszlorun 2y ago
And Pascal p-code! Not the first, I’ve heard, but I believe it’s close to being the first.
- pjmlp 2y agoOne of the first was Burroughs B5000, https://en.wikipedia.org/wiki/Burroughs_Large_Systems https://en.wikipedia.org/wiki/Burroughs_Large_Systems It used an almost memory safe systems language, ESPOL, zero Assembly, all CPU capabilities are exposed via intrisics, one of the first recoded uses of unsafe code blocks, there was tagging and capabilities support, the CPUs were microcoded. All of this in 1961, a decade before C came to be. ESPOL was quickly replaced by NEWP, although there are very little data when it happened, probly a couple of years later. Nowadays it is still sold by Unisys under the guise of being a mainframe system for those that value security above all, as ClearPath MCP, and you can get NEWP manual. https://www.unisys.com/solutions/enterprise-computing/clearpath-forward/ https://www.unisys.com/solutions/enterprise-computing/clearp... https://public.support.unisys.com/aseries/docs/ClearPath-MCP-18.0/86002003-408.pdf https://public.support.unisys.com/aseries/docs/ClearPath-MCP...
- kragen 2y agothe b5000 was one of the first non-virtual stack machines, but its instruction set isn't any more of a virtual machine than the 8088's or the pdp-10's. there were a number of interpreted stack languages in the 50s, though not nearly as many as there would be later
- pjmlp 2y agoWhen one does digital archeology is it quite common to see Assembly referred to as bytecode, when the CPUs are actually interpreters written in microcode. Another example, all the Xerox PARC workstations, which loaded the respective interpreter (Smalltalk, Interlisp, Mesa, Mesa/Cedar) into the CPU as first step during the boot process.
- whartung 2y agoAccording to 5s on Google, the x86 has always been microcoded. I guess the argument is that “machine language” is the public API of the CPU, and “assembly language” is the higher level script used to, mostly, directly create machine language. Is Intel microcode able to be changed by anyone? I understand that even CPUs get field updates nowadays.
- chuckadams 2y agoMicrocode updates are encrypted, and only Intel has the key. There are exploits to extract the key, but otherwise you're pretty much locked out. I don't know a whole lot about microarchitecture, but from my understanding, it's not possible to modify microcode's actual uOps in software, it's the translation from assembly to microcode that's being patched in updates.
- kragen 2y agoi have never seen assembly, or the code generated from it, referred to as 'bytecode' unless there was no physical hardware or microcode that could interpret it — except in the case of smalltalk, whose bytecode was, as you say, interpreted by microcode on the alto and the d-machines. but possibly your archeology has delved into cultures mine has not? i'd be very interested in reading more, if you happen to have any links handy