[time-nuts] favorite microcontroller module?

Chuck Harris cfharris at erols.com
Thu Feb 21 15:17:31 UTC 2008


Mike S wrote:
> At 12:03 AM 2/21/2008, Chuck Harris wrote...
>> I'm not arguing anything at all.  Assembler in the form of
>> mov x,3000 meaning x=3000 has been around from the very beginning.
> 
> One could equally say "move 3000,x meaning x=3000." What's your point?

Blaming intel for an assembler language construct that had been in common
usage for 30 years is unreasonable.  They were just conforming to a style
that programmers already understood.  If you didn't like it, it was trivial
to change even in the earliest intel 8080 assemblers.

>> Intel didn't need an excuse, they were the inventors, and Pascal is
>> why they created the CS, DS, ES, SS architecture.
> 
> Repeating something doesn't make it so. Authoritative citations, please 
> (preferably contemporaneous with the release of the architecture, and 
> not current rationalizations).

I cannot find any reference for the Pascal connection, so it is likely
that I am misremembering something.  It does seem a bit odd, in face of
the fact that intel never even produced a Pascal compiler, that they would
have even thought of Pascal when designing the 8086.

I will go with the thought that the 8086 was a 16 bit machine, and as such
directly addressed 64K.  The different segment registers allowed it to
be maximally relocatable within a 20 bit address space.

In this regard, it was exactly like the old DEC PDP-11/74.  It too was a 16 bit
machine, and could only directly address 64K.  It too had a 64K I, and a 64K D
space.  It was not a 32 bit machine in any way shape or form.

The 8086 was clearly designed with compilers in mind, evidenced by the heavy
support of stack frames.

>> It would have been impossible for intel to put a 32 bit bus and 
>> register set on a processor like the 8086 back in 1978.
> 
> Yet only a year later, in 1979, Motorola introduced the 68000 with a 
> full 32 bit architecture.

Sorry, but that is not so.  The 68000 was a 16 bit machine, both internally, and
externally, with 32 bit registers and some 32 bit instructions.

Here is a wiki quote:

"The 68000 grew out of the MACSS (Motorola Advanced Computer System on Silicon) project, begun in 1976 to develop an 
entirely new architecture without backward compatibility. It would be a higher-power sibling complementing the existing 
8-bit 6800 line rather than a compatible successor. In the end, the 68000 did retain a bus protocol compatibility mode 
for existing 6800 peripheral devices, and a version with an 8-bit data bus was produced. However, the designers mainly 
focused on the future, or forward compatibility, which gave the M68K platform a head start against later 32-bit 
instruction set architectures. For instance, the CPU registers are 32 bits wide, though few self-contained structures in 
the processor itself operate on 32 bits at a time. The 68000 may be considered a 16-bit microprocessor which is 
microcoded to accelerate 32-bit tasks. The MACSS team drew heavily on the influence of minicomputer processor design, 
such as the PDP-11 and VAX systems, which were similarly microcoded."

It wasn't until 1984, with the 68020, that Motorola made a 32 bit microprocessor.
Here is a wiki quote:

"The 68020 added many improvements to the 68010 including a 32-bit arithmetic logic unit (ALU), external data bus and 
address bus, and new instructions and addressing modes. The 68020 (and 68030) had a proper three-stage pipeline."

> 
>>  It would have been impossible for any foundry at that 
>> time.  Motorola had the benefit of being a few years later on the 
>> design curve.
> 
> mov one,few

Sorry, not so, again wiki:

"The original MC68000 was fabricated using an HMOS process with a 3.5-micron feature size. Initial engineering samples 
were released in late 1979. Production chips were available in 1980,"

and again wiki:

"The 8086[1] is a 16-bit microprocessor chip designed by Intel and introduced on the market in 1978,"


I realize that "introduced on the market" is a nebulous term, but having
lived through the the introduction in 1978, I can tell you that intel was
well beyond samples at that time.

>> Motorola's architecture may have been more elegant, but they lost on
>> price vs. performance.
> 
> They lost for one reason, and one reason only. IBM chose to base the PC 
> architecture on Intel.

IBM's website:

"Next came the 8088, the processor for the first IBM PC. Even though IBM engineers at the time wanted to use the 
Motorola 68000 in the PC, the company already had the rights to produce the 8086 line (by trading rights to Intel for 
its bubble memory) and it could use modified 8085-type components (and 68000-style components were much more scarce)."


That gave IBM two things they desperately needed, one, the ability to
second source the parts, if necessary, and two, the ability to use available
parts in the design.  The 68000 was a pipe dream as far as peripheral parts
went when the PC was being designed.

It is interesting to muse over how different things might have been had IBM
waited a couple of years for the 68000 to be usable, instead of settling for
the 8088.

Anyway, that is enough from me on this side track.  Back to favorite
microcontroller modules.

-Chuck Harris




More information about the Time-nuts_lists.febo.com mailing list