decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Not Only, But Also... | 287 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Not Only, But Also...
Authored by: sproggit on Wednesday, May 02 2012 @ 07:18 AM EDT
Completely agree with you... CISC architectures like x86 achieve higher-order
functions [such as multiplication] by implementing extra functionality in what
you describe as "microcode" but which is essentially hard-coded
software. You could achieve similar results [only a lot more slowly] by putting
the functionality, in binary machine instructions, into a PROM chip that fell
within the addressing range of the main processor core. Essentially [this is my
limited understanding] is that the micro-code functions are exactly like methods
[subroutines] that the processor executes when it receives a given op-code
instruction.

For example, some early chips supported an instruction such as "MUL"
which will take two numerical inputs, compute the product, and leave the result
in one of the on-chip registers (i.e. an accumulator). Because MUL is
essentially a refined form of looping "ADD" instruction, exactly as
you describe, the chip designers implement "MUL" in microcode, whereas
"ADD" might be wired into the chip's ALU.

In the early Intel product family, x86-based computers could be augmented with
x87 "Maths co-Processors" that speeded-up math processing by providing
commonly-used math functions in a piece of dedicated silicon. We don't have x87
processors on the Intel range any more simply because Intel are now able to
co-locate the logic on the same piece of silicon as the processing core. If you
look at an architecture diagram of a Core2Duo chip you might see something like
"ALU" - Arithmetic Logic Unit - which is essentially the on-chip x87
co-processor.

But the important point is that the microcode you describe is itself written in
op-codes that are part of the core CPU's native instruction set...

Performance/simplicity is achieved just by having them execute in hardware on
the main chip, rather than having to fetch the op-codes from [massively slower]
main memory.

I think you'll find that the same principles apply, all the same.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )