Is microprocessor an integrated circuit???

Jan 26, 2005 136 Replies

VAXexn were frequently called "superminis". Nobody in their right mind called them microprocessors until they were integrated to a small chipset in the form of the microvax.

PDP/11s were minicomputers. VAXen were larger than a breadbox. At the time many called them Midi-computers. Some weird ones even called them mainframes.

Keith

Careful there... These aren't 8-bit CPUs so they don't count. ;-) Some PowerPCs are microcoded, sorta. The larger instructions are "cracked" into smaller "micro-ops" in the decode unit, which is essentially a PLA (written as a PLA but synthesized into logic, further confusing the issue;).

Some 360s were microcoded and some were hard-wired (specifically the

360/75). Some had vertical microcode, some horizontal. I don't think the 360/75 was a "microprocessor". ...any way one could twist the term.
Keith

This is certainly *not* true. The issue of microcode is orthogonal to the term "RISC". Early RISC processors typically weren't microcoded, but "RISC" and "CISC" have grown towards each other.

The first "RISC" processor I know of that was given the title was the IBM 801, which never saw the light of day (at least as a CPU).

Keith

Right, RISC == "Reduced Instruction Set Complexity", not "Reduced Instruction Set Computer". There is a difference.

Keith

It depends. The RISC/CISC issue is orthogonal to microcode/hard-wired. I can name processors in all four quadrants. Indeed they have in this thread.

Keith

Nonsense.

Nonsense.

A microprocessor with integrated I/O.

Reduced Instruction Set Complexity processor. No read-modify-writes. All operations are register based. Register rich. No direct arithmetic operations allowed on memory. Usually three operand instructions (of which at least two are registers).

processing

Usually a stream processor.

Nonsense.

Well, if he listened I think we did, though perhaps a little more than was asked.

Keith

I've been around processors (all flavors) for over 30 years and have never heard a micro-programmed processor called a microprocessor. When it mattered they were called microcoded, but never microprocessors.

Keith

It's a word that never really had a definition- it's as simple as that. A microprocessor is a sort of small vaguely handwavingly computery thingy. Now define a microcontroller. And a RISC processor. And, for that matter, a DSP- I have an old text book on digital signal processing that's based round discrete systems involving the 6809.

No, SoC is another vague idea. Look, these are marketing terms, nothing really to do with engineering.

We didn't do his homework for him.

Paul Burke

Is this a troll? Of course a byte (as defined in C, anyway) can be other than 8 bits.

Best regards, Spehro Pefhany

"it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com

Your limited experience does not make the case. Bytes are usually 8 bits but the accepted definition of 'byte' allows other sizes. An

8-bit byte is an 'octet'.

formatting link

John

No, you should just do a tiny bit of research before posting authoritative statements in an established newsgroup full of engineers. You are wrong about "microprocessor" and you are wrong about "byte" and you seem to want to argue about both. There's nothing wrong with being wrong now and then, but you won't be popular if you keep insisting you're right when you're not.

John

In the 1970s minicomputers had what are now retroactively defined as "complex" instructions to perform operations like say allocating a free page of physical memory to a program's virtual address space. In the Modcomp IV this was the AMEM instruction. Two other "complex" instructions in that machine were the MMRB (Move Memory to Register Block) and MRBM (Move Register Block to Memory).

These instructions were implemented in the machine's firmware=microcode=microprogram which resided in ROM and was executed by the CPU's "microengine". In later minicomputers we started using SRAM for the "microstore" that held the firmware because it made changing the firmware and even manufacturing the CPU board easier. We started calling the microstore implemented in ram WCS (Writeable Control Store).

Sometimes a firmware programmer would bring a firmware update into the lab on a floppy disk and insert it into the computer saying "This won't affect you." Inevitably it crashed something so we coined the term "fluffware" for microcode produced by this programmer in particular and any microcode stored in WCS in general. Later fluffware came to be used as a pejorative marketing term to describe over-hyped applications marketed by companies that never actually produce the product described.

The "complex" instructions were implemented in firmware because it was more efficient. The manipulation of the internal registers and counters needed to execute an AMEM, MMRB, or MRBM were faster when the microinstructions were fetched from the microstore rather than fetching a series of machine-language instructions from memory to perform the same operation.

Later SRAM was added to the machines as cache memory. Speeds advanced to the point where fetching a simple machine-language instruction or operand from cache approached the speed of fetching a microinstruction from the WCS or an operand from a register. At this point it makes less sense to have a "complex" instruction. The same operation can be performed as quickly using a series of simpler instructions fetched from memory (cache). Thus RISC.

