3 ms·
We had already Lisp running directly on a CPU: http://en.wikipedia.org/wiki/Lisp_machine http://en.wikipedia.org/wiki/Lisp_machine Java runs directly on hardw
by frik 12y ago
We had already Lisp running directly on a CPU:
http://en.wikipedia.org/wiki/Lisp_machine http://en.wikipedia.org/wiki/Lisp_machine
Java runs directly on hardware: http://en.wikipedia.org/wiki/Java_processor http://en.wikipedia.org/wiki/Java_processor , http://en.wikipedia.org/wiki/Java_Card http://en.wikipedia.org/wiki/Java_Card
Pascal MicroEngine: http://en.wikipedia.org/wiki/Pascal_MicroEngine http://en.wikipedia.org/wiki/Pascal_MicroEngine
And some more: http://en.wikipedia.org/wiki/Category:High-level_language_computer_architecture http://en.wikipedia.org/wiki/Category:High-level_language_co...
And the x86 instruction set is CISC, but (modern) x86 architecture is RISC (inside) - so your modern Intel/AMD CPU already does it. http://stackoverflow.com/questions/13071221/is-x86-risc-or-cisc http://stackoverflow.com/questions/13071221/is-x86-risc-or-c...
Backward compatibility aside, we could have CPUs that support a ANSI C or the upcoming Rust directly in hardware, instead of ASM.
- vezzy-fnord 12y agoDon't forget the Burroughs B5000, from 1961: https://en.wikipedia.org/wiki/Burroughs_large_systems#B5000 https://en.wikipedia.org/wiki/Burroughs_large_systems#B5000 The fact that we had an architecture running entirely on ALGOL with no ASM as far back as 54 years ago, is quite astonishing, followed by depressing.
- Animats 12y agoI know. I once took a computer architecture course from Bill McKeeman at UCSC, and we had an obsolete B5500 to play with. We got to step through instruction execution from the front panel, watching operands push and pop off the stack. The top two locations on the stack were hardware registers to speed things up. An address on the Burroughs machines is a path - something like "Process 22 / function 15 / array 3 / offset 14. The actual memory address is no more visible to the program than an actual disk address is visible in a modern file system. Each of those elements is pageable, and arrays can be grown. The OS controls the memory mapping tree. One of the things that killed those machines was the rise of C and UNIX. C and UNIX assume a flat address space. The Burroughs machines don't support C-style pointers.
- e12e 12y agoDon't forget transmeta either. Unfortunately they didn't succeed either. Did employ Linus Torvalds for a while though.