Re: AIX microcode

From: Bill Thompson (bill.thompson@GOODYEAR.COM)
Date: Thu Feb 13 2003 - 07:24:44 EST


Technically you use "microcode" to update your "firmware". It's microcode
on a disk, it's firmware once it's loaded onto the system PROM.

Take a look at the main page for microcode downloads:
https://techsupport.services.ibm.com/server/mdownload/download.html

Here, IBM refers to it as "Microcode".

Now look at one of the detailed descriptions - Here's a link for the M80:
https://techsupport.services.ibm.com/server/mdownload/7026M80F.html

On this page they refer to the same thing as a "Firmware Update".

>From "Dictionary.com":

firmware
Computer programming instructions that are stored in a read-only memory
unit rather than being implemented through software.

 microcode
<programming> A technique for implementing the instruction set of a
processor as a sequence of microcode instructions ("microinstructions"),
each of which typically consists of a (large) number of bit fields and the
address of the next microinstruction to execute. Each bit field controls
some specific part of the processor's operation, such as a gate which
allows some functional unit to drive a value onto the bus or the operation
to be performed by the ALU. Several microinstructions will usually be
required to fetch, decode and execute each machine code instruction ("
macroinstruction"). The microcode may also be responsible for polling for
hardware interrupts between each macroinstruction. Writing microcode is
known as "microprogramming".

Microcode may be classified as "horizontally encoded" or "vertically
encoded". Horizontal microcode is as described above where there is a
fairly direct correspondence between the bit fields in a microinstruction
and the control signals sent to the various parts of the CPU. Not all
combinations of
bits will be valid (e.g. two units driving the bus at once). Vertical
microcode is closer to machine code because a bit field value may pass
through some intermediate combinatory logic which generates the actual
control signals. This allows a few bits of a microinstruction to determine
several control signals and ensure that only valid combinations of those
signals are generated (e.g. a field may be decoded to determine which unit
drives the bus). The disadvantage with vertical encoding is that the
encoding is usually fixed and takes extra time compared with horizontal
encoding which allows any combination of signals to be generated and takes
no time to decode.

The alternative to a microcoded processor is a hard-wired one where the
control signals are generated directly from the bits of the machine code
instruction. This is more common in modern RISC architectures because it is
faster.

Microcode is usually stored in ROM chips though some processors (e.g. the
Orion) use fast RAM, making them dynamically microprogrammable.

Bill Thompson
Sr UNIX Systems Administrator
The Goodyear Tire & Rubber Co.

Contains Confidential and/or Proprietary Information
May Not Be Copied or Disseminated Without Express Consent of The Goodyear
Tire & Rubber Company.

AIX-L Archives: http://marc.theaimsgroup.com/?l=aix-l&r=1&w=2

> > -----Original Message-----
> > From: Myers, Drew [mailto:MyersD@GOALAMO.COM]
> > Sent: 12 February 2003 19:35
> > To: aix-l@Princeton.EDU
> > Subject: AIX microcode
> >
> >
> > This is likely a silly question, but I have no shame, so I'll ask
anyway ;).
> >
> > I've recently been informed by the IBM support center that my microcode
is
> > woefully out of date on a 7026-M80. However the tech followed up with
an
> > email in which it appears he is referring to a "microcode" and a
"server
> > microcode". My understanding was microcode was essentially the same
thing
> > as firmware, so I'm a bit confused.
> >
> > Any insight?



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 22:16:35 EDT