My point is that RISC does not mean hardwired. When the advantages of speed and flexibility of the microengine are matched by improved cache and memory speeds, hard-wiring instruction logic makes more engineering sense. Therefore it makes sense that many or most RISC processors would not use microcode, but a microcoded CPU could still be RISC.

Thaas

"a literal byte" is not defined that I know of. String literals are.

If you read the ISO/IEC 9899:1999 (E) standard you'll see that "byte" is defined as:

"addressable unit of data storage large enough to hold any member of the basic character set of the execution environment"

Separate restrictions imposed require that it has a unique address, that the bits are contiguous and that it is at least 8 bits (imposed by the requirement that it must be able to represent signed numbers from -127 to +127 inclusive (at a minimum).

There are plenty of real examples of computers with bytes of size other than 8 bits.

But a character can be more than one byte. And a byte can be more than

8 bits.

I'll leave it to you to felch through the standard and figure it out if you're interested.

Best regards, Spehro Pefhany

"it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com

A "micro-programmed processor" os orthogonal to "microprocessor". They have *nothing* to do with each other.

Yes, coined. No, everyone is saying that an 11/780 is not a single chip processor, therefor it is *not* a microprocessor. It is a minicomputer, or super-mini, or midi (as some at the time called it).

Keith

It's eighteen bucks, cheapskate.

Best regards, Spehro Pefhany

"it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com

You think you know the spec well enough to state what it states, yet have never read the spec.

Wrong. Get a refund on your tuition.

Nope (understand that I'm not a 'C' programmer, only a processor developer). From:

formatting link

How many bits are in a byte? Although it's common that the number of bits in a byte is 8, this is not so for every system. That's right, a byte is not always 8 bits. A byte is one of those terms which has an interesting history and ends up meaning different things to different people. For instance, there are some computers where it is 6, 7, 8, 9, 32-bits, and so on.

In C (or C++) you can tell what it is for your system by looking at limits.h (known as climits in C++) where the macro CHAR_BIT is defined. It represents the "number of bits for the smallest object that is not a bit-field", in other words, a byte. Note that it must be at least 8 (which mean that strictly speaking, a CPU that supports a 6 bit byte has a problem with C or C++). Also note that sizeof(char) is defined as 1 by C++ and C (ditto for the sizeof unsigned char, signed char, and their const and volatile permutations).

It might be helpful to show a quote from Standard C:

  • byte: "addressable unit of data storage large enough to hold any member of the basic character set of the execution environment. NOTE 1 It is possible to express the address of each individual byte of an object uniquely. NOTE 2 A byte is composed of a contiguous sequence of bits, the number of which is implementation defined. The least significant bit is called the low-order bit; the most significant bit is called the high-order bit."
  • character: "bit representation that fits in a byte"

Thus by the 'C' standard the byte is *not* fixed at 8-bits.

....and you're telling me that I don't know everything. Well, I've been in the business long enough to know that you're zero for two today.

Several systems had byte sizes other than 8-bits. If you want references that aren't on "on the surface of the moon", even though they are the *standards* which you're mistakenly using, try a search on "6-bit byte" and report back. You gotta promise to report back though or I won't do any more work for you.

Keith

Ah, I haven't but you have. I see.

No, we most certainly *would* disagree, because you're flat-assed wrong (again).

Oh, "I've heard..." Such a strong strawman you have there. I'm impressed!

It's not a microprocessor and this isn't sci.mechanics.transmissions. Words mean things. Technical words have technical meanings, not necessarily the same meanings as the same words in common speech.

You're wrong, learn and get over it.

Keith

Perhaps, but sometimes they're trying to tell you something.

Often the person being told he's wrong is just that. Sometimes he's so pig-headed that he blames others for his lack of knowledge.

Nope. You're wrong. A "byte is not in any way fixed at 8-bits. It can be any size. Just because you're experience is limited to ISAs where it is 8-bits doesn't mean there aren't others you haven't experienced. When people here point out your ignorance, you blame the teacher (see: "pig-headed" above).

You can say this a thousand more times and you'll do nothing more than be wrong a thousand more times.

Wrong. Byte is a variable size based on the processors ISA.

In 1957 there were all sorts of different sizeof(byte) depending on the processor. 6-bit bytes were quite popular in the 60s.

Keith

Using zillions of small chips to make the same circuitry of a uP, a micro programmed processor. Many used the 74S181 alu and the 2911 next address generator if I recall, mux chips, and rom chips, 245 bus buffers, hundreds of chips, lots of amps and makes lots of heat

But

it

coined? seems like it was just adopted to refer to the single chip thing. Someone was saying the 11/780 was not microcoded?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required