microcoding a PC into a PDP-11 (was: RE: Classic Computers vs. Classic Computing)

From: Bob Shannon <bshannon_at_tiac.net>
Date: Thu Sep 20 22:32:31 2001

Jonathan Engdahl wrote:

<snip>

> > Pentium CPU's can't be microprogrammed, unless your Intel. Even microcode
> > updates cannot replace the basic instruction set.
>
> That's not what I'm saying. The Pentium is probably not microprogrammed
> anyhow, at least for the majority of instructions. They probably have a
> microcoded front end for the messy stuff, like context switching.
>
> I'm adding one more level of abstraction -- microcoding on the microcoded
> machine, so to speak. Like the Mini PLC-2.

An assembly-level program running on a Pentium, technically speaking, is not
microcode.

> > If you write a program in Pentium assembly code to run PDP-11
> > instructions, you
> > have just written an 'emulator', even if it does not run under windows.
>
> Yes, a microcoded machine is one kind of emulator. Every microcoded
> architecture is an emulation. The underlying micromachine bears little
> resemblance to the machine that the user sees. It's a nice distinction, and
> not razor sharp. I would say that an "emulator" runs under an OS on a
> machine that is still running windows, NT, Linux, or whatever. A microcoded
> machine runs barefooted on the hardware, over which it has exclusive
> control. Whether that hardware itself is microcoded makes no difference.

An emulator does not require an operating system. An emulator is simply a
program that emulates another machine, however its implemented.

> > But an writing such an emulator is not 'microprogramming'.
>
> It is so. I don't know of any rule that says that the micromachine has to
> have a particular type of architecture, or that it can't be an off-the-shelf
> machine, rather than a collection of AMD 29xx parts.

By definition, a microprogram runs directly at the hardware level. A Pentium is
a microprogramed processor, so an assembly level program running on a
microprogrammed machine cannot really be called a microprogram.

> You can argue that hardware is software, or that software is hardware. It's
> all logic. The distinction is pretty academic.

Exactly these are terms with fairly well defined meanings!

> What I am saying is that it would be possible to re-create almost any
> classic architecture using much the same techniques used back in the 70's to
> create the original machines. Instead of designing a custom micromachine,
> you just go down to the corner store, buy a Pentium IV machine, erase the
> hard drive, and throw away the disks. Now, on another machine, sit down and
> write the "microcode" in x86 assembly language, load it on a floppy, and
> boot the Pentium IV, which now becomes a PDP-11, 1130, CDC, or whatever. If
> you copy a disk image of the target OS to the IDE hard drive, it will boot
> and run just like the original machine.
>

I understand the concept, its called emulation. My only issue here is the
terminology, not the merit of the concept.
Received on Thu Sep 20 2001 - 22:32:31 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:25 BST